{"data":{"updated":"2026-10-16T14:18:59-07:00","events":{"wwdc2026":{"name":"WWDC26","isFeatured":true,"startTime":"2026-06-08T10:00:00-07:00","endTime":"2026-06-12T15:00:00-07:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/9B2E82C5-4DDF-4B9A-9459-328D8E297696","hashtag":"#wwdc26","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.pdf","svgGlyphURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.svg","sfSymbolName":"wwdc.badge","sortOrder":"groupedPublishDateAscending","isSearchable":true,"isBrowsable":true,"webPermalink":"https:\/\/developer.apple.com\/videos\/wwdc2026","id":"wwdc2026","webUrlKey":"wwdc26","signupInformation":{"registrationServiceID":"wwdc2026","registrationServiceKey":"wwdc2026","localizedStrings":{"attendancePolicyTitle":"Apple Developer WWDC26 Interactive Events Attendance Policy","digitalLoungeScheduleHeading":"","digitalLoungeRelatedHeading":"","digitalLoungeBulkActionHeading":"","digitalLoungeBulkActionDetail":"","digitalLoungeBulkActionPrompt":"","digitalLoungesBulkFormHeading":"","digitalLoungeBulkFormInstructions":"","digitalLoungeBulkFormConfirmationFormat":"","ineligibleForRegistrationTitle":"Sorry, you\u2019re not currently eligible.","ineligibleForRegistrationMessage":"WWDC labs are open to current members of the Apple Developer Program and Apple Developer Enterprise Program, and Swift Student Challenge 2024-2026 winners.","internalUserIneligibleForRegistrationMessage":"Internal users may not sign up for activities."}}},"meet-with-apple":{"name":"Meet with Apple","startTime":"2025-07-10T10:00:00-07:00","endTime":"2026-10-15T10:00:00-07:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/BC742FC2-04CD-4DDA-9F29-C074010922E7","hashtag":"#meet-with-apple","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.pdf","svgGlyphURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.svg","sfSymbolName":"wwdc.badge","sortOrder":"groupedPublishDateAscending","isSearchable":true,"isBrowsable":true,"webPermalink":"https:\/\/developer.apple.com\/videos\/meet-with-apple","id":"meet-with-apple","webUrlKey":"meet-with-apple"},"articles":{"name":"Articles","startTime":"2020-01-01T00:00:00-08:00","endTime":"2030-01-01T23:59:59-08:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/17C30714-9AC0-43AE-A632-3E4D2DA0E042","hashtag":"#developerApp","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/Source-TechTalks.pdf","sortOrder":"ungroupedPublishDateDescending","isSearchable":true,"isBrowsable":true,"webPermalink":"https:\/\/developer.apple.com\/videos\/articles","id":"articles","webUrlKey":"articles"},"news":{"name":"News","startTime":"2020-01-01T00:00:00-08:00","endTime":"2025-01-01T23:59:59-08:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/82","hashtag":"#developer","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/Source-News.pdf","sortOrder":"ungroupedPublishDateDescending","isSearchable":true,"isBrowsable":false,"webPermalink":"https:\/\/developer.apple.com\/videos\/news","id":"news","webUrlKey":"news"},"tech-talks":{"name":"Tech Talks","startTime":"2017-07-01T00:00:00-07:00","endTime":"2025-01-01T23:59:59-08:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/8","hashtag":"#developerapp","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/Source-TechTalks.pdf","sortOrder":"ungroupedPublishDateDescending","isSearchable":true,"isBrowsable":true,"webPermalink":"https:\/\/developer.apple.com\/videos\/tech-talks","id":"tech-talks","webUrlKey":"videos\/play\/tech-talks"},"wwdc2025":{"name":"WWDC25","startTime":"2025-06-09T10:00:00-07:00","endTime":"2025-06-13T17:00:00-07:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/3055294D-836B-4513-B7B0-0BC5666246B0","hashtag":"#wwdc25","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.pdf","svgGlyphURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.svg","sfSymbolName":"wwdc.badge","sortOrder":"groupedPublishDateAscending","isSearchable":true,"isBrowsable":true,"webPermalink":"https:\/\/developer.apple.com\/videos\/wwdc2025","id":"wwdc2025","webUrlKey":"wwdc25","signupInformation":{"registrationServiceID":"wwdc2025","registrationServiceKey":"wwdc2025","localizedStrings":{"attendancePolicyTitle":"Apple Developer WWDC Interactive Events Attendance Policy","digitalLoungeScheduleHeading":"","digitalLoungeRelatedHeading":"","digitalLoungeBulkActionHeading":"","digitalLoungeBulkActionDetail":"","digitalLoungeBulkActionPrompt":"","digitalLoungesBulkFormHeading":"","digitalLoungeBulkFormInstructions":"","digitalLoungeBulkFormConfirmationFormat":"","ineligibleForRegistrationTitle":"Sorry, you\u2019re not currently eligible.","ineligibleForRegistrationMessage":"WWDC labs are open to current members of the Apple Developer Program and Apple Developer Enterprise Program, and Swift Student Challenge 2023-2025 winners.","internalUserIneligibleForRegistrationMessage":"Internal users may not sign up for activities."}}},"wwdc2024":{"name":"WWDC24","startTime":"2024-06-10T10:00:00-07:00","endTime":"2024-06-14T17:00:00-07:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/C03E6E6D-A32A-41D0-9E50-C3C6059820AA","hashtag":"#wwdc24","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.pdf","svgGlyphURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.svg","sfSymbolName":"wwdc.badge","sortOrder":"groupedPublishDateAscending","isSearchable":true,"isBrowsable":true,"webPermalink":"https:\/\/developer.apple.com\/videos\/wwdc2024","id":"wwdc2024","webUrlKey":"wwdc24","signupInformation":{"registrationServiceID":"wwdc2024","registrationServiceKey":"wwdc2024","localizedStrings":{"attendancePolicyTitle":"Apple Developer WWDC Interactive Events Attendance Policy","digitalLoungeScheduleHeading":"","digitalLoungeRelatedHeading":"","digitalLoungeBulkActionHeading":"","digitalLoungeBulkActionDetail":"","digitalLoungeBulkActionPrompt":"","digitalLoungesBulkFormHeading":"","digitalLoungeBulkFormInstructions":"","digitalLoungeBulkFormConfirmationFormat":"","ineligibleForRegistrationTitle":"Sorry, you\u2019re not currently eligible.","ineligibleForRegistrationMessage":"Labs are open to current members of the Apple Developer Program and Apple Developer Enterprise Program, Swift Student Challenge winners 2022-2024, and Entrepreneur Camp alumni.","internalUserIneligibleForRegistrationMessage":"Internal users may not sign up for activities."}}},"wwdc2023":{"name":"WWDC23","startTime":"2023-06-05T10:00:00-07:00","endTime":"2023-06-09T17:00:00-07:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/D35E0E85-CCB6-41A1-B227-7995ECD83ED5","hashtag":"#wwdc23","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.pdf","svgGlyphURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.svg","sfSymbolName":"wwdc.badge","sortOrder":"groupedPublishDateAscending","isSearchable":true,"isBrowsable":true,"webPermalink":"https:\/\/developer.apple.com\/videos\/wwdc2023","id":"wwdc2023","webUrlKey":"wwdc23","signupInformation":{"registrationServiceID":"wwdc2023","registrationServiceKey":"wwdc2023","localizedStrings":{"attendancePolicyTitle":"Apple Developer WWDC Interactive Events Attendance Policy","digitalLoungeScheduleHeading":"","digitalLoungeRelatedHeading":"","digitalLoungeBulkActionHeading":"","digitalLoungeBulkActionDetail":"","digitalLoungeBulkActionPrompt":"","digitalLoungesBulkFormHeading":"","digitalLoungeBulkFormInstructions":"","digitalLoungeBulkFormConfirmationFormat":"","ineligibleForRegistrationTitle":"Sorry, you\u2019re not currently eligible.","ineligibleForRegistrationMessage":"To request a lab appointment or sign up for activities, you must be a current member of the Apple Developer Program or Apple Developer Enterprise Program. Your membership must be current, valid, and in good standing until the end of WWDC23. WWDC23 Swift Student Challenge applicants can contact us at developerevents@apple.com to get started with signing up.","internalUserIneligibleForRegistrationMessage":"Internal users may not sign up for activities."}}},"wwdc2022":{"name":"WWDC22","startTime":"2022-06-06T10:00:00-07:00","endTime":"2022-06-10T18:00:00-07:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/124","hashtag":"#wwdc22","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.pdf","svgGlyphURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.svg","sfSymbolName":"wwdc.badge","sortOrder":"groupedPublishDateAscending","isSearchable":true,"isBrowsable":true,"webPermalink":"https:\/\/developer.apple.com\/videos\/wwdc2022","id":"wwdc2022","webUrlKey":"wwdc22","signupInformation":{"registrationServiceID":"wwdc2022","registrationServiceKey":"wwdc2022","localizedStrings":{"attendancePolicyTitle":"Apple Developer Online Event Attendance Policy","digitalLoungeScheduleHeading":"","digitalLoungeRelatedHeading":"","digitalLoungeBulkActionHeading":"","digitalLoungeBulkActionDetail":"","digitalLoungeBulkActionPrompt":"","digitalLoungesBulkFormHeading":"","digitalLoungeBulkFormInstructions":"","digitalLoungeBulkFormConfirmationFormat":"","ineligibleForRegistrationTitle":"","ineligibleForRegistrationMessage":"","internalUserIneligibleForRegistrationMessage":""}}},"wwdc2021":{"name":"WWDC21","startTime":"2021-06-07T10:00:00-07:00","endTime":"2021-06-11T17:00:00-07:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/119","hashtag":"#wwdc21","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.pdf","svgGlyphURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.svg","sfSymbolName":"wwdc.badge","sortOrder":"groupedPublishDateAscending","isSearchable":true,"isBrowsable":true,"webPermalink":"https:\/\/developer.apple.com\/videos\/wwdc2021","id":"wwdc2021","webUrlKey":"wwdc21"},"wwdc2020":{"name":"WWDC20","startTime":"2020-06-22T10:00:00-07:00","endTime":"2020-06-26T17:00:00-07:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/49","hashtag":"#wwdc20","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.pdf","svgGlyphURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.svg","sfSymbolName":"wwdc.badge","sortOrder":"groupedPublishDateAscending","isSearchable":true,"isBrowsable":true,"webPermalink":"https:\/\/developer.apple.com\/videos\/wwdc2020","id":"wwdc2020","webUrlKey":"wwdc20"},"wwdc2019":{"name":"WWDC19","startTime":"2019-06-03T10:00:00-07:00","endTime":"2019-06-07T18:00:00-07:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/48","hashtag":"#developerapp","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.pdf","svgGlyphURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.svg","sfSymbolName":"wwdc.badge","sortOrder":"groupedPublishDateAscending","isSearchable":true,"isBrowsable":true,"webPermalink":"https:\/\/developer.apple.com\/videos\/wwdc2019","id":"wwdc2019","webUrlKey":"wwdc19"},"wwdc2018":{"name":"WWDC18","startTime":"2018-06-04T10:00:00-07:00","endTime":"2018-06-08T17:00:00-07:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/42","hashtag":"#developerapp","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.pdf","svgGlyphURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.svg","sfSymbolName":"wwdc.badge","sortOrder":"groupedPublishDateAscending","isSearchable":true,"isBrowsable":true,"webPermalink":"https:\/\/developer.apple.com\/videos\/wwdc2018","id":"wwdc2018","webUrlKey":"wwdc18"},"wwdc2017":{"name":"WWDC17","startTime":"2017-06-05T10:00:00-07:00","endTime":"2017-06-09T15:30:00-07:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/7","hashtag":"#developerapp","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.pdf","svgGlyphURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.svg","sfSymbolName":"wwdc.badge","sortOrder":"groupedPublishDateAscending","isSearchable":true,"isBrowsable":true,"webPermalink":"https:\/\/developer.apple.com\/videos\/wwdc2017","id":"wwdc2017","webUrlKey":"wwdc17"},"wwdc2016":{"name":"WWDC16","startTime":"2016-06-13T10:00:00-07:00","endTime":"2016-06-17T17:40:00-07:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/1","hashtag":"#developerapp","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.pdf","svgGlyphURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.svg","sfSymbolName":"wwdc.badge","sortOrder":"groupedPublishDateAscending","isSearchable":true,"isBrowsable":true,"webPermalink":"https:\/\/developer.apple.com\/videos\/wwdc2016","id":"wwdc2016","webUrlKey":"wwdc16"},"wwdc2015":{"name":"WWDC15","startTime":"2015-06-08T10:00:00-07:00","endTime":"2015-06-12T16:10:00-07:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/2","hashtag":"#developerapp","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.pdf","svgGlyphURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.svg","sfSymbolName":"wwdc.badge","sortOrder":"groupedPublishDateAscending","isSearchable":true,"isBrowsable":true,"webPermalink":"https:\/\/developer.apple.com\/videos\/wwdc2015","id":"wwdc2015","webUrlKey":"wwdc15"},"wwdc2014":{"name":"WWDC14","startTime":"2014-06-02T10:00:00-07:00","endTime":"2014-06-06T12:30:00-07:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/3","hashtag":"#developerapp","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.pdf","svgGlyphURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/wwdc.badge.outline.svg","sfSymbolName":"wwdc.badge","sortOrder":"groupedPublishDateAscending","isSearchable":true,"isBrowsable":true,"webPermalink":"https:\/\/developer.apple.com\/videos\/wwdc2014","id":"wwdc2014","webUrlKey":"wwdc14"},"ask-apple":{"name":"Ask Apple","startTime":"2022-08-01T00:00:00-07:00","endTime":"2023-04-30T23:59:59-07:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/125","hashtag":"#AskApple","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/Source-TechTalks.pdf","sortOrder":"ungroupedPublishDateAscending","isSearchable":false,"isBrowsable":false,"webPermalink":"https:\/\/developer.apple.com\/videos\/ask-apple","id":"ask-apple","webUrlKey":"ask-apple","signupInformation":{"registrationServiceID":"tech-talks-22","registrationServiceKey":"tech-talks-22","localizedStrings":{"attendancePolicyTitle":"Apple Developer Online Event Attendance Policy","digitalLoungeScheduleHeading":"","digitalLoungeRelatedHeading":"","digitalLoungeBulkActionHeading":"","digitalLoungeBulkActionDetail":"","digitalLoungeBulkActionPrompt":"","digitalLoungesBulkFormHeading":"","digitalLoungeBulkFormInstructions":"","digitalLoungeBulkFormConfirmationFormat":"","ineligibleForRegistrationTitle":"","ineligibleForRegistrationMessage":"","internalUserIneligibleForRegistrationMessage":""}}},"information":{"name":"Information","startTime":"2020-04-15T00:00:00-07:00","endTime":"2035-04-15T23:59:59-07:00","imagesPath":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/118","hashtag":"#information","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/info.circle.pdf","svgGlyphURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/info.circle.svg","sfSymbolName":"info.circle","sortOrder":"ungroupedPublishDateAscending","isSearchable":false,"isBrowsable":false,"webPermalink":"https:\/\/developer.apple.com\/videos\/information","id":"information","webUrlKey":"information"}},"topics":{"82":{"title":"Accessibility & Inclusion","id":82,"semanticID":"accessibility-inclusion","ordinal":0,"webPermalink":"https:\/\/developer.apple.com\/videos\/accessibility-inclusion","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/person.2.outline.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/person.2.fill.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/person.2.outline.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/person.2.fill.svg","sfSymbolName":"person.2","alternateSFSymbolName":"person.2.fill","profileOptionId":"Accessibility & Inclusion"},"94":{"title":"AI & Machine Learning","id":94,"semanticID":"ai-machine-learning","ordinal":1,"webPermalink":"https:\/\/developer.apple.com\/videos\/ai-machine-learning","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/sparkles.2.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/sparkles.2.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/sparkles.2.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/sparkles.2.svg","sfSymbolName":"sparkles.2","alternateSFSymbolName":"sparkles.2","profileOptionId":"Machine Learning & AI"},"83":{"title":"App Services","id":83,"semanticID":"app-services","ordinal":2,"webPermalink":"https:\/\/developer.apple.com\/videos\/app-services","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/gearshape.outline.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/gearshape.fill.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/gearshape.outline.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/gearshape.fill.svg","sfSymbolName":"gearshape","alternateSFSymbolName":"gearshape.fill","profileOptionId":"App Services"},"86":{"title":"App Store, Distribution & Marketing","id":86,"semanticID":"app-store-distribution-marketing","ordinal":3,"webPermalink":"https:\/\/developer.apple.com\/videos\/app-store-distribution-marketing","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/storefront.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/storefront.fill.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/storefront.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/storefront.fill.svg","sfSymbolName":"storefront","alternateSFSymbolName":"storefront.fill","profileOptionId":"App Store, Distribution & Marketing"},"84":{"title":"Audio & Video","id":84,"semanticID":"audio-video","ordinal":4,"webPermalink":"https:\/\/developer.apple.com\/videos\/audio-video","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/tv.and.hifispeaker.outline.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/tv.and.hifispeaker.outline.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/tv.and.hifispeaker.outline.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/tv.and.hifispeaker.outline.svg","sfSymbolName":"tv.and.hifispeaker.fill","alternateSFSymbolName":"tv.and.hifispeaker.fill","profileOptionId":"Audio & Video"},"89":{"title":"Business & Education","id":89,"semanticID":"business-education","ordinal":5,"webPermalink":"https:\/\/developer.apple.com\/videos\/business-education","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/briefcase.outline.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/briefcase.fill.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/briefcase.outline.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/briefcase.fill.svg","sfSymbolName":"briefcase","alternateSFSymbolName":"briefcase.fill","profileOptionId":"Business & Education"},"87":{"title":"Design","id":87,"semanticID":"design","ordinal":6,"webPermalink":"https:\/\/developer.apple.com\/videos\/design","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/paintbrush.outline.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/paintbrush.fill.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/paintbrush.outline.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/paintbrush.fill.svg","sfSymbolName":"paintbrush","alternateSFSymbolName":"paintbrush.fill","profileOptionId":"Design"},"88":{"title":"Developer Tools","id":88,"semanticID":"developer-tools","ordinal":7,"webPermalink":"https:\/\/developer.apple.com\/videos\/developer-tools","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/hammer.outline.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/hammer.fill.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/hammer.outline.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/hammer.fill.svg","sfSymbolName":"hammer","alternateSFSymbolName":"hammer.fill","profileOptionId":"Developer Tools"},"90":{"title":"Essentials","id":90,"semanticID":"essentials","ordinal":8,"webPermalink":"https:\/\/developer.apple.com\/videos\/essentials","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/cube.outline.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/cube.fill.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/cube.outline.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/cube.fill.svg","sfSymbolName":"cube","alternateSFSymbolName":"cube.fill","profileOptionId":"Essentials"},"91":{"title":"Graphics & Games","id":91,"semanticID":"graphics-games","ordinal":9,"webPermalink":"https:\/\/developer.apple.com\/videos\/graphics-games","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/gamecontroller.outline.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/gamecontroller.fill.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/gamecontroller.outline.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/gamecontroller.fill.svg","sfSymbolName":"gamecontroller","alternateSFSymbolName":"gamecontroller.fill","profileOptionId":"Graphics & Games"},"92":{"title":"Health & Fitness","id":92,"semanticID":"health-fitness","ordinal":10,"webPermalink":"https:\/\/developer.apple.com\/videos\/health-fitness","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/heart.outline.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/heart.outline.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/heart.outline.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/heart.outline.svg","sfSymbolName":"heart","alternateSFSymbolName":"heart.fill","profileOptionId":"Health & Fitness"},"93":{"title":"Maps & Location","id":93,"semanticID":"maps-location","ordinal":11,"webPermalink":"https:\/\/developer.apple.com\/videos\/maps-location","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/map.outline.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/map.fill.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/map.outline.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/map.fill.svg","sfSymbolName":"map","alternateSFSymbolName":"map.fill","profileOptionId":"Maps & Location"},"95":{"title":"Photos & Camera","id":95,"semanticID":"photos-camera","ordinal":12,"webPermalink":"https:\/\/developer.apple.com\/videos\/photos-camera","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/camera.outline.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/camera.fill.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/camera.outline.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/camera.fill.svg","sfSymbolName":"camera","alternateSFSymbolName":"camera.fill","profileOptionId":"Photos & Camera"},"96":{"title":"Privacy & Security","id":96,"semanticID":"privacy-security","ordinal":13,"webPermalink":"https:\/\/developer.apple.com\/videos\/privacy-security","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/hand.raised.outline.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/hand.raised.fill.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/hand.raised.outline.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/hand.raised.fill.svg","sfSymbolName":"hand.raised","alternateSFSymbolName":"hand.raised.fill","profileOptionId":"Privacy & Security"},"98":{"title":"Safari & Web","id":98,"semanticID":"safari-web","ordinal":14,"webPermalink":"https:\/\/developer.apple.com\/videos\/safari-web","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/safari.outline.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/safari.fill.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/safari.outline.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/safari.fill.svg","sfSymbolName":"safari","alternateSFSymbolName":"safari.fill","profileOptionId":"Safari & Web"},"85":{"title":"Spatial Computing","id":85,"semanticID":"spatial-computing","ordinal":15,"webPermalink":"https:\/\/developer.apple.com\/videos\/spatial-computing","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/visionpro.outline.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/visionpro.fill.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/visionpro.outline.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/visionpro.fill.svg","sfSymbolName":"vision.pro","alternateSFSymbolName":"vision.pro.fill","profileOptionId":"Spatial Computing"},"99":{"title":"Swift","id":99,"semanticID":"swift","ordinal":16,"webPermalink":"https:\/\/developer.apple.com\/videos\/swift","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/swift.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/swift.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/swift.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/swift.svg","sfSymbolName":"swift","alternateSFSymbolName":"swift","profileOptionId":"Swift"},"100":{"title":"SwiftUI & UI Frameworks","id":100,"semanticID":"swiftui-ui-frameworks","ordinal":17,"webPermalink":"https:\/\/developer.apple.com\/videos\/swiftui-ui-frameworks","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/switch.2.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/switch.2.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/switch.2.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/switch.2.svg","sfSymbolName":"switch.2","alternateSFSymbolName":"switch.2","profileOptionId":"SwiftUI & UI Frameworks"},"101":{"title":"System Services","id":101,"semanticID":"system-services","ordinal":18,"webPermalink":"https:\/\/developer.apple.com\/videos\/system-services","imageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/network.pdf","alternateImageURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/network.pdf","svgURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/network.svg","alternateSVGURL":"https:\/\/devimages-cdn.apple.com\/wwdc-services\/images\/topic-glyphs\/rd7a2338\/network.svg","sfSymbolName":"network","alternateSFSymbolName":"network","profileOptionId":"System Services"}},"appointmentLabs":{"wwdc2026-8102":{"id":"wwdc2026-8102","staticContentId":11123,"eventContentId":8102,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T09:58:21-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/PLU6AXPHNG\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Review expert to discuss the App Review Guidelines and explore best practices for a smooth review process.","title":"App Review Appointment","startTime":"2026-06-09T06:00:00-07:00","endTime":"2026-06-09T09:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-08T14:00:00-07:00","screeningEndDate":"2026-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/PLU6AXPHNG\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"PLU6AXPHNG","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"7C7AE15D-9BE6-4736-B731-08D31A2582F4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8103":{"id":"wwdc2026-8103","staticContentId":11124,"eventContentId":8103,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T09:58:33-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/YQG67BL7B3\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Review expert to discuss the App Review Guidelines and explore best practices for a smooth review process.","title":"App Review Appointment","startTime":"2026-06-09T11:00:00-07:00","endTime":"2026-06-09T14:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-08T14:00:00-07:00","screeningEndDate":"2026-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/YQG67BL7B3\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"YQG67BL7B3","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"A2F56119-3447-45C3-AA9F-CE37D0BF10F9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8105":{"id":"wwdc2026-8105","staticContentId":11126,"eventContentId":8105,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T09:58:45-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/7HHKD955LF\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Review expert to discuss the App Review Guidelines and explore best practices for a smooth review process.","title":"App Review Appointment","startTime":"2026-06-10T06:00:00-07:00","endTime":"2026-06-10T09:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-09T14:00:00-07:00","screeningEndDate":"2026-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/7HHKD955LF\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"7HHKD955LF","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"42CDC758-7358-429E-844A-AF2F8C913379","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8093":{"id":"wwdc2026-8093","staticContentId":11114,"eventContentId":8093,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:02:08-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/FRY98RL6WR\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Store expert to discuss your business goals and explore editorial featuring opportunities.","title":"App Store Business & Marketing Appointment","startTime":"2026-06-11T18:00:00-07:00","endTime":"2026-06-11T21:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T14:00:00-07:00","screeningEndDate":"2026-06-10T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/FRY98RL6WR\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"FRY98RL6WR","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"BADF7FEF-FC00-470A-8C13-0292D2BD0087","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8107":{"id":"wwdc2026-8107","staticContentId":11128,"eventContentId":8107,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T09:58:55-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/KF9QVBNPT7\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Review expert to discuss the App Review Guidelines and explore best practices for a smooth review process.","title":"App Review Appointment","startTime":"2026-06-10T18:00:00-07:00","endTime":"2026-06-10T21:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-09T14:00:00-07:00","screeningEndDate":"2026-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/KF9QVBNPT7\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"KF9QVBNPT7","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1DA6B713-7FFA-42A2-8C2C-EB5A32A4A479","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8096":{"id":"wwdc2026-8096","staticContentId":11117,"eventContentId":8096,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T09:59:45-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/5K2VM7D63A\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Store Connect expert to discuss your app and game submissions, In-App Purchases, TestFlight, and the App Store Connect API.","title":"App Store Connect Appointment","startTime":"2026-06-09T15:00:00-07:00","endTime":"2026-06-09T17:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-08T14:00:00-07:00","screeningEndDate":"2026-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/5K2VM7D63A\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"5K2VM7D63A","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"DB02AC69-AC61-490F-A21B-E65BBD87D991","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8098":{"id":"wwdc2026-8098","staticContentId":11119,"eventContentId":8098,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T09:59:55-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/QKF286JR63\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Store Connect expert to discuss your app and game submissions, In-App Purchases, TestFlight, and the App Store Connect API.","title":"App Store Connect Appointment","startTime":"2026-06-11T15:00:00-07:00","endTime":"2026-06-11T17:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T14:00:00-07:00","screeningEndDate":"2026-06-10T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/QKF286JR63\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"QKF286JR63","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"8B81AA72-242F-4778-A732-B37D736EA957","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8100":{"id":"wwdc2026-8100","staticContentId":11121,"eventContentId":8100,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:00:41-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/85DPH2YDRB\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an Apple engineer to make the most of App Store Connect reporting tools, including App Analytics, Sales and Trends, and Payments and Financial Reports.","title":"Reporting & Analytics Appointment","startTime":"2026-06-09T15:00:00-07:00","endTime":"2026-06-09T18:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-08T14:00:00-07:00","screeningEndDate":"2026-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/85DPH2YDRB\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"85DPH2YDRB","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"BB0A62B7-6C82-460A-971E-FD02504E14D2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8101":{"id":"wwdc2026-8101","staticContentId":11122,"eventContentId":8101,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:00:46-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/259Z48BGQT\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an Apple engineer to make the most of App Store Connect reporting tools, including App Analytics, Sales and Trends, and Payments and Financial Reports.","title":"Reporting & Analytics Appointment","startTime":"2026-06-11T09:00:00-07:00","endTime":"2026-06-11T12:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T14:00:00-07:00","screeningEndDate":"2026-06-10T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/259Z48BGQT\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"259Z48BGQT","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"28293FD9-407B-4ED0-9765-DFC579739FB0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8104":{"id":"wwdc2026-8104","staticContentId":11125,"eventContentId":8104,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T09:58:40-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/MM2B8786C7\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Review expert to discuss the App Review Guidelines and explore best practices for a smooth review process.","title":"App Review Appointment","startTime":"2026-06-09T18:00:00-07:00","endTime":"2026-06-09T21:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-08T14:00:00-07:00","screeningEndDate":"2026-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/MM2B8786C7\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"MM2B8786C7","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1BB9EBF1-CCBD-4ECF-8527-A6D3A781C20C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8087":{"id":"wwdc2026-8087","staticContentId":11108,"eventContentId":8087,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:01:39-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/5LVWMR8LAG\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Store expert to discuss your business goals and explore editorial featuring opportunities.","title":"App Store Business & Marketing Appointment","startTime":"2026-06-09T18:00:00-07:00","endTime":"2026-06-09T21:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-08T14:00:00-07:00","screeningEndDate":"2026-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/5LVWMR8LAG\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"5LVWMR8LAG","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"A930C3D1-998B-4A27-939B-9F33B297AA8B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8117":{"id":"wwdc2026-8117","staticContentId":11138,"eventContentId":8117,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:03:46-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/64GWFQDS69\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment to receive guidance on In-App Purchase implementation and testing with the StoreKit API, App Store Server API, and App Store Server Notifications.","title":"In-App Purchases and Subscriptions Appointment","startTime":"2026-06-11T09:00:00-07:00","endTime":"2026-06-11T11:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T14:00:00-07:00","screeningEndDate":"2026-06-10T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/64GWFQDS69\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"64GWFQDS69","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"AF820AA8-3302-478A-A2B8-1D861B19A562","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8111":{"id":"wwdc2026-8111","staticContentId":11132,"eventContentId":8111,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T09:59:15-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/7MYP4B8MMZ\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Review expert to discuss the App Review Guidelines and explore best practices for a smooth review process.","title":"App Review Appointment","startTime":"2026-06-12T06:00:00-07:00","endTime":"2026-06-12T09:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T14:00:00-07:00","screeningEndDate":"2026-06-11T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/7MYP4B8MMZ\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"7MYP4B8MMZ","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"EB4BEFBB-D5D0-4937-BE41-B29DC6D06D05","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8108":{"id":"wwdc2026-8108","staticContentId":11129,"eventContentId":8108,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T09:58:59-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/W5985T7PR5\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Review expert to discuss the App Review Guidelines and explore best practices for a smooth review process.","title":"App Review Appointment","startTime":"2026-06-11T06:00:00-07:00","endTime":"2026-06-11T09:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T14:00:00-07:00","screeningEndDate":"2026-06-10T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/W5985T7PR5\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"W5985T7PR5","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"58609BA7-9587-4666-BB61-61A60AEA5B4A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8114":{"id":"wwdc2026-8114","staticContentId":11135,"eventContentId":8114,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:03:29-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/TV8337H4D3\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment to receive guidance on In-App Purchase implementation and testing with the StoreKit API, App Store Server API, and App Store Server Notifications.","title":"In-App Purchases and Subscriptions Appointment","startTime":"2026-06-09T14:00:00-07:00","endTime":"2026-06-09T19:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-08T14:00:00-07:00","screeningEndDate":"2026-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/TV8337H4D3\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"TV8337H4D3","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"39718589-27E3-4530-938A-9AFCF4E73173","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8113":{"id":"wwdc2026-8113","staticContentId":11134,"eventContentId":8113,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:03:25-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/6AZ57UDWFY\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment to receive guidance on In-App Purchase implementation and testing with the StoreKit API, App Store Server API, and App Store Server Notifications.","title":"In-App Purchases and Subscriptions Appointment","startTime":"2026-06-09T09:00:00-07:00","endTime":"2026-06-09T11:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-08T14:00:00-07:00","screeningEndDate":"2026-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/6AZ57UDWFY\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"6AZ57UDWFY","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1ECF7F4C-156D-44F7-B5D9-9ADA35FB3FB0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8119":{"id":"wwdc2026-8119","staticContentId":11140,"eventContentId":8119,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:03:55-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/LKA75A476L\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment to receive guidance on In-App Purchase implementation and testing with the StoreKit API, App Store Server API, and App Store Server Notifications.","title":"In-App Purchases and Subscriptions Appointment","startTime":"2026-06-12T09:00:00-07:00","endTime":"2026-06-12T12:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T14:00:00-07:00","screeningEndDate":"2026-06-11T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/LKA75A476L\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"LKA75A476L","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"200F8B18-6A0F-4B31-843D-96E83C48EA0C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8099":{"id":"wwdc2026-8099","staticContentId":11120,"eventContentId":8099,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:00:01-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/KCK6SALK8P\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Store Connect expert to discuss your app and game submissions, In-App Purchases, TestFlight, and the App Store Connect API.","title":"App Store Connect Appointment","startTime":"2026-06-12T09:00:00-07:00","endTime":"2026-06-12T12:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T14:00:00-07:00","screeningEndDate":"2026-06-11T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/KCK6SALK8P\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"KCK6SALK8P","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"51CA6C5E-39B5-481E-A2A9-1EEF931D138F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8091":{"id":"wwdc2026-8091","staticContentId":11112,"eventContentId":8091,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:01:59-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/2LBMLK77Y6\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Store expert to discuss your business goals and explore editorial featuring opportunities.","title":"App Store Business & Marketing Appointment","startTime":"2026-06-11T07:00:00-07:00","endTime":"2026-06-11T10:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T14:00:00-07:00","screeningEndDate":"2026-06-10T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/2LBMLK77Y6\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"2LBMLK77Y6","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0E8C6D1D-15BA-4264-9266-464C9D0916D6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8097":{"id":"wwdc2026-8097","staticContentId":11118,"eventContentId":8097,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T09:59:49-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/U4QKJPN9VJ\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Store Connect expert to discuss your app and game submissions, In-App Purchases, TestFlight, and the App Store Connect API.","title":"App Store Connect Appointment","startTime":"2026-06-10T09:00:00-07:00","endTime":"2026-06-10T11:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-09T14:00:00-07:00","screeningEndDate":"2026-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/U4QKJPN9VJ\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"U4QKJPN9VJ","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"3E172EF8-B200-434E-814E-99CCFE9335F7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8112":{"id":"wwdc2026-8112","staticContentId":11133,"eventContentId":8112,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T09:59:20-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/P8326K57DB\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Review expert to discuss the App Review Guidelines and explore best practices for a smooth review process.","title":"App Review Appointment","startTime":"2026-06-12T11:00:00-07:00","endTime":"2026-06-12T14:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T14:00:00-07:00","screeningEndDate":"2026-06-11T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/P8326K57DB\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"P8326K57DB","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"2ABFE5B1-9B18-4C21-A22D-D2873EB44C85","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8109":{"id":"wwdc2026-8109","staticContentId":11130,"eventContentId":8109,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T09:59:05-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/7ZBQQHXUN4\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Review expert to discuss the App Review Guidelines and explore best practices for a smooth review process.","title":"App Review Appointment","startTime":"2026-06-11T11:00:00-07:00","endTime":"2026-06-11T14:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T14:00:00-07:00","screeningEndDate":"2026-06-10T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/7ZBQQHXUN4\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"7ZBQQHXUN4","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5E92C4A5-F993-40E9-8445-3AC6EC3A905D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8106":{"id":"wwdc2026-8106","staticContentId":11127,"eventContentId":8106,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T09:58:49-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/9DH9H67RHU\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Review expert to discuss the App Review Guidelines and explore best practices for a smooth review process.","title":"App Review Appointment","startTime":"2026-06-10T11:00:00-07:00","endTime":"2026-06-10T14:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-09T14:00:00-07:00","screeningEndDate":"2026-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/9DH9H67RHU\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"9DH9H67RHU","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E0BA6B9C-F34D-445F-BEEE-EBCF5DA0E82E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8086":{"id":"wwdc2026-8086","staticContentId":11107,"eventContentId":8086,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:01:34-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/63ZUURMW96\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Store expert to discuss your business goals and explore editorial featuring opportunities.","title":"App Store Business & Marketing Appointment","startTime":"2026-06-09T12:00:00-07:00","endTime":"2026-06-09T15:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-08T14:00:00-07:00","screeningEndDate":"2026-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/63ZUURMW96\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"63ZUURMW96","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1BDAD58C-0AC6-4F95-9EF5-3CB47AE6471F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8110":{"id":"wwdc2026-8110","staticContentId":11131,"eventContentId":8110,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T09:59:10-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/39PAJX7CUP\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Review expert to discuss the App Review Guidelines and explore best practices for a smooth review process.","title":"App Review Appointment","startTime":"2026-06-11T18:00:00-07:00","endTime":"2026-06-11T21:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T14:00:00-07:00","screeningEndDate":"2026-06-10T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/39PAJX7CUP\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"39PAJX7CUP","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"8266B379-CDF2-4D5A-8D8F-6B0230B4A67E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8092":{"id":"wwdc2026-8092","staticContentId":11113,"eventContentId":8092,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:02:04-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/3WW73XBGX4\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Store expert to discuss your business goals and explore editorial featuring opportunities.","title":"App Store Business & Marketing Appointment","startTime":"2026-06-11T12:00:00-07:00","endTime":"2026-06-11T15:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T14:00:00-07:00","screeningEndDate":"2026-06-10T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/3WW73XBGX4\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"3WW73XBGX4","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"A9B8F6BE-7A94-48C2-9127-6F57885D584B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8115":{"id":"wwdc2026-8115","staticContentId":11136,"eventContentId":8115,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:03:36-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/GC2269LU9N\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment to receive guidance on In-App Purchase implementation and testing with the StoreKit API, App Store Server API, and App Store Server Notifications.","title":"In-App Purchases and Subscriptions Appointment","startTime":"2026-06-10T09:00:00-07:00","endTime":"2026-06-10T11:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-09T14:00:00-07:00","screeningEndDate":"2026-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/GC2269LU9N\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"GC2269LU9N","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"A6CB0808-B530-4E67-863E-5EFD7D7C6666","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8116":{"id":"wwdc2026-8116","staticContentId":11137,"eventContentId":8116,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:03:40-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/XD34GS2B7G\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment to receive guidance on In-App Purchase implementation and testing with the StoreKit API, App Store Server API, and App Store Server Notifications.","title":"In-App Purchases and Subscriptions Appointment","startTime":"2026-06-10T14:00:00-07:00","endTime":"2026-06-10T19:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-09T14:00:00-07:00","screeningEndDate":"2026-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/XD34GS2B7G\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"XD34GS2B7G","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"4D8F82A7-9E3C-4CC7-8B28-3DF6D817C50E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8118":{"id":"wwdc2026-8118","staticContentId":11139,"eventContentId":8118,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:03:51-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/7N363BGYLC\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment to receive guidance on In-App Purchase implementation and testing with the StoreKit API, App Store Server API, and App Store Server Notifications.","title":"In-App Purchases and Subscriptions Appointment","startTime":"2026-06-11T14:00:00-07:00","endTime":"2026-06-11T19:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T14:00:00-07:00","screeningEndDate":"2026-06-10T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/7N363BGYLC\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"7N363BGYLC","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"92B4C3F5-D7D6-4360-A6DA-34F4EC7781EE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8085":{"id":"wwdc2026-8085","staticContentId":11106,"eventContentId":8085,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:01:29-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/Z5MVM9AZ9D\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Store expert to discuss your business goals and explore editorial featuring opportunities.","title":"App Store Business & Marketing Appointment","startTime":"2026-06-09T07:00:00-07:00","endTime":"2026-06-09T10:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-08T14:00:00-07:00","screeningEndDate":"2026-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/Z5MVM9AZ9D\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"Z5MVM9AZ9D","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6F8D7A34-2354-4F2F-8615-A470991D997F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8094":{"id":"wwdc2026-8094","staticContentId":11115,"eventContentId":8094,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:02:13-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/52UTYQF6WT\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Store expert to discuss your business goals and explore editorial featuring opportunities.","title":"App Store Business & Marketing Appointment","startTime":"2026-06-12T07:00:00-07:00","endTime":"2026-06-12T10:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T14:00:00-07:00","screeningEndDate":"2026-06-11T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/52UTYQF6WT\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"52UTYQF6WT","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"91130FAC-5255-4730-B165-5B3B1EE539F5","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8088":{"id":"wwdc2026-8088","staticContentId":11109,"eventContentId":8088,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:01:45-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/CZA7PGKNRP\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Store expert to discuss your business goals and explore editorial featuring opportunities.","title":"App Store Business & Marketing Appointment","startTime":"2026-06-10T07:00:00-07:00","endTime":"2026-06-10T10:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-09T14:00:00-07:00","screeningEndDate":"2026-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/CZA7PGKNRP\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"CZA7PGKNRP","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"35E34D99-17D3-4374-A107-88433C5C6616","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8089":{"id":"wwdc2026-8089","staticContentId":11110,"eventContentId":8089,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:01:49-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/VBDQGG7324\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Store expert to discuss your business goals and explore editorial featuring opportunities.","title":"App Store Business & Marketing Appointment","startTime":"2026-06-10T12:00:00-07:00","endTime":"2026-06-10T15:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-09T14:00:00-07:00","screeningEndDate":"2026-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/VBDQGG7324\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"VBDQGG7324","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"257463A2-5834-48A0-A263-CB616DFC66B5","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8090":{"id":"wwdc2026-8090","staticContentId":11111,"eventContentId":8090,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:01:55-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/7FRD52D8A9\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Store expert to discuss your business goals and explore editorial featuring opportunities.","title":"App Store Business & Marketing Appointment","startTime":"2026-06-10T18:00:00-07:00","endTime":"2026-06-10T21:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-09T14:00:00-07:00","screeningEndDate":"2026-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/7FRD52D8A9\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"7FRD52D8A9","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"99F1EFD4-2F1E-400D-BFED-3FF069380348","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8095":{"id":"wwdc2026-8095","staticContentId":11116,"eventContentId":8095,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T10:02:18-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/4VGGANM2V2\/dashboard","languageCode":"eng","description":"Book a 30-minute online appointment with an App Store expert to discuss your business goals and explore editorial featuring opportunities.","title":"App Store Business & Marketing Appointment","startTime":"2026-06-12T12:00:00-07:00","endTime":"2026-06-12T15:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T14:00:00-07:00","screeningEndDate":"2026-06-11T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/4VGGANM2V2\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"4VGGANM2V2","registrationServiceQuestionIDs":{"appURL":"B444PC9BK8","designURL":"4Z35H9FH3W","questionDetails":"6P4F7D6TAV","feedbackAssistantID":"6XK7G8JJ9C","designURLAccessInstructions":"MSG2H8QJL5"},"ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Open via Webex"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E3791AAB-BDC5-4C16-BAF1-CCA044C90572","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110416":{"id":"wwdc2022-110416","staticContentId":6776,"eventContentId":110416,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:23:47-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/96QDG9BX89\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app and the latest HealthKit and workouts APIs, best practices, and more.","title":"HealthKit and workouts lab","startTime":"2022-06-07T13:00:00-07:00","endTime":"2022-06-07T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/96QDG9BX89\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"96QDG9BX89","registrationServiceQuestionIDs":{"appURL":"6A7R98S464","designURL":"U562TR69FA","questionDetails":"XDFRRAB3V9","feedbackAssistantID":"SMJ95X9QLY","designURLAccessInstructions":"332R379USR"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","watchOS"],"primaryTopicID":92,"topicIds":[92],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C005E836-CDC5-4D17-86CE-5C3A60C10D1A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10005"]}},"wwdc2022-110637":{"id":"wwdc2022-110637","staticContentId":7003,"eventContentId":110637,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:07:16-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/6572K7MQ9W\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Games","startTime":"2022-06-10T15:00:00-07:00","endTime":"2022-06-10T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/6572K7MQ9W\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"6572K7MQ9W","registrationServiceQuestionIDs":{"topic":"667VK5T3C6","appURL":"83T5WF49BH","designURL":"SGF7J3TLXN","questionDetails":"8H4ZKLCQJ8","feedbackAssistantID":"52W4RPSV72","designURLAccessInstructions":"6F2YQG96U3"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"F3F1D027-B272-4B2F-84CF-85E8CDA1C0CD","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110597":{"id":"wwdc2022-110597","staticContentId":6963,"eventContentId":110597,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:13:33-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/FT7SWRQCCW\/dashboard","languageCode":"eng","description":"Meet with an App Review specialist to better understand the App Store Review Guidelines, learn how to prevent common issues, and discuss best practices for a smooth review experience.","title":"App Store Review lab","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/FT7SWRQCCW\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App preparation & preventing common rejections","App rejection","In-app purchase & subscription models","New technologies & related guidelines","Privacy best practices","Your feedback & guideline recommendations"],"registrationServiceID":"FT7SWRQCCW","registrationServiceQuestionIDs":{"topic":"93LKHW43PM","appURL":"HZ344GP5G7","designURL":"A7N56B67GL","questionDetails":"W8Z6W3TQWG","feedbackAssistantID":"WHUJKQDF7F","designURLAccessInstructions":"MB2W2QA85B"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"738E1FE1-A51A-4C6B-88ED-563F5CD9EF70","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110678":{"id":"wwdc2022-110678","staticContentId":7045,"eventContentId":110678,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:17:51-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/V3LU5DBC65\/dashboard","languageCode":"eng","description":"Receive guidance on in-app purchase testing and implementation, StoreKit, subscription offers, customer support management, maintaining subscriber statuses, multiplatform support, server notifications, and more.\n\n","title":"In-app purchase and subscriptions lab","startTime":"2022-06-07T06:00:00-07:00","endTime":"2022-06-07T09:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/V3LU5DBC65\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Server API","App Store Server Notifications","Family Sharing for in-app purchases","Implementation best practices","In-app purchase refund management","In-app purchase testing","In-app purchase validation","Proactive in-app purchase restore","StoreKit 2 integration","Subscription billing retry & grace period","Subscription introductory offers","Subscription offer codes","Subscription price changes","Subscription promotional offers"],"registrationServiceID":"V3LU5DBC65","registrationServiceQuestionIDs":{"topic":"B4CQXQRCGD","appURL":"5658ZFS589","designURL":"FFK5TYF5BY","questionDetails":"2A4D6276SD","feedbackAssistantID":"6QNR5NW8SF","designURLAccessInstructions":"4QZY72526U"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["in-app purchases","storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"3D2F0B7A-423C-4D96-B027-C4D302A1411C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110708":{"id":"wwdc2022-110708","staticContentId":7079,"eventContentId":110708,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:02:17-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/LVBMW8VAWN\/dashboard","languageCode":"eng","description":"Get help with App Store Connect reporting including Sales and Trends, App Analytics, and Payment reports. Receive guidance on downloading reports, understanding terminology, differences between each of reporting tools, and more.","title":"App Store Connect Analytics lab","startTime":"2022-06-09T08:00:00-07:00","endTime":"2022-06-09T10:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/LVBMW8VAWN\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["Downloading reports","General overview","Other","Payments and Financial reports","Understanding reporting dashboards","Understanding subscription performance"],"registrationServiceID":"LVBMW8VAWN","registrationServiceQuestionIDs":{"topic":"N98AVCP56N","appURL":"5Q3Z25P8M9","designURL":"Q3D5V2C92B","questionDetails":"57PD9AU2GF","feedbackAssistantID":"6U9MPMD9LD","designURLAccessInstructions":"BRX638BZMQ"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"8281AFBD-29AF-47B3-A52C-9319A3CB9657","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10043","wwdc2022-10044"]}},"wwdc2022-110623":{"id":"wwdc2022-110623","staticContentId":6989,"eventContentId":110623,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:07:46-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/APGRL9AG95\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Games","startTime":"2022-06-08T06:00:00-07:00","endTime":"2022-06-08T10:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/APGRL9AG95\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"APGRL9AG95","registrationServiceQuestionIDs":{"topic":"78X3YYF72G","appURL":"45HC9K324G","designURL":"9VDWF7JNRF","questionDetails":"25ABYKNXVU","feedbackAssistantID":"59HPD7GMWL","designURLAccessInstructions":"M4X6VCS85M"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"F292357B-2DC7-4DC5-ABD8-F26F568AF831","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110649":{"id":"wwdc2022-110649","staticContentId":7016,"eventContentId":110649,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:08:05-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/6WDD63W5YK\/dashboard","languageCode":"eng","description":"Have a question about games technology on Apple platforms? Request an appointment with an Apple engineer for guidance and conversation about HDR\/EDR, frame pacing, Unity plug-ins, game controllers and input remapping, accessibility, code signing and notarization, SpriteKit, and more.","title":"Games lab","startTime":"2022-06-09T13:00:00-07:00","endTime":"2022-06-09T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/6WDD63W5YK\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Accessibility best practices","Code Signing and Notarization","EDR\/HDR on Mac and iPad","Frame Pacing","Game Controller features","Input re-mapping","Other","Settings and Accessibility","SpriteKit","Unity plug-ins"],"registrationServiceID":"6WDD63W5YK","registrationServiceQuestionIDs":{"topic":"YXDJS5P9A9","appURL":"WD5YC633VT","designURL":"ZJMK8A7KFG","questionDetails":"NQUJVJ4K4X","feedbackAssistantID":"QC3FBBJ7NT","designURLAccessInstructions":"VNKZBQACFJ"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0FF75E77-886C-4CF1-9085-78C33210FBE4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10064","wwdc2022-10065","wwdc2022-10066","wwdc2022-10101","wwdc2022-10102","wwdc2022-10103","wwdc2022-10104","wwdc2022-10105","wwdc2022-10106","wwdc2022-10151","wwdc2022-10160","wwdc2022-10162","wwdc2022-110422","wwdc2022-110658","wwdc2022-110663","wwdc2022-110664","wwdc2022-110670"]}},"wwdc2022-110583":{"id":"wwdc2022-110583","staticContentId":6949,"eventContentId":110583,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:20:05-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/DTXHVW988J\/dashboard","languageCode":"eng","description":"Make your apps accessible and simple to use for everyone. Learn the basics of VoiceOver and other accessibility features to better understand how people who use Apple\u2019s accessibility features will navigate your products. Come prepared with a working prototype, development build, or your released app. \n\nAppointments are 30 minutes long, and are limited to one per person per lab for the duration of the conference. If you do not receive an appointment, you can submit a request again on another day. ","title":"Accessibility design lab","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T11:00:00-07:00","signupInformation":{"startDate":"2022-06-07T06:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/DTXHVW988J\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"DTXHVW988J","registrationServiceQuestionIDs":{"appURL":"6LW4945293","designURL":"8SX67S8J74","questionDetails":"HH2MP43A7C","feedbackAssistantID":"J74C2JQ42C","designURLAccessInstructions":"88QD6FUTXL"},"ruleSet":{"id":"design"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[87,82],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"AD9A0687-E7B9-4E1D-AF69-7E7314C5ACA2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110691":{"id":"wwdc2022-110691","staticContentId":7058,"eventContentId":110691,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:08:59-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/FNAFHCQY9W\/dashboard","languageCode":"eng","description":"Receive guidance on in-app purchase testing and implementation, StoreKit, subscription offers, customer support management, maintaining subscriber statuses, multiplatform support, server notifications, and more.\n\n","title":"In-app purchase and subscriptions lab","startTime":"2022-06-10T06:00:00-07:00","endTime":"2022-06-10T09:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/FNAFHCQY9W\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Server API","App Store Server Notifications","Family Sharing for in-app purchases","Implementation best practices","In-app purchase refund management","In-app purchase testing","In-app purchase validation","Proactive in-app purchase restore","StoreKit 2 integration","Subscription billing retry & grace period","Subscription introductory offers","Subscription offer codes","Subscription price changes","Subscription promotional offers"],"registrationServiceID":"FNAFHCQY9W","registrationServiceQuestionIDs":{"topic":"9N7S2N7DX2","appURL":"B5A4P3X5CC","designURL":"FLHWB335GH","questionDetails":"LR5BG7DVD3","feedbackAssistantID":"778G38BAY3","designURLAccessInstructions":"Q7W4L6SJSW"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["in-app purchases","storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"4FE480DE-04B0-4118-BF31-34A80D1F434F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110731":{"id":"wwdc2022-110731","staticContentId":7103,"eventContentId":110731,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:04:59-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/PSF6FPK6RA\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest Swift APIs, best practices, and more.","title":"Swift open hours lab","startTime":"2022-06-10T13:00:00-07:00","endTime":"2022-06-10T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/PSF6FPK6RA\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Apple Swift Packages","C\/Objective-C interoperability","Generics\/Protocols","Other","Property Wrappers","Runtime Performance","Standard Library","Swift Build Times","Swift Concurrency","Swift Language","Swift on Non-Darwin","Swift Package Manager"],"registrationServiceID":"PSF6FPK6RA","registrationServiceQuestionIDs":{"topic":"MXFZ57Z48V","appURL":"PXN88WUJG8","designURL":"HV5YLF6C5W","questionDetails":"HN63W7H3XH","feedbackAssistantID":"F5H692J89N","designURLAccessInstructions":"85N4568HKH"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"86E3F46B-275E-4D3B-ADAA-4DF34E539A81","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110350","wwdc2022-110351","wwdc2022-110352","wwdc2022-110353","wwdc2022-110354","wwdc2022-110355","wwdc2022-110356","wwdc2022-110357","wwdc2022-110358","wwdc2022-110359","wwdc2022-110360","wwdc2022-110401"]}},"wwdc2022-110620":{"id":"wwdc2022-110620","staticContentId":6986,"eventContentId":110620,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:24:19-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/NTS6G342QK\/dashboard","languageCode":"eng","description":"RealityKit is Apple\u2019s rendering, animation, physics, and audio engine for augmented reality. Request an appointment with an Apple engineer for guidance and conversation about RealityKit and Reality Composer, best practices, and more.","title":"RealityKit and Reality Composer lab","startTime":"2022-06-07T15:00:00-07:00","endTime":"2022-06-07T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/NTS6G342QK\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["ARKit Integration","Audio","Collaborative Sessions","ECS","Entity loading","Graphics","Measuring and improving performance","MeshResource and TextureResource","Networking","Physics","Query system","Scene Understanding","surface shader \/ geometry modifier","Video Materials"],"registrationServiceID":"NTS6G342QK","registrationServiceQuestionIDs":{"topic":"SFJ5GCLFVG","appURL":"DD2PUF37D5","designURL":"3C3LB252X8","questionDetails":"MBY9C2WR3F","feedbackAssistantID":"5STMHF9CK2","designURLAccessInstructions":"K3548M43MG"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["3d graphics","ar","arkit","realitykit","scenekit","usdz"],"primaryTopicID":85,"topicIds":[91,85],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B8568D89-9628-4191-B3C6-C0C3566B7AF2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10128","wwdc2022-110472","wwdc2022-110473","wwdc2022-110619"]}},"wwdc2022-110716":{"id":"wwdc2022-110716","staticContentId":7088,"eventContentId":110716,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:06:56-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/QY7ZN5Z723\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"C, C++, Objective-C compiler, analyzer, sanitizer, debugger, and linker lab","startTime":"2022-06-10T13:00:00-07:00","endTime":"2022-06-10T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/QY7ZN5Z723\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["App launch time","Bitcode","Clang modules","C (Language)","C++ (Language)","dyld","ld64","libc++ (C++ Standard Library)","lldb","Objective-C (Language)","Other","Sanitizers"],"registrationServiceID":"QY7ZN5Z723","registrationServiceQuestionIDs":{"topic":"Z5LPBM5QSB","appURL":"ZZH76AM2DL","designURL":"2KV63P2ZH4","questionDetails":"3KFB8WWVJK","feedbackAssistantID":"B32GBZ6Y6F","designURLAccessInstructions":"UXZLA85B2K"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"825FFE5A-52B9-4D4F-928F-7EAD57326358","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110362","wwdc2022-110367","wwdc2022-110370"]}},"wwdc2022-110718":{"id":"wwdc2022-110718","staticContentId":7090,"eventContentId":110718,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:21:07-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/R6W8GUU747\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"C, C++, Objective-C compiler, analyzer, sanitizer, debugger, and linker lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/R6W8GUU747\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["App launch time","Bitcode","Clang modules","C (Language)","C++ (Language)","dyld","ld64","libc++ (C++ Standard Library)","lldb","Objective-C (Language)","Other","Sanitizers"],"registrationServiceID":"R6W8GUU747","registrationServiceQuestionIDs":{"topic":"PQPL6LDUR7","appURL":"UW524MJXPG","designURL":"XG69PKL5PU","questionDetails":"YUMP6B8362","feedbackAssistantID":"JD8FM9NXZ4","designURLAccessInstructions":"TL2ZXFBMM7"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"52F8124E-0943-448D-BAFF-BA200A45E889","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110362","wwdc2022-110367","wwdc2022-110370"]}},"wwdc2022-110864":{"id":"wwdc2022-110864","staticContentId":7253,"eventContentId":110864,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:06:51-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/YDTF732ZA3\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation around installing the developer seeds of iOS, macOS, tvOS or watchOS, including any problems or issues with installation. Also sign up for inquiring about building .pkgs for distributing macOS software, including on the Mac App Store.","title":"Installer and macOS Package Installation lab","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/YDTF732ZA3\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["General"],"registrationServiceID":"YDTF732ZA3","registrationServiceQuestionIDs":{"topic":"S34F592QR3","appURL":"CZK6JK2JGJ","designURL":"6Z98Z97YVY","questionDetails":"RRJHN2BJ5D","feedbackAssistantID":"54XBN7A5AR","designURLAccessInstructions":"Y976WL5D8R"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B41BB529-1560-41B2-B95D-752FD71C7CBE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110585":{"id":"wwdc2022-110585","staticContentId":6951,"eventContentId":110585,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:07:36-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/98N2DL9K8C\/dashboard","languageCode":"eng","description":"Make your apps accessible and simple to use for everyone. Learn the basics of VoiceOver and other accessibility features to better understand how people who use Apple\u2019s accessibility features will navigate your products. Come prepared with a working prototype, development build, or your released app. \n\nAppointments are 30 minutes long, and are limited to one per person per lab for the duration of the conference. If you do not receive an appointment, you can submit a request again on another day. ","title":"Accessibility design lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","signupInformation":{"startDate":"2022-06-08T06:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/98N2DL9K8C\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"98N2DL9K8C","registrationServiceQuestionIDs":{"appURL":"CV5P7SLD56","designURL":"4AZSCJ64UJ","questionDetails":"24LBH94D2N","feedbackAssistantID":"43JVQFL87Y","designURLAccessInstructions":"768W89C866"},"ruleSet":{"id":"design"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[87,82],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E1A710CF-65BF-4F5E-BC0C-2B571CE48727","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110638":{"id":"wwdc2022-110638","staticContentId":7004,"eventContentId":110638,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:25:47-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/22NZ269BF7\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Apps","startTime":"2022-06-10T06:00:00-07:00","endTime":"2022-06-10T10:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/22NZ269BF7\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"22NZ269BF7","registrationServiceQuestionIDs":{"topic":"TNP873Z68A","appURL":"2LQ23B85NH","designURL":"CRA4QG3TAF","questionDetails":"W38AV9G5F5","feedbackAssistantID":"92N5U889HB","designURLAccessInstructions":"6VTD3LW6W2"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C8BA142B-7221-4407-A3EE-5B38F0240D64","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110900":{"id":"wwdc2022-110900","staticContentId":7290,"eventContentId":110900,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:03:31-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8F559FJ36A\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about exact audio matching with ShazamKit.","title":"ShazamKit lab","startTime":"2022-06-10T10:00:00-07:00","endTime":"2022-06-10T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8F559FJ36A\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"8F559FJ36A","registrationServiceQuestionIDs":{"appURL":"Z3PLPSKM84","designURL":"22Y7KJALTF","questionDetails":"CUAF5NQ3RR","feedbackAssistantID":"6PYCJ46RCC","designURLAccessInstructions":"8PAFZNY46U"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"CDCD12C4-FEC1-44B8-A6BE-427E86C437EE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10028","wwdc2022-110908"]}},"wwdc2022-110675":{"id":"wwdc2022-110675","staticContentId":7042,"eventContentId":110675,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:03:21-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/9W2K5JRTTM\/dashboard","languageCode":"eng","description":"Want to learn more about lightweight migration, NSPersistentCloudKitContainer, or other Core Data functionality? Request an appointment with an Apple engineer for guidance and conversation about all things Core Data.","title":"Core Data lab","startTime":"2022-06-08T13:00:00-07:00","endTime":"2022-06-08T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/9W2K5JRTTM\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"9W2K5JRTTM","registrationServiceQuestionIDs":{"appURL":"NJCGXM5AH4","designURL":"QMG6JT5347","questionDetails":"27V362X268","feedbackAssistantID":"5A95H9YA88","designURLAccessInstructions":"RKJTVRBJ46"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"76B768AF-ACE8-40B3-8F05-882137454B32","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10119","wwdc2022-10120"]}},"wwdc2022-110558":{"id":"wwdc2022-110558","staticContentId":6924,"eventContentId":110558,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:14:54-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8V77RSG23T\/dashboard","languageCode":"eng","description":"Have a question about MusicKit? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"MusicKit lab","startTime":"2022-06-08T09:30:00-07:00","endTime":"2022-06-08T12:30:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8V77RSG23T\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Music library","Music search","Other","Personalized music content","Playback","Privacy and user consent","Requesting music content","Subscription information and capabilities","Subscription offers"],"registrationServiceID":"8V77RSG23T","registrationServiceQuestionIDs":{"topic":"3SA72Z3CH4","appURL":"LFN9WH4V66","designURL":"89234YXYX3","questionDetails":"7TRQ53NWJT","feedbackAssistantID":"4553UYJTBY","designURLAccessInstructions":"D6A8URR6DY"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["apple music","music","musickit","music library","playlists","songs","swift"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5D5794C1-9DC6-4E76-9203-BB8BC7EB9B32","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110347","wwdc2022-110559","wwdc2022-110825","wwdc2021-10294"],"resources":[1607]}},"wwdc2022-110643":{"id":"wwdc2022-110643","staticContentId":7009,"eventContentId":110643,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:04:29-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/35V52Z9AGV\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about capturing photos and video within your app using the AVCapture and related camera APIs.","title":"Camera Capture lab","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/35V52Z9AGV\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"35V52Z9AGV","registrationServiceQuestionIDs":{"appURL":"K9S6MMUS29","designURL":"C5AM2UW488","questionDetails":"89J7QH8T49","feedbackAssistantID":"F5B2HU7CC3","designURLAccessInstructions":"829MK42LY8"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":95,"topicIds":[95],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"29CA5C8A-DC99-43D1-A7BC-C2BF12ED9EAE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10018","wwdc2022-10022","wwdc2022-110429","wwdc2022-110959","wwdc2022-110960","wwdc2022-110961","wwdc2022-110962","wwdc2022-110964"]}},"wwdc2022-110498":{"id":"wwdc2022-110498","staticContentId":6862,"eventContentId":110498,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:15:19-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8U5Y98H5MU\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about WidgetKit and Complications including Lock Screen widgets, migrating from ClockKit, timelines, and more.","title":"WidgetKit and Complications lab","startTime":"2022-06-07T13:00:00-07:00","endTime":"2022-06-07T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8U5Y98H5MU\/dashboard","text":"","appointmentDurationMinutes":15,"labTopics":[],"registrationServiceID":"8U5Y98H5MU","registrationServiceQuestionIDs":{"appURL":"RPL5S7C554","designURL":"NY92R98MMB","questionDetails":"P2K6BT6XK6","feedbackAssistantID":"W2V5WCRT9T","designURLAccessInstructions":"T5L2T8A377"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"F30B7EC0-2E3F-4515-90E2-C2F875D5447D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10050"]}},"wwdc2022-110871":{"id":"wwdc2022-110871","staticContentId":7260,"eventContentId":110871,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:22:08-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/KZ5J95BR6R\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about passkeys in iCloud Keychain, iCloud Keychain verification codes, Password AutoFill, SMS-delivered domain-bound codes, ASWebAuthenticationSession, Account Authentication Modification Extensions, and more.","title":"Authentication Services lab","startTime":"2022-06-08T10:00:00-07:00","endTime":"2022-06-08T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/KZ5J95BR6R\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["2FA","ASWebAuthenticationSession","General","iCloud Keychain","iCloud Keychain Verification Codes","Passkeys","Password Autofill","SMS Delivered Domain Bound Codes"],"registrationServiceID":"KZ5J95BR6R","registrationServiceQuestionIDs":{"topic":"6T8KHWM55W","appURL":"PT5V3KMP86","designURL":"LW9H598L88","questionDetails":"3NSTN2DZZV","feedbackAssistantID":"ZZCDV3CL38","designURLAccessInstructions":"6R3J57WQC6"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[96,98,101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"8FFE5997-4726-4320-9265-FD49D6C1AD79","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10092"]}},"wwdc2022-110854":{"id":"wwdc2022-110854","staticContentId":7241,"eventContentId":110854,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:06:17-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/V778X3JT2U\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about Quick Note, PencilKit, Scribble, Keyboard, and other input topics.","title":"Drawing and Text Input lab","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/V778X3JT2U\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["General","Pencil Events","PencilKit","Quick Note","Scribble"],"registrationServiceID":"V778X3JT2U","registrationServiceQuestionIDs":{"topic":"C9JG8LQ57V","appURL":"X32644RAB2","designURL":"2G9P8BQ8W6","questionDetails":"3N85FU6X43","feedbackAssistantID":"22L6ZPH2VN","designURLAccessInstructions":"B9S2C5P5R9"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":83,"topicIds":[83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B18D80CC-D318-4409-9734-3AA812BA0704","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10069","wwdc2022-10070"]}},"wwdc2022-110592":{"id":"wwdc2022-110592","staticContentId":6958,"eventContentId":110592,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:10:20-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/JQ57B4K88Q\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple Developer Technical Support engineer to ask a question about existing Apple frameworks, APIs, and tools. Get expert technical guidance about optimizing your code, understanding crashes, and best practices for implementing Apple technologies in your app. For questions about frameworks and API introduced at WWDC22, please register for a technology-specific WWDC22 lab, WWDC22 Digital Lounges activities, or visit the Apple Developer Forums.","title":"Developer Technical Support open hours","startTime":"2022-06-08T14:00:00-07:00","endTime":"2022-06-08T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/JQ57B4K88Q\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["ARKit","Audio","Codesigning","Crash reports","iCloud\/CloudKit","In-App Purchase","Metal","Networking","On Demand Resources (ODR)","Other","Push Notifications","Security","Sign in With Apple","Siri\/SiriKit","SwiftUI","Widgets"],"registrationServiceID":"JQ57B4K88Q","registrationServiceQuestionIDs":{"topic":"5228FBV863","appURL":"SQZ96P8X7K","designURL":"VKQQRS96H8","questionDetails":"YF8KV6NFRZ","feedbackAssistantID":"PB97S39UP9","designURLAccessInstructions":"F6V3YYD3XQ"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[90,88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"BFD429E4-EA42-4244-96BC-995BA46960E0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110685":{"id":"wwdc2022-110685","staticContentId":7052,"eventContentId":110685,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:05:52-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/Y9B559HBLZ\/dashboard","languageCode":"eng","description":"Receive guidance on in-app purchase testing and implementation, StoreKit, subscription offers, customer support management, maintaining subscriber statuses, multiplatform support, server notifications, and more.\n\n","title":"In-app purchase and subscriptions lab","startTime":"2022-06-08T13:00:00-07:00","endTime":"2022-06-08T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/Y9B559HBLZ\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Server API","App Store Server Notifications","Family Sharing for in-app purchases","Implementation best practices","In-app purchase refund management","In-app purchase testing","In-app purchase validation","Proactive in-app purchase restore","StoreKit 2 integration","Subscription billing retry & grace period","Subscription introductory offers","Subscription offer codes","Subscription price changes","Subscription promotional offers"],"registrationServiceID":"Y9B559HBLZ","registrationServiceQuestionIDs":{"topic":"4RQPUG5CMV","appURL":"YBJQG5UGCF","designURL":"S6Z2QYM423","questionDetails":"C9L73F7CTW","feedbackAssistantID":"4W272FAG6V","designURLAccessInstructions":"3UFK278P88"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["in-app purchases","storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"87856183-6EFF-46FE-8CFC-DA90DB6F3ACF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110588":{"id":"wwdc2022-110588","staticContentId":6954,"eventContentId":110588,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:08:10-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/SPC5M7W9B4\/dashboard","languageCode":"eng","description":"Make your apps accessible and simple to use for everyone. Learn the basics of VoiceOver and other accessibility features to better understand how people who use Apple\u2019s accessibility features will navigate your products. Come prepared with a working prototype, development build, or your released app. \n\nAppointments are 30 minutes long, and are limited to one per person per lab for the duration of the conference. If you do not receive an appointment, you can submit a request again on another day. ","title":"Accessibility design lab","startTime":"2022-06-10T15:00:00-07:00","endTime":"2022-06-10T17:00:00-07:00","signupInformation":{"startDate":"2022-06-09T06:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/SPC5M7W9B4\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"SPC5M7W9B4","registrationServiceQuestionIDs":{"appURL":"79Q236ND4Q","designURL":"A8D2V7K8AL","questionDetails":"CJW2XY5H32","feedbackAssistantID":"RDVG6J622Y","designURLAccessInstructions":"SMGURGH2W5"},"ruleSet":{"id":"design"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[87,82],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"01763CF2-410D-4F9D-AACB-63DC514D201D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110655":{"id":"wwdc2022-110655","staticContentId":7022,"eventContentId":110655,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:09:25-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4S93VWZR7B\/dashboard","languageCode":"eng","description":"Object Capture is a photogrammetry technology for MacOS that enables the creation of lifelike 3D models with no prior 3D experience. Request an appointment with an Apple engineer for guidance and conversation about the Object Capture API, best practices, and more.","title":"Object Capture lab","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4S93VWZR7B\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["capture quality \/ scanning best practices","object capture API"],"registrationServiceID":"4S93VWZR7B","registrationServiceQuestionIDs":{"topic":"577663URP5","appURL":"DAJMB2C539","designURL":"AG9935F3GW","questionDetails":"28UQS97659","feedbackAssistantID":"63XTSX8T4B","designURLAccessInstructions":"9F64TUBDLQ"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["3d content creation","3d model","ar","photogrammetry","usdz"],"primaryTopicID":85,"topicIds":[91,85],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"75AC443E-5770-45BA-BF4B-A11E4198F48B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10128","wwdc2022-110476","wwdc2022-110477","wwdc2022-110656"]}},"wwdc2022-110607":{"id":"wwdc2022-110607","staticContentId":6973,"eventContentId":110607,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:07:11-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/B5T65TRTPM\/dashboard","languageCode":"eng","description":"Meet with an App Review specialist to better understand the App Store Review Guidelines, learn how to prevent common issues, and discuss best practices for a smooth review experience.","title":"App Store Review lab","startTime":"2022-06-10T11:00:00-07:00","endTime":"2022-06-10T14:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/B5T65TRTPM\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App preparation & preventing common rejections","App rejection","In-app purchase & subscription models","New technologies & related guidelines","Privacy best practices","Your feedback & guideline recommendations"],"registrationServiceID":"B5T65TRTPM","registrationServiceQuestionIDs":{"topic":"X4D46VQA2G","appURL":"6ARH25NM24","designURL":"X7P4V794DW","questionDetails":"5CFLG99AVK","feedbackAssistantID":"CA9FK52C37","designURLAccessInstructions":"QBB2QT78XA"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"DD7FC3AE-7A86-4649-B881-705696C4CFE8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110724":{"id":"wwdc2022-110724","staticContentId":7096,"eventContentId":110724,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:06:22-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/TJ7F5J2CSP\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"Performance, power, and stability lab","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/TJ7F5J2CSP\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Animation Hitches","App launch time","Condition Inducers","Crash Energy and Metrics Organizer","Crash Log Analysis","Crash logs","Custom Instruments and CLIPS","GPU Debugger","Hangs\/Responsiveness","Instruments","Memory Analysis","Memory Graph Debugger","MetricKit","Network Traffic Analysis","os_log\/os_signpost","Other","Performance XCTests","Power\/Battery Life","Sanitizers","Swift Runtime Performance","Symbolication","View Debugger","Xcode Debugger","Xcode Gauges","Xcode Organizer","Xcode SwiftUI Previews"],"registrationServiceID":"TJ7F5J2CSP","registrationServiceQuestionIDs":{"topic":"3393HKUF3N","appURL":"T4UJ7U68AU","designURL":"9WZXNM3V33","questionDetails":"BF6L84H43L","feedbackAssistantID":"W36TGUFNJK","designURLAccessInstructions":"C556Z5GA4W"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"630A6BCA-5482-4707-9288-6E3DFC79CB64","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10082","wwdc2022-10083"]}},"wwdc2022-110621":{"id":"wwdc2022-110621","staticContentId":6987,"eventContentId":110621,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:07:21-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/SK22SGR75J\/dashboard","languageCode":"eng","description":"RoomPlan can help your app quickly create simplified parametric 3D scans of a room. Request an appointment with an Apple engineer for guidance and conversation about the RoomPlan API, best practices, and more.","title":"RoomPlan lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/SK22SGR75J\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Data API","room scanning experience API","USD\/usdz export"],"registrationServiceID":"SK22SGR75J","registrationServiceQuestionIDs":{"topic":"N23PWD46M7","appURL":"ZPY4849A57","designURL":"9MFX7GN447","questionDetails":"34C63SNM47","feedbackAssistantID":"C8HF59977Q","designURLAccessInstructions":"RM3XCB6D77"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":85,"topicIds":[91,85],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D462796C-E079-4F23-81C4-319771934B3E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10127","wwdc2022-110474","wwdc2022-110475","wwdc2022-110622"]}},"wwdc2022-110584":{"id":"wwdc2022-110584","staticContentId":6950,"eventContentId":110584,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:17:36-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/3FXG9NZTR8\/dashboard","languageCode":"eng","description":"Make your apps accessible and simple to use for everyone. Learn the basics of VoiceOver and other accessibility features to better understand how people who use Apple\u2019s accessibility features will navigate your products. Come prepared with a working prototype, development build, or your released app. \n\nAppointments are 30 minutes long, and are limited to one per person per lab for the duration of the conference. If you do not receive an appointment, you can submit a request again on another day. ","title":"Accessibility design lab","startTime":"2022-06-08T16:00:00-07:00","endTime":"2022-06-08T18:00:00-07:00","signupInformation":{"startDate":"2022-06-07T06:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/3FXG9NZTR8\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"3FXG9NZTR8","registrationServiceQuestionIDs":{"appURL":"9L6B68Q598","designURL":"38S9Z8SCSN","questionDetails":"ZD7C4Q9X43","feedbackAssistantID":"VBAD9HL89T","designURLAccessInstructions":"KG584B8ZYY"},"ruleSet":{"id":"design"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[87,82],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"8C1C357B-F27D-45CE-AFF2-E491617C8C44","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110537":{"id":"wwdc2022-110537","staticContentId":6904,"eventContentId":110537,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:10:16-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/WQR8CWB2TF\/dashboard","languageCode":"eng","description":"EDR is Apple\u2019s High Dynamic Range representation and rendering pipeline. Request an appointment with an Apple engineer for guidance and conversation around rendering HDR video content using EDR in your app, best practices, and more.","title":"HDR and EDR lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/WQR8CWB2TF\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"WQR8CWB2TF","registrationServiceQuestionIDs":{"appURL":"7KHLCAJWPJ","designURL":"89X87MVKDP","questionDetails":"XL4L6LTDHJ","feedbackAssistantID":"DKX663W6TM","designURLAccessInstructions":"7V93H2TL5L"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["coreimage","core image","display","display p3","edr","hdr","imageio","metal","metal shading language","reference display","reference mode","sidecar"],"primaryTopicID":95,"topicIds":[84,91,100,95],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"13BA2E91-EDA1-4FE2-9964-977380A79D57","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10113","wwdc2022-10114","wwdc2022-110565","wwdc2022-110843"]}},"wwdc2022-110628":{"id":"wwdc2022-110628","staticContentId":6994,"eventContentId":110628,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:18:10-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/K44UK4DN76\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Apps","startTime":"2022-06-08T15:00:00-07:00","endTime":"2022-06-08T20:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/K44UK4DN76\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"K44UK4DN76","registrationServiceQuestionIDs":{"topic":"ZHUL6K4BL7","appURL":"ZAPSTTPKSC","designURL":"M5LA5TC3U7","questionDetails":"J32F555X47","feedbackAssistantID":"4H27357N2G","designURLAccessInstructions":"9GBFX66YNS"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0642FE44-98D5-4D83-BAF0-032A80F808CA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110652":{"id":"wwdc2022-110652","staticContentId":7019,"eventContentId":110652,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:02:33-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/W39HKM7H49\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the ScreenCaptureKit API, best practices, and more.","title":"ScreenCaptureKit lab","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/W39HKM7H49\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Adoption best practice (full display)","Advanced audio content filters","Advanced video content filters","Audio synchronization","How to use per frame metadata","Integration with VideoToolbox","Other","Stream configuration","Surface management and perf tuning"],"registrationServiceID":"W39HKM7H49","registrationServiceQuestionIDs":{"topic":"H4333UADNJ","appURL":"Z3T2BJP87K","designURL":"5LL39XYBJT","questionDetails":"27SZ9U8C35","feedbackAssistantID":"2WFXMV796G","designURLAccessInstructions":"LT4W7DWGWN"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":91,"topicIds":[84,91],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D2612785-C27F-40EB-BA60-7EA4F36A520F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10136","wwdc2022-10155","wwdc2022-10156","wwdc2022-110659","wwdc2022-110660","wwdc2022-110669"]}},"wwdc2022-110618":{"id":"wwdc2022-110618","staticContentId":6984,"eventContentId":110618,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:03:11-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/MALF95YZVL\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation around ARKit, general troubleshooting, or specific features like plane detection, face tracking, Location Anchors, and Scene Geometry. ","title":"ARKit lab","startTime":"2022-06-10T15:00:00-07:00","endTime":"2022-06-10T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/MALF95YZVL\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["4k video","AppClip Codes","Collaborative sessions \/ multi-user","Depth","Face tracking","General questions and troubleshooting","Image tracking\/object detection","Location anchors","Motion Capture\/BodyTracking","Object placement","People Occlusion","Plane detection and classification","Rendering and rendering effects","Scene reconstruction"],"registrationServiceID":"MALF95YZVL","registrationServiceQuestionIDs":{"topic":"JY4T674X37","appURL":"YDSM8USUN2","designURL":"35X2X3QHN7","questionDetails":"74SXR6WG5X","feedbackAssistantID":"LW7SN8XXKD","designURLAccessInstructions":"J2A6UDWH5A"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["ar","arkit","augmented reality"],"primaryTopicID":85,"topicIds":[85],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C521FCBD-B550-490C-AE8A-677363655307","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10126","wwdc2022-110470","wwdc2022-110471","wwdc2022-110617"]}},"wwdc2022-110704":{"id":"wwdc2022-110704","staticContentId":7075,"eventContentId":110704,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:06:27-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/9MJHRJK828\/dashboard","languageCode":"eng","description":"Get help with App Store Connect reporting including Sales and Trends, App Analytics, and Payment reports. Receive guidance on downloading reports, understanding terminology, differences between each of reporting tools, and more.","title":"App Store Connect Analytics lab","startTime":"2022-06-07T08:00:00-07:00","endTime":"2022-06-07T10:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/9MJHRJK828\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["Downloading reports","General overview","Other","Payments and Financial reports","Understanding reporting dashboards","Understanding subscription performance"],"registrationServiceID":"9MJHRJK828","registrationServiceQuestionIDs":{"topic":"53N8CP3S8J","appURL":"3KYWQZ6NH3","designURL":"3V4B7ZR93L","questionDetails":"SRT7NBJM89","feedbackAssistantID":"Q438A8K58Z","designURLAccessInstructions":"QSHHD92CC6"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"CA7C5BFF-3695-433F-9F9F-9A58959B28EB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10043","wwdc2022-10044"]}},"wwdc2022-110899":{"id":"wwdc2022-110899","staticContentId":7289,"eventContentId":110899,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:05:38-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/R9Y79BBYS6\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about exact audio matching with ShazamKit.","title":"ShazamKit lab","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T18:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/R9Y79BBYS6\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"R9Y79BBYS6","registrationServiceQuestionIDs":{"appURL":"X7B4GF9QYJ","designURL":"2MUUH7AQ6R","questionDetails":"9JCW69G8BX","feedbackAssistantID":"SR74QXUWUW","designURLAccessInstructions":"AHQN8N994Q"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"3C06A06B-400A-49FE-8532-C330368876BA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10028","wwdc2022-110908"]}},"wwdc2022-110792":{"id":"wwdc2022-110792","staticContentId":7173,"eventContentId":110792,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:07:55-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4N9FX27P8M\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about Core Bluetooth, accessory design, and more.","title":"Core Bluetooth lab","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4N9FX27P8M\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"4N9FX27P8M","registrationServiceQuestionIDs":{"appURL":"DXPTS6K4PM","designURL":"BT5H9FH7UG","questionDetails":"82647X63K9","feedbackAssistantID":"88D2747Z29","designURLAccessInstructions":"QL98RZVM5A"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B949F09E-22C2-4C65-8705-27850EB1184E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10135"]}},"wwdc2022-110791":{"id":"wwdc2022-110791","staticContentId":7172,"eventContentId":110791,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:07:51-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/SFK5AGG26V\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about DriverKit, bringing your device drivers to iPad, best practices, and more.","title":"DriverKit lab","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/SFK5AGG26V\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"SFK5AGG26V","registrationServiceQuestionIDs":{"appURL":"FUK8RUX8C4","designURL":"ZWTWV5TNP4","questionDetails":"25RPQZNYQ4","feedbackAssistantID":"PWHD43V2CD","designURLAccessInstructions":"V4HR63YWL2"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0DB91C2D-8251-4597-B693-5CC2C00BD163","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110373"]}},"wwdc2022-110701":{"id":"wwdc2022-110701","staticContentId":7072,"eventContentId":110701,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:16:06-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/WSY86A5D77\/dashboard","languageCode":"eng","description":"Get help with App Store Connect, including features like TestFlight and the App Store Connect API. Receive guidance on uploading builds, managing app metadata, setting up in-app purchases, and more.\n","title":"App Store Connect lab","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/WSY86A5D77\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Connect API","App transfer","General setup and distribution","Managing App Store metadata","Other","Setting up in-app events or custom product pages","Subscriptions and in-app purchases","TestFlight","Uploading builds","User management"],"registrationServiceID":"WSY86A5D77","registrationServiceQuestionIDs":{"topic":"9L7M5U9558","appURL":"95WU479XZM","designURL":"373P54438V","questionDetails":"3X997835YD","feedbackAssistantID":"93TM576TW2","designURLAccessInstructions":"6SJHADQU7N"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"9EF925CE-34D2-49A7-8764-C85524CDB5C5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10043"]}},"wwdc2022-110616":{"id":"wwdc2022-110616","staticContentId":6982,"eventContentId":110616,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:12:27-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/FJPPYA9JNM\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Apps","startTime":"2022-06-07T15:00:00-07:00","endTime":"2022-06-07T20:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/FJPPYA9JNM\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"FJPPYA9JNM","registrationServiceQuestionIDs":{"topic":"GYN2BND2MQ","appURL":"L63S39VXX4","designURL":"2YH7CF8UP3","questionDetails":"N6UA8H252S","feedbackAssistantID":"Q455KD5229","designURLAccessInstructions":"ZGSVJQ5G6B"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"F7F3EFA7-E244-451E-8003-8F225DAC36AF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110549":{"id":"wwdc2022-110549","staticContentId":6915,"eventContentId":110549,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:08:25-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/MHVV6HMR5T\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about Audio Units, Workgroups, HAL, Toolbox APIs, CoreMIDI, AVAudioEngine, AVF APIs Catalyst apps, Spatial Audio, SoundAnalysis, or AUVoiceIO.\n","title":"Core Audio lab","startTime":"2022-06-08T10:00:00-07:00","endTime":"2022-06-08T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/MHVV6HMR5T\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Audio APIs","Audio Units","AVAudioEngine","Codecs","Drivers","HAL","MIDI","Spatial Audio"],"registrationServiceID":"MHVV6HMR5T","registrationServiceQuestionIDs":{"topic":"P35PFW4682","appURL":"YJ333D2C3U","designURL":"TCJB35WR37","questionDetails":"WS68K7M83A","feedbackAssistantID":"C2T7RB9DK6","designURLAccessInstructions":"4TAPG6T65C"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"4E6E2D49-86AD-459A-A63E-FA49251B4DD2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110645":{"id":"wwdc2022-110645","staticContentId":7012,"eventContentId":110645,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:08:00-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/ZYRC36VAUR\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest Metal APIs, best practices, and more.","title":"Metal lab","startTime":"2022-06-08T15:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/ZYRC36VAUR\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Advanced game rendering","Metal Compiler Workflows","Metal Compute","metal-cpp","Metal developer tools","Metal Fast Resource Loading","MetalFX","Metal Intro and Basics","Metal Mesh Shaders","Metal ML and MPSGraph","Metal Raytracing","Other"],"registrationServiceID":"ZYRC36VAUR","registrationServiceQuestionIDs":{"topic":"CF8QUQ92MK","appURL":"UN5YBZPPZ5","designURL":"P75CB4WJ4Y","questionDetails":"4P69J6BRGC","feedbackAssistantID":"S9ZCX667SS","designURLAccessInstructions":"8P5C87UQHF"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[84,91],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0C820904-61C9-462E-AA06-53B7294A495C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10063","wwdc2022-10066","wwdc2022-10101","wwdc2022-10102","wwdc2022-10103","wwdc2022-10104","wwdc2022-10105","wwdc2022-10106","wwdc2022-10114","wwdc2022-10159","wwdc2022-10160","wwdc2022-10162","wwdc2022-110565","wwdc2022-110657","wwdc2022-110666","wwdc2022-110667","wwdc2022-110670","wwdc2022-110906","wwdc2022-110949"]}},"wwdc2022-110897":{"id":"wwdc2022-110897","staticContentId":7287,"eventContentId":110897,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:02:47-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/A7FJW8GVDR\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about exact audio matching with ShazamKit.","title":"ShazamKit lab","startTime":"2022-06-07T15:00:00-07:00","endTime":"2022-06-07T18:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/A7FJW8GVDR\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Audio matching","Catalog creation","Custom catalogs","General question or troubleshooting","MusicKit integration","Shazam Media Library"],"registrationServiceID":"A7FJW8GVDR","registrationServiceQuestionIDs":{"topic":"BVS736YGV6","appURL":"3NZQR45V3L","designURL":"48D924YVJ5","questionDetails":"TK32X2M7FS","feedbackAssistantID":"A29PAF6ZBT","designURLAccessInstructions":"NHK4AGJDMC"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"59369D14-BE86-4EBE-BD0E-9FBC10BB77CA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10028","wwdc2022-110908"]}},"wwdc2022-110911":{"id":"wwdc2022-110911","staticContentId":7301,"eventContentId":110911,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:08:20-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4F969TSJUV\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about integrating the Photos library within your app including questions about PHPicker, Limited Photos Library, and the full PhotoKit API.","title":"PhotoKit lab","startTime":"2022-06-08T15:00:00-07:00","endTime":"2022-06-08T18:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4F969TSJUV\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Change History","Limited Photos Library","PhotoKit","Photos Picker"],"registrationServiceID":"4F969TSJUV","registrationServiceQuestionIDs":{"topic":"TA48G68KX8","appURL":"T3BTZ6Y56Y","designURL":"PUM6NYVS3K","questionDetails":"6PFBTBU4LB","feedbackAssistantID":"HCTAG9GB54","designURLAccessInstructions":"F4S2TTG489"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":95,"topicIds":[95],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"2C0771E1-6872-443C-ADE0-951BE9A60217","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10023","wwdc2022-10132","wwdc2022-110913"]}},"wwdc2022-110786":{"id":"wwdc2022-110786","staticContentId":7166,"eventContentId":110786,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:08:30-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8S2Y5A79BL\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about App Tracking Transparency, APIs, and best practices for building trust through better privacy.","title":"App Tracking Transparency lab","startTime":"2022-06-07T15:00:00-07:00","endTime":"2022-06-07T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8S2Y5A79BL\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["General"],"registrationServiceID":"8S2Y5A79BL","registrationServiceQuestionIDs":{"topic":"73JKNDUD66","appURL":"2X56XKQD96","designURL":"86R536K4XH","questionDetails":"UGHUPX2MNT","feedbackAssistantID":"4VZZ7W53WD","designURLAccessInstructions":"2Z4QKPMTJF"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[101,96],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"637DDE8E-7E6D-420D-A644-547CFB3B820A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10096","wwdc2022-10166","wwdc2022-110785","wwdc2022-110787","wwdc2022-110788","wwdc2022-110789","wwdc2022-110790"]}},"wwdc2022-110690":{"id":"wwdc2022-110690","staticContentId":7057,"eventContentId":110690,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:05:57-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/75NBCWAZ9U\/dashboard","languageCode":"eng","description":"Receive guidance on in-app purchase testing and implementation, StoreKit, subscription offers, customer support management, maintaining subscriber statuses, multiplatform support, server notifications, and more.\n\n","title":"In-app purchase and subscriptions lab","startTime":"2022-06-09T16:00:00-07:00","endTime":"2022-06-09T20:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/75NBCWAZ9U\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Server API","App Store Server Notifications","Family Sharing for in-app purchases","Implementation best practices","In-app purchase refund management","In-app purchase testing","In-app purchase validation","Proactive in-app purchase restore","StoreKit 2 integration","Subscription billing retry & grace period","Subscription introductory offers","Subscription offer codes","Subscription price changes","Subscription promotional offers"],"registrationServiceID":"75NBCWAZ9U","registrationServiceQuestionIDs":{"topic":"YL7A42376R","appURL":"54Y3MZ96H2","designURL":"794Q68P555","questionDetails":"BUH3VGRY9C","feedbackAssistantID":"L33BM58A6M","designURLAccessInstructions":"BFR3MG2JMP"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["in-app purchases","storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"81E07879-E528-48AC-B45E-059458EF5E8F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110697":{"id":"wwdc2022-110697","staticContentId":7068,"eventContentId":110697,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:08:39-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/LFYVJ4Z7P5\/dashboard","languageCode":"eng","description":"Get help with App Store Connect, including features like TestFlight and the App Store Connect API. Receive guidance on uploading builds, managing app metadata, setting up in-app purchases, and more.\n","title":"App Store Connect lab","startTime":"2022-06-07T15:00:00-07:00","endTime":"2022-06-07T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/LFYVJ4Z7P5\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Connect API","App transfer","General setup and distribution","Managing App Store metadata","Other","Setting up in-app events or custom product pages","Subscriptions and in-app purchases","TestFlight","Uploading builds","User management"],"registrationServiceID":"LFYVJ4Z7P5","registrationServiceQuestionIDs":{"topic":"28NH7ZJMZ2","appURL":"K9UUD8M3TT","designURL":"MSR7PSVTX8","questionDetails":"WZV3QUUB2S","feedbackAssistantID":"A94374HM5Z","designURLAccessInstructions":"AHT646J82W"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"36365EC4-2D68-455A-8D72-42404F9DADEA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10043"]}},"wwdc2022-110569":{"id":"wwdc2022-110569","staticContentId":6935,"eventContentId":110569,"eventId":"wwdc2022","contentUpdatedAt":"2024-05-31T13:14:57-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/RQ5Z9KQN6A\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple designer for a conversation about the latest design principles, best practices, design patterns, and more. Get advice on making your apps simple to use and visually compelling. Come prepared with a working prototype, development build, or your released app.\n\nDesign labs are limited to one appointment request per day and one confirmed appointment for the duration of the conference. Cancelling a confirmed appointment won\u2019t allow you to request another design lab appointment.\n\nYou\u2019ll get an email letting you know whether you received an appointment by 10 p.m. PDT. If you don\u2019t receive an appointment, you can submit a request on another day.","title":"Design lab","startTime":"2022-06-07T16:00:00-07:00","endTime":"2022-06-07T18:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/RQ5Z9KQN6A\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Interaction focus","Overall app design","Visual focus"],"registrationServiceID":"RQ5Z9KQN6A","registrationServiceQuestionIDs":{"topic":"4469669V6N","appURL":"76MTT8MUK9","designURL":"Y69RP8XM9A","questionDetails":"SWB6Y5SL7V","feedbackAssistantID":"6NADGYJQ49","designURLAccessInstructions":"6UJUTK38V3"},"ruleSet":{"id":"design"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"3B0553CF-7898-4529-8EB1-8250C5B67BB2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10001","wwdc2022-10169","wwdc2022-110340","wwdc2022-110342"],"resources":[430]}},"wwdc2022-110467":{"id":"wwdc2022-110467","staticContentId":6828,"eventContentId":110467,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:08:44-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8JXJL292LS\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about the latest SwiftUI APIs, best practices, and Swift Charts.","title":"SwiftUI and Swift Charts lab","startTime":"2022-06-10T10:00:00-07:00","endTime":"2022-06-10T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8JXJL292LS\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"8JXJL292LS","registrationServiceQuestionIDs":{"appURL":"9T75996MDW","designURL":"FBG9ZQLP3V","questionDetails":"8VZP3DLTPY","feedbackAssistantID":"3T3K3P3VTH","designURLAccessInstructions":"2D6L44WYB8"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"29991241-BF97-457C-A01C-AB9DDF9A910F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10052","wwdc2022-10054","wwdc2022-10056","wwdc2022-10058","wwdc2022-10061","wwdc2022-10062","wwdc2022-10136","wwdc2022-10137","wwdc2022-110340","wwdc2022-110342","wwdc2022-110343","wwdc2022-110531"]}},"wwdc2022-110556":{"id":"wwdc2022-110556","staticContentId":6922,"eventContentId":110556,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:08:35-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/5RHHYV7Y96\/dashboard","languageCode":"eng","description":"Have a question about live or on demand HLS video streaming, Low-Latency HLS, Offline HLS, spatial audio, dynamic ad insertion, or stream authoring recommendations? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"HTTP Live Streaming lab","startTime":"2022-06-08T13:00:00-07:00","endTime":"2022-06-08T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/5RHHYV7Y96\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"5RHHYV7Y96","registrationServiceQuestionIDs":{"appURL":"4MVS9H2KNB","designURL":"X9QUDCAYTG","questionDetails":"CQ7M28N7UD","feedbackAssistantID":"XNX4KW8DLC","designURLAccessInstructions":"QJ98FARWQP"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C2B8BE47-47A4-4E32-8D7A-988F3B6B274A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10144","wwdc2022-10145"]}},"wwdc2022-110957":{"id":"wwdc2022-110957","staticContentId":7378,"eventContentId":110957,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:08:55-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/L4H7A6KZJW\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about the EventKit frameworks.","title":"EventKit lab","startTime":"2022-06-09T10:00:00-07:00","endTime":"2022-06-09T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/L4H7A6KZJW\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Calendar iOS","Calendar macOS","Calendar Video Call Extension API"],"registrationServiceID":"L4H7A6KZJW","registrationServiceQuestionIDs":{"topic":"XL55FZ4SP9","appURL":"J6NY3G9499","designURL":"DF8ZKCPUS9","questionDetails":"MK844W78TN","feedbackAssistantID":"DRYRU3R774","designURLAccessInstructions":"7YGK9CD7Z3"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":83,"topicIds":[83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"7B3C4D7F-D905-47AE-8AB1-A038A70D1FA2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110723":{"id":"wwdc2022-110723","staticContentId":7095,"eventContentId":110723,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:19:54-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/458MU67XKG\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"Performance, power, and stability lab","startTime":"2022-06-08T13:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/458MU67XKG\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Animation Hitches","App launch time","Condition Inducers","Crash Energy and Metrics Organizer","Crash Log Analysis","Crash logs","Custom Instruments and CLIPS","GPU Debugger","Hangs\/Responsiveness","Instruments","Memory Analysis","Memory Graph Debugger","MetricKit","Network Traffic Analysis","os_log\/os_signpost","Other","Performance XCTests","Power\/Battery Life","Sanitizers","Swift Runtime Performance","Symbolication","View Debugger","Xcode Debugger","Xcode Gauges","Xcode Organizer","Xcode SwiftUI Previews"],"registrationServiceID":"458MU67XKG","registrationServiceQuestionIDs":{"topic":"2V7UAWQ4P2","appURL":"Q26H5LT3YS","designURL":"S5T238K9LW","questionDetails":"VZRS4S58F5","feedbackAssistantID":"U8GXZ2DWCC","designURLAccessInstructions":"GLH3TJUZV6"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"94B3881A-5C3A-4B0E-A8B0-BAC736D71AC0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10082","wwdc2022-10083"]}},"wwdc2022-110742":{"id":"wwdc2022-110742","staticContentId":7114,"eventContentId":110742,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:09:04-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/892M5ZAJ83\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"Xcode Cloud and testing open hours lab","startTime":"2022-06-10T06:00:00-07:00","endTime":"2022-06-10T09:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/892M5ZAJ83\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Continuous Integration","Other","Xcode Cloud","XCTest (Performance Testing)","XCTest (UI Testing)","XCTest (Unit Testing)"],"registrationServiceID":"892M5ZAJ83","registrationServiceQuestionIDs":{"topic":"994R8X552S","appURL":"522G6C4WMR","designURL":"AP6RLD7J3H","questionDetails":"GXU6PNQG9B","feedbackAssistantID":"S9UGU789H5","designURLAccessInstructions":"VYLUBYCZU8"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"AF3AB4B2-2015-4FE6-BF5B-EBFF3103EBD7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110361","wwdc2022-110374","wwdc2022-110375"]}},"wwdc2022-110860":{"id":"wwdc2022-110860","staticContentId":7247,"eventContentId":110860,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:09:14-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/2CRDZPZFKW\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about UIKit including the look and feel of your app, collection and table views, adopting SF Symbols, and more.","title":"UIKit lab","startTime":"2022-06-09T13:00:00-07:00","endTime":"2022-06-09T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/2CRDZPZFKW\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Accessibility","Animations","Autolayout","Collection View","Desktop Class iPad","Drag & Drop","Drawing","Find","General","Images","Menus and Shortcuts","Pointer Interactions","Table View","Touches and Gestures","Windows and Screens"],"registrationServiceID":"2CRDZPZFKW","registrationServiceQuestionIDs":{"topic":"2F965ZTDA7","appURL":"K7D6ZVMSR2","designURL":"H6PQBW8A7K","questionDetails":"R3S8RD65SY","feedbackAssistantID":"7L9SY8R9BT","designURLAccessInstructions":"JP57QJYJ27"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":100,"topicIds":[100],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"2C6C753B-DF30-40E4-9B2F-51C131E5678E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10068","wwdc2022-10069","wwdc2022-10070","wwdc2022-10071","wwdc2022-10072"]}},"wwdc2022-110495":{"id":"wwdc2022-110495","staticContentId":6859,"eventContentId":110495,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:09:09-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/NVFW8G62RX\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"watchOS lab","startTime":"2022-06-08T10:00:00-07:00","endTime":"2022-06-08T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/NVFW8G62RX\/dashboard","text":"","appointmentDurationMinutes":15,"labTopics":[],"registrationServiceID":"NVFW8G62RX","registrationServiceQuestionIDs":{"appURL":"JH9PW6P823","designURL":"6X4TA7T78A","questionDetails":"FHF3TU5K2D","feedbackAssistantID":"KTZWBN9GG5","designURLAccessInstructions":"J74GRB96PB"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6CFB430A-AC6E-4627-B79D-BFA784A00B89","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10133","wwdc2022-10142"]}},"wwdc2022-110497":{"id":"wwdc2022-110497","staticContentId":6861,"eventContentId":110497,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:12:48-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/99X63XXMHD\/dashboard","languageCode":"eng","description":"Want to learn more about NSFileProviderExtension or other File System APIs? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"File System lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/99X63XXMHD\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"99X63XXMHD","registrationServiceQuestionIDs":{"appURL":"RP4H3T3XRN","designURL":"NL6JALV9M5","questionDetails":"725GN4YB34","feedbackAssistantID":"K3KQMH235B","designURLAccessInstructions":"G73GWXB29N"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"36F10F3A-81AC-412E-A268-EACC51A3A0F8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110603":{"id":"wwdc2022-110603","staticContentId":6969,"eventContentId":110603,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:20:15-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/97TQRXCRXR\/dashboard","languageCode":"eng","description":"Meet with an App Review specialist to better understand the App Store Review Guidelines, learn how to prevent common issues, and discuss best practices for a smooth review experience.","title":"App Store Review lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/97TQRXCRXR\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App preparation & preventing common rejections","App rejection","In-app purchase & subscription models","New technologies & related guidelines","Privacy best practices","Your feedback & guideline recommendations"],"registrationServiceID":"97TQRXCRXR","registrationServiceQuestionIDs":{"topic":"4SX558L6LA","appURL":"66AWUKT2HP","designURL":"G39F7JR8WW","questionDetails":"USK8AR7664","feedbackAssistantID":"733NK7V8WF","designURLAccessInstructions":"5CVW26JAVS"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"FC8E12B3-0C1C-4BE5-A6BE-01577294D349","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110712":{"id":"wwdc2022-110712","staticContentId":7084,"eventContentId":110712,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:09:29-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/BD9GKHTRNB\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"Signing and distribution lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/BD9GKHTRNB\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["App Store Distribution","App Thinning","Archiving","Capabilities","Cloud Signing","Code Signing","Developer ID","Enterprise Distribution","Entitlements","Notarization","Other","Provisioning Profiles","Signing Certificates","TestFlight Feedback"],"registrationServiceID":"BD9GKHTRNB","registrationServiceQuestionIDs":{"topic":"J6YNQW3Z73","appURL":"QYQ5GYNV7A","designURL":"4WSC2MFWGB","questionDetails":"952U4TF9U8","feedbackAssistantID":"259JUU8PBP","designURLAccessInstructions":"47GTMG2W94"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"7DAEF1D8-EB88-4A56-9E83-53930EE365B8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110496":{"id":"wwdc2022-110496","staticContentId":6860,"eventContentId":110496,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:12:43-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/GSZJ7UXB9K\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"watchOS lab","startTime":"2022-06-10T14:00:00-07:00","endTime":"2022-06-10T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/GSZJ7UXB9K\/dashboard","text":"","appointmentDurationMinutes":15,"labTopics":[],"registrationServiceID":"GSZJ7UXB9K","registrationServiceQuestionIDs":{"appURL":"7Y2HD5HRGN","designURL":"C652C52B92","questionDetails":"829UCD8LY5","feedbackAssistantID":"K9H3JQKJAQ","designURLAccessInstructions":"VZ3X3UN729"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"4482EF98-B7FB-4C91-90E4-30498134BFE5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10133","wwdc2022-10142"]}},"wwdc2022-110499":{"id":"wwdc2022-110499","staticContentId":6863,"eventContentId":110499,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:10:25-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/ASKK2PZ6D2\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about WidgetKit and Complications including Lock Screen widgets, migrating from ClockKit, timelines, and more.","title":"WidgetKit and Complications lab","startTime":"2022-06-09T10:00:00-07:00","endTime":"2022-06-09T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/ASKK2PZ6D2\/dashboard","text":"","appointmentDurationMinutes":15,"labTopics":[],"registrationServiceID":"ASKK2PZ6D2","registrationServiceQuestionIDs":{"appURL":"B5P34DJ6ZN","designURL":"HMP24933HV","questionDetails":"H8XC5ABYJP","feedbackAssistantID":"UCA896BTKV","designURLAccessInstructions":"ZWR6H6VS98"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"EDD4B9D7-2E1D-486A-8CFF-BB54D2457F48","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10050"]}},"wwdc2022-110599":{"id":"wwdc2022-110599","staticContentId":6965,"eventContentId":110599,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:13:18-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8UAHKPC6JV\/dashboard","languageCode":"eng","description":"Meet with an App Review specialist to better understand the App Store Review Guidelines, learn how to prevent common issues, and discuss best practices for a smooth review experience.","title":"App Store Review lab","startTime":"2022-06-07T14:00:00-07:00","endTime":"2022-06-07T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8UAHKPC6JV\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App preparation & preventing common rejections","App rejection","In-app purchase & subscription models","New technologies & related guidelines","Privacy best practices","Your feedback & guideline recommendations"],"registrationServiceID":"8UAHKPC6JV","registrationServiceQuestionIDs":{"topic":"CW58YFT5NM","appURL":"FYV3N647HM","designURL":"K6YTGS32F6","questionDetails":"8739BYQMCP","feedbackAssistantID":"G8M3J774GX","designURLAccessInstructions":"25275CV8QV"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"84B43DC3-22EB-4B95-B44D-CF29A62A5E68","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110594":{"id":"wwdc2022-110594","staticContentId":6960,"eventContentId":110594,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:11:18-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8H66HC938F\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple Developer Technical Support engineer to ask a question about existing Apple frameworks, APIs, and tools. Get expert technical guidance about optimizing your code, understanding crashes, and best practices for implementing Apple technologies in your app. For questions about frameworks and API introduced at WWDC22, please register for a technology-specific WWDC22 lab, WWDC22 Digital Lounges activities, or visit the Apple Developer Forums.","title":"Developer Technical Support open hours","startTime":"2022-06-09T14:00:00-07:00","endTime":"2022-06-09T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8H66HC938F\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["ARKit","Audio","Codesigning","Crash reports","iCloud\/CloudKit","In-App Purchase","Metal","Networking","On Demand Resources (ODR)","Other","Push Notifications","Security","Sign in With Apple","Siri\/SiriKit","SwiftUI","Widgets"],"registrationServiceID":"8H66HC938F","registrationServiceQuestionIDs":{"topic":"SYY5CCC8M7","appURL":"P5TA6MR697","designURL":"D5FV7CS6RN","questionDetails":"2V96GF8XMN","feedbackAssistantID":"XJC973Y934","designURLAccessInstructions":"XP2J3H88AR"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[90,88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"F264F7CC-6095-4C6A-8923-C9EE4F151A77","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110743":{"id":"wwdc2022-110743","staticContentId":7115,"eventContentId":110743,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:12:38-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/YFZS757257\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"Xcode Cloud and testing open hours lab","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/YFZS757257\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Continuous Integration","Other","Xcode Cloud","XCTest (Performance Testing)","XCTest (UI Testing)","XCTest (Unit Testing)"],"registrationServiceID":"YFZS757257","registrationServiceQuestionIDs":{"topic":"Y2XKJ5974W","appURL":"9BAMF5386S","designURL":"8S6538BT46","questionDetails":"28X5CV6KV4","feedbackAssistantID":"84Y2948RRA","designURLAccessInstructions":"G7NG34ZX66"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B43C59FD-B9A6-4233-80EA-EC139BA461F5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110361","wwdc2022-110374","wwdc2022-110375"]}},"wwdc2022-110703":{"id":"wwdc2022-110703","staticContentId":7074,"eventContentId":110703,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:20:31-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4UM523QBZJ\/dashboard","languageCode":"eng","description":"Get help with App Store Connect, including features like TestFlight and the App Store Connect API. Receive guidance on uploading builds, managing app metadata, setting up in-app purchases, and more.\n","title":"App Store Connect lab","startTime":"2022-06-07T10:00:00-07:00","endTime":"2022-06-07T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4UM523QBZJ\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Connect API","App transfer","General setup and distribution","Managing App Store metadata","Other","Setting up in-app events or custom product pages","Subscriptions and in-app purchases","TestFlight","Uploading builds","User management"],"registrationServiceID":"4UM523QBZJ","registrationServiceQuestionIDs":{"topic":"GT9VMK2K6A","appURL":"494GT3BGU8","designURL":"2L7Y2PXYRV","questionDetails":"WXM63U5DSL","feedbackAssistantID":"DBK28AUXZQ","designURLAccessInstructions":"S9R5T5625X"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"3EFE25DB-A88A-4CEB-877D-D34284F24D8B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10043"]}},"wwdc2022-110700":{"id":"wwdc2022-110700","staticContentId":7071,"eventContentId":110700,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:04:14-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/2P4WSTK3K5\/dashboard","languageCode":"eng","description":"Get help with App Store Connect, including features like TestFlight and the App Store Connect API. Receive guidance on uploading builds, managing app metadata, setting up in-app purchases, and more.\n","title":"App Store Connect lab","startTime":"2022-06-09T10:00:00-07:00","endTime":"2022-06-09T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/2P4WSTK3K5\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Connect API","App transfer","General setup and distribution","Managing App Store metadata","Other","Setting up in-app events or custom product pages","Subscriptions and in-app purchases","TestFlight","Uploading builds","User management"],"registrationServiceID":"2P4WSTK3K5","registrationServiceQuestionIDs":{"topic":"DQCBMSD797","appURL":"Y75CBG27A6","designURL":"JSSY9B3F3N","questionDetails":"3AM9DS25XU","feedbackAssistantID":"WCF3U3N2CQ","designURLAccessInstructions":"4C4TPZVLB2"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C787E458-83BC-44BB-A57D-2BC51F2821F9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10043"]}},"wwdc2022-110681":{"id":"wwdc2022-110681","staticContentId":7048,"eventContentId":110681,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:11:36-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/77MZGH2FZD\/dashboard","languageCode":"eng","description":"Receive guidance on in-app purchase testing and implementation, StoreKit, subscription offers, customer support management, maintaining subscriber statuses, multiplatform support, server notifications, and more.\n","title":"In-app purchase and subscriptions lab","startTime":"2022-06-07T13:00:00-07:00","endTime":"2022-06-07T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/77MZGH2FZD\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Server API","App Store Server Notifications","Family Sharing for in-app purchases","Implementation best practices","In-app purchase refund management","In-app purchase testing","In-app purchase validation","Proactive in-app purchase restore","StoreKit 2 integration","Subscription billing retry & grace period","Subscription introductory offers","Subscription offer codes","Subscription price changes","Subscription promotional offers"],"registrationServiceID":"77MZGH2FZD","registrationServiceQuestionIDs":{"topic":"J5MSVLM6TT","appURL":"S83UM8G44R","designURL":"R7GRS74N59","questionDetails":"ZT3SLZ3H96","feedbackAssistantID":"K7257X98D4","designURLAccessInstructions":"5479TCMD33"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["in-app purchases","storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"91A3CB1E-ACBC-4379-AFAA-9472BD25CB73","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110749":{"id":"wwdc2022-110749","staticContentId":7121,"eventContentId":110749,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:12:53-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/MP4Z7W4JJT\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about WeatherKit, best practices, and more.","title":"WeatherKit lab","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/MP4Z7W4JJT\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"MP4Z7W4JJT","registrationServiceQuestionIDs":{"appURL":"Z2Z8562VXL","designURL":"93N5TR9GVZ","questionDetails":"TV9TBUS24G","feedbackAssistantID":"LYTV85P4MV","designURLAccessInstructions":"T29UKR5ZZF"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":83,"topicIds":[83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"31DCDB7F-DC90-4EC8-9C2E-54FDCAED62CA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10003"]}},"wwdc2022-110612":{"id":"wwdc2022-110612","staticContentId":6978,"eventContentId":110612,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:23:24-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/KB23WP25WB\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Games","startTime":"2022-06-07T10:00:00-07:00","endTime":"2022-06-07T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/KB23WP25WB\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"KB23WP25WB","registrationServiceQuestionIDs":{"topic":"4U5LN97XUA","appURL":"P5VYVTT72W","designURL":"4BGYY6T4S5","questionDetails":"N8H376HY69","feedbackAssistantID":"LX5PBFJK86","designURLAccessInstructions":"6L8CCMPSJN"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0C843995-80FC-4CD0-AED3-59E205EA9C01","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110587":{"id":"wwdc2022-110587","staticContentId":6953,"eventContentId":110587,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:03:16-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/3V3B8UDKJF\/dashboard","languageCode":"eng","description":"Make your apps accessible and simple to use for everyone. Learn the basics of VoiceOver and other accessibility features to better understand how people who use Apple\u2019s accessibility features will navigate your products. Come prepared with a working prototype, development build, or your released app. \n\nAppointments are 30 minutes long, and are limited to one per person per lab for the duration of the conference. If you do not receive an appointment, you can submit a request again on another day. ","title":"Accessibility design lab","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T11:00:00-07:00","signupInformation":{"startDate":"2022-06-09T06:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/3V3B8UDKJF\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"3V3B8UDKJF","registrationServiceQuestionIDs":{"appURL":"6BK9VMJ56H","designURL":"CBDXF64LQB","questionDetails":"HAQ8ZJSDAK","feedbackAssistantID":"5Y4NB9YQ65","designURLAccessInstructions":"67G8C5VBD2"},"ruleSet":{"id":"design"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[87,82],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"60E6F8E5-B98A-4716-AD9B-7613FAF340FD","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110738":{"id":"wwdc2022-110738","staticContentId":7110,"eventContentId":110738,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:12:33-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/J9724J5898\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"Xcode open hours lab","startTime":"2022-06-10T06:00:00-07:00","endTime":"2022-06-10T09:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/J9724J5898\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["App Store Distribution","App Thinning","Asset Catalog","AutoLayout","Build System and xcodebuild","Code Signing\/Provisioning","Continuous Integration","Core Data Editor","CoreML Editor","Crash Energy and Metrics Organizer","Device Support","Enterprise Distribution","Git Integration","Indexing","Interface Builder\/Storyboards","Localization","Other","Projects Targets and Schemes","SceneKit Editor","Simulator","Siri Intents Editor","Source Editor","SpriteKit Editor","Swift Package Manager","XCFrameworks","Xcode Cloud","Xcode Playgrounds","Xcode SwiftUI Previews","XCTest (Performance Testing)","XCTest (UI Testing)","XCTest (Unit Testing)"],"registrationServiceID":"J9724J5898","registrationServiceQuestionIDs":{"topic":"BMB3PH6L23","appURL":"H6F2398DGT","designURL":"D56DUMU28T","questionDetails":"83A3YRN8Y3","feedbackAssistantID":"62Z75ACU4U","designURLAccessInstructions":"TN9WJY69QC"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"86AFE854-165F-4644-A577-1235FE16EC47","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110371","wwdc2022-110427"]}},"wwdc2022-110462":{"id":"wwdc2022-110462","staticContentId":6823,"eventContentId":110462,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:13:23-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/UVR5SB5LKY\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about all aspects of security: authorization and authentication, protecting data on device and in transit, cryptography, notarization for Mac apps, App Transport Security, code signing, app attestation, security features on Apple silicon, enterprise security, and more. We\u2019ll also have representatives available to answer questions about supporting interpersonal safety, preserving user trust, and ensuring account security across apps, devices, and services.","title":"Security lab","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/UVR5SB5LKY\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["App Attestation","Authorization and Authentication","Code Signing","Cryptography","Enterprise Security","Notarization for Mac Apps","Other","Security on Apple Silicon"],"registrationServiceID":"UVR5SB5LKY","registrationServiceQuestionIDs":{"topic":"5Q4MHDD56L","appURL":"DXRZLN266T","designURL":"33G92925BX","questionDetails":"8TP5ZLXHA7","feedbackAssistantID":"33VSJGXMAG","designURLAccessInstructions":"AXH2BBZ9HJ"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[96],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"AA10A3F4-6AB8-4185-BAED-A45106A50C4D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10108","wwdc2022-10109","wwdc2022-110344","wwdc2022-110345"]}},"wwdc2022-110614":{"id":"wwdc2022-110614","staticContentId":6980,"eventContentId":110614,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:13:28-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/27XX4ANSVW\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Apps","startTime":"2022-06-07T06:00:00-07:00","endTime":"2022-06-07T10:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/27XX4ANSVW\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"27XX4ANSVW","registrationServiceQuestionIDs":{"topic":"KW46DTPQPU","appURL":"HV4V996KGN","designURL":"89VDWJ7768","questionDetails":"4534W9H764","feedbackAssistantID":"QD3A88M3X2","designURLAccessInstructions":"85J88ZTUCN"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["business models","in-app purchases","marketing","subscriptions"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D01E0BCC-248A-4FB6-A419-BE2156C14688","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110785":{"id":"wwdc2022-110785","staticContentId":7163,"eventContentId":110785,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:12:57-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/9QA43Y64Z5\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"Privacy lab","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/9QA43Y64Z5\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["App Tracking Transparency","General","Nutrition Labels"],"registrationServiceID":"9QA43Y64Z5","registrationServiceQuestionIDs":{"topic":"7T7TSHDG35","appURL":"P44AV5NZ5F","designURL":"32QR6MQ7QH","questionDetails":"A3M88L6654","feedbackAssistantID":"2JPBCF5AT4","designURLAccessInstructions":"VRY84PYHP5"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[101,96],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"EFB502F1-844B-4671-A758-377068CE3AAC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10096","wwdc2022-110786","wwdc2022-110787","wwdc2022-110788","wwdc2022-110789","wwdc2022-110790"]}},"wwdc2022-110654":{"id":"wwdc2022-110654","staticContentId":7021,"eventContentId":110654,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:04:24-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/YVYT5FMYBK\/dashboard","languageCode":"eng","description":"USD and USDZ enable the production-grade description of 3D scenes and delivery into AR Quick Look and apps for AR. Request an appointment with an Apple engineer for guidance and conversation around these file formats, best practices for creating AR experiences for AR Quick Look, and more. ","title":"USD and AR Quick Look lab","startTime":"2022-06-08T15:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/YVYT5FMYBK\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Anchoring schema","AR Quick Look Integration (iOS)","AR Quick Look Integration (Web)","Audio schema","Behaviors schema","general and pro-workflow USD","Physics schema","Scene Structure","Text schema","USD \/ DCC interchange","USDZ import in RealityKit"],"registrationServiceID":"YVYT5FMYBK","registrationServiceQuestionIDs":{"topic":"DKCW8TJ962","appURL":"DXKFG78F43","designURL":"PQ7V26UT9U","questionDetails":"547JG4S7YN","feedbackAssistantID":"BJWC7673W8","designURLAccessInstructions":"8W9VJHT5GV"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":91,"topicIds":[85,91],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"48B363CC-BAEF-41E1-90F1-1344916F63C9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10129","wwdc2022-10141","wwdc2022-110479","wwdc2022-110653"]}},"wwdc2022-110745":{"id":"wwdc2022-110745","staticContentId":7117,"eventContentId":110745,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:28:20-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/ZK2XXB2HJP\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"Xcode Cloud and testing open hours lab","startTime":"2022-06-08T13:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/ZK2XXB2HJP\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Continuous Integration","Other","Xcode Cloud","XCTest (Performance Testing)","XCTest (UI Testing)","XCTest (Unit Testing)"],"registrationServiceID":"ZK2XXB2HJP","registrationServiceQuestionIDs":{"topic":"C59DM6XLAJ","appURL":"252ZKSQTML","designURL":"685V3V2TVP","questionDetails":"8TDJZJC3H4","feedbackAssistantID":"BH8LYQ8R2X","designURLAccessInstructions":"PLSXF65QHV"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"CECBEEDB-3F82-4E61-91C8-DD10A6FBE916","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110361","wwdc2022-110374","wwdc2022-110375"]}},"wwdc2022-110600":{"id":"wwdc2022-110600","staticContentId":6966,"eventContentId":110600,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:20:36-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8P5RT8JHBB\/dashboard","languageCode":"eng","description":"Meet with an App Review specialist to better understand the App Store Review Guidelines, learn how to prevent common issues, and discuss best practices for a smooth review experience.","title":"App Store Review lab","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8P5RT8JHBB\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App preparation & preventing common rejections","App rejection","In-app purchase & subscription models","New technologies & related guidelines","Privacy best practices","Your feedback & guideline recommendations"],"registrationServiceID":"8P5RT8JHBB","registrationServiceQuestionIDs":{"topic":"8Z9XV26SH6","appURL":"6XG823P857","designURL":"UMC65858XG","questionDetails":"TCVABK7B85","feedbackAssistantID":"89D2655CRT","designURLAccessInstructions":"6G3A54TJ54"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"2F67BAC9-C4D0-41C1-BCA2-59F9D4126CC3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110598":{"id":"wwdc2022-110598","staticContentId":6964,"eventContentId":110598,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:14:15-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/289WNAHX65\/dashboard","languageCode":"eng","description":"Meet with an App Review specialist to better understand the App Store Review Guidelines, learn how to prevent common issues, and discuss best practices for a smooth review experience.","title":"App Store Review lab","startTime":"2022-06-07T11:00:00-07:00","endTime":"2022-06-07T14:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/289WNAHX65\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App preparation & preventing common rejections","App rejection","In-app purchase & subscription models","New technologies & related guidelines","Privacy best practices","Your feedback & guideline recommendations"],"registrationServiceID":"289WNAHX65","registrationServiceQuestionIDs":{"topic":"744VD8KHB6","appURL":"9325MCXB9J","designURL":"TR75963788","questionDetails":"XRRHKYM95A","feedbackAssistantID":"48KAC9GP3R","designURLAccessInstructions":"SGBZN762BR"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"ED0DF015-EA26-414B-B664-37161F49EC0A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110744":{"id":"wwdc2022-110744","staticContentId":7116,"eventContentId":110744,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:14:21-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/HPKT6L3TW2\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"Xcode Cloud and testing open hours lab","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/HPKT6L3TW2\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Continuous Integration","Other","Xcode Cloud","XCTest (Performance Testing)","XCTest (UI Testing)","XCTest (Unit Testing)"],"registrationServiceID":"HPKT6L3TW2","registrationServiceQuestionIDs":{"topic":"C24L67SH83","appURL":"ZCSG4MC3P2","designURL":"YVALW7G94B","questionDetails":"9F5GY35U6N","feedbackAssistantID":"UX2JU7W528","designURLAccessInstructions":"J5W4N247T9"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0FD29F51-752F-4A36-A921-2C3597015B83","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110361","wwdc2022-110374","wwdc2022-110375"]}},"wwdc2022-110559":{"id":"wwdc2022-110559","staticContentId":6925,"eventContentId":110559,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:07:41-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/R594SA7FVP\/dashboard","languageCode":"eng","description":"Have a question about MusicKit? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"MusicKit lab","startTime":"2022-06-09T13:00:00-07:00","endTime":"2022-06-09T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/R594SA7FVP\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Music library","Music search","Other","Personalized music content","Playback","Privacy and user consent","Requesting music content","Subscription information and capabilities","Subscription offers"],"registrationServiceID":"R594SA7FVP","registrationServiceQuestionIDs":{"topic":"5AG9TY7NPA","appURL":"WYG5FA96N8","designURL":"U5AVQYB77A","questionDetails":"66LS436Z7Z","feedbackAssistantID":"QMDL2L2UFU","designURLAccessInstructions":"C4BALF3GMX"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["apple music","music","musickit","music library","playlists","songs","swift"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"87D3CAC9-D1D2-41F0-8C72-F68EEFCF1F56","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110347","wwdc2022-110558","wwdc2022-110825","wwdc2021-10294"],"resources":[1607]}},"wwdc2022-110573":{"id":"wwdc2022-110573","staticContentId":6939,"eventContentId":110573,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:19:34-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/G9Z4AGJX2S\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app and the latest Nearby Interaction APIs, best practices, and more.","title":"Nearby Interaction lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/G9Z4AGJX2S\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"G9Z4AGJX2S","registrationServiceQuestionIDs":{"appURL":"L5UHZV6S9F","designURL":"MHAMLY8327","questionDetails":"SQPHHTA4QK","feedbackAssistantID":"LX2FJXTRNB","designURLAccessInstructions":"L9ST5UN6KN"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":93,"topicIds":[83,93],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"DE15D636-154E-499C-8973-CEC3CE01836B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10008"]}},"wwdc2022-110682":{"id":"wwdc2022-110682","staticContentId":7049,"eventContentId":110682,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:25:27-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/D9P37WNMTL\/dashboard","languageCode":"eng","description":"Receive guidance on in-app purchase testing and implementation, StoreKit, subscription offers, customer support management, maintaining subscriber statuses, multiplatform support, server notifications, and more.\n\n","title":"In-app purchase and subscriptions lab","startTime":"2022-06-07T16:00:00-07:00","endTime":"2022-06-07T20:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/D9P37WNMTL\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Server API","App Store Server Notifications","Family Sharing for in-app purchases","Implementation best practices","In-app purchase refund management","In-app purchase testing","In-app purchase validation","Proactive in-app purchase restore","StoreKit 2 integration","Subscription billing retry & grace period","Subscription introductory offers","Subscription offer codes","Subscription price changes","Subscription promotional offers"],"registrationServiceID":"D9P37WNMTL","registrationServiceQuestionIDs":{"topic":"93RC3WA3N8","appURL":"LPU8NL36AV","designURL":"QC87LBLB8M","questionDetails":"4UWV3MD86J","feedbackAssistantID":"6UZ92RLYAM","designURLAccessInstructions":"6QDYN3ZQ7F"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["in-app purchases","storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"3B3418DA-414C-4EDF-9E09-B8FA6A0F31C4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110458":{"id":"wwdc2022-110458","staticContentId":6819,"eventContentId":110458,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:14:31-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/Y369YW9X39\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app and the Core Motion APIs, best practices, and more.","title":"Core Motion lab","startTime":"2022-06-09T10:00:00-07:00","endTime":"2022-06-09T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/Y369YW9X39\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"Y369YW9X39","registrationServiceQuestionIDs":{"appURL":"SUPJDUY4WD","designURL":"9FG2BY8J93","questionDetails":"9FW7LUJPMW","feedbackAssistantID":"HQ8J857JXS","designURLAccessInstructions":"X7J8W9NMWK"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":83,"topicIds":[94,92,93,85,83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"F42B9FF7-C5B6-4EA4-93A7-0671364833ED","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110572":{"id":"wwdc2022-110572","staticContentId":6938,"eventContentId":110572,"eventId":"wwdc2022","contentUpdatedAt":"2024-05-31T13:14:57-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/K4CGMLXYKK\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple designer for a conversation about the latest design principles, best practices, design patterns, and more. Get advice on making your apps simple to use and visually compelling. Come prepared with a working prototype, development build, or your released app.\n\nDesign labs are limited to one appointment request per day and one confirmed appointment for the duration of the conference. Cancelling a confirmed appointment won\u2019t allow you to request another design lab appointment.\n\nYou\u2019ll get an email letting you know whether you received an appointment by 10 p.m. PDT. If you don\u2019t receive an appointment, you can submit a request on another day.","title":"Design lab","startTime":"2022-06-09T10:00:00-07:00","endTime":"2022-06-09T12:00:00-07:00","signupInformation":{"startDate":"2022-06-08T06:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/K4CGMLXYKK\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Interaction focus","Overall app design","Visual focus"],"registrationServiceID":"K4CGMLXYKK","registrationServiceQuestionIDs":{"topic":"ZS7G3VTVYY","appURL":"6QCY399MV8","designURL":"YP9223GWBG","questionDetails":"626958QZX2","feedbackAssistantID":"PALH587V4Z","designURLAccessInstructions":"8C54VB35NB"},"ruleSet":{"id":"design"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"2FE933E3-0891-487A-96E8-67405BE89C42","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10001","wwdc2022-10169","wwdc2022-110340","wwdc2022-110342"],"resources":[430]}},"wwdc2022-110714":{"id":"wwdc2022-110714","staticContentId":7086,"eventContentId":110714,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:04:19-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/44T86K56S9\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"Xcode build performance lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/44T86K56S9\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Build System and xcodebuild","Other","Projects Targets and Schemes","XCFrameworks"],"registrationServiceID":"44T86K56S9","registrationServiceQuestionIDs":{"topic":"H6HTWYFQKD","appURL":"U9QM9KXYJ9","designURL":"LF52DXQ644","questionDetails":"9FCK8D467B","feedbackAssistantID":"56K648SCK8","designURLAccessInstructions":"QXBAWXXJX4"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"437CFAD3-64F1-47B0-AF97-9958837A5747","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110364"]}},"wwdc2022-110469":{"id":"wwdc2022-110469","staticContentId":6830,"eventContentId":110469,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:14:45-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/VKDZS6Z287\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about Accessibility, including VoiceOver, visual accessibility, assistive devices, and more.","title":"Accessibility lab","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/VKDZS6Z287\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"VKDZS6Z287","registrationServiceQuestionIDs":{"appURL":"7GB44H8L9Y","designURL":"6R7ZM49H39","questionDetails":"3YVJWT5F2C","feedbackAssistantID":"UQG4TRXX2Z","designURLAccessInstructions":"BBKW394D67"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[82],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B368AE14-A660-4F4D-ACFD-93A52454D709","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10151","wwdc2022-10152","wwdc2022-10153"]}},"wwdc2022-110732":{"id":"wwdc2022-110732","staticContentId":7104,"eventContentId":110732,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:15:04-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/7TJ5NR8HY8\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest Swift APIs, best practices, and more.","title":"Swift open hours lab","startTime":"2022-06-10T06:00:00-07:00","endTime":"2022-06-10T09:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/7TJ5NR8HY8\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Apple Swift Packages","C\/Objective-C interoperability","Generics\/Protocols","Other","Property Wrappers","Runtime Performance","Standard Library","Swift Build Times","Swift Concurrency","Swift Language","Swift on Non-Darwin","Swift Package Manager"],"registrationServiceID":"7TJ5NR8HY8","registrationServiceQuestionIDs":{"topic":"MU2574LK5F","appURL":"WS3R7ZZRJ5","designURL":"2J9D5SPKL9","questionDetails":"J9M78XX669","feedbackAssistantID":"HRKFV2VXV2","designURLAccessInstructions":"H3A4VUCMYQ"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"F585C79F-A508-4688-8843-8D6C28792C95","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110350","wwdc2022-110351","wwdc2022-110352","wwdc2022-110353","wwdc2022-110354","wwdc2022-110355","wwdc2022-110356","wwdc2022-110357","wwdc2022-110358","wwdc2022-110359","wwdc2022-110360","wwdc2022-110401"]}},"wwdc2022-110466":{"id":"wwdc2022-110466","staticContentId":6827,"eventContentId":110466,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:04:34-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/P946NZ7RP4\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about the latest SwiftUI APIs, best practices, and more.","title":"SwiftUI lab","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/P946NZ7RP4\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"P946NZ7RP4","registrationServiceQuestionIDs":{"appURL":"KMS8ZUJ7LH","designURL":"GUDR5U2WZF","questionDetails":"F36CYJ928Q","feedbackAssistantID":"J294W6L3QY","designURLAccessInstructions":"TQY682XA36"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E51E5831-534D-4355-90F6-732CA8ED204B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10052","wwdc2022-10054","wwdc2022-10056","wwdc2022-10058","wwdc2022-10061","wwdc2022-10062","wwdc2022-110343"]}},"wwdc2022-110538":{"id":"wwdc2022-110538","staticContentId":6905,"eventContentId":110538,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:25:42-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/P795B4FP59\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about custom app distribution, device management, enterprise identity and authentication, Apple Business Manager and Apple School Manager, or other enterprise and education topics. ","title":"Custom app distribution and device management lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/P795B4FP59\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Activation Lock","Apple Business Manager","Apple Configurator","Apple School Manager","Apps and Books Management API","Custom app distribution","Declarative device management","Device enrollment","Identity providers","Managed apps","Managed device attestation","Managed software updates","MDM development","Other (Developer)","Other (IT)","Single sign-on and Kerberos","User Enrollment"],"registrationServiceID":"P795B4FP59","registrationServiceQuestionIDs":{"topic":"5276RM5XC5","appURL":"MTKSW483HT","designURL":"AXBGY7K857","questionDetails":"96HJ6P3VBQ","feedbackAssistantID":"UKUHG2BM3K","designURLAccessInstructions":"JYD964X887"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":89,"topicIds":[89],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"FF7C8D01-2E4F-4B09-A22B-E4D1962A55C9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10045","wwdc2022-10046","wwdc2022-110335"]}},"wwdc2022-110882":{"id":"wwdc2022-110882","staticContentId":7271,"eventContentId":110882,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:13:38-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/7FWL82DVF5\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more. Chat with Apple engineers from the Messages, Shared with You, Messages Collaboration, Share Sheet, UIActivityViewController, Watch Connectivity, and Multipeer Connectivity teams.","title":"Shared with You, Sharing, Connectivity, Messages Collaboration lab","startTime":"2022-06-09T10:00:00-07:00","endTime":"2022-06-09T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/7FWL82DVF5\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["General","iMessage app","iMessage stickers","Messages Collaboration","Shared with You"],"registrationServiceID":"7FWL82DVF5","registrationServiceQuestionIDs":{"topic":"29LC3CNNV8","appURL":"5423A3RUSY","designURL":"U2R6T83G55","questionDetails":"TMM69B5CBU","feedbackAssistantID":"AYKLL4DVW4","designURLAccessInstructions":"K3X2KFAH6D"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"4F03508E-A3E0-45CB-B9E3-E8D35027D70E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10093","wwdc2022-10094","wwdc2022-10095"]}},"wwdc2022-110741":{"id":"wwdc2022-110741","staticContentId":7113,"eventContentId":110741,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:14:59-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8242BX4K54\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"Xcode Cloud and testing open hours lab","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8242BX4K54\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Continuous Integration","Other","Xcode Cloud","XCTest (Performance Testing)","XCTest (UI Testing)","XCTest (Unit Testing)"],"registrationServiceID":"8242BX4K54","registrationServiceQuestionIDs":{"topic":"66328S3Q7L","appURL":"VQW9PT8YXY","designURL":"BB9G992WHT","questionDetails":"4T6PHPZQ5G","feedbackAssistantID":"VHAM6X4TPT","designURLAccessInstructions":"32364H8F6Z"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"EE175753-435C-45E0-9301-3B0FF2112708","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110361","wwdc2022-110374","wwdc2022-110375"]}},"wwdc2022-110550":{"id":"wwdc2022-110550","staticContentId":6916,"eventContentId":110550,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:28:45-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4TY284SGKV\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about Audio Units, Workgroups, HAL, Toolbox APIs, CoreMIDI, AVAudioEngine, AVF APIs Catalyst apps, Spatial Audio, SoundAnalysis, or AUVoiceIO.","title":"Core Audio lab","startTime":"2022-06-09T10:00:00-07:00","endTime":"2022-06-09T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4TY284SGKV\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Audio APIs","Audio Units","AVAudioEngine","Codecs","Drivers","HAL","MIDI","Spatial Audio"],"registrationServiceID":"4TY284SGKV","registrationServiceQuestionIDs":{"topic":"VBC897533X","appURL":"78N8R585H4","designURL":"2HV2SKDPHR","questionDetails":"4R6BY6CNK2","feedbackAssistantID":"649CRHXDJB","designURLAccessInstructions":"DN577ZU46B"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"76164E02-BADE-46A4-9CE9-EBE94FED81BA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110593":{"id":"wwdc2022-110593","staticContentId":6959,"eventContentId":110593,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:10:48-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/P8VW8CF94F\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple Developer Technical Support engineer to ask a question about existing Apple frameworks, APIs, and tools. Get expert technical guidance about optimizing your code, understanding crashes, and best practices for implementing Apple technologies in your app. For questions about frameworks and API introduced at WWDC22, please register for a technology-specific WWDC22 lab, WWDC22 Digital Lounges activities, or visit the Apple Developer Forums.","title":"Developer Technical Support open hours","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/P8VW8CF94F\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["ARKit","Audio","Codesigning","Crash reports","iCloud\/CloudKit","In-App Purchase","Metal","Networking","On Demand Resources (ODR)","Other","Push Notifications","Security","Sign in With Apple","Siri\/SiriKit","SwiftUI","Widgets"],"registrationServiceID":"P8VW8CF94F","registrationServiceQuestionIDs":{"topic":"9TBBMYTSL4","appURL":"QM88LC2RA8","designURL":"2J9ZG4GWVN","questionDetails":"F5HFH2K4YV","feedbackAssistantID":"44VTB99Z46","designURLAccessInstructions":"859WF4KQA5"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[90,88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1444D7F0-1E40-45ED-B9D1-CAC22001E608","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110727":{"id":"wwdc2022-110727","staticContentId":7099,"eventContentId":110727,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:16:11-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/428UYAV9D2\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest Swift APIs, best practices, and more.","title":"Swift open hours lab","startTime":"2022-06-07T13:00:00-07:00","endTime":"2022-06-07T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/428UYAV9D2\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Apple Swift Packages","C\/Objective-C interoperability","Generics\/Protocols","Other","Property Wrappers","Runtime Performance","Standard Library","Swift Build Times","Swift Concurrency","Swift Language","Swift on Non-Darwin","Swift Package Manager"],"registrationServiceID":"428UYAV9D2","registrationServiceQuestionIDs":{"topic":"PNM9GRM3V3","appURL":"32VM7TWLNH","designURL":"GY8GCSMAWW","questionDetails":"2723YJU8MU","feedbackAssistantID":"U4RBR698FV","designURLAccessInstructions":"L488SXXWMR"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E63AE8EB-0A2A-417F-8E10-51BC1793C088","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110350","wwdc2022-110351","wwdc2022-110352","wwdc2022-110353","wwdc2022-110354","wwdc2022-110355","wwdc2022-110356","wwdc2022-110357","wwdc2022-110358","wwdc2022-110359","wwdc2022-110360","wwdc2022-110401"]}},"wwdc2022-110543":{"id":"wwdc2022-110543","staticContentId":6909,"eventContentId":110543,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:15:24-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/TJYQU9RRGK\/dashboard","languageCode":"eng","description":"Have a question about AVAudioSession? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"AVAudioSession lab","startTime":"2022-06-09T11:00:00-07:00","endTime":"2022-06-09T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/TJYQU9RRGK\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"TJYQU9RRGK","registrationServiceQuestionIDs":{"appURL":"DA5C3244QP","designURL":"NX369H5BX9","questionDetails":"LV4NYT5B3D","feedbackAssistantID":"8DVUWTG3D9","designURLAccessInstructions":"FAS4Q35U9H"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"F349165D-86E7-4A63-8250-C210D3A77FD1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110898":{"id":"wwdc2022-110898","staticContentId":7288,"eventContentId":110898,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:16:32-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/9HMSCBFB54\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about exact audio matching with ShazamKit.","title":"ShazamKit lab","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/9HMSCBFB54\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Audio matching","Catalog creation","Custom catalogs","General question or troubleshooting","MusicKit integration","Shazam Media Library"],"registrationServiceID":"9HMSCBFB54","registrationServiceQuestionIDs":{"topic":"88S5XC796K","appURL":"3BHX93J935","designURL":"2YJ5U96AB7","questionDetails":"X8NWGXL9MY","feedbackAssistantID":"UYVUD8PZJF","designURLAccessInstructions":"4DFP9WNDB5"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6EF2457A-077D-42E9-AEB7-6F5AB3A7F71B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10028","wwdc2022-110908"]}},"wwdc2022-110571":{"id":"wwdc2022-110571","staticContentId":6937,"eventContentId":110571,"eventId":"wwdc2022","contentUpdatedAt":"2024-05-31T13:14:57-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/363BJ323VY\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple designer for a conversation about the latest design principles, best practices, design patterns, and more. Get advice on making your apps simple to use and visually compelling. Come prepared with a working prototype, development build, or your released app.\n\nDesign labs are limited to one appointment request per day and one confirmed appointment for the duration of the conference. Cancelling a confirmed appointment won\u2019t allow you to request another design lab appointment.\n\nYou\u2019ll get an email letting you know whether you received an appointment by 10 p.m. PDT. If you don\u2019t receive an appointment, you can submit a request on another day.","title":"Design lab","startTime":"2022-06-08T16:00:00-07:00","endTime":"2022-06-08T18:00:00-07:00","signupInformation":{"startDate":"2022-06-07T06:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/363BJ323VY\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Interaction focus","Overall app design","Visual focus"],"registrationServiceID":"363BJ323VY","registrationServiceQuestionIDs":{"topic":"9MFU36B94M","appURL":"SYQ82KRQ3Y","designURL":"KZSHNQ2J96","questionDetails":"2AN8J27C6H","feedbackAssistantID":"JVC962JLAT","designURLAccessInstructions":"FL9VP9LS2Q"},"ruleSet":{"id":"design"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"663181CD-652A-4D5E-ADF7-9A6C25A07C66","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10001","wwdc2022-10169","wwdc2022-110340","wwdc2022-110342"],"resources":[430]}},"wwdc2022-110640":{"id":"wwdc2022-110640","staticContentId":7006,"eventContentId":110640,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:16:16-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/B6UT78RUKQ\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Apps","startTime":"2022-06-10T15:00:00-07:00","endTime":"2022-06-10T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/B6UT78RUKQ\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"B6UT78RUKQ","registrationServiceQuestionIDs":{"topic":"33666QVK6B","appURL":"T3TU2KVB5L","designURL":"YP95753X7R","questionDetails":"VUKGH5YHY2","feedbackAssistantID":"2XZJKN4GM6","designURLAccessInstructions":"VW737N3Y4D"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"F02914E1-5756-49A7-92B6-2368FB148F92","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110463":{"id":"wwdc2022-110463","staticContentId":6824,"eventContentId":110463,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:16:27-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/5PU7RUNP98\/dashboard","languageCode":"eng","description":"Make your app a great global citizen. Request an appointment with an Apple engineer for guidance and conversation about internationalization and localization.","title":"Internationalization and localization lab","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/5PU7RUNP98\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Formatters","Localization in Xcode","Other","RTL","Text and Fonts","UI Layout\/Auto Layout"],"registrationServiceID":"5PU7RUNP98","registrationServiceQuestionIDs":{"topic":"Z3ZZL356L7","appURL":"3786XR2NX7","designURL":"8CM472A44T","questionDetails":"225JLQBC4W","feedbackAssistantID":"5CF2SR73WA","designURLAccessInstructions":"LS97N627ZB"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[82,100],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"4017A880-6B15-42D6-BD04-76AF5126CBD1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10034","wwdc2022-10107","wwdc2022-10110","wwdc2022-110441"]}},"wwdc2022-110541":{"id":"wwdc2022-110541","staticContentId":6907,"eventContentId":110541,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:16:42-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/A64ZLHH74X\/dashboard","languageCode":"eng","description":"Have a question about AirPlay? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"AirPlay lab","startTime":"2022-06-07T14:00:00-07:00","endTime":"2022-06-07T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/A64ZLHH74X\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"A64ZLHH74X","registrationServiceQuestionIDs":{"appURL":"779CURR3AQ","designURL":"KFHM97P2MJ","questionDetails":"4M5CR2G4BX","feedbackAssistantID":"86W9D74N2P","designURLAccessInstructions":"SG4NL2KNBL"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D9BF680B-9EC2-4600-8F6A-045C15FE9B02","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110680":{"id":"wwdc2022-110680","staticContentId":7047,"eventContentId":110680,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:22:33-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/7A7V5Z9PCX\/dashboard","languageCode":"eng","description":"Receive guidance on in-app purchase testing and implementation, StoreKit, subscription offers, customer support management, maintaining subscriber statuses, multiplatform support, server notifications, and more.\n\n","title":"In-app purchase and subscriptions lab","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/7A7V5Z9PCX\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Server API","App Store Server Notifications","Family Sharing for in-app purchases","Implementation best practices","In-app purchase refund management","In-app purchase testing","In-app purchase validation","Proactive in-app purchase restore","StoreKit 2 integration","Subscription billing retry & grace period","Subscription introductory offers","Subscription offer codes","Subscription price changes","Subscription promotional offers"],"registrationServiceID":"7A7V5Z9PCX","registrationServiceQuestionIDs":{"topic":"YD79RLM7S3","appURL":"M86G9T9TM7","designURL":"JTB9T82L6Z","questionDetails":"HRDMVJRPW5","feedbackAssistantID":"N2X3NS5MTG","designURLAccessInstructions":"N2T4XVK39M"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["in-app purchases","storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"F64FB13C-246B-4785-B2DA-D558DFF764FC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110846":{"id":"wwdc2022-110846","staticContentId":7233,"eventContentId":110846,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:21:27-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/6HLGFMU75R\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about the PHASE spatialization audio engine and best practices.","title":"PHASE Audio Engine lab","startTime":"2022-06-08T14:00:00-07:00","endTime":"2022-06-08T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/6HLGFMU75R\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"6HLGFMU75R","registrationServiceQuestionIDs":{"appURL":"PY6JHGF8V7","designURL":"RB9FU456PY","questionDetails":"X7U9FY4YY7","feedbackAssistantID":"W57F59DS3X","designURLAccessInstructions":"9U626M3JQC"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"FD0D3CE1-9827-4156-B4F9-67E2EDB7AC44","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10065"]}},"wwdc2022-110689":{"id":"wwdc2022-110689","staticContentId":7056,"eventContentId":110689,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:17:02-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/MRULPUTYR9\/dashboard","languageCode":"eng","description":"Receive guidance on in-app purchase testing and implementation, StoreKit, subscription offers, customer support management, maintaining subscriber statuses, multiplatform support, server notifications, and more.\n\n","title":"In-app purchase and subscriptions lab","startTime":"2022-06-09T13:00:00-07:00","endTime":"2022-06-09T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/MRULPUTYR9\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Server API","App Store Server Notifications","Family Sharing for in-app purchases","Implementation best practices","In-app purchase refund management","In-app purchase testing","In-app purchase validation","Proactive in-app purchase restore","StoreKit 2 integration","Subscription billing retry & grace period","Subscription introductory offers","Subscription offer codes","Subscription price changes","Subscription promotional offers"],"registrationServiceID":"MRULPUTYR9","registrationServiceQuestionIDs":{"topic":"A77H246DS5","appURL":"K97M5F3U3U","designURL":"2CYHYZF8LN","questionDetails":"GMJFMMF456","feedbackAssistantID":"25229LZNG6","designURLAccessInstructions":"GM2959M74F"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0939CCE7-AA89-45EA-B820-9A120CB9A2FA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110855":{"id":"wwdc2022-110855","staticContentId":7242,"eventContentId":110855,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:02:27-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/34L92M8KPN\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about Quick Note, PencilKit, Scribble, Keyboard, and other input topics.","title":"Drawing and Text Input lab","startTime":"2022-06-09T13:00:00-07:00","endTime":"2022-06-09T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/34L92M8KPN\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["General","Pencil Events","PencilKit","Quick Note","Scribble"],"registrationServiceID":"34L92M8KPN","registrationServiceQuestionIDs":{"topic":"RB2F46WZ9G","appURL":"794X6WYC85","designURL":"S2K43SMUDQ","questionDetails":"WJ43FK6QPT","feedbackAssistantID":"8BAKMX5S4N","designURLAccessInstructions":"4D972PLPDT"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5BCCFA2D-C901-4008-946D-B9B4E3E18EE5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10069","wwdc2022-10070"]}},"wwdc2022-110562":{"id":"wwdc2022-110562","staticContentId":6928,"eventContentId":110562,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:17:17-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/V543MAWC49\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about perceptual video quality and AVQT.","title":"Perceptual Video Quality lab","startTime":"2022-06-08T15:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/V543MAWC49\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"V543MAWC49","registrationServiceQuestionIDs":{"appURL":"Z2CLSW5PHJ","designURL":"967UTD24M3","questionDetails":"TK6GCAAHTA","feedbackAssistantID":"33UW33L45H","designURLAccessInstructions":"4QBQ8H693C"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E7782E68-D9A6-4F31-BE63-3B62AA7B387A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10149"]}},"wwdc2022-110617":{"id":"wwdc2022-110617","staticContentId":6983,"eventContentId":110617,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:17:22-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/WGRFWYCGAV\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation around ARKit, general troubleshooting, or specific features like plane detection, face tracking, Location Anchors, and Scene Geometry. ","title":"ARKit lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/WGRFWYCGAV\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["4k video","AppClip Codes","Collaborative sessions \/ multi-user","Depth","Face tracking","General questions and troubleshooting","Image tracking\/object detection","Location anchors","Motion Capture\/BodyTracking","Object placement","People Occlusion","Plane detection and classification","Rendering and rendering effects","Scene reconstruction"],"registrationServiceID":"WGRFWYCGAV","registrationServiceQuestionIDs":{"topic":"DNSTN548P5","appURL":"GKR6H2RRTD","designURL":"C69MKKSFWP","questionDetails":"837CKN5G4L","feedbackAssistantID":"C8854S34SK","designURLAccessInstructions":"NZ58J8GXL2"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["arkit","augmented reality"],"primaryTopicID":85,"topicIds":[85],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"11B75DE4-E5F7-4152-AE6E-48B743AF05E5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10126","wwdc2022-110470","wwdc2022-110471","wwdc2022-110618"]}},"wwdc2022-110634":{"id":"wwdc2022-110634","staticContentId":7000,"eventContentId":110634,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:17:12-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/56Q4TUKMFP\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Apps","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T20:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/56Q4TUKMFP\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"56Q4TUKMFP","registrationServiceQuestionIDs":{"topic":"756PABS4N9","appURL":"A332BZYRA7","designURL":"827JV8BPAC","questionDetails":"N95NMMXLQ5","feedbackAssistantID":"VXWA4NH95P","designURLAccessInstructions":"V8QFHA4QC9"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"20728857-26D7-4AC5-AE4D-8D164A8196F6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110683":{"id":"wwdc2022-110683","staticContentId":7050,"eventContentId":110683,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:16:57-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/LT824X4ZJ2\/dashboard","languageCode":"eng","description":"Receive guidance on in-app purchase testing and implementation, StoreKit, subscription offers, customer support management, maintaining subscriber statuses, multiplatform support, server notifications, and more.\n\n","title":"In-app purchase and subscriptions lab","startTime":"2022-06-08T06:00:00-07:00","endTime":"2022-06-08T09:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/LT824X4ZJ2\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Server API","App Store Server Notifications","Family Sharing for in-app purchases","Implementation best practices","In-app purchase refund management","In-app purchase testing","In-app purchase validation","Proactive in-app purchase restore","StoreKit 2 integration","Subscription billing retry & grace period","Subscription introductory offers","Subscription offer codes","Subscription price changes","Subscription promotional offers"],"registrationServiceID":"LT824X4ZJ2","registrationServiceQuestionIDs":{"topic":"RH3A629992","appURL":"F8Q68A7JP4","designURL":"8Q2N43VG6Y","questionDetails":"R4365G9KT6","feedbackAssistantID":"AM3MC68GVQ","designURLAccessInstructions":"9F4HADFGVP"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["in-app purchases","storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"8C96EBC9-F555-4EAA-ABFE-E035827AEDFB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110912":{"id":"wwdc2022-110912","staticContentId":7302,"eventContentId":110912,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:17:27-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/S7F8WZ3UVP\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about integrating the Photos library within your app including questions about PHPicker, Limited Photos Library, and the full PhotoKit API.","title":"PhotoKit lab","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/S7F8WZ3UVP\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Change History","Limited Photos Library","PhotoKit","Photos Picker"],"registrationServiceID":"S7F8WZ3UVP","registrationServiceQuestionIDs":{"topic":"7PT825D7JV","appURL":"FNK5L4B24R","designURL":"FM9BX4S2KB","questionDetails":"M6F66AS64N","feedbackAssistantID":"7ZSD5T8995","designURLAccessInstructions":"J2KXY4FB72"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":95,"topicIds":[95],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6CA4A497-A0C1-4D71-94CC-77A4802D19E8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10023","wwdc2022-10132","wwdc2022-110913"]}},"wwdc2022-110730":{"id":"wwdc2022-110730","staticContentId":7102,"eventContentId":110730,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:05:24-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/97T7448JH3\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest Swift APIs, best practices, and more.","title":"Swift open hours lab","startTime":"2022-06-09T13:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/97T7448JH3\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Apple Swift Packages","C\/Objective-C interoperability","Generics\/Protocols","Other","Property Wrappers","Runtime Performance","Standard Library","Swift Build Times","Swift Concurrency","Swift Language","Swift on Non-Darwin","Swift Package Manager"],"registrationServiceID":"97T7448JH3","registrationServiceQuestionIDs":{"topic":"URHJ47Z8RC","appURL":"P6L9JDH845","designURL":"Y54Z3Z2D74","questionDetails":"HRVP43C9N7","feedbackAssistantID":"4DF7ZHGHW3","designURLAccessInstructions":"5BUX4BN233"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C2CDB656-5C2F-4453-A1A8-C65F508EF4BA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110350","wwdc2022-110351","wwdc2022-110352","wwdc2022-110353","wwdc2022-110354","wwdc2022-110355","wwdc2022-110356","wwdc2022-110357","wwdc2022-110358","wwdc2022-110359","wwdc2022-110360","wwdc2022-110401"]}},"wwdc2022-110522":{"id":"wwdc2022-110522","staticContentId":6888,"eventContentId":110522,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:18:05-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/579PNSW9TJ\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"Wallet and Apple Pay lab","startTime":"2022-06-08T15:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/579PNSW9TJ\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"579PNSW9TJ","registrationServiceQuestionIDs":{"appURL":"492SF373R4","designURL":"U35QUU4CSS","questionDetails":"KY89D954WN","feedbackAssistantID":"56MNRV3Z36","designURLAccessInstructions":"H77HPATMKP"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":83,"topicIds":[83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"FD1D1AA7-3E84-40BF-ACF4-744B45A47FCC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10041"]}},"wwdc2022-110876":{"id":"wwdc2022-110876","staticContentId":7265,"eventContentId":110876,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:18:15-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/988C8JLNW9\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about iCloud Private Relay, Private Access Tokens, DNSSEC, network latency, LS4, NSURLSession, the latest networking APIs, best practices, and more.","title":"Networking lab","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/988C8JLNW9\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["DNSSEC","Encrypted DNS","General","iCloud Private Relay","LS4","Network Latency","NSURLSession","Private Access Tokens","QUIC"],"registrationServiceID":"988C8JLNW9","registrationServiceQuestionIDs":{"topic":"5KH7QYPBMB","appURL":"CRLL357QYH","designURL":"7R5C46L5YN","questionDetails":"NJCD29P35S","feedbackAssistantID":"LUNZL8GLHJ","designURLAccessInstructions":"3PB5X96G72"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[96,101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"33842FB6-CDE1-44DB-958F-AD9588A39CE7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10077","wwdc2022-10078","wwdc2022-10079"]}},"wwdc2022-110526":{"id":"wwdc2022-110526","staticContentId":6892,"eventContentId":110526,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:17:41-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/VGCT679X42\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about the Screen Time API, best practices, and more.","title":"Screen Time API lab","startTime":"2022-06-10T15:00:00-07:00","endTime":"2022-06-10T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/VGCT679X42\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"VGCT679X42","registrationServiceQuestionIDs":{"appURL":"Z5CAMN65XP","designURL":"79W2ZW2678","questionDetails":"7JFV9775P5","feedbackAssistantID":"ANAU46A36Z","designURLAccessInstructions":"ZJQYYYLSVH"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":83,"topicIds":[83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1583321B-E24F-416A-9D7D-CB3E51223D84","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110336"]}},"wwdc2022-110889":{"id":"wwdc2022-110889","staticContentId":7278,"eventContentId":110889,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:18:00-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/S69W288N9B\/dashboard","languageCode":"eng","description":"Want to learn more about App Shortcuts, the Shortcuts app, or other Shortcuts functionality? Request an appointment with an Apple engineer for guidance and conversation about all things Shortcuts.","title":"Shortcuts lab","startTime":"2022-06-07T16:00:00-07:00","endTime":"2022-06-07T18:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/S69W288N9B\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"S69W288N9B","registrationServiceQuestionIDs":{"appURL":"5F4PSNXZ88","designURL":"4AFP4BKF66","questionDetails":"5T6PN3FAC4","feedbackAssistantID":"22TW99M2TU","designURLAccessInstructions":"NF7MH2QZMQ"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["app intents","app shortcuts","intents","shortcuts","siri","sirikit"],"primaryTopicID":83,"topicIds":[83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"22FF9944-FB90-4E14-8767-578FB865568F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10032"]}},"wwdc2022-110561":{"id":"wwdc2022-110561","staticContentId":6927,"eventContentId":110561,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:18:25-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/2VX32X3H5Q\/dashboard","languageCode":"eng","description":"Have a question about Apple Music API or MusicKit Web Apps? Request an appointment with an Apple engineer for guidance and conversation about integrating with Apple Music API or MusicKit JS to your Apps, best practices, and more.","title":"Apple Music API and MusicKit on the Web lab","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/2VX32X3H5Q\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"2VX32X3H5Q","registrationServiceQuestionIDs":{"appURL":"7BCVZB2BK9","designURL":"4B2647KZ2F","questionDetails":"FN789HXYGH","feedbackAssistantID":"UGF59XF99K","designURLAccessInstructions":"U3XA87Z446"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E6D3B633-B9EB-4D55-B5C6-10688487929E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10148","wwdc2022-110560","wwdc2022-110825"]}},"wwdc2022-110878":{"id":"wwdc2022-110878","staticContentId":7267,"eventContentId":110878,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:17:55-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/97VMAGTRRU\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about iCloud Private Relay, Private Access Tokens, DNSSEC, network latency, LS4, NSURLSession, the latest networking APIs, best practices, and more.","title":"Networking lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/97VMAGTRRU\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["DNSSEC","Encrypted DNS","General","iCloud Private Relay","LS4","Network Latency","NSURLSession","Private Access Tokens","QUIC"],"registrationServiceID":"97VMAGTRRU","registrationServiceQuestionIDs":{"topic":"AX679P3Q26","appURL":"YNU86X26H2","designURL":"9H75ZR24A7","questionDetails":"A7PDHQU5YY","feedbackAssistantID":"7N2JYZSY32","designURLAccessInstructions":"ZN638G3PTN"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[96,101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"FABF4DD0-F7D5-406F-9509-2A4BC48B56E3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10077","wwdc2022-10078","wwdc2022-10079"]}},"wwdc2022-110869":{"id":"wwdc2022-110869","staticContentId":7258,"eventContentId":110869,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:18:30-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/S5BP2XUXT5\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation on Core Graphics, ColorSync, PDFKit, ImageIO, or Image Capture.","title":"Core Graphics lab","startTime":"2022-06-08T14:00:00-07:00","endTime":"2022-06-08T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/S5BP2XUXT5\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["General"],"registrationServiceID":"S5BP2XUXT5","registrationServiceQuestionIDs":{"topic":"T49XV6578U","appURL":"35PMSR69Q4","designURL":"XCQ464LAZR","questionDetails":"4V448DJ48W","feedbackAssistantID":"CJPR36KD3Q","designURLAccessInstructions":"25RBF78MYD"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":91,"topicIds":[91],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"26A9CC35-82A1-4080-B4B3-4A3082078C2D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110692":{"id":"wwdc2022-110692","staticContentId":7059,"eventContentId":110692,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:18:45-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/XN49S9NJ5Y\/dashboard","languageCode":"eng","description":"Receive guidance on in-app purchase testing and implementation, StoreKit, subscription offers, customer support management, maintaining subscriber statuses, multiplatform support, server notifications, and more.\n\n","title":"In-app purchase and subscriptions lab","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/XN49S9NJ5Y\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Server API","App Store Server Notifications","Family Sharing for in-app purchases","Implementation best practices","In-app purchase refund management","In-app purchase testing","In-app purchase validation","Proactive in-app purchase restore","StoreKit 2 integration","Subscription billing retry & grace period","Subscription introductory offers","Subscription offer codes","Subscription price changes","Subscription promotional offers"],"registrationServiceID":"XN49S9NJ5Y","registrationServiceQuestionIDs":{"topic":"YU8CQUM3C5","appURL":"Y5U6KV78R9","designURL":"743D42R82M","questionDetails":"CAC29Q4367","feedbackAssistantID":"M898PWZG55","designURLAccessInstructions":"3UG6SK73DL"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["in-app purchases","storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"3CECD9C2-E2D2-4BB8-B05F-7DDEC3AC67F4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110686":{"id":"wwdc2022-110686","staticContentId":7053,"eventContentId":110686,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:18:40-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/F63D2TA6D4\/dashboard","languageCode":"eng","description":"Receive guidance on in-app purchase testing and implementation, StoreKit, subscription offers, customer support management, maintaining subscriber statuses, multiplatform support, server notifications, and more.\n","title":"In-app purchase and subscriptions lab","startTime":"2022-06-08T16:00:00-07:00","endTime":"2022-06-08T20:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/F63D2TA6D4\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Server API","App Store Server Notifications","Family Sharing for in-app purchases","Implementation best practices","In-app purchase refund management","In-app purchase testing","In-app purchase validation","Proactive in-app purchase restore","StoreKit 2 integration","Subscription billing retry & grace period","Subscription introductory offers","Subscription offer codes","Subscription price changes","Subscription promotional offers"],"registrationServiceID":"F63D2TA6D4","registrationServiceQuestionIDs":{"topic":"Q33JD8DT6N","appURL":"BXMR4792F4","designURL":"YDAZT5M7L8","questionDetails":"WQCD7HA8W7","feedbackAssistantID":"V5W5KHBMUG","designURLAccessInstructions":"UU356BK475"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["in-app purchases","storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"996F50AD-9CC3-45D4-99C9-C8D7BCFE4824","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110891":{"id":"wwdc2022-110891","staticContentId":7280,"eventContentId":110891,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:18:20-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/KN485ZAN4Q\/dashboard","languageCode":"eng","description":"Want to learn more about App Shortcuts, Siri, App Intents, or other Siri functionality? Request an appointment with an Apple engineer for guidance and conversation about all things Shortcuts, Siri, and App Intents.","title":"Shortcuts, Siri, and App Intents lab","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/KN485ZAN4Q\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["App Intents","Other","Shortcuts","Siri"],"registrationServiceID":"KN485ZAN4Q","registrationServiceQuestionIDs":{"topic":"UULDT63U5L","appURL":"W7YKCT576D","designURL":"5R82ZKFUMB","questionDetails":"AZJFHSAU44","feedbackAssistantID":"FW5CWDYAHH","designURLAccessInstructions":"QJGW9NL5QB"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["app intents","app shortcuts","intents","shortcuts","siri","sirikit"],"primaryTopicID":83,"topicIds":[83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"EA18132B-6D64-4002-B873-39B609A66CF7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10032","wwdc2022-10121","wwdc2022-10169","wwdc2022-10170"]}},"wwdc2022-110608":{"id":"wwdc2022-110608","staticContentId":6974,"eventContentId":110608,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:19:00-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/H5LJJBNQ7Q\/dashboard","languageCode":"eng","description":"Meet with an App Review specialist to better understand the App Store Review Guidelines, learn how to prevent common issues, and discuss best practices for a smooth review experience.","title":"App Store Review lab","startTime":"2022-06-10T14:00:00-07:00","endTime":"2022-06-10T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/H5LJJBNQ7Q\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App preparation & preventing common rejections","App rejection","In-app purchase & subscription models","New technologies & related guidelines","Privacy best practices","Your feedback & guideline recommendations"],"registrationServiceID":"H5LJJBNQ7Q","registrationServiceQuestionIDs":{"topic":"XBRS4XHH7Y","appURL":"976AM3XC7A","designURL":"H5VR7WYJCQ","questionDetails":"P4X482J38H","feedbackAssistantID":"MSU6UDAYA5","designURLAccessInstructions":"U8DL76U459"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E31880C3-43C1-4730-8A2C-EDF3E6116376","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110706":{"id":"wwdc2022-110706","staticContentId":7077,"eventContentId":110706,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:18:50-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/A344HZR32R\/dashboard","languageCode":"eng","description":"Get help with App Store Connect reporting including Sales and Trends, App Analytics, and Payment reports. Receive guidance on downloading reports, understanding terminology, differences between each of reporting tools, and more.","title":"App Store Connect Analytics lab","startTime":"2022-06-08T10:00:00-07:00","endTime":"2022-06-08T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/A344HZR32R\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["Downloading reports","General overview","Other","Payments and Financial reports","Understanding reporting dashboards","Understanding subscription performance"],"registrationServiceID":"A344HZR32R","registrationServiceQuestionIDs":{"topic":"734PKV276T","appURL":"QT8NSDM8H3","designURL":"LFB8274799","questionDetails":"GBVR774ADK","feedbackAssistantID":"375NUH2N99","designURLAccessInstructions":"K33TPV4359"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C7AB6A85-DB36-4123-AF15-2707C1B54754","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10043","wwdc2022-10044"]}},"wwdc2022-110789":{"id":"wwdc2022-110789","staticContentId":7169,"eventContentId":110789,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:18:55-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/62SYF6BHK7\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about how to create your Privacy Nutrition Labels and best practices for building trust through better privacy.","title":"Privacy Nutrition Labels lab","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/62SYF6BHK7\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["General"],"registrationServiceID":"62SYF6BHK7","registrationServiceQuestionIDs":{"topic":"843HM9HXPZ","appURL":"H8RX3AH79X","designURL":"24B6LZ426Q","questionDetails":"9X25S3RRK8","feedbackAssistantID":"9BVWL49H9Q","designURLAccessInstructions":"954U65W64H"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[101,96],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"491E9D84-B430-4C9F-9656-810DB4356728","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10096","wwdc2022-10167","wwdc2022-110785","wwdc2022-110786","wwdc2022-110787","wwdc2022-110788"]}},"wwdc2022-110853":{"id":"wwdc2022-110853","staticContentId":7240,"eventContentId":110853,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:20:10-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/G6NT3M35T3\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about Core ML, Create ML, Vision, VisionKit, Natural Language, machine learning model conversion, model optimization, and more.","title":"Machine Learning & Computer Vision lab","startTime":"2022-06-10T13:00:00-07:00","endTime":"2022-06-10T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/G6NT3M35T3\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Core ML","Create ML","General questions and troubleshooting","Metal","Model Conversion","Model Performance","Model Training","Motion analysis","Natural Language","PyTorch","Speech recognition","TensorFlow","Vision"],"registrationServiceID":"G6NT3M35T3","registrationServiceQuestionIDs":{"topic":"MJ48PJH4GH","appURL":"A4D5YZV2M7","designURL":"U965KWPY4U","questionDetails":"4S4DMPW6H4","feedbackAssistantID":"NBC7S9L6VQ","designURLAccessInstructions":"JX5476Z96Y"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":94,"topicIds":[94],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"FE3D1B45-6569-4A10-9B4F-7B6D87608C5C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10017","wwdc2022-10019","wwdc2022-10020","wwdc2022-10024","wwdc2022-10026","wwdc2022-10027","wwdc2022-10063","wwdc2022-110332","wwdc2022-110901","wwdc2022-110902","wwdc2022-110903","wwdc2022-110904","wwdc2022-110905","wwdc2022-110906","wwdc2022-110907"]}},"wwdc2022-110720":{"id":"wwdc2022-110720","staticContentId":7092,"eventContentId":110720,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:19:29-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/K6J6HZP3LB\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about Swift-DocC, best practices, and more.","title":"Swift-DocC documentation lab","startTime":"2022-06-10T06:00:00-07:00","endTime":"2022-06-10T09:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/K6J6HZP3LB\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["DocC Documentation","Other","Swift-DocC"],"registrationServiceID":"K6J6HZP3LB","registrationServiceQuestionIDs":{"topic":"2UT6GWU38T","appURL":"YRP7K6MZ8Z","designURL":"UVZDBZZLKZ","questionDetails":"P4T49MG3W9","feedbackAssistantID":"QJ5F3Q6CT3","designURLAccessInstructions":"RK72TNPLT7"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5B77B5EF-F871-4A0B-8CE2-691071C820EC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110368","wwdc2022-110369"]}},"wwdc2022-110409":{"id":"wwdc2022-110409","staticContentId":6769,"eventContentId":110409,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:19:44-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/75M4W8K39W\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app and the Core Location APIs, best practices, and more.","title":"Core Location lab","startTime":"2022-06-08T15:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/75M4W8K39W\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"75M4W8K39W","registrationServiceQuestionIDs":{"appURL":"X398CQ87S7","designURL":"VHAT9MWBVV","questionDetails":"KNVTXLDCZZ","feedbackAssistantID":"UUXHBX9MC2","designURLAccessInstructions":"Z6GS5MXLTR"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":93,"topicIds":[93],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"25B0FF03-C62D-4D92-8B96-BF7F27C9BEAA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110468":{"id":"wwdc2022-110468","staticContentId":6829,"eventContentId":110468,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:19:15-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/VNL5H9AC63\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about Accessibility, including VoiceOver, visual accessibility, assistive devices, and more.","title":"Accessibility lab","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/VNL5H9AC63\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"VNL5H9AC63","registrationServiceQuestionIDs":{"appURL":"HFN38298B7","designURL":"72CW8FFMWW","questionDetails":"T5VYXMH7F5","feedbackAssistantID":"88695TGL33","designURLAccessInstructions":"8A546JBSTX"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[82],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"55460F7E-75AB-4D01-9DCC-797EBC513EB7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10151","wwdc2022-10152","wwdc2022-10153"]}},"wwdc2022-110693":{"id":"wwdc2022-110693","staticContentId":7060,"eventContentId":110693,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:23:52-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8HQ3CSYZ89\/dashboard","languageCode":"eng","description":"Receive guidance on in-app purchase testing and implementation, StoreKit, subscription offers, customer support management, maintaining subscriber statuses, multiplatform support, server notifications, and more.\n\n","title":"In-app purchase and subscriptions lab","startTime":"2022-06-10T13:00:00-07:00","endTime":"2022-06-10T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8HQ3CSYZ89\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Server API","App Store Server Notifications","Family Sharing for in-app purchases","Implementation best practices","In-app purchase refund management","In-app purchase testing","In-app purchase validation","Proactive in-app purchase restore","StoreKit 2 integration","Subscription billing retry & grace period","Subscription introductory offers","Subscription offer codes","Subscription price changes","Subscription promotional offers"],"registrationServiceID":"8HQ3CSYZ89","registrationServiceQuestionIDs":{"topic":"YQ4WALU958","appURL":"TG2FK8UGR9","designURL":"DGLUV4292D","questionDetails":"DA5952XLB3","feedbackAssistantID":"59X8Q7TDLL","designURLAccessInstructions":"Y5P46J22F9"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["in-app purchases","storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"EC3466C6-DF21-4CB9-8120-77F8A95339CD","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110750":{"id":"wwdc2022-110750","staticContentId":7122,"eventContentId":110750,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:19:10-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/X4F8B2NLFD\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about WeatherKit, best practices, and more.","title":"WeatherKit lab","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/X4F8B2NLFD\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"X4F8B2NLFD","registrationServiceQuestionIDs":{"appURL":"XS24CLY6S5","designURL":"G6HZ98JS94","questionDetails":"ZL4Y9GA3F3","feedbackAssistantID":"C4HX377YAN","designURLAccessInstructions":"83S49PNTNT"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":83,"topicIds":[83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C24ABFED-0C21-4FD0-AC3A-27C19F86EA7E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10003"]}},"wwdc2022-110684":{"id":"wwdc2022-110684","staticContentId":7051,"eventContentId":110684,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:20:52-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/42295HF6BJ\/dashboard","languageCode":"eng","description":"Receive guidance on in-app purchase testing and implementation, StoreKit, subscription offers, customer support management, maintaining subscriber statuses, multiplatform support, server notifications, and more.\n\n","title":"In-app purchase and subscriptions lab","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/42295HF6BJ\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Server API","App Store Server Notifications","Family Sharing for in-app purchases","Implementation best practices","In-app purchase refund management","In-app purchase testing","In-app purchase validation","Proactive in-app purchase restore","StoreKit 2 integration","Subscription billing retry & grace period","Subscription introductory offers","Subscription offer codes","Subscription price changes","Subscription promotional offers"],"registrationServiceID":"42295HF6BJ","registrationServiceQuestionIDs":{"topic":"M3LFF39R32","appURL":"MMWVWLXR6X","designURL":"YZ8L358327","questionDetails":"R8F44SB3FP","feedbackAssistantID":"YN6QAXXY7J","designURLAccessInstructions":"Q32TA9KQ66"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["in-app purchases","storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"CDD31838-6E7E-47CA-B880-6B81302C7D2B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110619":{"id":"wwdc2022-110619","staticContentId":6985,"eventContentId":110619,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:20:57-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/9MRC7GFH7G\/dashboard","languageCode":"eng","description":"RealityKit is Apple\u2019s rendering, animation, physics, and audio engine for augmented reality. Request an appointment with an Apple engineer for guidance and conversation about RealityKit and Reality Composer, best practices, and more.","title":"RealityKit and Reality Composer lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/9MRC7GFH7G\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["ARKit Integration","Audio","Collaborative Sessions","ECS","Entity loading","Graphics","Measuring and improving performance","MeshResource and TextureResource","Networking","Physics","Query system","Scene Understanding","surface shader \/ geometry modifier","Video Materials"],"registrationServiceID":"9MRC7GFH7G","registrationServiceQuestionIDs":{"topic":"F2P7792Z65","appURL":"6597W5WXT9","designURL":"64W375S44Y","questionDetails":"DV22727CA6","feedbackAssistantID":"K2G4J6JPBD","designURLAccessInstructions":"MTC469F4C5"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":85,"topicIds":[91,85],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"865F2BA6-70B7-4F4F-B1C0-4DF931B6AA47","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10128","wwdc2022-110472","wwdc2022-110473","wwdc2022-110620"]}},"wwdc2022-110880":{"id":"wwdc2022-110880","staticContentId":7269,"eventContentId":110880,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:21:02-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/2PA9VDGCMY\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about passkeys in iCloud Keychain, iCloud Keychain verification codes, Password AutoFill, SMS-delivered domain-bound codes, ASWebAuthenticationSession, Account Authentication Modification Extensions, and more.","title":"Authentication Services lab","startTime":"2022-06-10T14:00:00-07:00","endTime":"2022-06-10T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/2PA9VDGCMY\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["2FA","ASWebAuthenticationSession","General","iCloud Keychain","iCloud Keychain Verification Codes","Passkeys","Password Autofill","SMS Delivered Domain Bound Codes"],"registrationServiceID":"2PA9VDGCMY","registrationServiceQuestionIDs":{"topic":"4YSNLKCBN3","appURL":"8S3J3HLZFA","designURL":"QSR885Z3HP","questionDetails":"Z6TCGKWB83","feedbackAssistantID":"634S6ZU872","designURLAccessInstructions":"7XHHQTZJN2"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[96,98,101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"ECC025FD-CCBB-4788-9129-6FDB24774066","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10092"]}},"wwdc2022-110557":{"id":"wwdc2022-110557","staticContentId":6923,"eventContentId":110557,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:20:47-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/2A3572D7G6\/dashboard","languageCode":"eng","description":"Have a question about live or on demand HLS video streaming, Low-Latency HLS, Offline HLS, spatial audio, dynamic ad insertion, or stream authoring recommendations? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"HTTP Live Streaming lab","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/2A3572D7G6\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"2A3572D7G6","registrationServiceQuestionIDs":{"appURL":"T3GH64ZW8Z","designURL":"866338DJ7C","questionDetails":"V649ZFA9DT","feedbackAssistantID":"6AK452J4N2","designURLAccessInstructions":"FQ69MHVAYV"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"CFD07C87-AA4E-4453-B5D2-6D455AB74AB4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10144","wwdc2022-10145"]}},"wwdc2022-110672":{"id":"wwdc2022-110672","staticContentId":7039,"eventContentId":110672,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:21:37-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/98DG4SWUYV\/dashboard","languageCode":"eng","description":"Want to learn more about the new PushToTalk framework and how you can implement walkie-talkie style communication in your app? Request an appointment with an Apple engineer for guidance and conversation about all things PushToTalk.\t","title":"PushToTalk lab","startTime":"2022-06-08T12:00:00-07:00","endTime":"2022-06-08T14:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/98DG4SWUYV\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["APNs","Audio","Bluetooth","Other","QUIC","VoIP"],"registrationServiceID":"98DG4SWUYV","registrationServiceQuestionIDs":{"topic":"9NWMB7L4K7","appURL":"WG8Q2X8V98","designURL":"YA3PMV39LP","questionDetails":"G528543K3Z","feedbackAssistantID":"RX68ZP6X52","designURLAccessInstructions":"RD89GXY434"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":101,"topicIds":[101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C51659DD-BC95-479B-9BE0-2AC12B6E45B6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10117"]}},"wwdc2022-110555":{"id":"wwdc2022-110555","staticContentId":6921,"eventContentId":110555,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:21:47-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/P5LZNGH7RR\/dashboard","languageCode":"eng","description":"Have a question about SharePlay and Group Activities? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"SharePlay lab","startTime":"2022-06-08T17:00:00-07:00","endTime":"2022-06-08T19:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/P5LZNGH7RR\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"P5LZNGH7RR","registrationServiceQuestionIDs":{"appURL":"AT286BVCQ6","designURL":"KJ7TRWF635","questionDetails":"DB9TQYRXVT","feedbackAssistantID":"VRL82SF76T","designURLAccessInstructions":"YXSMVKW2P4"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":84,"topicIds":[83,84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"74BD15A8-0E92-4792-A03F-5B91B9E54244","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10139","wwdc2022-10140","wwdc2022-110380","wwdc2022-110815","wwdc2022-110822","wwdc2022-110824"]}},"wwdc2022-110606":{"id":"wwdc2022-110606","staticContentId":6972,"eventContentId":110606,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:22:02-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/M2MS7V484U\/dashboard","languageCode":"eng","description":"Meet with an App Review specialist to better understand the App Store Review Guidelines, learn how to prevent common issues, and discuss best practices for a smooth review experience.","title":"App Store Review lab","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/M2MS7V484U\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App preparation & preventing common rejections","App rejection","In-app purchase & subscription models","New technologies & related guidelines","Privacy best practices","Your feedback & guideline recommendations"],"registrationServiceID":"M2MS7V484U","registrationServiceQuestionIDs":{"topic":"7WYQG2DU2F","appURL":"L456LD8N6W","designURL":"R3M75QXNHK","questionDetails":"L8J62JF7HA","feedbackAssistantID":"W8NW83XTU8","designURLAccessInstructions":"X2F8CF4JUN"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"115FF269-1845-4395-8B9A-04D13077278F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110729":{"id":"wwdc2022-110729","staticContentId":7101,"eventContentId":110729,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:21:12-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/YF44LWY5GL\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest Swift APIs, best practices, and more.","title":"Swift open hours lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/YF44LWY5GL\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Apple Swift Packages","C\/Objective-C interoperability","Generics\/Protocols","Other","Property Wrappers","Runtime Performance","Standard Library","Swift Build Times","Swift Concurrency","Swift Language","Swift on Non-Darwin","Swift Package Manager"],"registrationServiceID":"YF44LWY5GL","registrationServiceQuestionIDs":{"topic":"5849868G2F","appURL":"2DKC38624W","designURL":"7496CJU6A4","questionDetails":"JLBVVDH3Z6","feedbackAssistantID":"C6F42G78S4","designURLAccessInstructions":"A6LD37BBQW"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C28B48AB-7F4A-47A3-8007-BC3A2B4439AC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110350","wwdc2022-110351","wwdc2022-110352","wwdc2022-110353","wwdc2022-110354","wwdc2022-110355","wwdc2022-110356","wwdc2022-110357","wwdc2022-110358","wwdc2022-110359","wwdc2022-110360","wwdc2022-110401"]}},"wwdc2022-110487":{"id":"wwdc2022-110487","staticContentId":6849,"eventContentId":110487,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:21:42-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/D86VVKFC3T\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app or website, the latest APIs, best practices, and more.","title":"Safari & web lab","startTime":"2022-06-08T14:00:00-07:00","endTime":"2022-06-08T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/D86VVKFC3T\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["App Bound Domains","Content Blockers","CSS","Data Detectors","Home Screen Web Apps","HTML","Intelligent Tracking Prevention","JavaScriptCore","Media Playback","Safari App Extensions","Safari Web Extensions","Safari Web Inspector Extensions","Service Workers","SFSafariViewController","UIWebView to WKWebView","Web API","WebAssembly","Web Driver","Web Inspector","Web Push Notifications","WebRTC","Web View Crash","Web View Text Rendering","WKWebView","WKWebView Client Auth Certificates","WKWebView Cookies"],"registrationServiceID":"D86VVKFC3T","registrationServiceQuestionIDs":{"topic":"RYS2Y73GUL","appURL":"V3V74XSL84","designURL":"6UX2ZH2KF2","questionDetails":"LCL482XNYL","feedbackAssistantID":"44DS7XG6PS","designURLAccessInstructions":"3328Q2YMD6"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":98,"topicIds":[101,98],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"2F72A017-1A81-4F1B-9026-FF4BA43986E6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10048","wwdc2022-10098","wwdc2022-10099","wwdc2022-10100"]}},"wwdc2022-110648":{"id":"wwdc2022-110648","staticContentId":7015,"eventContentId":110648,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:22:43-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/9GBBRWPJ35\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the GameKit API, best practices, and more.","title":"Game Center lab","startTime":"2022-06-10T13:00:00-07:00","endTime":"2022-06-10T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/9GBBRWPJ35\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"9GBBRWPJ35","registrationServiceQuestionIDs":{"appURL":"HLHZJNWL7L","designURL":"49AR7HW78C","questionDetails":"S5AA7695PF","feedbackAssistantID":"DV84WU7Z27","designURLAccessInstructions":"AMPXA3HM8J"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"59E0258F-5D68-421F-BFA5-A65DD60F020D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10064","wwdc2022-10065","wwdc2022-10151","wwdc2022-110662","wwdc2022-110670"]}},"wwdc2022-110688":{"id":"wwdc2022-110688","staticContentId":7055,"eventContentId":110688,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:22:54-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/73PZ636U53\/dashboard","languageCode":"eng","description":"Receive guidance on in-app purchase testing and implementation, StoreKit, subscription offers, customer support management, maintaining subscriber statuses, multiplatform support, server notifications, and more.\n\n","title":"In-app purchase and subscriptions lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/73PZ636U53\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Server API","App Store Server Notifications","Family Sharing for in-app purchases","Implementation best practices","In-app purchase refund management","In-app purchase testing","In-app purchase validation","Proactive in-app purchase restore","StoreKit 2 integration","Subscription billing retry & grace period","Subscription introductory offers","Subscription offer codes","Subscription price changes","Subscription promotional offers"],"registrationServiceID":"73PZ636U53","registrationServiceQuestionIDs":{"topic":"Z9B7TJ9LKB","appURL":"48SKZC26K7","designURL":"48MHH93X2Z","questionDetails":"MHWN7B6NZ3","feedbackAssistantID":"3FH9G947QN","designURLAccessInstructions":"7R2C4M3RYH"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["in-app purchases","storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C7ACD394-C364-4505-A6A8-888566C14C23","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110633":{"id":"wwdc2022-110633","staticContentId":6999,"eventContentId":110633,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:22:23-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/Q3MD7PCA7P\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Apps","startTime":"2022-06-09T10:00:00-07:00","endTime":"2022-06-09T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/Q3MD7PCA7P\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"Q3MD7PCA7P","registrationServiceQuestionIDs":{"topic":"784JR9S4GF","appURL":"BBNHG4JGW7","designURL":"68X6VBYJNP","questionDetails":"LA5U3JR28W","feedbackAssistantID":"3R99VS53A8","designURLAccessInstructions":"V5QBT74872"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"367C92A7-B039-4925-9DD0-15282E9AF39F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110542":{"id":"wwdc2022-110542","staticContentId":6908,"eventContentId":110542,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:22:28-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/L99MA87T7Y\/dashboard","languageCode":"eng","description":"Have a question about AVAudioSession? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"AVAudioSession lab","startTime":"2022-06-10T13:00:00-07:00","endTime":"2022-06-10T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/L99MA87T7Y\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"L99MA87T7Y","registrationServiceQuestionIDs":{"appURL":"M82AA5A7KS","designURL":"4Y64N85PQS","questionDetails":"2NY565B2MP","feedbackAssistantID":"JT8N96MN6G","designURLAccessInstructions":"28XJ3XHAMR"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"F3A1BF5B-1D4C-4353-93AD-B590A6630D43","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110563":{"id":"wwdc2022-110563","staticContentId":6929,"eventContentId":110563,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:22:18-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/292U6CF9QK\/dashboard","languageCode":"eng","description":"Have a question about tvOS? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"tvOS lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/292U6CF9QK\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"292U6CF9QK","registrationServiceQuestionIDs":{"appURL":"VDRA895269","designURL":"S44TDSPSDL","questionDetails":"K7M3D94353","feedbackAssistantID":"2X4SW99VRL","designURLAccessInstructions":"TRL6CT4ZUU"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["tvOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C8E22B93-F070-47B9-A90C-82F953B27029","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110709":{"id":"wwdc2022-110709","staticContentId":7080,"eventContentId":110709,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:04:05-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/ZB25X964DU\/dashboard","languageCode":"eng","description":"Get help with App Store Connect reporting including Sales and Trends, App Analytics, and Payment reports. Receive guidance on downloading reports, understanding terminology, differences between each of reporting tools, and more.","title":"App Store Connect Analytics lab","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/ZB25X964DU\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["Downloading reports","General overview","Other","Payments and Financial reports","Understanding reporting dashboards","Understanding subscription performance"],"registrationServiceID":"ZB25X964DU","registrationServiceQuestionIDs":{"topic":"6WZAMJPCQU","appURL":"GQR7UF6FC3","designURL":"44M9MG9K75","questionDetails":"NL6XK9V2Q7","feedbackAssistantID":"9LD9KCN3NR","designURLAccessInstructions":"YD67TKMT38"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0490A467-FFEC-4C30-A3DC-B019D9ED9D71","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10043","wwdc2022-10044"]}},"wwdc2022-110642":{"id":"wwdc2022-110642","staticContentId":7008,"eventContentId":110642,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:23:42-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/DY738YZ273\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about capturing photos and video within your app using the AVCapture and related camera APIs.","title":"Camera Capture lab","startTime":"2022-06-08T14:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/DY738YZ273\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"DY738YZ273","registrationServiceQuestionIDs":{"appURL":"8T8QL996UB","designURL":"NX6KTCGZ5S","questionDetails":"J92W9V6BU4","feedbackAssistantID":"69U4NK888M","designURLAccessInstructions":"4Q6X98P492"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":95,"topicIds":[95],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0D0B2509-3E35-4220-B3FC-46A645532611","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10018","wwdc2022-10022","wwdc2022-110429","wwdc2022-110959","wwdc2022-110960","wwdc2022-110961","wwdc2022-110962","wwdc2022-110964"]}},"wwdc2022-110647":{"id":"wwdc2022-110647","staticContentId":7014,"eventContentId":110647,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:23:04-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4D26CUX9S4\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the GameKit API, best practices, and more.","title":"Game Center lab","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4D26CUX9S4\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"4D26CUX9S4","registrationServiceQuestionIDs":{"appURL":"XUU2SGH8X4","designURL":"AV6S43MQ8T","questionDetails":"29W3BX7R3J","feedbackAssistantID":"BH8K4MPD4A","designURLAccessInstructions":"ZFM425W94T"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[84,91],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"87E811DE-6E03-40B5-B0CE-5393284E2919","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10064","wwdc2022-10065","wwdc2022-10151","wwdc2022-110662","wwdc2022-110670"]}},"wwdc2022-110635":{"id":"wwdc2022-110635","staticContentId":7001,"eventContentId":110635,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:23:09-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/86Q2756667\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Games","startTime":"2022-06-10T06:00:00-07:00","endTime":"2022-06-10T10:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/86Q2756667\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"86Q2756667","registrationServiceQuestionIDs":{"topic":"2RA6H77AF8","appURL":"73KB9PYSXZ","designURL":"ACDFG4M4J9","questionDetails":"Q337L98923","feedbackAssistantID":"4CJPT994DM","designURLAccessInstructions":"DGYNNM63K9"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C0CAF74C-B428-47E1-A14B-8932C5EE6A48","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110646":{"id":"wwdc2022-110646","staticContentId":7013,"eventContentId":110646,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:23:19-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/AZKRVGW948\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest Metal APIs, best practices, and more.","title":"Metal lab","startTime":"2022-06-09T08:00:00-07:00","endTime":"2022-06-09T10:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/AZKRVGW948\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Advanced game rendering","Metal Compiler Workflows","Metal Compute","metal-cpp","Metal developer tools","Metal Fast Resource Loading","MetalFX","Metal Intro and Basics","Metal Mesh Shaders","Metal ML and MPSGraph","Metal Raytracing","Other"],"registrationServiceID":"AZKRVGW948","registrationServiceQuestionIDs":{"topic":"4333S2SZ46","appURL":"MS3DA5TB25","designURL":"74F65FFD9D","questionDetails":"GZP6XSRV45","feedbackAssistantID":"LRNBZT486A","designURLAccessInstructions":"3Q5LKNKSRX"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[84,91],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"71AA2761-AD96-4268-AFB2-7A894351004A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10063","wwdc2022-10066","wwdc2022-10101","wwdc2022-10102","wwdc2022-10103","wwdc2022-10104","wwdc2022-10105","wwdc2022-10106","wwdc2022-10114","wwdc2022-10159","wwdc2022-10160","wwdc2022-10162","wwdc2022-110565","wwdc2022-110657","wwdc2022-110666","wwdc2022-110667","wwdc2022-110670","wwdc2022-110906","wwdc2022-110949"]}},"wwdc2022-110698":{"id":"wwdc2022-110698","staticContentId":7069,"eventContentId":110698,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:23:14-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/66378Z7952\/dashboard","languageCode":"eng","description":"Get help with App Store Connect, including features like TestFlight and the App Store Connect API. Receive guidance on uploading builds, managing app metadata, setting up in-app purchases, and more.\n","title":"App Store Connect lab","startTime":"2022-06-08T08:00:00-07:00","endTime":"2022-06-08T10:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/66378Z7952\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Connect API","App transfer","General setup and distribution","Managing App Store metadata","Other","Setting up in-app events or custom product pages","Subscriptions and in-app purchases","TestFlight","Uploading builds","User management"],"registrationServiceID":"66378Z7952","registrationServiceQuestionIDs":{"topic":"KB525JU3H6","appURL":"AUW8L6RAPM","designURL":"Q37X7HN3BD","questionDetails":"NAM42VHVHR","feedbackAssistantID":"KPWV975FH3","designURLAccessInstructions":"H26R6R3YNH"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"A912011E-9928-44F5-8461-E8BC74540978","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10043"]}},"wwdc2022-110721":{"id":"wwdc2022-110721","staticContentId":7093,"eventContentId":110721,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:24:34-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/A38P34G5AN\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about Interface Builder and Auto Layout, best practices, and more.","title":"Interface Builder and Auto Layout lab","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/A38P34G5AN\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["AutoLayout","Interface Builder\/Storyboards","Other"],"registrationServiceID":"A38P34G5AN","registrationServiceQuestionIDs":{"topic":"4DRCZ622K7","appURL":"P3R763SAYD","designURL":"C8Q3A96GUC","questionDetails":"6GM5GBZD7D","feedbackAssistantID":"6WA993D4Y7","designURLAccessInstructions":"T9386SKCZZ"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6AFC6A5D-E7EA-4E0B-A27C-F0CC0CFAC9B2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110568":{"id":"wwdc2022-110568","staticContentId":6934,"eventContentId":110568,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:24:14-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/F24H68NJDT\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app and the Background Assets APIs, best practices, and more.","title":"Background Assets lab","startTime":"2022-06-10T10:00:00-07:00","endTime":"2022-06-10T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/F24H68NJDT\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"F24H68NJDT","registrationServiceQuestionIDs":{"appURL":"4RK73X8G37","designURL":"UT732FGH8V","questionDetails":"2BVLUWG5PH","feedbackAssistantID":"6HMK94HD6L","designURLAccessInstructions":"79DNSP562M"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["download","launch"],"primaryTopicID":83,"topicIds":[91,83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"181264C3-09CE-4EF9-A1FA-CFD5FD663CE9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110403"]}},"wwdc2022-110609":{"id":"wwdc2022-110609","staticContentId":6975,"eventContentId":110609,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:24:09-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/Y2Z4GC8D8Q\/dashboard","languageCode":"eng","description":"Whether you call it copy, strings, or text, choosing the right words to appear in your app\u2019s user interface can be challenging. UX writers will be available for 25-minute sessions to provide feedback on the way you communicate in your app \u2014 whether that's in microcopy like buttons or labels, positioning like voice and tone, or any questions related to designing through the lens of language.","title":"UX writing lab","startTime":"2022-06-10T10:00:00-07:00","endTime":"2022-06-10T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/Y2Z4GC8D8Q\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Content structure and placement","Errors and alerts","Naming and navigation","Onboarding and setup","Other"],"registrationServiceID":"Y2Z4GC8D8Q","registrationServiceQuestionIDs":{"topic":"RMU5522UDF","appURL":"2J8ZVF67Y6","designURL":"SK38F6A73X","questionDetails":"U8AL22J75B","feedbackAssistantID":"3H6CX5KM44","designURLAccessInstructions":"8C9LS4XT8Q"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"55A40534-2328-4057-BAA9-FBE5472330D2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10037"]}},"wwdc2022-110856":{"id":"wwdc2022-110856","staticContentId":7243,"eventContentId":110856,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:24:29-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/XKPMU59B9P\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about AppKit, including the look and feel of your app, adopting SF Symbols, and more.","title":"AppKit lab","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/XKPMU59B9P\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Controls","General","SF Symbols","SwiftUI with AppKit","Toolbars","Windows"],"registrationServiceID":"XKPMU59B9P","registrationServiceQuestionIDs":{"topic":"FS37PS946M","appURL":"4AJM43FA29","designURL":"YTRJ3WRY3S","questionDetails":"N8HFW54742","feedbackAssistantID":"F6944MR43P","designURLAccessInstructions":"L93H6MQ39Y"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E0F16F9D-FB5E-47ED-8601-8BAB55EFDF2E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10074","wwdc2022-10075","wwdc2022-10090"]}},"wwdc2022-110329":{"id":"wwdc2022-110329","staticContentId":6681,"eventContentId":110329,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:24:24-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/LY9BT69N26\/dashboard","languageCode":"eng","description":"Want to learn more about NSFileProviderExtension or other File System APIs? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"File System lab","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/LY9BT69N26\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"LY9BT69N26","registrationServiceQuestionIDs":{"appURL":"6XLDLBTM4L","designURL":"62NQSP5B8Q","questionDetails":"6W29G6SZ4T","feedbackAssistantID":"6QXAQ37894","designURLAccessInstructions":"YAT7AL6JQD"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5B0B311F-316E-49D2-B2EB-845C79603A4B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110410":{"id":"wwdc2022-110410","staticContentId":6770,"eventContentId":110410,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:24:48-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/9Q269HNPW7\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about CareKit and ResearchKit APIs, best practices, and more.","title":"ResearchKit and CareKit lab","startTime":"2022-06-08T10:00:00-07:00","endTime":"2022-06-08T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/9Q269HNPW7\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"9Q269HNPW7","registrationServiceQuestionIDs":{"appURL":"T7H6RL9B2Y","designURL":"TC6KZM8BVJ","questionDetails":"4VV5Q35Z8S","feedbackAssistantID":"8PTRJA8B9Q","designURLAccessInstructions":"DK3J2DCAUF"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","watchOS"],"primaryTopicID":92,"topicIds":[92],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"047BF81F-DFD2-4AD3-8015-4110868368C8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10068","wwdc2021-10069","wwdc2021-10282","wwdc2020-10216"]}},"wwdc2022-110428":{"id":"wwdc2022-110428","staticContentId":6789,"eventContentId":110428,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:25:13-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4MMJ6P7KU5\/dashboard","languageCode":"eng","description":"Want to learn more about Apple Push Notification service (APNs), Notification Service Extensions, or other UserNotifications APIs? Request an appointment with an Apple engineer for guidance and conversation about all things notifications and APNs.","title":"Notifications and APNs lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4MMJ6P7KU5\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"4MMJ6P7KU5","registrationServiceQuestionIDs":{"appURL":"NU485F8WMP","designURL":"5DUJQ8GY97","questionDetails":"DS92SN2HQ8","feedbackAssistantID":"378435DUJ5","designURLAccessInstructions":"3W66SP6LFU"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"EBA04FC2-E2D0-4996-82EA-71F490765C39","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10121"]}},"wwdc2022-110553":{"id":"wwdc2022-110553","staticContentId":6919,"eventContentId":110553,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:25:32-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/FGW5NM4XMP\/dashboard","languageCode":"eng","description":"Core Haptics lets you design fully customized haptic patterns with synchronized audio. Request an appointment with an Apple engineer for guidance and conversation about your own apps and haptic patterns. Bring your code, your AHAP files, and your questions.","title":"Core Haptics lab","startTime":"2022-06-09T14:00:00-07:00","endTime":"2022-06-09T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/FGW5NM4XMP\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"FGW5NM4XMP","registrationServiceQuestionIDs":{"appURL":"75CY58LLYP","designURL":"N3WTGS39N3","questionDetails":"4M69QP964X","feedbackAssistantID":"3SXKV27BZ6","designURLAccessInstructions":"K3YC6RF4UJ"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"2A6AA6F3-63F4-4CD5-A4AA-DF8A583144F0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10065"]}},"wwdc2022-110488":{"id":"wwdc2022-110488","staticContentId":6850,"eventContentId":110488,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:25:23-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/J667TQ3CN4\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app or website, the latest APIs, best practices, and more.","title":"Safari & web lab","startTime":"2022-06-10T10:00:00-07:00","endTime":"2022-06-10T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/J667TQ3CN4\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["App Bound Domains","Content Blockers","CSS","Data Detectors","Home Screen Web Apps","HTML","Intelligent Tracking Prevention","JavaScriptCore","Media Playback","Safari App Extensions","Safari Web Extensions","Safari Web Inspector Extensions","Service Workers","SFSafariViewController","UIWebView to WKWebView","Web API","WebAssembly","Web Driver","Web Inspector","Web Push Notifications","WebRTC","Web View Crash","Web View Text Rendering","WKWebView","WKWebView Client Auth Certificates","WKWebView Cookies"],"registrationServiceID":"J667TQ3CN4","registrationServiceQuestionIDs":{"topic":"372KJ62RXP","appURL":"RPKVRV7L8Y","designURL":"4DYG98FHSK","questionDetails":"PXRM6QSDAT","feedbackAssistantID":"79HFFW5665","designURLAccessInstructions":"R2P879NMTY"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":98,"topicIds":[98],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"262BCB0F-CEA3-4AF5-A570-ADE3E51105A4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10048","wwdc2022-10098","wwdc2022-10099","wwdc2022-10100"]}},"wwdc2022-110719":{"id":"wwdc2022-110719","staticContentId":7091,"eventContentId":110719,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:25:18-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/FNXT54D568\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about Swift-DocC, best practices, and more.","title":"Swift-DocC documentation lab","startTime":"2022-06-08T13:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/FNXT54D568\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["DocC Documentation","Other","Swift-DocC"],"registrationServiceID":"FNXT54D568","registrationServiceQuestionIDs":{"topic":"3JHCLZYAD4","appURL":"BCG324UZB2","designURL":"DAYBTS26KT","questionDetails":"RQLHRMK983","feedbackAssistantID":"DKCS3ZUKU3","designURLAccessInstructions":"7PNN4P6TDR"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"96A534A4-3E91-4F08-B02A-4DCB96DE1A90","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110368","wwdc2022-110369"]}},"wwdc2022-110604":{"id":"wwdc2022-110604","staticContentId":6970,"eventContentId":110604,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:24:53-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/RSX355S4ST\/dashboard","languageCode":"eng","description":"Meet with an App Review specialist to better understand the App Store Review Guidelines, learn how to prevent common issues, and discuss best practices for a smooth review experience.","title":"App Store Review lab","startTime":"2022-06-09T11:00:00-07:00","endTime":"2022-06-09T14:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/RSX355S4ST\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App preparation & preventing common rejections","App rejection","In-app purchase & subscription models","New technologies & related guidelines","Privacy best practices","Your feedback & guideline recommendations"],"registrationServiceID":"RSX355S4ST","registrationServiceQuestionIDs":{"topic":"8V4236JMS2","appURL":"C9Y2CWDSBV","designURL":"CSDH24F5N5","questionDetails":"BH89666L76","feedbackAssistantID":"D2XV9RVQV9","designURLAccessInstructions":"G5JYW6QA7N"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"12CD0DA5-21F3-4726-BCBE-3B0C3C243D56","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110726":{"id":"wwdc2022-110726","staticContentId":7098,"eventContentId":110726,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:03:50-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/QUW4LC5835\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest Swift APIs, best practices, and more.","title":"Swift open hours lab","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/QUW4LC5835\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Apple Swift Packages","C\/Objective-C interoperability","Generics\/Protocols","Other","Property Wrappers","Runtime Performance","Standard Library","Swift Build Times","Swift Concurrency","Swift Language","Swift on Non-Darwin","Swift Package Manager"],"registrationServiceID":"QUW4LC5835","registrationServiceQuestionIDs":{"topic":"CGTU8XTYL8","appURL":"YHFB6PLKWD","designURL":"C3KSLJV3W3","questionDetails":"H36YFH5326","feedbackAssistantID":"43L2LMK4H6","designURLAccessInstructions":"W5JD23SCCS"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"46E2D297-4358-4602-AB43-5B16375A7067","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110350","wwdc2022-110351","wwdc2022-110352","wwdc2022-110353","wwdc2022-110354","wwdc2022-110355","wwdc2022-110356","wwdc2022-110357","wwdc2022-110358","wwdc2022-110359","wwdc2022-110360","wwdc2022-110401"]}},"wwdc2022-110936":{"id":"wwdc2022-110936","staticContentId":7333,"eventContentId":110936,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:03:07-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/429826U2YQ\/dashboard","languageCode":"eng","description":"Want to learn more about Focus, Notification Service Extensions, or other UserNotifications APIs? Request an appointment with an Apple engineer for guidance and conversation about all things notifications and Focus.","title":"Notifications and Focus lab","startTime":"2022-06-07T13:00:00-07:00","endTime":"2022-06-07T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/429826U2YQ\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"429826U2YQ","registrationServiceQuestionIDs":{"appURL":"9LPXBK37KU","designURL":"TQF8A6B3JM","questionDetails":"85TH7JAML3","feedbackAssistantID":"5L2RK83892","designURLAccessInstructions":"8TMMV22DBJ"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[83,101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"68B8A898-A4E2-4EC6-B776-C5FE29F5B837","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10121"]}},"wwdc2022-110539":{"id":"wwdc2022-110539","staticContentId":6903,"eventContentId":110539,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:03:02-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/38SN89N6VQ\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about custom app distribution, device management, enterprise identity and authentication, Apple Business Manager and Apple School Manager, or other enterprise and education topics. ","title":"Custom app distribution and device management lab","startTime":"2022-06-08T14:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/38SN89N6VQ\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Activation Lock","Apple Business Manager","Apple Configurator","Apple School Manager","Apps and Books Management API","Custom app distribution","Declarative device management","Device enrollment","Identity providers","Managed apps","Managed device attestation","Managed software updates","MDM development","Other (Developer)","Other (IT)","Single sign-on and Kerberos","User Enrollment"],"registrationServiceID":"38SN89N6VQ","registrationServiceQuestionIDs":{"topic":"9L7G3WWM33","appURL":"C7SD7M9QKS","designURL":"2SSL3FNW3M","questionDetails":"68L2SL64HH","feedbackAssistantID":"T3455UG6YF","designURLAccessInstructions":"6364446F75"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":89,"topicIds":[89],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6B11A422-005A-4E74-A1F0-A1D495DF9FA6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10045","wwdc2022-10046","wwdc2022-110335"]}},"wwdc2022-110626":{"id":"wwdc2022-110626","staticContentId":6992,"eventContentId":110626,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:26:04-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/H73U597N79\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Apps","startTime":"2022-06-08T06:00:00-07:00","endTime":"2022-06-08T10:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/H73U597N79\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"H73U597N79","registrationServiceQuestionIDs":{"topic":"R432T4NT63","appURL":"UU3CTZVV6X","designURL":"Y8NP233VND","questionDetails":"8V9DVF3H39","feedbackAssistantID":"86HV6H3RWU","designURLAccessInstructions":"MM6RHD883S"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"45601757-4A7F-465B-9420-0D6900DF1AC5","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110872":{"id":"wwdc2022-110872","staticContentId":7261,"eventContentId":110872,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:25:52-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/25B57KTM6Z\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about passkeys in iCloud Keychain, iCloud Keychain verification codes, Password AutoFill, SMS-delivered domain-bound codes, ASWebAuthenticationSession, Account Authentication Modification Extensions, and more.","title":"Authentication Services lab","startTime":"2022-06-09T12:00:00-07:00","endTime":"2022-06-09T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/25B57KTM6Z\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["2FA","ASWebAuthenticationSession","General","iCloud Keychain","iCloud Keychain Verification Codes","Passkeys","Password AutoFill"],"registrationServiceID":"25B57KTM6Z","registrationServiceQuestionIDs":{"topic":"7TLAN48FWM","appURL":"KJ4ZHSJM6K","designURL":"8V8FUARPC6","questionDetails":"23JXVFB9K9","feedbackAssistantID":"LWUQ55FJWK","designURLAccessInstructions":"42B9XV8N8N"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[96,98,101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"247C2913-2263-45F4-9A4F-A73E32272189","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10092"]}},"wwdc2022-110784":{"id":"wwdc2022-110784","staticContentId":7161,"eventContentId":110784,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:04:00-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8N3J9A7337\/dashboard","languageCode":"eng","description":"Request an appointment with a member of the SF Symbols team for guidance and conversation about Variable Color, automatic rendering mode, unified annotation, design and implementation best practices, and more.","title":"SF Symbols design lab","startTime":"2022-06-09T16:00:00-07:00","endTime":"2022-06-09T18:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8N3J9A7337\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"8N3J9A7337","registrationServiceQuestionIDs":{"appURL":"36898WDMAN","designURL":"P56YCP225M","questionDetails":"8HW66HACPX","feedbackAssistantID":"L7MKLZ8UZR","designURLAccessInstructions":"6RJBGLVJ5Y"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[100,87],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"638110AD-979D-4BD5-9608-77351D8189F3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10157","wwdc2022-10158"]}},"wwdc2022-110850":{"id":"wwdc2022-110850","staticContentId":7237,"eventContentId":110850,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:11:23-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/AURCAXYN45\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about Core ML, Create ML, Vision, VisionKit, Natural Language, machine learning model conversion, model optimization, and more.","title":"Machine Learning & Computer Vision lab","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/AURCAXYN45\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Core ML","Create ML","General questions and troubleshooting","Metal","Model Conversion","Model Performance","Model Training","Motion analysis","Natural Language","PyTorch","Speech recognition","TensorFlow","Vision"],"registrationServiceID":"AURCAXYN45","registrationServiceQuestionIDs":{"topic":"9X63DG3699","appURL":"34GJKV9Q3Z","designURL":"YQDKCL8ZHF","questionDetails":"R3QQVJQCUF","feedbackAssistantID":"TQK48K3H59","designURLAccessInstructions":"CGQ22WCXQA"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":94,"topicIds":[94],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"A15A9609-B37E-4972-93AC-5B0C6B249DA8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10017","wwdc2022-10019","wwdc2022-10020","wwdc2022-10024","wwdc2022-10025","wwdc2022-10026","wwdc2022-10027","wwdc2022-10063","wwdc2022-110332","wwdc2022-110901","wwdc2022-110902","wwdc2022-110903","wwdc2022-110904","wwdc2022-110905","wwdc2022-110906","wwdc2022-110907"]}},"wwdc2022-110501":{"id":"wwdc2022-110501","staticContentId":6865,"eventContentId":110501,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:04:09-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8XWG9P5TYL\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about App Clips, including size optimization, troubleshooting, best practices, and more.","title":"App Clips lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8XWG9P5TYL\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"8XWG9P5TYL","registrationServiceQuestionIDs":{"appURL":"CU554AJ636","designURL":"G3ZKPSN8M3","questionDetails":"S4X8CMB3C7","feedbackAssistantID":"R3542W6DSA","designURLAccessInstructions":"STU94YP373"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5B2AC9CD-045D-40BF-A006-F532C3F9D796","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10097"]}},"wwdc2022-110544":{"id":"wwdc2022-110544","staticContentId":6910,"eventContentId":110544,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:05:09-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/XJ426TAF6N\/dashboard","languageCode":"eng","description":"Have a question about AVAudioSession? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"AVAudioSession lab","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/XJ426TAF6N\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"XJ426TAF6N","registrationServiceQuestionIDs":{"appURL":"XRKL25ZQ47","designURL":"VSP2TT62A8","questionDetails":"2USMVWVFGD","feedbackAssistantID":"T26HZC8M6F","designURLAccessInstructions":"TWFYX2GM39"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5578CFCA-CF74-4D5C-BE73-9CF5A79337EC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110879":{"id":"wwdc2022-110879","staticContentId":7268,"eventContentId":110879,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:06:41-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/KSFUPPGWQ4\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about iCloud Private Relay, Private Access Tokens, DNSSEC, network latency, LS4, NSURLSession, the latest networking APIs, best practices, and more.","title":"Networking lab","startTime":"2022-06-10T14:00:00-07:00","endTime":"2022-06-10T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/KSFUPPGWQ4\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["DNSSEC","Encrypted DNS","General","iCloud Private Relay","LS4","Network Latency","NSURLSession","Private Access Tokens","QUIC"],"registrationServiceID":"KSFUPPGWQ4","registrationServiceQuestionIDs":{"topic":"K9FCKAJT9J","appURL":"W8G4ARPMMQ","designURL":"P4JG6C6YAJ","questionDetails":"SZNBSGB3QS","feedbackAssistantID":"4KZ6T9TW4Q","designURLAccessInstructions":"9N5W2KWKS8"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[96,101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"22DC42F9-D642-44CB-9F0A-543F7A27ABFF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10077","wwdc2022-10078","wwdc2022-10079"]}},"wwdc2022-110591":{"id":"wwdc2022-110591","staticContentId":6957,"eventContentId":110591,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:09:49-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/DW92CF4G9W\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple Developer Technical Support engineer to ask a question about existing Apple frameworks, APIs, and tools. Get expert technical guidance about optimizing your code, understanding crashes, and best practices for implementing Apple technologies in your app. For questions about frameworks and API introduced at WWDC22, please register for a technology-specific WWDC22 lab, WWDC22 Digital Lounges activities, or visit the Apple Developer Forums.","title":"Developer Technical Support open hours","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/DW92CF4G9W\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["ARKit","Audio","Codesigning","Crash reports","iCloud\/CloudKit","In-App Purchase","Metal","Networking","On Demand Resources (ODR)","Other","Push Notifications","Security","Sign in With Apple","Siri\/SiriKit","SwiftUI","Widgets"],"registrationServiceID":"DW92CF4G9W","registrationServiceQuestionIDs":{"topic":"56PT4NM69R","appURL":"5WK5U35Z2F","designURL":"W8B5BR7S2F","questionDetails":"298VVMR6W8","feedbackAssistantID":"7XJ867KT9S","designURLAccessInstructions":"N94ZT9528X"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[90,88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D21B1D19-42FD-4D40-A9B4-9DE8665353BC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110859":{"id":"wwdc2022-110859","staticContentId":7246,"eventContentId":110859,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:11:59-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/JH42TD35X8\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about UIKit including the look and feel of your app, collection and table views, adopting SF Symbols, and more.","title":"UIKit lab","startTime":"2022-06-10T14:00:00-07:00","endTime":"2022-06-10T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/JH42TD35X8\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Accessibility","Animations","Autolayout","Collection View","Desktop Class iPad","Drag & Drop","Drawing","Find","General","Images","Menus and Shortcuts","Pointer Interactions","Table View","Touches and Gestures","Windows and Screens"],"registrationServiceID":"JH42TD35X8","registrationServiceQuestionIDs":{"topic":"W2ZSPN92Y9","appURL":"X4JZCJ5W69","designURL":"D947JWRU6B","questionDetails":"WC9G4J7K8D","feedbackAssistantID":"C7LXCXJ76J","designURLAccessInstructions":"JGQB2RTS66"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":100,"topicIds":[100],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"94F4D3A4-39FB-4784-A7D8-A65374011465","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10068","wwdc2022-10069","wwdc2022-10070","wwdc2022-10071","wwdc2022-10072"]}},"wwdc2022-110702":{"id":"wwdc2022-110702","staticContentId":7073,"eventContentId":110702,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:16:01-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/K8P366JH83\/dashboard","languageCode":"eng","description":"Get help with App Store Connect, including features like TestFlight and the App Store Connect API. Receive guidance on uploading builds, managing app metadata, setting up in-app purchases, and more.\n","title":"App Store Connect lab","startTime":"2022-06-10T08:00:00-07:00","endTime":"2022-06-10T10:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/K8P366JH83\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Connect API","App transfer","General setup and distribution","Managing App Store metadata","Other","Setting up in-app events or custom product pages","Subscriptions and in-app purchases","TestFlight","Uploading builds","User management"],"registrationServiceID":"K8P366JH83","registrationServiceQuestionIDs":{"topic":"2B65AN56P9","appURL":"XFZSDVLXRT","designURL":"WG72KA9943","questionDetails":"D5982SA2ZX","feedbackAssistantID":"5R8GKP9HGM","designURLAccessInstructions":"4NC32U44HF"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"582C40DF-468C-4AE2-B66A-4795AD593A11","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10043"]}},"wwdc2022-110890":{"id":"wwdc2022-110890","staticContentId":7279,"eventContentId":110890,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:17:31-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/CRK298LUVC\/dashboard","languageCode":"eng","description":"Want to learn more about App Shortcuts, Siri, App Intents, or other Siri functionality? Request an appointment with an Apple engineer for guidance and conversation about all things Shortcuts, Siri, and App Intents.","title":"Shortcuts, Siri, and App Intents lab","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/CRK298LUVC\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["App Intents","Other","Shortcuts","Siri"],"registrationServiceID":"CRK298LUVC","registrationServiceQuestionIDs":{"topic":"8WQTR3K5G2","appURL":"M95RCAU738","designURL":"K6JV6U6242","questionDetails":"4SMF8DKZ3P","feedbackAssistantID":"ZBQMH3S6MW","designURLAccessInstructions":"VRUL4L8PB5"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["app intents","app shortcuts","intents","shortcuts","siri","sirikit"],"primaryTopicID":83,"topicIds":[83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C00BF47F-E661-4DB4-BCD7-53F5B3AF7F78","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10032","wwdc2022-10121","wwdc2022-10169","wwdc2022-10170"]}},"wwdc2022-110328":{"id":"wwdc2022-110328","staticContentId":6680,"eventContentId":110328,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:21:17-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/VGT2MM4Z6U\/dashboard","languageCode":"eng","description":"Want to learn more about the new PushToTalk framework and how you can implement walkie-talkie style communication in your app? Request an appointment with an Apple engineer for guidance and conversation about all things PushToTalk.\t","title":"PushToTalk lab","startTime":"2022-06-10T11:00:00-07:00","endTime":"2022-06-10T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/VGT2MM4Z6U\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["APNs","Audio","Bluetooth","Other","QUIC","VoIP"],"registrationServiceID":"VGT2MM4Z6U","registrationServiceQuestionIDs":{"topic":"F456F3A4AW","appURL":"QNQD4H5SSH","designURL":"2KQ2PWK75W","questionDetails":"D58439Z3C9","feedbackAssistantID":"F25W7DMB4W","designURLAccessInstructions":"QRN2J6J9LV"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":101,"topicIds":[101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"09D45566-A6B9-42D6-902F-109BB9D56B82","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10117"]}},"wwdc2022-110525":{"id":"wwdc2022-110525","staticContentId":6891,"eventContentId":110525,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:24:43-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/KH79B3P73B\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"Wallet and Apple Pay lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/KH79B3P73B\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"KH79B3P73B","registrationServiceQuestionIDs":{"appURL":"CGUY69AQ54","designURL":"TP7B59H34F","questionDetails":"KM5Y7FFNXQ","feedbackAssistantID":"TA7JV3AQX4","designURLAccessInstructions":"MCFD89JK2S"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":83,"topicIds":[83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E5022C16-AC8E-4BC3-9A8D-EA6ACB3EF5A6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10041"]}},"wwdc2022-110610":{"id":"wwdc2022-110610","staticContentId":6976,"eventContentId":110610,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:03:35-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/A22CB88C7P\/dashboard","languageCode":"eng","description":"Meet with designers and engineers to discuss charts in your app. Get feedback on your charts, begin designing a new chart, or discuss how people who use Apple's accessibility features will experience your charts. Come prepared with design comps, a working prototype, development build, or your released app. ","title":"Chart design lab","startTime":"2022-06-10T12:00:00-07:00","endTime":"2022-06-10T14:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/A22CB88C7P\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Design a new chart","Make a chart accessible","Refine a chart"],"registrationServiceID":"A22CB88C7P","registrationServiceQuestionIDs":{"topic":"7655JH569G","appURL":"M78JLWZH8G","designURL":"M5NYDWUWN3","questionDetails":"5ZC3SUW68Y","feedbackAssistantID":"69L8K99F2W","designURLAccessInstructions":"W7K6DFFF66"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"36141171-A1D4-4377-B70F-66D3919EB1E2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10136","wwdc2022-10137","wwdc2022-110340","wwdc2022-110342","wwdc2022-110531"]}},"wwdc2022-110881":{"id":"wwdc2022-110881","staticContentId":7270,"eventContentId":110881,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:24:02-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/GV5R988ZQ7\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more. Chat with Apple engineers from the Messages, Shared with You, Messages Collaboration, Share Sheet, UIActivityViewController, Watch Connectivity, and Multipeer Connectivity teams.","title":"Shared with You, Sharing, Connectivity, Messages Collaboration lab","startTime":"2022-06-08T14:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/GV5R988ZQ7\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["General","iMessage app","iMessage stickers","Messages Collaboration","Shared with You"],"registrationServiceID":"GV5R988ZQ7","registrationServiceQuestionIDs":{"topic":"X2UZPD8YPM","appURL":"F3F3UK6C3A","designURL":"UBHPU788QG","questionDetails":"65KB39DSZ4","feedbackAssistantID":"5RH7Y86AA3","designURLAccessInstructions":"Q2CU93222P"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C000E6F1-BA4F-4B6D-AAD6-46E9C43224F2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10093","wwdc2022-10094","wwdc2022-10095"]}},"wwdc2022-110552":{"id":"wwdc2022-110552","staticContentId":6918,"eventContentId":110552,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:24:57-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/G5Y5G95QH6\/dashboard","languageCode":"eng","description":"Core Haptics lets you design fully customized haptic patterns with synchronized audio. Request an appointment with an Apple engineer for guidance and conversation about your own apps and haptic patterns. Bring your code, your AHAP files, and your questions.","title":"Core Haptics lab","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/G5Y5G95QH6\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"G5Y5G95QH6","registrationServiceQuestionIDs":{"appURL":"NDXRGTZM9B","designURL":"22RD83LSXK","questionDetails":"TT9V8F2SAF","feedbackAssistantID":"775L96DB8X","designURLAccessInstructions":"KVVW9VN79Q"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"56BC660E-8ED6-4DB4-ACF5-E7C086886079","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10065"]}},"wwdc2022-110601":{"id":"wwdc2022-110601","staticContentId":6967,"eventContentId":110601,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:06:12-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/V79623BTFK\/dashboard","languageCode":"eng","description":"Meet with an App Review specialist to better understand the App Store Review Guidelines, learn how to prevent common issues, and discuss best practices for a smooth review experience.","title":"App Store Review lab","startTime":"2022-06-08T11:00:00-07:00","endTime":"2022-06-08T14:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/V79623BTFK\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App preparation & preventing common rejections","App rejection","In-app purchase & subscription models","New technologies & related guidelines","Privacy best practices","Your feedback & guideline recommendations"],"registrationServiceID":"V79623BTFK","registrationServiceQuestionIDs":{"topic":"6A434RMJUX","appURL":"9UNPVU85Q9","designURL":"LFJMVM6S9U","questionDetails":"JT5M7SLQB2","feedbackAssistantID":"DALBVLVN5C","designURLAccessInstructions":"2566M3XNHS"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"56939A56-A73A-4A4C-BA56-DF306B8409A7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110734":{"id":"wwdc2022-110734","staticContentId":7106,"eventContentId":110734,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:21:32-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4GBGVCX2GS\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"Xcode open hours lab","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4GBGVCX2GS\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["App Store Distribution","App Thinning","Asset Catalog","AutoLayout","Build System and xcodebuild","Code Signing\/Provisioning","Continuous Integration","Core Data Editor","CoreML Editor","Crash Energy and Metrics Organizer","Device Support","Enterprise Distribution","Git Integration","Indexing","Interface Builder\/Storyboards","Localization","Other","Projects Targets and Schemes","SceneKit Editor","Simulator","Siri Intents Editor","Source Editor","SpriteKit Editor","Swift Package Manager","XCFrameworks","Xcode Cloud","Xcode Playgrounds","Xcode SwiftUI Previews","XCTest (Performance Testing)","XCTest (UI Testing)","XCTest (Unit Testing)"],"registrationServiceID":"4GBGVCX2GS","registrationServiceQuestionIDs":{"topic":"BCHJ6G775W","appURL":"WD2SX44VFR","designURL":"HYJ89G6M2R","questionDetails":"DGTA99BB96","feedbackAssistantID":"V68UP9UQHZ","designURLAccessInstructions":"SQ9TU9DRU7"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"65C87923-3B46-4C34-B3D9-BF5371FD1F3B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110371","wwdc2022-110427"]}},"wwdc2022-110674":{"id":"wwdc2022-110674","staticContentId":7041,"eventContentId":110674,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:22:38-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/Y69R2WW8GY\/dashboard","languageCode":"eng","description":"Want to learn more about CKTool JS, zone sharing, Act as iCloud, or other CloudKit functionality? Request an appointment with an Apple engineer for guidance and conversation about all things CloudKit.","title":"CloudKit lab","startTime":"2022-06-09T10:00:00-07:00","endTime":"2022-06-09T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/Y69R2WW8GY\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["CloudKit Console\/Configuration","Other","Sharing","Syncing","Troubleshooting","Web Access"],"registrationServiceID":"Y69R2WW8GY","registrationServiceQuestionIDs":{"topic":"SQAT92TTYZ","appURL":"NJ39FCDA87","designURL":"ZDM8UK65S9","questionDetails":"D67RXT983G","feedbackAssistantID":"S59QL55BP2","designURLAccessInstructions":"8NVVH86RQB"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[83,101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"27061DD0-3120-47E2-968A-4598B46D0E54","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10115","wwdc2022-10116"]}},"wwdc2022-110788":{"id":"wwdc2022-110788","staticContentId":7168,"eventContentId":110788,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:16:46-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/42598QQR9A\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about App Tracking Transparency, APIs, and best practices for building trust through better privacy.","title":"App Tracking Transparency lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/42598QQR9A\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["General"],"registrationServiceID":"42598QQR9A","registrationServiceQuestionIDs":{"topic":"D3N64GF6UK","appURL":"48DSVA6Y85","designURL":"38WKL7CT43","questionDetails":"2QDDXDAPU4","feedbackAssistantID":"LA6834WC2Y","designURLAccessInstructions":"69UQ39X3LH"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[101,96],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"42690538-D135-4B34-925E-F6BF2E1CC231","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10096","wwdc2022-10166","wwdc2022-110785","wwdc2022-110786","wwdc2022-110787","wwdc2022-110789","wwdc2022-110790"]}},"wwdc2022-110575":{"id":"wwdc2022-110575","staticContentId":6941,"eventContentId":110575,"eventId":"wwdc2022","contentUpdatedAt":"2024-05-31T13:14:57-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/KCBA9HSMNR\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple designer for a conversation about the latest design principles, best practices, design patterns, and more. Get advice on making your apps simple to use and visually compelling. Come prepared with a working prototype, development build, or your released app.\n\nDesign labs are limited to one appointment request per day and one confirmed appointment for the duration of the conference. Cancelling a confirmed appointment won\u2019t allow you to request another design lab appointment.\n\nYou\u2019ll get an email letting you know whether you received an appointment by 10 p.m. PDT. If you don\u2019t receive an appointment, you can submit a request on another day.","title":"Design lab","startTime":"2022-06-10T10:00:00-07:00","endTime":"2022-06-10T12:00:00-07:00","signupInformation":{"startDate":"2022-06-09T06:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/KCBA9HSMNR\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Interaction focus","Overall app design","Visual focus"],"registrationServiceID":"KCBA9HSMNR","registrationServiceQuestionIDs":{"topic":"8QA5378H7P","appURL":"483Q4KZ3V2","designURL":"J9U4T392Z7","questionDetails":"466ZXV228N","feedbackAssistantID":"3XWKV9RXSM","designURLAccessInstructions":"7JRDU8VL5J"},"ruleSet":{"id":"design"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"20EAF4B1-484C-4675-87E8-692430535E76","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10001","wwdc2022-10169","wwdc2022-110340","wwdc2022-110342"],"resources":[430]}},"wwdc2022-110567":{"id":"wwdc2022-110567","staticContentId":6933,"eventContentId":110567,"eventId":"wwdc2022","contentUpdatedAt":"2024-05-31T13:14:57-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/NKFGCFK33M\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple designer for a conversation about the latest design principles, best practices, design patterns, and more. Get advice on making your apps simple to use and visually compelling. Come prepared with a working prototype, development build, or your released app.\n\nDesign labs are limited to one appointment request per day and one confirmed appointment for the duration of the conference. Cancelling a confirmed appointment won\u2019t allow you to request another design lab appointment.\n\nYou\u2019ll get an email letting you know whether you received an appointment by 10 p.m. PDT. If you don\u2019t receive an appointment, you can submit a request on another day.","title":"Design lab","startTime":"2022-06-07T10:00:00-07:00","endTime":"2022-06-07T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/NKFGCFK33M\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Interaction focus","Overall app design","Visual focus"],"registrationServiceID":"NKFGCFK33M","registrationServiceQuestionIDs":{"topic":"Q46H52WNFV","appURL":"9GFJALNRYR","designURL":"7348NNN32G","questionDetails":"LN6ZQWQ7BM","feedbackAssistantID":"SUPJ4D63KK","designURLAccessInstructions":"7GDZ8KKJ2X"},"ruleSet":{"id":"design"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"29772105-C25E-4C4C-9378-30D7DDA6FC1B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10001","wwdc2022-10169","wwdc2022-110340","wwdc2022-110342"],"resources":[430]}},"wwdc2022-110576":{"id":"wwdc2022-110576","staticContentId":6942,"eventContentId":110576,"eventId":"wwdc2022","contentUpdatedAt":"2024-05-31T13:14:57-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/X8BNGQKH5J\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple designer for a conversation about the latest design principles, best practices, design patterns, and more. Get advice on making your apps simple to use and visually compelling. Come prepared with a working prototype, development build, or your released app.\n\nDesign labs are limited to one appointment request per day and one confirmed appointment for the duration of the conference. Cancelling a confirmed appointment won\u2019t allow you to request another design lab appointment.\n\nYou\u2019ll get an email letting you know whether you received an appointment by 10 p.m. PDT. If you don\u2019t receive an appointment, you can submit a request on another day.","title":"Design lab","startTime":"2022-06-10T14:00:00-07:00","endTime":"2022-06-10T16:00:00-07:00","signupInformation":{"startDate":"2022-06-09T06:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/X8BNGQKH5J\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Interaction focus","Overall app design","Visual focus"],"registrationServiceID":"X8BNGQKH5J","registrationServiceQuestionIDs":{"topic":"Y8D782G7ZX","appURL":"RY5F65H577","designURL":"X3334LUBYW","questionDetails":"KGZACXSS5K","feedbackAssistantID":"PMKAY333C5","designURLAccessInstructions":"9H3C9RFAVM"},"ruleSet":{"id":"design"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"3F96F193-8CFE-4D8F-A126-423EF1582318","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10001","wwdc2022-10169","wwdc2022-110340","wwdc2022-110342"],"resources":[430]}},"wwdc2022-110687":{"id":"wwdc2022-110687","staticContentId":7054,"eventContentId":110687,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:17:07-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/UT2N3A35YF\/dashboard","languageCode":"eng","description":"Receive guidance on in-app purchase testing and implementation, StoreKit, subscription offers, customer support management, maintaining subscriber statuses, multiplatform support, server notifications, and more.\n\n","title":"In-app purchase and subscriptions lab","startTime":"2022-06-09T06:00:00-07:00","endTime":"2022-06-09T09:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/UT2N3A35YF\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store Server API","App Store Server Notifications","Family Sharing for in-app purchases","Implementation best practices","In-app purchase refund management","In-app purchase testing","In-app purchase validation","Proactive in-app purchase restore","StoreKit 2 integration","Subscription billing retry & grace period","Subscription introductory offers","Subscription offer codes","Subscription price changes","Subscription promotional offers"],"registrationServiceID":"UT2N3A35YF","registrationServiceQuestionIDs":{"topic":"GY57YN5385","appURL":"H43SB75YMZ","designURL":"LX7725RZD6","questionDetails":"DANYH9UZY6","feedbackAssistantID":"4X78XW8WAB","designURLAccessInstructions":"58W685FB8J"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["in-app purchases","storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"15546C76-605E-472A-BC03-7439D5B7FA10","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110627":{"id":"wwdc2022-110627","staticContentId":6993,"eventContentId":110627,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:07:26-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8UAAB2P6DR\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Apps","startTime":"2022-06-08T10:00:00-07:00","endTime":"2022-06-08T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8UAAB2P6DR\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"8UAAB2P6DR","registrationServiceQuestionIDs":{"topic":"XH9CDD4428","appURL":"NVAXDXANUD","designURL":"8593LQFNPM","questionDetails":"9TFZ396NN2","feedbackAssistantID":"3WHNRU5KZH","designURLAccessInstructions":"57AS7MG7A4"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"369E8555-5BF8-46C9-8874-1FCADE38BEE1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110548":{"id":"wwdc2022-110548","staticContentId":6914,"eventContentId":110548,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:15:14-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/6497GM287T\/dashboard","languageCode":"eng","description":"Have a question about AVKit? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"AVKit lab","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/6497GM287T\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"6497GM287T","registrationServiceQuestionIDs":{"appURL":"89DR962TS3","designURL":"RM22VK6ZFX","questionDetails":"9SQC58A9T6","feedbackAssistantID":"TV3D4S529C","designURLAccessInstructions":"4TA277F8HF"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E94EE0F2-A0DD-4B2D-BE02-574FB69F0189","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10147","wwdc2022-110817","wwdc2022-110826"]}},"wwdc2022-110629":{"id":"wwdc2022-110629","staticContentId":6995,"eventContentId":110629,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:04:49-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/UK28664LXP\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Games","startTime":"2022-06-09T06:00:00-07:00","endTime":"2022-06-09T10:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/UK28664LXP\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"UK28664LXP","registrationServiceQuestionIDs":{"topic":"UCPQXCHXC7","appURL":"RS8UHX8Q27","designURL":"DJ62M5PXA9","questionDetails":"5GS4K8K4L7","feedbackAssistantID":"U3V8W5G53L","designURLAccessInstructions":"5G8C5292Z7"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"EF16E1EE-9C0D-4900-9D5F-770D1B27F8E8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110632":{"id":"wwdc2022-110632","staticContentId":6998,"eventContentId":110632,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:07:06-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/DRR5YVV7C8\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Apps","startTime":"2022-06-09T06:00:00-07:00","endTime":"2022-06-09T10:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/DRR5YVV7C8\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"DRR5YVV7C8","registrationServiceQuestionIDs":{"topic":"AGN7J5M2M3","appURL":"JF489SKNWH","designURL":"2442SF2DR9","questionDetails":"R7WTUM3PRT","feedbackAssistantID":"6WKU8FU98M","designURLAccessInstructions":"LD7B369G9B"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"4BD23783-1C3B-4735-830B-D7F180776E43","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110551":{"id":"wwdc2022-110551","staticContentId":6917,"eventContentId":110551,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:19:59-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/VP9N6MT8SX\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about Audio Units, Workgroups, HAL, Toolbox APIs, CoreMIDI, AVAudioEngine, AVF APIs Catalyst apps, Spatial Audio, SoundAnalysis, or AUVoiceIO.\n","title":"Core Audio lab","startTime":"2022-06-10T14:00:00-07:00","endTime":"2022-06-10T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/VP9N6MT8SX\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Audio APIs","Audio Units","AVAudioEngine","Codecs","Drivers","HAL","MIDI","Spatial Audio"],"registrationServiceID":"VP9N6MT8SX","registrationServiceQuestionIDs":{"topic":"4WGW5S78Y3","appURL":"6639C8NY3G","designURL":"QF6H75LL62","questionDetails":"3Y726Z9575","feedbackAssistantID":"9S446C32NQ","designURLAccessInstructions":"P95LMD687Z"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D707F2BC-59A7-453B-9D68-BEB3952389E6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110636":{"id":"wwdc2022-110636","staticContentId":7002,"eventContentId":110636,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:22:48-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/96PW3PJ3W4\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Games","startTime":"2022-06-10T10:00:00-07:00","endTime":"2022-06-10T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/96PW3PJ3W4\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"96PW3PJ3W4","registrationServiceQuestionIDs":{"topic":"CFRVMQM545","appURL":"67424ZNV6N","designURL":"89824QNC33","questionDetails":"JL58NCHL28","feedbackAssistantID":"8Y789N3CBN","designURLAccessInstructions":"KDPM84G266"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0A26EB73-A7A1-41A1-B082-7156209744BE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110892":{"id":"wwdc2022-110892","staticContentId":7281,"eventContentId":110892,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:22:59-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/32Q5DN48UU\/dashboard","languageCode":"eng","description":"Want to learn more about media intents, communication intents, or other SiriKit functionality? Request an appointment with an Apple engineer for guidance and conversation about all things SiriKit for media, messaging, and calling.","title":"SiriKit for Media, Messaging, and Phone lab","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T18:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/32Q5DN48UU\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Announce Notifications","Media","Messaging","Other","VoIP Calling"],"registrationServiceID":"32Q5DN48UU","registrationServiceQuestionIDs":{"topic":"FLDVW7938F","appURL":"P99SUP532Z","designURL":"SRVY7Z47U6","questionDetails":"2YN84KY3J5","feedbackAssistantID":"98QNMTMA8C","designURLAccessInstructions":"4Z738XB9CU"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["app intents","app shortcuts","intents","shortcuts","siri","sirikit"],"primaryTopicID":83,"topicIds":[83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6552C4A0-242A-4543-B9BF-25D1BE7C2C14","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110615":{"id":"wwdc2022-110615","staticContentId":6981,"eventContentId":110615,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:20:41-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/XLXB4B8HJ9\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Apps","startTime":"2022-06-07T10:00:00-07:00","endTime":"2022-06-07T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/XLXB4B8HJ9\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"XLXB4B8HJ9","registrationServiceQuestionIDs":{"topic":"R3X22B79M9","appURL":"B8SGW7CG72","designURL":"F8Y5756BVC","questionDetails":"564FH46472","feedbackAssistantID":"MKMG9M8ZR8","designURLAccessInstructions":"9MC6G7AT88"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D69D7B00-82F8-4F6E-9A6B-93A309343589","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110625":{"id":"wwdc2022-110625","staticContentId":6991,"eventContentId":110625,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:07:01-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/VKQ692NC7J\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Games","startTime":"2022-06-08T15:00:00-07:00","endTime":"2022-06-08T20:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/VKQ692NC7J\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"VKQ692NC7J","registrationServiceQuestionIDs":{"topic":"4M689ZP4QV","appURL":"8KJ47DP5ZN","designURL":"7K825B2R4G","questionDetails":"BA8X9YMW8S","feedbackAssistantID":"NXMB9RRRPG","designURLAccessInstructions":"MU8F8G2L3M"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C008253B-F3EC-4C2D-AF94-A7D84AFB6D12","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110630":{"id":"wwdc2022-110630","staticContentId":6996,"eventContentId":110630,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:03:45-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/9S5343KZ9J\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Games","startTime":"2022-06-09T10:00:00-07:00","endTime":"2022-06-09T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/9S5343KZ9J\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"9S5343KZ9J","registrationServiceQuestionIDs":{"topic":"R39N2DQ3Y5","appURL":"84LP4D9S22","designURL":"QGZXCXQNZ6","questionDetails":"3D8XV4958M","feedbackAssistantID":"V72A8529DD","designURLAccessInstructions":"2HP334N5DY"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D0768AB8-69AF-48F7-9104-9C67B88637AB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110740":{"id":"wwdc2022-110740","staticContentId":7112,"eventContentId":110740,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:19:39-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/CM93AQ7FJK\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"Xcode open hours lab","startTime":"2022-06-10T13:00:00-07:00","endTime":"2022-06-10T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/CM93AQ7FJK\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["App Store Distribution","App Thinning","Asset Catalog","AutoLayout","Build System and xcodebuild","Code Signing\/Provisioning","Continuous Integration","Core Data Editor","CoreML Editor","Crash Energy and Metrics Organizer","Device Support","Enterprise Distribution","Git Integration","Indexing","Interface Builder\/Storyboards","Localization","Other","Projects Targets and Schemes","SceneKit Editor","Simulator","Siri Intents Editor","Source Editor","SpriteKit Editor","Swift Package Manager","XCFrameworks","Xcode Cloud","Xcode Playgrounds","Xcode SwiftUI Previews","XCTest (Performance Testing)","XCTest (UI Testing)","XCTest (Unit Testing)"],"registrationServiceID":"CM93AQ7FJK","registrationServiceQuestionIDs":{"topic":"XR2F4P2APH","appURL":"LU5S2R3R3X","designURL":"A266TLB9V7","questionDetails":"PPNXXZB54G","feedbackAssistantID":"TRZC4HF82Z","designURLAccessInstructions":"R29PSC535V"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"A30242C9-0B63-42E1-90EE-1F5452D91DCD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110371","wwdc2022-110427"]}},"wwdc2022-110710":{"id":"wwdc2022-110710","staticContentId":7081,"eventContentId":110710,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:17:46-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/5W9VJC9MGQ\/dashboard","languageCode":"eng","description":"Get help with App Store Connect reporting including Sales and Trends, App Analytics, and Payment reports. Receive guidance on downloading reports, understanding terminology, differences between each of reporting tools, and more.","title":"App Store Connect Analytics lab","startTime":"2022-06-10T10:00:00-07:00","endTime":"2022-06-10T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/5W9VJC9MGQ\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["Downloading reports","General overview","Other","Payments and Financial reports","Understanding reporting dashboards","Understanding subscription performance"],"registrationServiceID":"5W9VJC9MGQ","registrationServiceQuestionIDs":{"topic":"34B7AUQTP7","appURL":"DKT9M8W5ZD","designURL":"6V75R4S7B7","questionDetails":"A8WPHBJWPH","feedbackAssistantID":"6BYC5S6BY9","designURLAccessInstructions":"29674TKXAN"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D1B3F618-73FE-4EA6-B148-85C967BA9B07","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10043","wwdc2022-10044"]}},"wwdc2022-110870":{"id":"wwdc2022-110870","staticContentId":7259,"eventContentId":110870,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:25:08-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/U6C6A3WWTJ\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation on Core Graphics, ColorSync, PDFKit, ImageIO, or Image Capture.","title":"Core Graphics lab","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/U6C6A3WWTJ\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["General"],"registrationServiceID":"U6C6A3WWTJ","registrationServiceQuestionIDs":{"topic":"Z6379S9L3M","appURL":"2VK88C2C8C","designURL":"W3V24S9PR4","questionDetails":"A424TBW2FG","feedbackAssistantID":"QJUA3WQN92","designURLAccessInstructions":"WS22A9J62R"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":91,"topicIds":[91],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"DDC4B207-959D-4883-96C2-086B8CF17BA9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110611":{"id":"wwdc2022-110611","staticContentId":6977,"eventContentId":110611,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:20:25-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/AQ7F87R727\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Games","startTime":"2022-06-07T06:00:00-07:00","endTime":"2022-06-07T10:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/AQ7F87R727\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"AQ7F87R727","registrationServiceQuestionIDs":{"topic":"5N9XQ78J45","appURL":"VMTCGSZQ79","designURL":"WP9276ULPP","questionDetails":"XLKKKF52NY","feedbackAssistantID":"32MKW6CL7H","designURLAccessInstructions":"W32M2N3D7C"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"8EE3B258-7545-4786-A30F-796FC6302E73","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110586":{"id":"wwdc2022-110586","staticContentId":6952,"eventContentId":110586,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:25:37-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/DWY8XWGYTQ\/dashboard","languageCode":"eng","description":"Make your apps accessible and simple to use for everyone. Learn the basics of VoiceOver and other accessibility features to better understand how people who use Apple\u2019s accessibility features will navigate your products. Come prepared with a working prototype, development build, or your released app. \n\nAppointments are 30 minutes long, and are limited to one per person per lab for the duration of the conference. If you do not receive an appointment, you can submit a request again on another day. ","title":"Accessibility design lab","startTime":"2022-06-09T16:00:00-07:00","endTime":"2022-06-09T18:00:00-07:00","signupInformation":{"startDate":"2022-06-08T06:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/DWY8XWGYTQ\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"DWY8XWGYTQ","registrationServiceQuestionIDs":{"appURL":"MYJWZCXA55","designURL":"89AJ5M5DY6","questionDetails":"CDWC855349","feedbackAssistantID":"YNTGPXMU9A","designURLAccessInstructions":"697FA8K2N8"},"ruleSet":{"id":"design"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[87,82],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"21D21A75-2692-44CA-B161-62B4A334A111","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110624":{"id":"wwdc2022-110624","staticContentId":6990,"eventContentId":110624,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:21:52-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8SCD66XDQL\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Games","startTime":"2022-06-08T10:00:00-07:00","endTime":"2022-06-08T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8SCD66XDQL\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"8SCD66XDQL","registrationServiceQuestionIDs":{"topic":"MA66F3R698","appURL":"942775JSW8","designURL":"9SF2777QX9","questionDetails":"N487DJRBGC","feedbackAssistantID":"H2XAMF6J52","designURLAccessInstructions":"FN6VW9887R"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6AD88326-8B6B-47B3-92BA-75FB1CD9FEDC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110581":{"id":"wwdc2022-110581","staticContentId":6947,"eventContentId":110581,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:05:29-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/73S3KQ4A87\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"App Store Server APIs and Notifications lab","startTime":"2022-06-09T10:00:00-07:00","endTime":"2022-06-09T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/73S3KQ4A87\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"73S3KQ4A87","registrationServiceQuestionIDs":{"appURL":"NZRMB644GA","designURL":"Z8UX82WC9V","questionDetails":"9NKTAXU4RS","feedbackAssistantID":"3699YDHMMT","designURLAccessInstructions":"7WW3ZM9G67"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[83,86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"8EF89221-3CEC-4D22-BF88-FD6151833536","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10007","wwdc2022-10039","wwdc2022-10040","wwdc2022-110404"]}},"wwdc2022-110605":{"id":"wwdc2022-110605","staticContentId":6971,"eventContentId":110605,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:05:14-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/TGY4F9YRKB\/dashboard","languageCode":"eng","description":"Meet with an App Review specialist to better understand the App Store Review Guidelines, learn how to prevent common issues, and discuss best practices for a smooth review experience.","title":"App Store Review lab","startTime":"2022-06-09T14:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/TGY4F9YRKB\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App preparation & preventing common rejections","App rejection","In-app purchase & subscription models","New technologies & related guidelines","Privacy best practices","Your feedback & guideline recommendations"],"registrationServiceID":"TGY4F9YRKB","registrationServiceQuestionIDs":{"topic":"J64YCFB2F2","appURL":"5Z778R2QUT","designURL":"3XD5J6R7JC","questionDetails":"67HV6QBTC6","feedbackAssistantID":"A8WRSQ7F54","designURLAccessInstructions":"DQ664R5R39"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"611369C9-2B0F-43B7-AB6D-145249CAEEAE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110590":{"id":"wwdc2022-110590","staticContentId":6956,"eventContentId":110590,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:11:27-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/5LNQ9LJMKN\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple Developer Technical Support engineer to ask a question about existing Apple frameworks, APIs, and tools. Get expert technical guidance about optimizing your code, understanding crashes, and best practices for implementing Apple technologies in your app. For questions about frameworks and API introduced at WWDC22, please register for a technology-specific WWDC22 lab, WWDC22 Digital Lounges activities, or visit the Apple Developer Forums.","title":"Developer Technical Support open hours","startTime":"2022-06-07T14:00:00-07:00","endTime":"2022-06-07T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/5LNQ9LJMKN\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["ARKit","Audio","Codesigning","Crash reports","iCloud\/CloudKit","In-App Purchase","Metal","Networking","On Demand Resources (ODR)","Other","Push Notifications","Security","Sign in With Apple","Siri\/SiriKit","SwiftUI","Widgets"],"registrationServiceID":"5LNQ9LJMKN","registrationServiceQuestionIDs":{"topic":"4QBJA659AU","appURL":"GUYYH2TAF2","designURL":"W2SK824763","questionDetails":"LC25SS5UAZ","feedbackAssistantID":"PK83D6DN38","designURLAccessInstructions":"6345MXNB7W"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[90,88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B5EFFBE9-62A0-4200-8F4B-D6705848ED55","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110577":{"id":"wwdc2022-110577","staticContentId":6943,"eventContentId":110577,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:02:52-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/BHQ7CQML5G\/dashboard","languageCode":"eng","description":"Make your apps accessible and simple to use for everyone. Learn the basics of VoiceOver and other accessibility features to better understand how people who use Apple\u2019s accessibility features will navigate your products. Come prepared with a working prototype, development build, or your released app. \n\nAppointments are 30 minutes long, and are limited to one per person per lab for the duration of the conference. If you do not receive an appointment, you can submit a request again on another day. ","title":"Accessibility design lab","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/BHQ7CQML5G\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"BHQ7CQML5G","registrationServiceQuestionIDs":{"appURL":"CK6XJXCG5L","designURL":"LV4787676D","questionDetails":"S39TN5D59N","feedbackAssistantID":"P6W35T9LS8","designURLAccessInstructions":"8WMD57QRWP"},"ruleSet":{"id":"design"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[87,82],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"38722F92-3A4D-4628-8375-F1BD3BC73A11","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110676":{"id":"wwdc2022-110676","staticContentId":7043,"eventContentId":110676,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:05:43-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/TNAQ9YSM5F\/dashboard","languageCode":"eng","description":"Want to learn more about lightweight migration, NSPersistentCloudKitContainer, or other Core Data functionality? Request an appointment with an Apple engineer for guidance and conversation about all things Core Data.","title":"Core Data lab","startTime":"2022-06-09T13:00:00-07:00","endTime":"2022-06-09T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/TNAQ9YSM5F\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"TNAQ9YSM5F","registrationServiceQuestionIDs":{"appURL":"ZARCFGGN3J","designURL":"752Y5FJUPL","questionDetails":"KJ4J8ANRCM","feedbackAssistantID":"738VD6C9C8","designURLAccessInstructions":"84D6SRGXAT"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"FB8C75C8-DF9C-4301-865F-11792540E4CA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10119","wwdc2022-10120"]}},"wwdc2022-110574":{"id":"wwdc2022-110574","staticContentId":6940,"eventContentId":110574,"eventId":"wwdc2022","contentUpdatedAt":"2024-05-31T13:14:57-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/Y3B73VWSAH\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple designer for a conversation about the latest design principles, best practices, design patterns, and more. Get advice on making your apps simple to use and visually compelling. Come prepared with a working prototype, development build, or your released app.\n\nDesign labs are limited to one appointment request per day and one confirmed appointment for the duration of the conference. Cancelling a confirmed appointment won\u2019t allow you to request another design lab appointment.\n\nYou\u2019ll get an email letting you know whether you received an appointment by 10 p.m. PDT. If you don\u2019t receive an appointment, you can submit a request on another day.","title":"Design lab","startTime":"2022-06-09T16:00:00-07:00","endTime":"2022-06-09T18:00:00-07:00","signupInformation":{"startDate":"2022-06-08T06:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/Y3B73VWSAH\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Interaction focus","Overall app design","Visual focus"],"registrationServiceID":"Y3B73VWSAH","registrationServiceQuestionIDs":{"topic":"5MM67GZB34","appURL":"8C687KMM4P","designURL":"SZ53238UN8","questionDetails":"3A55SM78NZ","feedbackAssistantID":"5H89QDKGX2","designURLAccessInstructions":"A377MT8W2C"},"ruleSet":{"id":"design"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1E620B7A-E5F9-4CD2-AE00-0721CD3B0DBE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10001","wwdc2022-10169","wwdc2022-110340","wwdc2022-110342"],"resources":[430]}},"wwdc2022-110570":{"id":"wwdc2022-110570","staticContentId":6936,"eventContentId":110570,"eventId":"wwdc2022","contentUpdatedAt":"2024-05-31T13:14:57-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/NW4WG43Z4X\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple designer for a conversation about the latest design principles, best practices, design patterns, and more. Get advice on making your apps simple to use and visually compelling. Come prepared with a working prototype, development build, or your released app.\n\nDesign labs are limited to one appointment request per day and one confirmed appointment for the duration of the conference. Cancelling a confirmed appointment won\u2019t allow you to request another design lab appointment.\n\nYou\u2019ll get an email letting you know whether you received an appointment by 10 p.m. PDT. If you don\u2019t receive an appointment, you can submit a request on another day.","title":"Design lab","startTime":"2022-06-08T10:00:00-07:00","endTime":"2022-06-08T12:00:00-07:00","signupInformation":{"startDate":"2022-06-07T06:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/NW4WG43Z4X\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Interaction focus","Overall app design","Visual focus"],"registrationServiceID":"NW4WG43Z4X","registrationServiceQuestionIDs":{"topic":"T94CCRB59A","appURL":"4YN88F52KM","designURL":"33374CZ7H6","questionDetails":"2478RFSZS5","feedbackAssistantID":"2L3VRR2336","designURLAccessInstructions":"MV4QPZ38WR"},"ruleSet":{"id":"design"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"681C1B15-6908-4E42-BF27-07A906882BF5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10001","wwdc2022-10169","wwdc2022-110340","wwdc2022-110342"],"resources":[430]}},"wwdc2022-110613":{"id":"wwdc2022-110613","staticContentId":6979,"eventContentId":110613,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:09:34-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/UB22R375PB\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Games","startTime":"2022-06-07T15:00:00-07:00","endTime":"2022-06-07T20:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/UB22R375PB\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"UB22R375PB","registrationServiceQuestionIDs":{"topic":"RF786SB3JR","appURL":"F2KY4H85CP","designURL":"52QGVY78YD","questionDetails":"7J289NDX94","feedbackAssistantID":"LDSKK8HK43","designURLAccessInstructions":"MP68T4W7UJ"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"37D47A4A-D64D-46AD-AF36-1366A62318EE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110580":{"id":"wwdc2022-110580","staticContentId":6946,"eventContentId":110580,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:11:13-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/7CMJ53JYL7\/dashboard","languageCode":"eng","description":"Make your apps accessible and simple to use for everyone. Learn the basics of VoiceOver and other accessibility features to better understand how people who use Apple\u2019s accessibility features will navigate your products. Come prepared with a working prototype, development build, or your released app. \n\nAppointments are 30 minutes long, and are limited to one per person per lab for the duration of the conference. If you do not receive an appointment, you can submit a request again on another day. ","title":"Accessibility design lab","startTime":"2022-06-07T16:00:00-07:00","endTime":"2022-06-07T18:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/7CMJ53JYL7\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"7CMJ53JYL7","registrationServiceQuestionIDs":{"appURL":"JBGB8434BS","designURL":"8RVS9XDDJM","questionDetails":"5V89S9WTKK","feedbackAssistantID":"7BNNDQLQRL","designURLAccessInstructions":"YG5B478N2R"},"ruleSet":{"id":"design"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[87,82],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D7934FFC-E5D1-437F-96DA-C9758DED3BB7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110460":{"id":"wwdc2022-110460","staticContentId":6821,"eventContentId":110460,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:02:42-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/994GZV7DHS\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about all aspects of security: authorization and authentication, protecting data on device and in transit, cryptography, notarization for Mac apps, App Transport Security, code signing, app attestation, security features on Apple silicon, enterprise security, and more. We\u2019ll also have representatives available to answer questions about supporting interpersonal safety, preserving user trust, and ensuring account security across apps, devices, and services.","title":"Security lab","startTime":"2022-06-08T15:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/994GZV7DHS\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["App Attestation","App Transport Security","Authorization and Authentication","Code Signing","Cryptography","Enterprise Security","Notarization for Mac Apps","Other","Security on Apple Silicon"],"registrationServiceID":"994GZV7DHS","registrationServiceQuestionIDs":{"topic":"MX39RLLGCD","appURL":"X2TWV9CA33","designURL":"388N9V2WRM","questionDetails":"759W5LRVZF","feedbackAssistantID":"HUR89AZN58","designURLAccessInstructions":"X9AVLH94RM"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[96],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0FC1A460-CB8C-4675-A9E8-C5AC82F84C58","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10108","wwdc2022-10109","wwdc2022-110344","wwdc2022-110345"]}},"wwdc2022-110705":{"id":"wwdc2022-110705","staticContentId":7076,"eventContentId":110705,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:25:02-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4N75L8RPN4\/dashboard","languageCode":"eng","description":"Get help with App Store Connect reporting including Sales and Trends, App Analytics, and Payment reports. Receive guidance on downloading reports, understanding terminology, differences between each of reporting tools, and more.","title":"App Store Connect Analytics lab","startTime":"2022-06-07T15:00:00-07:00","endTime":"2022-06-07T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4N75L8RPN4\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["Downloading reports","General overview","Other","Payments and Financial reports","Understanding reporting dashboards","Understanding subscription performance"],"registrationServiceID":"4N75L8RPN4","registrationServiceQuestionIDs":{"topic":"NP4X63RZ7U","appURL":"373L4D5HPZ","designURL":"LTC2MADKPU","questionDetails":"PA94L2NVK7","feedbackAssistantID":"8899A9A54D","designURLAccessInstructions":"Q3S3DR89VK"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1562C22E-07FC-4FAC-9433-50201B890785","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10043","wwdc2022-10044"]}},"wwdc2022-110653":{"id":"wwdc2022-110653","staticContentId":7020,"eventContentId":110653,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:21:57-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/S7G7YK3P64\/dashboard","languageCode":"eng","description":"USD and USDZ enable the production-grade description of 3D scenes and delivery into AR Quick Look and apps for AR. Request an appointment with an Apple engineer for guidance and conversation around these file formats, best practices for creating AR experiences for AR Quick Look, and more. ","title":"USD and AR Quick Look lab","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/S7G7YK3P64\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Anchoring schema","AR Quick Look Integration (iOS)","AR Quick Look Integration (Web)","Audio schema","Behaviors schema","general and pro-workflow USD","Physics schema","Scene Structure","Text schema","USD \/ DCC interchange","USDZ import in RealityKit"],"registrationServiceID":"S7G7YK3P64","registrationServiceQuestionIDs":{"topic":"RP84CBSXG8","appURL":"7GDVB3AA6U","designURL":"2Y4AV9QJC3","questionDetails":"M6A25GSLS3","feedbackAssistantID":"S2V8RD287H","designURLAccessInstructions":"B89PKJ9NC5"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":91,"topicIds":[85,91],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6A7E0203-851F-4BA9-A74E-AC4C32006308","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10129","wwdc2022-10141","wwdc2022-110479","wwdc2022-110654"]}},"wwdc2022-110602":{"id":"wwdc2022-110602","staticContentId":6968,"eventContentId":110602,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:06:07-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/YFPKT9CURB\/dashboard","languageCode":"eng","description":"Meet with an App Review specialist to better understand the App Store Review Guidelines, learn how to prevent common issues, and discuss best practices for a smooth review experience.","title":"App Store Review lab","startTime":"2022-06-08T14:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/YFPKT9CURB\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App preparation & preventing common rejections","App rejection","In-app purchase & subscription models","New technologies & related guidelines","Privacy best practices","Your feedback & guideline recommendations"],"registrationServiceID":"YFPKT9CURB","registrationServiceQuestionIDs":{"topic":"UMBXGN3F2K","appURL":"TX8CG8X47R","designURL":"XYBN2V6FXM","questionDetails":"63725G9GKW","feedbackAssistantID":"F4727T69G8","designURLAccessInstructions":"249TPDP536"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"97139221-2EC4-4351-A973-70BDB75AAA5F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110639":{"id":"wwdc2022-110639","staticContentId":7005,"eventContentId":110639,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:16:22-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/TSH3V7SQ35\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Apps","startTime":"2022-06-10T10:00:00-07:00","endTime":"2022-06-10T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/TSH3V7SQ35\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"TSH3V7SQ35","registrationServiceQuestionIDs":{"topic":"82UTF66QQ3","appURL":"AZGGQAPG45","designURL":"42XNK6YW9B","questionDetails":"UXHBA27KSW","feedbackAssistantID":"S53QB38N8G","designURLAccessInstructions":"QAKBBPF93W"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0C08B1DB-0716-4806-99F7-562DD4C6A66B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110596":{"id":"wwdc2022-110596","staticContentId":6962,"eventContentId":110596,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:11:46-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4C7NHCN27X\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple Developer Technical Support engineer to ask a question about existing Apple frameworks, APIs, and tools. Get expert technical guidance about optimizing your code, understanding crashes, and best practices for implementing Apple technologies in your app. For questions about frameworks and API introduced at WWDC22, please register for a technology-specific WWDC22 lab, WWDC22 Digital Lounges activities, or visit the Apple Developer Forums.","title":"Developer Technical Support open hours","startTime":"2022-06-10T14:00:00-07:00","endTime":"2022-06-10T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4C7NHCN27X\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["ARKit","Audio","Codesigning","Crash reports","iCloud\/CloudKit","In-App Purchase","Metal","Networking","On Demand Resources (ODR)","Other","Push Notifications","Security","Sign in With Apple","Siri\/SiriKit","SwiftUI","Widgets"],"registrationServiceID":"4C7NHCN27X","registrationServiceQuestionIDs":{"topic":"G9VVV5J267","appURL":"XN7K7K8KM3","designURL":"QTSL34J3B3","questionDetails":"4VNBMH2Q56","feedbackAssistantID":"4QB5ZVJZGN","designURLAccessInstructions":"8GP8XSNH86"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[90,88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"2358E3C4-0FD5-4650-B021-1FF8988D759D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110546":{"id":"wwdc2022-110546","staticContentId":6912,"eventContentId":110546,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:21:22-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/5ASRRY9XVN\/dashboard","languageCode":"eng","description":"Have a question related to playback in AVFoundation? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"AVFoundation playback lab","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/5ASRRY9XVN\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"5ASRRY9XVN","registrationServiceQuestionIDs":{"appURL":"2A8UZ89FMG","designURL":"L23386VJS6","questionDetails":"P7942A4DZV","feedbackAssistantID":"2CCG52XQT9","designURLAccessInstructions":"HR8T7KVP4D"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1854DF5E-5070-44AD-A404-F8912A347426","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110380","wwdc2022-110822","wwdc2022-110823"]}},"wwdc2022-110857":{"id":"wwdc2022-110857","staticContentId":7244,"eventContentId":110857,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:09:20-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4FCLKNPJAC\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about AppKit, including the look and feel of your app, adopting SF Symbols, and more.","title":"AppKit lab","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4FCLKNPJAC\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Controls","General","SF Symbols","SwiftUI with AppKit","Toolbars","Windows"],"registrationServiceID":"4FCLKNPJAC","registrationServiceQuestionIDs":{"topic":"473XTF379B","appURL":"7A8KV66X7G","designURL":"FK5K5WB8M6","questionDetails":"7X685YQG9Z","feedbackAssistantID":"5VSUNZCMN7","designURLAccessInstructions":"UXFS99W84X"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5D7A70A3-E081-467E-8238-0F4E2813BE8A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10074","wwdc2022-10075","wwdc2022-10090"]}},"wwdc2022-110656":{"id":"wwdc2022-110656","staticContentId":7023,"eventContentId":110656,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:05:48-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/W74Q8UTKCJ\/dashboard","languageCode":"eng","description":"Object Capture is a photogrammetry technology for MacOS that enables the creation of lifelike 3D models with no prior 3D experience. Request an appointment with an Apple engineer for guidance and conversation about the Object Capture API, best practices, and more.","title":"Object Capture lab","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/W74Q8UTKCJ\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["capture quality \/ scanning best practices","object capture API"],"registrationServiceID":"W74Q8UTKCJ","registrationServiceQuestionIDs":{"topic":"G7DPM8322V","appURL":"FCFK72XT44","designURL":"M8AXD8MCWP","questionDetails":"24U6ALK4Q5","feedbackAssistantID":"A94Z75P572","designURLAccessInstructions":"2BG2Q725U7"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["3d content creation","3d model","ar","photogrammetry","usdz"],"primaryTopicID":85,"topicIds":[91,85],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"7104D20D-8355-4F28-AC23-BE4A6BCB6C68","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10128","wwdc2022-110476","wwdc2022-110477","wwdc2022-110655"]}},"wwdc2022-110560":{"id":"wwdc2022-110560","staticContentId":6926,"eventContentId":110560,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:06:02-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8LHFNSRJ9B\/dashboard","languageCode":"eng","description":"Have a question about Apple Music API or MusicKit Web Apps? Request an appointment with an Apple engineer for guidance and conversation about integrating with Apple Music API or MusicKit JS to your Apps, best practices, and more.","title":"Apple Music API and MusicKit on the Web lab","startTime":"2022-06-08T14:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/8LHFNSRJ9B\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"8LHFNSRJ9B","registrationServiceQuestionIDs":{"appURL":"KV5YHJY5DG","designURL":"RBVCKT7695","questionDetails":"7GG5YQ747Z","feedbackAssistantID":"8B9P8G6LQN","designURLAccessInstructions":"NV29VZFUA7"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"EA752845-F680-47BC-81DF-09DFB21F5026","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10148","wwdc2022-110561","wwdc2022-110825"]}},"wwdc2022-110554":{"id":"wwdc2022-110554","staticContentId":6920,"eventContentId":110554,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:08:49-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/6GZ3GAH4H4\/dashboard","languageCode":"eng","description":"Have a question about SharePlay and Group Activities? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"SharePlay lab","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/6GZ3GAH4H4\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"6GZ3GAH4H4","registrationServiceQuestionIDs":{"appURL":"5KX2CYUQP9","designURL":"76SNTN4ZD2","questionDetails":"V53SWQH2J4","feedbackAssistantID":"AQ3Y69W47W","designURLAccessInstructions":"TL79TB7AMR"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":84,"topicIds":[83,84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1256F7B4-67EF-479F-BE82-D5EBB829C28D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10139","wwdc2022-10140","wwdc2022-110380","wwdc2022-110815","wwdc2022-110822","wwdc2022-110824"]}},"wwdc2022-110851":{"id":"wwdc2022-110851","staticContentId":7238,"eventContentId":110851,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:09:44-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/3QWU6X9ZSB\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about Core ML, Create ML, Vision, VisionKit, Natural Language, machine learning model conversion, model optimization, and more.","title":"Machine Learning & Computer Vision lab","startTime":"2022-06-08T13:00:00-07:00","endTime":"2022-06-08T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/3QWU6X9ZSB\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Core ML","Create ML","General questions and troubleshooting","Metal","Model Conversion","Model Performance","Model Training","Motion analysis","Natural Language","PyTorch","Speech recognition","TensorFlow","Vision"],"registrationServiceID":"3QWU6X9ZSB","registrationServiceQuestionIDs":{"topic":"BHNYTWJ9MH","appURL":"UC24ZHJ5ZB","designURL":"556899U83X","questionDetails":"4UTU6HJ4CK","feedbackAssistantID":"6Q67YNR89Y","designURLAccessInstructions":"PR63766XV2"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":94,"topicIds":[94],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1DAF6F75-999E-416B-B1AD-95E9D05E4055","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10017","wwdc2022-10019","wwdc2022-10020","wwdc2022-10024","wwdc2022-10025","wwdc2022-10026","wwdc2022-10027","wwdc2022-10063","wwdc2022-110332","wwdc2022-110901","wwdc2022-110902","wwdc2022-110903","wwdc2022-110904","wwdc2022-110905","wwdc2022-110906","wwdc2022-110907"]}},"wwdc2022-110852":{"id":"wwdc2022-110852","staticContentId":7239,"eventContentId":110852,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:09:39-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/2NRSJ5YKT6\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about Core ML, Create ML, Vision, VisionKit, Natural Language, machine learning model conversion, model optimization, and more.","title":"Machine Learning & Computer Vision lab","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/2NRSJ5YKT6\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Core ML","Create ML","General questions and troubleshooting","Metal","Model Conversion","Model Performance","Model Training","Motion analysis","Natural Language","PyTorch","Speech recognition","TensorFlow","Vision"],"registrationServiceID":"2NRSJ5YKT6","registrationServiceQuestionIDs":{"topic":"6C4R36Q5LK","appURL":"ZM9J5QY256","designURL":"Y2UJW3QK79","questionDetails":"PTPUNYH4SA","feedbackAssistantID":"42SYDV5NZB","designURLAccessInstructions":"R5WYHMPVSL"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":94,"topicIds":[94],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B802B837-851F-452F-8739-A1A533636929","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10017","wwdc2022-10019","wwdc2022-10020","wwdc2022-10024","wwdc2022-10025","wwdc2022-10026","wwdc2022-10027","wwdc2022-10063","wwdc2022-110332","wwdc2022-110901","wwdc2022-110902","wwdc2022-110903","wwdc2022-110904","wwdc2022-110905","wwdc2022-110906","wwdc2022-110907"]}},"wwdc2022-110595":{"id":"wwdc2022-110595","staticContentId":6961,"eventContentId":110595,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:10:30-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4Y7UW9BV93\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple Developer Technical Support engineer to ask a question about existing Apple frameworks, APIs, and tools. Get expert technical guidance about optimizing your code, understanding crashes, and best practices for implementing Apple technologies in your app. For questions about frameworks and API introduced at WWDC22, please register for a technology-specific WWDC22 lab, WWDC22 Digital Lounges activities, or visit the Apple Developer Forums.","title":"Developer Technical Support open hours","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/4Y7UW9BV93\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["ARKit","Audio","Codesigning","Crash reports","iCloud\/CloudKit","In-App Purchase","Metal","Networking","On Demand Resources (ODR)","Other","Push Notifications","Security","Sign in With Apple","Siri\/SiriKit","SwiftUI","Widgets"],"registrationServiceID":"4Y7UW9BV93","registrationServiceQuestionIDs":{"topic":"27V63GD268","appURL":"3F4DHTSFY9","designURL":"MQ49QUDGHP","questionDetails":"7JS6TA4QX6","feedbackAssistantID":"3U87S77U3Y","designURLAccessInstructions":"VRQ9NAL656"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[90,88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"A63AB017-03A8-41BF-AC07-BF8185CDEA96","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110863":{"id":"wwdc2022-110863","staticContentId":7252,"eventContentId":110863,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:15:09-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/DU3R292TLW\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation around TextKit 2, TextKit and Core Text APIs, best practices, advice on achieving complex text layouts, fonts, adopting SF Symbols, best practices, and more.","title":"TextKit 2, Text, Fonts, and SF Symbols Adoption lab","startTime":"2022-06-10T10:00:00-07:00","endTime":"2022-06-10T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/DU3R292TLW\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Adopting SF Symbols","Custom Text Engine","Fonts","General","NSTextView","Text Layouts","UITextView"],"registrationServiceID":"DU3R292TLW","registrationServiceQuestionIDs":{"topic":"G8S43MX3NV","appURL":"P8Q5WW922F","designURL":"N4VMBY6X2A","questionDetails":"CJV5YP5NLQ","feedbackAssistantID":"QM82M34Y28","designURLAccessInstructions":"KSP92D77CV"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[101,100],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"364E5F28-5EA7-4EB3-A259-7A67F76CF05C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10090","wwdc2021-10061","wwdc2021-100233"]}},"wwdc2022-110582":{"id":"wwdc2022-110582","staticContentId":6948,"eventContentId":110582,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:08:15-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/TQ8N3C2RRP\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about SKAdNetwork and Private Click Measurement, best practices, and more.","title":"SKAdNetwork and Private Click Measurement lab","startTime":"2022-06-10T14:00:00-07:00","endTime":"2022-06-10T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/TQ8N3C2RRP\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"TQ8N3C2RRP","registrationServiceQuestionIDs":{"appURL":"54MD6HJ6JC","designURL":"B83S7Y8FG3","questionDetails":"JL2H4VZXD6","feedbackAssistantID":"6WXVJ9BRX9","designURLAccessInstructions":"4CAHAYCA6H"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[83,86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"F1685890-1F5A-4640-8DDE-C714FC4B2494","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10038"]}},"wwdc2022-110874":{"id":"wwdc2022-110874","staticContentId":7263,"eventContentId":110874,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:22:13-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/9ZG6VWWGV6\/dashboard","languageCode":"eng","description":"The Foundation framework provides a base layer of functionality for apps and frameworks, including data storage and persistence, text processing, date and time calculations, sorting and filtering, and localization. Request an appointment with an Apple engineer for guidance and conversation about best practices, our new AttributedString, Markdown, and Automatic Grammar Agreement API, and more","title":"Foundation lab","startTime":"2022-06-08T13:00:00-07:00","endTime":"2022-06-08T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/9ZG6VWWGV6\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["General","NSURLSession should go to Network lab"],"registrationServiceID":"9ZG6VWWGV6","registrationServiceQuestionIDs":{"topic":"9RQWG885B6","appURL":"RGT944H7WM","designURL":"UVK8T6W848","questionDetails":"Y4G35Q27CF","feedbackAssistantID":"62HMUS7GMC","designURLAccessInstructions":"GB5H8ZPUAY"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"16C54DB7-119C-4F61-9F90-A2E82A2C4E80","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110868":{"id":"wwdc2022-110868","staticContentId":7257,"eventContentId":110868,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:23:57-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/6LB94U7YTB\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about running your iPad and iPhone apps on Macs with M1, bringing your iPad app to Mac with Mac Catalyst, the Mac idiom, using SwiftUI in your Mac Catalyst apps, and more.","title":"iPad and iPhone apps on M1 and Mac Catalyst lab","startTime":"2022-06-08T10:00:00-07:00","endTime":"2022-06-08T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/6LB94U7YTB\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["General","iPhone and iPad apps on macOS","Mac Catalyst","Mac idiom"],"registrationServiceID":"6LB94U7YTB","registrationServiceQuestionIDs":{"topic":"PSDGVH3YS9","appURL":"S25D9755UK","designURL":"N92MTKUQ5U","questionDetails":"Y8HYPT7RR4","feedbackAssistantID":"2B3HKZD6V5","designURLAccessInstructions":"48A8995485"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"26BD453C-26C0-4711-AC9E-7919700E7197","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10076"]}},"wwdc2022-110715":{"id":"wwdc2022-110715","staticContentId":7087,"eventContentId":110715,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:06:31-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/W7956366R5\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"Xcode build performance lab","startTime":"2022-06-07T13:00:00-07:00","endTime":"2022-06-07T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/W7956366R5\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Build System and xcodebuild","Other","Projects Targets and Schemes","XCFrameworks"],"registrationServiceID":"W7956366R5","registrationServiceQuestionIDs":{"topic":"5AVBGWNJWG","appURL":"GP2DC4HZT9","designURL":"FMW98G4GX2","questionDetails":"RLC2MRQMPZ","feedbackAssistantID":"479RNWC484","designURLAccessInstructions":"7UW59A2HH8"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B0304B62-41CD-4A05-AECE-07567F5229C3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110364"]}},"wwdc2022-110545":{"id":"wwdc2022-110545","staticContentId":6911,"eventContentId":110545,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:19:24-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/JTVCMYR86H\/dashboard","languageCode":"eng","description":"Have a question about any aspect of AVFoundation? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"AVFoundation lab","startTime":"2022-06-07T15:00:00-07:00","endTime":"2022-06-07T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/JTVCMYR86H\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"JTVCMYR86H","registrationServiceQuestionIDs":{"appURL":"CGSHNX4F3U","designURL":"RD3YW7KAAS","questionDetails":"5XSKQ3J3JU","feedbackAssistantID":"5248P263TZ","designURLAccessInstructions":"QVM9Y33RV9"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"55C61A34-E718-4C8D-B9A1-99A4469A8A35","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110379","wwdc2022-110380","wwdc2022-110822","wwdc2022-110823"]}},"wwdc2022-110578":{"id":"wwdc2022-110578","staticContentId":6944,"eventContentId":110578,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:05:33-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/BHN5865FGW\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about the latest StoreKit APIs, in-app purchases, best practices, and more.","title":"StoreKit and in-app purchase lab","startTime":"2022-06-07T14:00:00-07:00","endTime":"2022-06-07T16:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/BHN5865FGW\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"BHN5865FGW","registrationServiceQuestionIDs":{"appURL":"6367ZV9V38","designURL":"UJSBM64M2A","questionDetails":"4JT6RWLQNV","feedbackAssistantID":"XD7C5374VA","designURLAccessInstructions":"2ZDLB5F2Y4"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":83,"topicIds":[86,83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"A1252A30-0A01-4AAE-A6BB-076D63248261","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10007","wwdc2022-10039","wwdc2022-10040","wwdc2022-110404"]}},"wwdc2022-110739":{"id":"wwdc2022-110739","staticContentId":7111,"eventContentId":110739,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:16:52-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/BQMF5KJJ43\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"Xcode open hours lab","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/BQMF5KJJ43\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["App Store Distribution","App Thinning","Asset Catalog","AutoLayout","Build System and xcodebuild","Code Signing\/Provisioning","Continuous Integration","Core Data Editor","CoreML Editor","Crash Energy and Metrics Organizer","Device Support","Enterprise Distribution","Git Integration","Indexing","Interface Builder\/Storyboards","Localization","Other","Projects Targets and Schemes","SceneKit Editor","Simulator","Siri Intents Editor","Source Editor","SpriteKit Editor","Swift Package Manager","XCFrameworks","Xcode Cloud","Xcode Playgrounds","Xcode SwiftUI Previews","XCTest (Performance Testing)","XCTest (UI Testing)","XCTest (Unit Testing)"],"registrationServiceID":"BQMF5KJJ43","registrationServiceQuestionIDs":{"topic":"SPWV52MDFZ","appURL":"YLV58AV6VM","designURL":"J464D8YB9L","questionDetails":"5Y4WP9JU74","feedbackAssistantID":"769NN9N499","designURLAccessInstructions":"9GJBU32MFF"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D128A32B-3723-420B-B3A9-2BE47431F5A7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110371","wwdc2022-110427"]}},"wwdc2022-110631":{"id":"wwdc2022-110631","staticContentId":6997,"eventContentId":110631,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:03:40-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/H4NC89Z28D\/dashboard","languageCode":"eng","description":"Receive guidance on business models, marketing, user engagement, international expansion, getting featured on the App Store, and more. During the conversation, you may share your business and marketing plans or other relevant information.","title":"App Store business and marketing lab: Games","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T20:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/H4NC89Z28D\/dashboard","text":"","appointmentDurationMinutes":20,"labTopics":["App Store featuring","Business models & monetization","Expanding to new markets","Marketing","Other","Product page optimization","User engagement & retention"],"registrationServiceID":"H4NC89Z28D","registrationServiceQuestionIDs":{"topic":"MWSCFMZ3GQ","appURL":"G2BUU7RR33","designURL":"FM64JJT467","questionDetails":"PJ43FJ6JQ7","feedbackAssistantID":"NH4AY48S9S","designURLAccessInstructions":"PLF293WUHA"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C05E722A-55CD-4FFF-BF5C-8D0027442108","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110464":{"id":"wwdc2022-110464","staticContentId":6825,"eventContentId":110464,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:04:39-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/2878U9DA9K\/dashboard","languageCode":"eng","description":"Make your app a great global citizen. Request an appointment with an Apple engineer for guidance and conversation about internationalization and localization.","title":"Internationalization and localization lab","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/2878U9DA9K\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Formatters","Localization in Xcode","Other","RTL","Text and Fonts","UI Layout\/Auto Layout"],"registrationServiceID":"2878U9DA9K","registrationServiceQuestionIDs":{"topic":"29B58NMXUM","appURL":"C52PK62U33","designURL":"QD7DKY38T2","questionDetails":"CK8B2YUK63","feedbackAssistantID":"5M4NKVF5QC","designURLAccessInstructions":"P5HRGMT5KH"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[82,100],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"83A145E2-D141-4505-A0A3-9F66AEE67A1E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10034","wwdc2022-10107","wwdc2022-10110","wwdc2022-110441"]}},"wwdc2022-110787":{"id":"wwdc2022-110787","staticContentId":7167,"eventContentId":110787,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:05:04-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/UYB8TYTD3T\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"Privacy lab","startTime":"2022-06-08T15:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/UYB8TYTD3T\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["App Tracking Transparency","General","Nutrition Labels"],"registrationServiceID":"UYB8TYTD3T","registrationServiceQuestionIDs":{"topic":"4L2Z57P587","appURL":"CC224KJ786","designURL":"BP77H4S53Z","questionDetails":"4FCMHXA78G","feedbackAssistantID":"7A7SH88F54","designURLAccessInstructions":"99977AD9D3"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[101,96],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E34752C5-4946-4FF9-918C-621030BD17D1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10096","wwdc2022-110785","wwdc2022-110786","wwdc2022-110788","wwdc2022-110789","wwdc2022-110790"]}},"wwdc2022-110847":{"id":"wwdc2022-110847","staticContentId":7234,"eventContentId":110847,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:07:31-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/46BKA6Z657\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about Virtualization framework, including macOS and Linux virtual machines, Rosetta 2, and more.","title":"Virtualization lab","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/46BKA6Z657\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"46BKA6Z657","registrationServiceQuestionIDs":{"appURL":"DQ243CP8SV","designURL":"3Z2QWGGFJK","questionDetails":"9YRXJ36Y82","feedbackAssistantID":"49FNRC2ARW","designURLAccessInstructions":"S2Z272NT9P"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":101,"topicIds":[101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C5AF3E70-0972-49C3-BB10-B7D88B9EECA4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10002"]}},"wwdc2022-110736":{"id":"wwdc2022-110736","staticContentId":7108,"eventContentId":110736,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:06:36-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/3WMRG3Y3K9\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"Xcode open hours lab","startTime":"2022-06-09T13:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/3WMRG3Y3K9\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["App Store Distribution","App Thinning","Asset Catalog","AutoLayout","Build System and xcodebuild","Code Signing\/Provisioning","Continuous Integration","Core Data Editor","CoreML Editor","Crash Energy and Metrics Organizer","Device Support","Enterprise Distribution","Git Integration","Indexing","Interface Builder\/Storyboards","Localization","Other","Projects Targets and Schemes","SceneKit Editor","Simulator","Siri Intents Editor","Source Editor","SpriteKit Editor","Swift Package Manager","XCFrameworks","Xcode Cloud","Xcode Playgrounds","Xcode SwiftUI Previews","XCTest (Performance Testing)","XCTest (UI Testing)","XCTest (Unit Testing)"],"registrationServiceID":"3WMRG3Y3K9","registrationServiceQuestionIDs":{"topic":"A487JK5M2P","appURL":"75K34VYFUU","designURL":"H4Z5X5B64P","questionDetails":"P7LT9ZG9VD","feedbackAssistantID":"UYC2T7ZKFZ","designURLAccessInstructions":"W6L2QCH39G"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"8828E66D-0A98-4636-9C4B-1FC01554570D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110371","wwdc2022-110427"]}},"wwdc2022-110622":{"id":"wwdc2022-110622","staticContentId":6988,"eventContentId":110622,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:03:55-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/MTUCQS2B94\/dashboard","languageCode":"eng","description":"RoomPlan can help your app quickly create simplified parametric 3D scans of a room. Request an appointment with an Apple engineer for guidance and conversation about the RoomPlan API, best practices, and more.","title":"RoomPlan lab","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/MTUCQS2B94\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Data API","room scanning experience API","USD\/usdz export"],"registrationServiceID":"MTUCQS2B94","registrationServiceQuestionIDs":{"topic":"F4L48KCJ25","appURL":"RW6UL6K546","designURL":"D276XF865U","questionDetails":"T3X6AZ839K","feedbackAssistantID":"3R64873SCJ","designURLAccessInstructions":"DFHXLY3NVS"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":85,"topicIds":[91,85],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E64E19B4-E691-48FB-8021-E371C5A96C9D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10127","wwdc2022-110474","wwdc2022-110475","wwdc2022-110621"]}},"wwdc2022-110500":{"id":"wwdc2022-110500","staticContentId":6864,"eventContentId":110500,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:02:37-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/SM29458MJR\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about App Clips, including size optimization, troubleshooting, best practices, and more.","title":"App Clips lab","startTime":"2022-06-07T13:00:00-07:00","endTime":"2022-06-07T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/SM29458MJR\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"SM29458MJR","registrationServiceQuestionIDs":{"appURL":"6JB779ZA8C","designURL":"2249CA78H5","questionDetails":"YL3MJ85LR2","feedbackAssistantID":"LJQPUVC43P","designURLAccessInstructions":"C352J8V823"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"A20EC2DD-BCD8-4124-9EFE-32B2116AEF6B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10097"]}},"wwdc2022-110459":{"id":"wwdc2022-110459","staticContentId":6820,"eventContentId":110459,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:02:22-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/Z94866V877\/dashboard","languageCode":"eng","description":"CarPlay is a smarter, safer way to use your iPhone in the car. Request an appointment with an Apple engineer for guidance and conversation about creating CarPlay apps. And if you're an automaker, find out how to support the latest CarPlay features in your cars.","title":"CarPlay lab","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/Z94866V877\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["CarPlay apps (CarPlay framework)","CarPlay apps (general)","CarPlay systems and hardware","Other"],"registrationServiceID":"Z94866V877","registrationServiceQuestionIDs":{"topic":"344A4GSH4T","appURL":"KZ96AB7X69","designURL":"D3PNNRR2GF","questionDetails":"Y5486F6JQS","feedbackAssistantID":"C49GK6YL9Z","designURLAccessInstructions":"MTXCRYBR5M"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"246F3854-74ED-4734-AA92-1A4CEC30DF8B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10016"]}},"wwdc2022-110589":{"id":"wwdc2022-110589","staticContentId":6955,"eventContentId":110589,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:11:41-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/H4HBA8CJX2\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple Developer Technical Support engineer to ask a question about existing Apple frameworks, APIs, and tools. Get expert technical guidance about optimizing your code, understanding crashes, and best practices for implementing Apple technologies in your app. For questions about frameworks and API introduced at WWDC22, please register for a technology-specific WWDC22 lab, WWDC22 Digital Lounges activities, or visit the Apple Developer Forums.","title":"Developer Technical Support open hours","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/H4HBA8CJX2\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["ARKit","Audio","Codesigning","Crash reports","iCloud\/CloudKit","In-App Purchase","Metal","Networking","On Demand Resources (ODR)","Other","Push Notifications","Security","Sign in With Apple","Siri\/SiriKit","SwiftUI","Widgets"],"registrationServiceID":"H4HBA8CJX2","registrationServiceQuestionIDs":{"topic":"U9543UMGBF","appURL":"ZJK7DF76MJ","designURL":"7AB36NT5P9","questionDetails":"F8A254S947","feedbackAssistantID":"Y36P48KPAW","designURLAccessInstructions":"MG939KAV8U"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[90,88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C051B9DB-B6C6-4C28-8DE4-0A6B2C6361F7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110735":{"id":"wwdc2022-110735","staticContentId":7107,"eventContentId":110735,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:14:26-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/55TK9U3C9L\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"Xcode open hours lab","startTime":"2022-06-08T17:00:00-07:00","endTime":"2022-06-08T20:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/55TK9U3C9L\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["App Store Distribution","App Thinning","Asset Catalog","AutoLayout","Build System and xcodebuild","Code Signing\/Provisioning","Continuous Integration","Core Data Editor","CoreML Editor","Crash Energy and Metrics Organizer","Device Support","Enterprise Distribution","Git Integration","Indexing","Interface Builder\/Storyboards","Localization","Other","Projects Targets and Schemes","SceneKit Editor","Simulator","Siri Intents Editor","Source Editor","SpriteKit Editor","Swift Package Manager","XCFrameworks","Xcode Cloud","Xcode Playgrounds","Xcode SwiftUI Previews","XCTest (Performance Testing)","XCTest (UI Testing)","XCTest (Unit Testing)"],"registrationServiceID":"55TK9U3C9L","registrationServiceQuestionIDs":{"topic":"XQ59A6975D","appURL":"43CBX5BMQ2","designURL":"86F9U6Q74C","questionDetails":"5A9YQ54D7K","feedbackAssistantID":"539ALW7D64","designURLAccessInstructions":"U8MW8MFH7G"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"871DF85C-1C78-47D7-83E3-897E421155CB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110371","wwdc2022-110427"]}},"wwdc2022-110746":{"id":"wwdc2022-110746","staticContentId":7118,"eventContentId":110746,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:14:40-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/TV92FPP983\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"Xcode Cloud and testing open hours lab","startTime":"2022-06-09T13:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/TV92FPP983\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Continuous Integration","Other","Xcode Cloud","XCTest (Performance Testing)","XCTest (UI Testing)","XCTest (Unit Testing)"],"registrationServiceID":"TV92FPP983","registrationServiceQuestionIDs":{"topic":"4G2APTLJ9J","appURL":"59F5R2ZMM7","designURL":"VBDM9SJ6DD","questionDetails":"HCATV3256T","feedbackAssistantID":"9GLSCV6FH5","designURLAccessInstructions":"J8S98G42XM"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6E83CDE2-6503-494E-99E0-6B32EE1F9CF0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110361","wwdc2022-110374","wwdc2022-110375"]}},"wwdc2022-110843":{"id":"wwdc2022-110843","staticContentId":7227,"eventContentId":110843,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:16:37-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/22RDP8PBL2\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about Core Image, including how to use CIFilters with Extended Dynamic Range (EDR) headroom, methods to add kernels written in the Metal Shading Language, best practices for rendering to MTKViews, and more.","title":"Core Image lab","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T11:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/22RDP8PBL2\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"22RDP8PBL2","registrationServiceQuestionIDs":{"appURL":"D6TMPKZ3SH","designURL":"TJRK3JQVJJ","questionDetails":"QR8R2A4B9T","feedbackAssistantID":"3J7TXP7SUD","designURLAccessInstructions":"87724GDJ44"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["coreimage","filters","hardware","hdr","image","image processing","metal","metal shading language","metal tools","photos"],"primaryTopicID":95,"topicIds":[84,91,95],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"43330835-A809-4947-94F8-643E9886D211","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10113","wwdc2022-10114","wwdc2022-110537","wwdc2022-110565","wwdc2022-110954"]}},"wwdc2022-110331":{"id":"wwdc2022-110331","staticContentId":6683,"eventContentId":110331,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:14:50-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/A6NKUXX6V5\/dashboard","languageCode":"eng","description":"Want to learn more about Sign in with Apple, and how you can use the new revoke endpoint for account deletion? Request an appointment with an Apple engineer for guidance and conversation about all things Sign in with Apple.","title":"Sign in with Apple lab","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T18:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/A6NKUXX6V5\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"A6NKUXX6V5","registrationServiceQuestionIDs":{"appURL":"3GL8Y35QQ4","designURL":"692LF99996","questionDetails":"54B32MS62G","feedbackAssistantID":"4TJHZFB9M3","designURLAccessInstructions":"J43M7YLADM"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[96],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"12DC3E6A-26C0-4482-ADE4-C28BBA6C6F05","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10122"]}},"wwdc2022-110673":{"id":"wwdc2022-110673","staticContentId":7040,"eventContentId":110673,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:18:35-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/JBTM4UR9CM\/dashboard","languageCode":"eng","description":"Want to learn more about CKTool JS, zone sharing, Act as iCloud, or other CloudKit functionality? Request an appointment with an Apple engineer for guidance and conversation about all things CloudKit.","title":"CloudKit lab","startTime":"2022-06-08T10:00:00-07:00","endTime":"2022-06-08T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/JBTM4UR9CM\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["CloudKit Console\/Configuration","Other","Sharing","Syncing","Troubleshooting","Web Access"],"registrationServiceID":"JBTM4UR9CM","registrationServiceQuestionIDs":{"topic":"5NWB64MSKT","appURL":"6XF2KJ27T2","designURL":"77K8JC732B","questionDetails":"2S6QW42668","feedbackAssistantID":"D729Y7WT93","designURLAccessInstructions":"YRKYAX5L63"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[83,101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"299E441F-C581-4B86-8DBA-0CCF0C61D04D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10115","wwdc2022-10116"]}},"wwdc2022-110728":{"id":"wwdc2022-110728","staticContentId":7100,"eventContentId":110728,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:19:05-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/NB643GWG42\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest Swift APIs, best practices, and more.","title":"Swift open hours lab","startTime":"2022-06-08T17:00:00-07:00","endTime":"2022-06-08T20:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/NB643GWG42\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["Apple Swift Packages","C\/Objective-C interoperability","Generics\/Protocols","Other","Property Wrappers","Runtime Performance","Standard Library","Swift Build Times","Swift Concurrency","Swift Language","Swift on Non-Darwin","Swift Package Manager"],"registrationServiceID":"NB643GWG42","registrationServiceQuestionIDs":{"topic":"YUG6XD62KR","appURL":"L6ANL347CF","designURL":"R5CUTXNCA4","questionDetails":"WR9798UP7S","feedbackAssistantID":"6PMQSCNP98","designURLAccessInstructions":"PD22SAZSTM"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"7EB0996D-5475-4F8E-B7A0-6A3B2886AF5A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110350","wwdc2022-110351","wwdc2022-110352","wwdc2022-110353","wwdc2022-110354","wwdc2022-110355","wwdc2022-110356","wwdc2022-110357","wwdc2022-110358","wwdc2022-110359","wwdc2022-110360","wwdc2022-110401"]}},"wwdc2022-110711":{"id":"wwdc2022-110711","staticContentId":7083,"eventContentId":110711,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:19:19-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/6QPX9B5FG6\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.","title":"Signing and distribution lab","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T13:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-06T18:00:00-07:00","screeningEndDate":"2022-06-06T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/6QPX9B5FG6\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["App Store Distribution","App Thinning","Archiving","Capabilities","Cloud Signing","Code Signing","Developer ID","Enterprise Distribution","Entitlements","Notarization","Other","Provisioning Profiles","Signing Certificates","TestFlight Feedback"],"registrationServiceID":"6QPX9B5FG6","registrationServiceQuestionIDs":{"topic":"GTXHFAJA53","appURL":"9K59CSK98M","designURL":"35FCGV2UL7","questionDetails":"HT539J58LS","feedbackAssistantID":"SGK8567TBP","designURLAccessInstructions":"75DPFDBQG4"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"A7F00B9A-6894-4DBB-B213-AB1EB47FCD40","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110790":{"id":"wwdc2022-110790","staticContentId":7170,"eventContentId":110790,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:23:29-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/FKKFWBZD8Q\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about how to create your Privacy Nutrition Labels and best practices for building trust through better privacy.","title":"Privacy Nutrition Labels lab","startTime":"2022-06-09T14:30:00-07:00","endTime":"2022-06-09T16:30:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/FKKFWBZD8Q\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["General"],"registrationServiceID":"FKKFWBZD8Q","registrationServiceQuestionIDs":{"topic":"3H923666LJ","appURL":"8L2W6R99PC","designURL":"8T586H7QU9","questionDetails":"X6BV6RKTFB","feedbackAssistantID":"DF33A884FK","designURLAccessInstructions":"XR4ZG7VS46"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[101,96],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"61BE7375-5C0A-4B92-A75C-65551E1A2683","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10096","wwdc2022-10167","wwdc2022-110785","wwdc2022-110786","wwdc2022-110787","wwdc2022-110788"]}},"wwdc2022-110651":{"id":"wwdc2022-110651","staticContentId":7018,"eventContentId":110651,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:25:57-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/5TJ5394S74\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app, the ReplayKit API, best practices, and more.","title":"ReplayKit lab","startTime":"2022-06-10T13:00:00-07:00","endTime":"2022-06-10T15:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/5TJ5394S74\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"5TJ5394S74","registrationServiceQuestionIDs":{"appURL":"2YK295X7ZB","designURL":"F98665H328","questionDetails":"8R392XAPTF","feedbackAssistantID":"F7TRLLP5TU","designURLAccessInstructions":"A5C33R6D66"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":91,"topicIds":[84,91],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"374CF762-AEA9-43A9-99D8-9A0CF6B0FF92","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110547":{"id":"wwdc2022-110547","staticContentId":6913,"eventContentId":110547,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:24:38-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/K69J48VJXQ\/dashboard","languageCode":"eng","description":"Have a question about AVKit? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.","title":"AVKit lab","startTime":"2022-06-10T10:00:00-07:00","endTime":"2022-06-10T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-09T18:00:00-07:00","screeningEndDate":"2022-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/K69J48VJXQ\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"K69J48VJXQ","registrationServiceQuestionIDs":{"appURL":"68DX7VD246","designURL":"Z5LS2F62F2","questionDetails":"9YKBCNYN2K","feedbackAssistantID":"2QZDQP6XK9","designURLAccessInstructions":"VDJ2SQA6JS"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"F0C6EC52-E935-45A8-A71A-774CC8B31733","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10147","wwdc2022-110817","wwdc2022-110826"]}},"wwdc2022-110877":{"id":"wwdc2022-110877","staticContentId":7266,"eventContentId":110877,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:05:19-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/6GCCX88RR5\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about iCloud Private Relay, Private Access Tokens, DNSSEC, network latency, LS4, NSURLSession, the latest networking APIs, best practices, and more.","title":"Networking lab","startTime":"2022-06-08T14:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-07T18:00:00-07:00","screeningEndDate":"2022-06-07T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/6GCCX88RR5\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":["DNSSEC","Encrypted DNS","General","iCloud Private Relay","LS4","Network Latency","NSURLSession","Private Access Tokens","QUIC"],"registrationServiceID":"6GCCX88RR5","registrationServiceQuestionIDs":{"topic":"5SZLK4C69M","appURL":"ND8YKHJ3Z2","designURL":"CZ33XN7QZ7","questionDetails":"S764FHZL7Y","feedbackAssistantID":"QDN5MM392L","designURLAccessInstructions":"92586QC3X4"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[96,101],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"75AC0CB8-7E9E-487B-9F95-D83CD58D7941","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10077","wwdc2022-10078","wwdc2022-10079"]}},"wwdc2022-110946":{"id":"wwdc2022-110946","staticContentId":7343,"eventContentId":110946,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:20:20-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/7U8FJY9Q99\/dashboard","languageCode":"eng","description":"Request an appointment with an Apple engineer for guidance and conversation about your app and the latest HealthKit and workouts APIs, best practices, and more.","title":"HealthKit and workouts lab","startTime":"2022-06-09T10:00:00-07:00","endTime":"2022-06-09T12:00:00-07:00","signupInformation":{"startDate":"2022-06-06T12:00:00-07:00","endDate":"2022-06-08T18:00:00-07:00","screeningEndDate":"2022-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc22\/labs-and-lounges\/dashboard\/7U8FJY9Q99\/dashboard","text":"","appointmentDurationMinutes":30,"labTopics":[],"registrationServiceID":"7U8FJY9Q99","registrationServiceQuestionIDs":{"appURL":"2734N7LC69","designURL":"426J9CP6HY","questionDetails":"KSJU7KHY3U","feedbackAssistantID":"T398684UWY","designURLAccessInstructions":"2LA77TDYJM"},"ruleSet":{"id":"technology"}},"publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","watchOS"],"primaryTopicID":92,"topicIds":[92],"type":"Lab by Appointment","typeSemanticID":"scheduled-consultation","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6A9046F5-982C-4947-954A-BE79D3DD04FA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10005"]}}},"groupLabs":{"wwdc2026-8006":{"id":"wwdc2026-8006","staticContentId":10961,"eventContentId":8006,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-02T11:08:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8006","languageCode":"eng","description":"Join us online for a deep dive into WWDC26 with Apple engineers and designers to ask questions, get advice, and follow the discussion about the week\u2019s biggest SwiftUI announcements. Conducted in English.","title":"SwiftUI Group Lab","startTime":"2026-06-10T09:00:00-07:00","endTime":"2026-06-10T10:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-swiftui-group-lab-wednesday"}},"roomId":134,"imagesUUID":"013B4B68-DB2F-4CD2-965E-855CE487AEEF","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8006\/1\/b531da5e-7fd6-4d3b-8378-76364af6e675\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8006\/1\/b531da5e-7fd6-4d3b-8378-76364af6e675\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8006\/1\/b531da5e-7fd6-4d3b-8378-76364af6e675\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8006\/1\/b531da5e-7fd6-4d3b-8378-76364af6e675\/downloads\/wwdc2026-8006_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8006\/1\/b531da5e-7fd6-4d3b-8378-76364af6e675\/downloads\/wwdc2026-8006_sd.mp4","duration":3658,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"Engineers from the SwiftUI team introduce themselves and set up a session covering SwiftUI architecture, view identity and updates, performance and view invalidation, the ContentBuilder change, navigation and scroll APIs, lazy layouts, and concurrency with @Observable and @State.","end":63},{"start":63,"title":"Is there an architecture (MVC, MVVM, VIPER, Clean Architecture, etc.) the SwiftUI team expects us to adopt, or is SwiftUI intentionally architecture-agnostic?","summary":"SwiftUI doesn't prescribe an architecture \u2014 it's designed to be architecture-agnostic, so use whatever pattern fits your app. @Observable helps here: it can model your data in AppKit\/UIKit today and eases the transition to SwiftUI, and it's plain Swift not tied to any UI framework. If your chosen architecture integrates poorly or feels awkward passing data around, file feedback so the team can improve the ergonomics.","end":271},{"start":271,"title":"What's the difference between a @ViewBuilder closure and a separate view struct, and what are the performance pros and cons of each?","summary":"Both are valid; the choice is about clarity more than raw performance. Breaking a large body into smaller pieces makes views easier to reason about \u2014 a separate view struct gives SwiftUI a distinct identity and its own dependency tracking, so it can update independently, while a @ViewBuilder computed property is inlined into the parent and re-evaluates with it. Prefer separate view types when a subsection has its own state or should update on its own.","end":619},{"start":619,"title":"What are the most common anti-patterns in SwiftUI you've seen lately?","summary":"A frequently cited one is overusing GeometryReader \u2014 audit where you use it and prefer the Layout protocol (introduced a few years ago) where possible. More broadly, watch for patterns that cause excessive view invalidation. The framing the team prefers is less \"anti-pattern\" and more knowing the idiomatic right way to express layout and state.","end":1046},{"start":1046,"title":"What's one concept in SwiftUI that takes developers the longest to understand, and how would you explain it?","summary":"The hidden part is how SwiftUI updates via an internal graph \u2014 nodes represent views and edges represent their inputs (dependencies). SwiftUI uses that structure to determine which parts of your hierarchy need to update when data changes. Understanding that your view's inputs define its update behavior is the mental model that unlocks most performance and correctness questions.","end":1440},{"start":1440,"title":"In UIKit, cell reuse was fundamental to scrolling performance. Are lazy stacks and grids enough for infinitely scrolling layouts in SwiftUI, or should you drop down to a hosted UICollectionView?","summary":"UIKit relied on cell reuse mainly because views are reference types allocated on the heap, so every row carried a fixed allocation cost plus the overhead of inserting and removing it from the hierarchy. SwiftUI doesn't have that same problem, so you generally don't need to reach for a hosted UICollectionView. Lazy stacks and grids also bring real advantages: implicit prefetching starts evaluating the view bodies of cells about to scroll on screen, and because the view graph is made of individual nodes, SwiftUI can partially evaluate the next cell in the time left after rendering the current frame, then pause right before the next frame. One performance caveat: reconfiguring a cell's state in onAppear can change its size and force it to lay out again, throwing away that prefetched work \u2014 so do that setup in the initializer rather than in body or onAppear. As with onChange, prefer letting your data model drive changes, since both onChange and onAppear live in the view body and force it to recompute.","end":1615},{"start":1615,"title":"The change from @ViewBuilder to @ContentBuilder looks great \u2014 how does it work, and why did it improve type-checking performance?","summary":"See the What's New in SwiftUI talk for a visual walkthrough. The change reworks how the result builder is structured so the compiler type-checks builder content more efficiently, reducing the combinatorial type-checking cost that could make large view bodies slow to compile \u2014 without changing how you write your views.","end":1792},{"start":1792,"title":"When your teams hit a mystery re-render storm, what's the real workflow \u2014 the new SwiftUI Instrument, Self._printChanges, or something else? And why the underscore?","summary":"The recommended path is the SwiftUI Instrument, which visualizes updates and shows which views are re-evaluating and why. Self._printChanges remains a handy quick check for what caused a view to update; the underscore signals it's a debugging aid rather than stable API. Use the Instrument for systematic investigation of over-updating.","end":2058},{"start":2058,"title":"With the @ContentBuilder compilation improvements, is there any reason to keep using @ViewBuilder, and when should we choose each?","summary":"ContentBuilder and ViewBuilder are effectively the same \u2014 ContentBuilder is a type alias \u2014 so existing @ViewBuilder code keeps working unchanged. The one meaningful difference is reach: ContentBuilder can be used outside of views, so you can build your own SwiftUI-like DSLs and result-builder-based building blocks that aren't SwiftUI views. If you don't need that, there's nothing you have to change.","end":2126},{"start":2126,"title":"SwiftUI property wrappers feel like opaque magic. If I don't fully grasp how @State manages its lifecycle, how can I safely adopt Swift Concurrency \u2014 what's the mental model connecting them?","summary":"SwiftUI runs your view updates on the main actor, so @State and view body evaluation happen on the main thread by default \u2014 that's the anchor. Concurrency is about moving work off the main actor and bringing results back. You don't need to master @State's internal storage; the model is: UI state lives on the main actor, do async work elsewhere, and update that state back on the main actor.","end":2312},{"start":2312,"title":"What's the recommended way to implement navigation in iOS 27 if custom transitions are required \u2014 SwiftUI or UIKit+SwiftUI?","summary":"It depends on your app's needs, but iOS 27 adds a new SwiftUI API for customizing navigation transitions, with built-in support for cross-fades and other custom transitions. If those cover your case, stay in SwiftUI; only reach for UIKit interop when you need a transition the new API doesn't support.","end":2438},{"start":2438,"title":"What's the recommended way to track a ScrollView's scrolling offset, to show certain view elements based on how far the user has scrolled?","summary":"There are a few APIs depending on what you need: the onGeometryChange modifier, scroll effects (which offload work and are more efficient in some cases), and the scrollPosition modifier to know which item is currently on screen. Treat the raw content offset as an implementation detail \u2014 with lazy stacks it's only estimated from off-screen view heights and has no reliable semantic meaning \u2014 and instead trigger changes relative to the views actually on screen. There's also an API (covered in Rens' talk) for tracking what percentage of a view is visible, which is ideal for analytics or impression tracking. And a common way to build infinite scrolling is to put a view at the bottom of the list whose onAppear tells your networking layer to fetch more data.","end":2621},{"start":2621,"title":"Is there a way to build custom layouts that are lazy, similar to LazyVStack?","summary":"Not today \u2014 there's no protocol for describing a custom lazy layout; the Layout protocol is eager. If this matters for your use case, file a Feedback request with details, since developer demand helps prioritize adding it.","end":2715},{"start":2715,"title":"What's the most common mistake in large SwiftUI apps that ends up hurting performance?","summary":"Too much invalidation cascading from the top. A frequent cause is putting something high in the environment that many downstream views read \u2014 when it changes, everything observing it re-evaluates. Scope state so changes invalidate only the views that actually depend on them, rather than triggering wide downstream updates.","end":2919},{"start":2919,"title":"Do @Observable properties automatically get allocated on the correct thread, or should we explicitly mark UI-referenced properties @MainActor?","summary":"SwiftUI operates on the main actor, so state that views read is exercised on the main thread. Rather than annotating every property, let UI-facing state live on the main actor by default and only move computation off it deliberately. Decide where state lives based on who uses it: keep view-driving @Observable state main-actor-aligned, and isolate background work separately.","end":3208},{"start":3208,"title":"In our multi-module app we return AnyView from protocols to hide concrete view types and avoid cross-module dependencies. Is there a more idiomatic way without AnyView?","summary":"Prefer keeping type information over erasing it with AnyView. Use @ViewBuilder and an associated type (some View) on your protocol, or opaque return types, so the concrete view type stays hidden across module boundaries without paying AnyView's cost. Reserve AnyView for cases where you genuinely need heterogeneous, type-erased views.","end":3373},{"start":3373,"title":"Can you explain the performance tradeoffs (speed and memory) of compositingGroup, geometryGroup, and drawingGroup?","summary":"They serve different purposes. compositingGroup isn't primarily a performance tool \u2014 it flattens a subtree so visual effects apply to it as a whole. drawingGroup rasterizes content off-screen (via Metal), which can help with complex static visuals but costs memory and isn't free, so measure before using. geometryGroup isolates geometry changes so animations resolve correctly. Choose based on the effect you need, and profile rather than applying them speculatively.","end":3658}]}},"wwdc2026-8120":{"id":"wwdc2026-8120","staticContentId":10999,"eventContentId":8120,"eventId":"wwdc2026","contentUpdatedAt":"2026-10-07T18:48:52-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8120","languageCode":"eng","description":"Join us online for a deep dive into WWDC26 with Apple engineers and designers to ask questions, get advice, and follow the discussion about the week\u2019s biggest SwiftUI announcements. Conducted in English.","title":"SwiftUI Group Lab ","startTime":"2026-06-11T19:00:00-07:00","endTime":"2026-06-11T20:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-swiftui-group-lab-thursday"}},"roomId":134,"imagesUUID":"2831DA3E-34C4-453A-9833-D0ADB900D95B","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8120\/1\/89fea628-fb6a-493a-b5dd-462e2e30ab66\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8120\/1\/89fea628-fb6a-493a-b5dd-462e2e30ab66\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8120\/1\/89fea628-fb6a-493a-b5dd-462e2e30ab66\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8120\/1\/89fea628-fb6a-493a-b5dd-462e2e30ab66\/downloads\/wwdc2026-8120_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8120\/1\/89fea628-fb6a-493a-b5dd-462e2e30ab66\/downloads\/wwdc2026-8120_sd.mp4","duration":3765,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"Engineers from the SwiftUI team introduce themselves and set up a session covering large collections and ForEach performance, navigation transitions, adaptive layout across screen sizes, data flow, conditional views, AnyView cost, custom controls and overlays, and building views with Liquid Glass.","end":178},{"start":178,"title":"With 1M+ reorderable items, ForEach still traverses the whole collection on first display and every count\/order change, causing slowdowns. Any plan for a fast native SwiftUI API?","summary":"The team is aware of this and looking into it \u2014 traversing the entire collection on updates shouldn't be necessary, and they acknowledged it as a real limitation for very large reorderable collections. File a Feedback with your use case; for now, extremely large datasets may still need careful structuring to avoid full-collection traversal on every change.","end":285},{"start":285,"title":"In iOS 27 beta 1 it's not possible to create a custom transition \u2014 NavigationTransition is publicly empty. Will this come in a later beta?","summary":"NavigationTransition is a protocol SwiftUI uses to expose conforming, framework-provided transitions rather than one you fill in yourself in beta 1. Use the built-in transitions the API vends; if you need a specific custom transition, file Feedback describing it, since the surface may expand in later betas.","end":441},{"start":441,"title":"With Coding Intelligence and agentic models in Xcode, how can we use it to build Liquid Glass views? Sometimes .glassEffect on buttons doesn't look as polished as it should.","summary":"The new skills shipping with Xcode give the coding agent accurate insight into current APIs like Liquid Glass and work with the model of your choice, so they're worth enabling \u2014 and you can export them for use in other agentic systems. On glass itself: avoid Liquid Glass in the content area of a view, since with nothing scrolling underneath there's nothing for it to refract and the simpler flat design is usually better; glass is for controls hugging the content layer. For a glass button, reach for the glassButtonStyle (or glassProminent) rather than applying a raw glassEffect \u2014 glassEffect on a button gives you a button sitting on glass, which won't look right \u2014 and pair it with buttonBorderShape to get the shape you want. Toolbar and navigation-bar buttons already get the right glass treatment automatically, so you don't need to add it there; new this year, sharedBackgroundVisibility(.hidden) and a content-margin-removal API let you drop the glass (or just its padding) for cases like a profile photo in the toolbar.","end":846},{"start":846,"title":"What's the best way to manage screen sizes now \u2014 vertical, horizontal, split views, and the unlimited window sizes we can have? What API should we use across iOS versions?","summary":"Don't hard-code specific window sizes \u2014 that's a losing battle. Design layouts that work at any size and adapt fluidly. Use size classes (compact vs. regular, vertically\/horizontally) to make layout decisions, and lean on adaptive containers so your UI responds to the full continuum of window and screen sizes rather than targeting fixed dimensions.","end":1320},{"start":1320,"title":"Any tips for properly learning data management and passing data between views? What projects help strengthen this?","summary":"At its core, SwiftUI data management is about identifying pieces of information and choosing where they should live and how they flow. Learn the tools \u2014 @State for view-owned state, bindings to share mutable access, and @Observable\/Environment for passing data down \u2014 by building small apps that force you to move data between screens, rather than studying the wrappers in isolation.","end":1838},{"start":1838,"title":"I've heard I shouldn't use an if {} to conditionally hide elements (e.g. show text only at 9:41). What's Apple's recommendation?","summary":"An if that swaps views changes the view's identity and structure, which can cost more than necessary for simple show\/hide. Prefer keeping the element in the hierarchy and controlling its visibility \u2014 for example with opacity or the hidden modifier, or conditional content that preserves identity \u2014 so SwiftUI can animate and update efficiently instead of inserting\/removing the view.","end":2293},{"start":2293,"title":"What's the concrete cost of type erasure (AnyView) in a deeply nested or frequently updating view \u2014 when should I worry, and when not?","summary":"AnyView erases the type SwiftUI would otherwise use to diff efficiently, so it adds overhead and reduces the framework's ability to optimize updates \u2014 most impactful in deeply nested or frequently updating views. It's fine where you genuinely can't know the view type at compile time; just avoid it on hot paths where a concrete type or @ViewBuilder would let SwiftUI update more efficiently.","end":2370},{"start":2370,"title":"Any tips for making SwiftUI layouts more adaptable now that Xcode previews are resizable?","summary":"Use the resizable previews to exercise your layout across sizes as you build. Design for flexibility \u2014 avoid fixed frames, use size classes and adaptive containers, and let content drive layout \u2014 so your UI holds up across the full range of window sizes the resizable preview now lets you check quickly.","end":2549},{"start":2549,"title":"What's your advice for presenting full-screen SwiftUI overlays on top of everything (including sheets) without interfering with modal presentation?","summary":"There may be no clean way to do this purely in SwiftUI today. A full-screen cover works when you present it from the right point in the hierarchy, but getting something reliably above other modal presentations is genuinely hard. The pragmatic approach is interop: drop down to UIKit and create a new UIWindow (with a UIHostingController root) for a HUD or a login-over-the-app case, positioning it above everything. But be careful \u2014 with multiple windows it's last-UIWindow-wins, which is a bug waiting to happen once something else also needs to be always on top. So question the design brief first: a less disruptive flow (for example rewinding the navigation stack to a base view and restoring it after login) is often better than forcing a global overlay. File feedback with your use case so the gaps can be closed.","end":2860},{"start":2860,"title":"What's the best way to build a pure-SwiftUI custom control (like a dropdown) that expands on top of other elements and is interactive, without impacting their layout?","summary":"First ask whether it needs to be fully custom \u2014 an existing UIKit\/AppKit control may already do it. If custom, present the expanding portion as an overlay so it draws above sibling views without participating in their layout, and manage its own interaction\/state, rather than inserting it inline where it would push other elements around.","end":3285},{"start":3285,"title":"It's known that breaking large SwiftUI views into smaller views benefits performance, but how small should they be? Best practice for struct views vs. @ViewBuilder computed properties?","summary":"Size isn't the real goal \u2014 isolating independently-updating data is. Split a view when its parts update from different data (e.g. a header, content, and footer that each change on their own), so a change to one doesn't invalidate and re-run the body of the whole. If the dependencies are shared across the whole view, splitting buys you nothing \u2014 you do the same work either way. Crucially, extracting into a @ViewBuilder computed property gives no performance benefit, because it's still one view body with all the same dependencies; only a separate view type creates an initialization boundary where SwiftUI can compare inputs and skip work. An @Observable reference helps here too, since its stable pointer lets a small subview redraw without re-running the parent. And don't be afraid of many small views \u2014 they're value-type structs and cheap.","end":3765}]}},"wwdc2026-8017":{"id":"wwdc2026-8017","staticContentId":10972,"eventContentId":8017,"eventId":"wwdc2026","contentUpdatedAt":"2026-10-14T16:00:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8017","languageCode":"eng","description":"Join us online for a deep dive into WWDC26 with Apple engineers and designers to ask questions, get advice, and follow the discussion about the week\u2019s biggest SwiftData announcements. Conducted in English.","title":"SwiftData Group Lab","startTime":"2026-06-12T11:00:00-07:00","endTime":"2026-06-12T12:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":83,"topicIds":[83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-swiftdata-group-lab"}},"roomId":134,"imagesUUID":"EC3E3F36-1BF1-49D3-B9FF-D5ACF028D0F4","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8017\/1\/f1631a09-429b-4879-ac57-7f076af1e7f0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8017\/1\/f1631a09-429b-4879-ac57-7f076af1e7f0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8017\/1\/f1631a09-429b-4879-ac57-7f076af1e7f0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8017\/1\/f1631a09-429b-4879-ac57-7f076af1e7f0\/downloads\/wwdc2026-8017_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8017\/1\/f1631a09-429b-4879-ac57-7f076af1e7f0\/downloads\/wwdc2026-8017_sd.mp4","duration":3690,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"Engineers from the SwiftData team introduce themselves and set up a session covering SwiftData with widgets and app intents, large datasets and performance, @Query versus ResultsObserver, CloudKit sync and schema evolution, migrations, enums, multiple model contexts, and concurrency.","end":173},{"start":173,"title":"What's the proper way to use SwiftData with widgets and App Intents (e.g. Shortcuts)? Is there Apple sample code showing this setup?","summary":"In multi-process setups (app plus widget or App Intents extension), have one process \u2014 the app \u2014 own the database and perform migration, and coordinate access. Be careful if the user fires up the widget before launching the app for a new version, since the extension shouldn't be the one driving a migration. Design so the app owns schema changes and the extension reads once they're applied.","end":288},{"start":288,"title":"How should developers approach large datasets in SwiftData?","summary":"First define what \"large\" means for your case \u2014 many rows, large blobs stored per model, or simply many models \u2014 since the approach differs. For many rows: index the properties you query so the database can fetch them quickly, and don't fetch everything at once \u2014 put limits on your fetch requests so you don't exhaust memory. For large per-model data, use the externalStorage attribute, which stores the blob in a file next to the database rather than inline. When ingesting a large dataset, insert in smaller batches using a short-lived model context you renew each batch. And when driving a @Query in SwiftUI over many rows, make sure a precise predicate expresses exactly what you need (rather than filtering again with an if in the body) and that it's covered by an index; the persistence Instrument shows how many objects are actually being fetched under the hood.","end":462},{"start":462,"title":"What's the best practice for creating sample data? Is inserting it via the #Preview traits parameter a good idea?","summary":"Yes \u2014 the Sample Trips app uses preview traits to seed preview data, which is a great approach. Make the sample data expressive and diverse (long names, many entries, varied cases) so your previews exercise the full range of UI states rather than a single trivial example.","end":595},{"start":595,"title":"When should a developer choose ResultsObserver over @Query? What are the tradeoffs in performance, observation granularity, and architectural control?","summary":"ResultsObserver is the equivalent of @Query for use outside a SwiftUI view \u2014 reach for it in a view model or other non-view context where you still want observable results. @Query is the right tool inside views. Choose based on where the code lives and how much architectural control you want over observation, rather than a raw performance difference.","end":812},{"start":812,"title":"In Core Data I used NSExpression to compute sums, averages, min\/max directly on the SQL store; SwiftData has no equivalent and needs data in RAM. What's your recommendation?","summary":"This is a known gap \u2014 the older NSExpression surface is being succeeded by newer Swift-based expression support, and it isn't all there yet, so a feedback request with your specific use case is genuinely useful for shaping the API. In the meantime there are workarounds: you can get min or max with a fetch limit of one plus a sort descriptor. And because Core Data and SwiftData can coexist against the same data store, where SwiftData lacks an equivalent you can reach into the Core Data stack and use NSExpression there on the same underlying data.","end":925},{"start":925,"title":"When using SwiftUI with SwiftData, what's the best way to construct the view's state and model so users can populate non-optional attributes when adding a new object?","summary":"Distinguish non-optional view state from non-optional model properties. A common pattern is to collect the user's input in view-local state first and only construct\/insert the SwiftData model once the required (non-optional) values are provided, rather than inserting a partially-initialized object. That keeps the model's non-optional invariants intact while the form is being filled in.","end":1133},{"start":1133,"title":"For SwiftData + CloudKit: if I published an app without an App Group or versioned schema, can I introduce them later without losing data?","summary":"You can add a versioned schema at any time. Moving to an App Group container is more involved: it's a different directory and entitlements can't be aligned to the old location, so you'll get a new container and must copy the existing data over into the group container, then start from there. Set up your model configuration accordingly before switching.","end":1285},{"start":1285,"title":"How does using an App Group to define the SwiftData local store affect the CloudKit development and production environments, and how do I safely evolve the schema when multiple apps share the store?","summary":"Ensure every app reading from the App Group uses the same, appropriate CloudKit entitlement, since all of them sync to that shared container on the store's behalf. With consistent entitlements and a shared versioned schema across those apps, you can evolve the schema safely; mismatched entitlements or schemas across the group cause sync problems.","end":1409},{"start":1409,"title":"What's the best way to manage schema evolution in development and production (CloudKit) for an app already on the App Store, when running a dev build in Xcode can cause the local store to stop syncing or duplicate entries?","summary":"When a development build and the shipping app write to the same shared CloudKit store while the schema evolves, you must guard against duplicates. Keep development and production schemas coordinated through versioned schemas, and be deliberate about which clients write to the shared container so an evolving dev schema doesn't corrupt or duplicate production data.","end":1533},{"start":1533,"title":"What's the most performant way to count SwiftData objects without querying them into the views?","summary":"Use fetchCount on the model context \u2014 it returns the count without materializing the objects, which is far cheaper than fetching them and counting in the view.","end":1547},{"start":1547,"title":"In performance-sensitive parts of an app I've manually fetched models into a cached array and managed updates myself instead of @Query. How does the team think about that tradeoff?","summary":"@Query does a normal fetch under the hood; the tricky part in SwiftUI is that the view cycle can fetch more often than you'd like. Manually fetching into a cached array and managing updates is a legitimate optimization for hot paths where you need tight control, as long as you handle observation yourself \u2014 it's a reasonable tradeoff, not an anti-pattern, when @Query's automatic re-fetching is costing you.","end":1820},{"start":1820,"title":"For SwiftData with CloudKit, how can I ensure synchronization happens as quickly as possible? I see long lags for data appearing across platforms.","summary":"Beyond thorough testing, use the extensive logging that the default Core Data-backed store routes through to see what sync is doing and where time goes. CloudKit sync timing isn't fully under your control, but diagnosing via those logs \u2014 and ensuring the right client drives sync \u2014 helps you understand and reduce the cross-device lag.","end":2064},{"start":2064,"title":"What's the best way to store enums (including Codable ones) with associated values in SwiftData?","summary":"As long as the associated values are Codable, you can persist the enum. New this year, you can build predicates with RawRepresentable enumerations \u2014 covered in the What's New in SwiftData talk \u2014 so enums integrate more naturally into queries as well as storage.","end":2469},{"start":2469,"title":"What are best practices for using multiple model contexts \u2014 when to split work across contexts vs. keeping everything in one?","summary":"It depends on your objective. If the work interacts with a view, that shapes the choice; but for a self-contained background work set, a separate context (e.g. via a ModelActor) is appropriate so heavy work doesn't block the main context. Keep view-driving work on the main context and isolate background batches in their own context, merging results back deliberately.","end":2929},{"start":2929,"title":"How do I know if I need to paginate my queries instead of fetching all records of a type?","summary":"Let Instruments tell you. Watch for UI hitches and check whether you're pulling in many more objects than you actually display \u2014 if so, paginate or limit the fetch. Use FetchDescriptor's fetch limits and offsets to load in pages sized to what the UI shows, rather than fetching an entire type up front.","end":3020},{"start":3020,"title":"Is it a good idea to combine SwiftData with a cloud backend like Firestore for sync, or is that an anti-pattern? My app uses Firestore plus a local JSON mirror today.","summary":"It's a valid approach, not an anti-pattern. If your data already lives in JSON files, you can implement a custom SwiftData store backed by that source \u2014 there's an example app demonstrating a custom store \u2014 letting SwiftData manage local access while your existing backend continues to handle sync.","end":3312},{"start":3312,"title":"What's the proper way to know if a database migration is required, so I can show a loading screen and keep widgets\/App Intents from accessing the store mid-migration?","summary":"For a progress UI, you can compute how many migration stages exist and override the didMigrate handler for a custom migration stage, tracking which stage you're on versus how many remain \u2014 not wall-clock time, but a stage count. Combine that with having the app own migration so extensions don't touch the store while it's mid-migration.","end":3453},{"start":3453,"title":"What's the best way to do grouped queries (grouping results by a model property) to display data section-wise?","summary":"Both ResultsObserver and @Query now support sectioning: provide a key path to a persistent property and your data is grouped by it. This gives a built-in group-by experience for section-based UIs (demonstrated in the Sample Trips app) without manually bucketing results yourself.","end":3518},{"start":3518,"title":"How should I handle concurrency when a @ModelActor needs to return model data, given @Model types aren't Sendable and can't cross actor boundaries?","summary":"Model objects aren't Sendable \u2014 they're reference-based and part of the context's object graph, so they can't be passed across actor boundaries. Instead, have the ModelActor return a Sendable representation: the model's PersistentIdentifier (or a plain value\/DTO) that the receiving actor uses to re-fetch the object in its own context, rather than handing over the model instance directly.","end":3690}]}},"wwdc2026-8010":{"id":"wwdc2026-8010","staticContentId":10965,"eventContentId":8010,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-02T11:08:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8010","languageCode":"eng","description":"Join us online for a deep dive into WWDC26 with Apple engineers and designers to ask questions, get advice, and follow the discussion about the week\u2019s biggest App Store Connect announcements. Conducted in English.","title":"App Store Connect Group Lab","startTime":"2026-06-11T17:00:00-07:00","endTime":"2026-06-11T18:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-app-store-connect-group-lab"}},"roomId":134,"imagesUUID":"D24EDF3B-D95A-4860-AEB1-0DB31D2C198A","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8010\/1\/fb64e95b-57b3-4c1b-86c1-4afeaaa8f7a4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8010\/1\/fb64e95b-57b3-4c1b-86c1-4afeaaa8f7a4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8010\/1\/fb64e95b-57b3-4c1b-86c1-4afeaaa8f7a4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8010\/1\/fb64e95b-57b3-4c1b-86c1-4afeaaa8f7a4\/downloads\/wwdc2026-8010_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8010\/1\/fb64e95b-57b3-4c1b-86c1-4afeaaa8f7a4\/downloads\/wwdc2026-8010_sd.mp4","duration":3725,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"Evangelists and engineers from the App Store Connect and App Review teams introduce themselves and set up the session, which covers the App Store Connect API and automation, TestFlight, app review preparation, subscriptions and retention messaging, the expanded App Store analytics, universal purchase, and getting an app discovered.","end":162},{"start":162,"title":"What are the most overlooked App Store Connect APIs or capabilities that developers should be taking advantage of today?","summary":"Build uploads, introduced last year, let you automate the whole develop-test loop end to end \u2014 upload a build, make it available to TestFlight testers, and pull tester feedback via the public feedback API to act on and upload again. The panel also called out combining the TestFlight feedback APIs with webhooks to auto-generate tickets in your own system, and the Power & Performance API for on-device storage and CPU reports, as underused.","end":265},{"start":265,"title":"The Accessibility Nutrition Label lets me declare \"Captions,\" but my game has no sound and is fully accessible to hearing-impaired users. How do I signal that my app is accessible to them?","summary":"Only you can judge which accessibility claims fit your app, so answer the nutrition-label questions as accurately as you can for what your app actually does. If a feature like captions doesn't apply because there's no audio, don't claim it \u2014 describe the real accessibility of the app so customers searching for it can find you.","end":357},{"start":357,"title":"What are the most common reasons subscription apps get rejected on first review, and any tips on submitting and following up after a rejection?","summary":"Preparation is the key to a smooth review. Test on a real device the way your users will, exercise all functionality, resolve crashes, and verify in-app purchases work against production-ready systems. Use the app review notes to tell reviewers how to use the app, including any login or demo credentials, so they can evaluate it fully the first time.","end":526},{"start":526,"title":"Will App Store Connect analytics show impressions, save rate, and cancel-flow revisits for the new Retention Messages API?","summary":"Yes \u2014 you'll get rich data: how many people saw the retention message, how many clicked cancel, and how many stayed subscribed. You can A\/B test different messages and offer alternate plans to see what resonates, using the analytics to measure what actually retains users.","end":580},{"start":580,"title":"What are the most common security mistakes you see developers making when implementing App Store Connect API integrations?","summary":"Developers generally manage their keys well. The core guidance: don't hardcode API keys into your repository or ship them in clients, and manage your private key responsibly. If a key is compromised, revoke it in App Store Connect. Be especially careful with keys shared with third-party services \u2014 revoke a key when you stop using that service, scope its permissions tightly, and don't overshare information. The Users and Access APIs can also help you monitor who has access to your account against your own internal systems.","end":713},{"start":713,"title":"In App Store analytics, is there a way to see how many people updated organically versus in the background (auto-update vs. manual)?","summary":"Yes. The auto-update-versus-manual breakdown is available in the downloadable analytics reports (not the dashboard) \u2014 look for the column that splits auto versus manual updates.","end":770},{"start":770,"title":"We want to automate uploading only a few apps from CI. A Team API key grants access to all apps \u2014 is creating a dedicated account with a key the only way to scope access?","summary":"A general team key can't be scoped to specific apps. The alternative is an individual (user-based) API key, which inherits that user's access level in App Store Connect \u2014 so a user who can only see a couple of apps gets a key limited to those apps. That's the mechanism for narrowing an API key's reach today.","end":899},{"start":899,"title":"Can you set a different name\/subtitle per target for universal purchases, and what are best practices when key functionality differs per platform?","summary":"Name, subtitle, age rating, and genre are shared across all platforms of a universal-purchase app and can't differ per target \u2014 this consistency is intentional since the app can be downloaded across devices. The description, however, can be tailored per platform, so use it to reflect platform-specific functionality (and be mindful that differing privacy practices per platform need care).","end":974},{"start":974,"title":"Does the new retention workflow support localization, and should we localize the retention message to match all app localizations?","summary":"Yes, localization is supported, and you should localize the retention message to match your app's localizations. A disjointed experience \u2014 where the app is translated but the retention prompt appears in English \u2014 feels jarring to users in other regions, so keep the language consistent.","end":1028},{"start":1028,"title":"I see popular apps with dense description copy while common advice is not to use it. What are best practices for App Store descriptions?","summary":"Keep the user front of mind rather than stuffing in information \u2014 dense copy can be off-putting to someone evaluating whether to try your app. Tailor the message to your audience, and use custom product pages to route different audiences to different copy, or product page optimization to test variants.","end":1141},{"start":1141,"title":"What are the best practices for using TestFlight for internal team testing? How about external testing?","summary":"Test within your own team first: add internal people as App Store Connect users and invite them to install and give feedback (ideal for distributing regular builds to QA). Once the app works as expected internally, move to external TestFlight, which goes through beta app review to keep content safe and trustworthy before reaching outside testers.","end":1361},{"start":1361,"title":"What advice would you give on API keys \u2014 vending them to tooling, using them in apps, automation scripts, Keychain, least privilege, limiting access?","summary":"App Store Connect API keys belong on your server only \u2014 never embed them in a shipping app. Remember these keys don't expire, so treat them carefully. Apply least privilege: for team keys, choose the lowest role that gets the job done, and scope access with user-based keys where possible.","end":1464},{"start":1464,"title":"We want the same product name for our Mac app and our iOS\/Vision Pro apps, but they have different bundle IDs. Has that become possible?","summary":"It hasn't changed \u2014 distinct bundle IDs still can't share an identical name, and unique names matter now that iPad apps run on Mac and apps span platforms. The recommended path is to add your Mac app to the iOS\/Vision Pro app record and use universal purchase, which achieves a shared identity and brings additional benefits.","end":1553},{"start":1553,"title":"For a first app with user authentication and third-party API keys, what's the most important thing to get right before first submission?","summary":"Thoroughly test the app and its third-party integrations, and make sure your keys and services are production-ready and can handle scale before submitting. If you're handling users' own API keys, demonstrate that you protect them in a privacy-friendly way on your side.","end":1653},{"start":1653,"title":"I'm nervous about moving from paid-upfront to freemium with purchase restoration for prior buyers. How do I know my restoration code will work in the real world?","summary":"Use the StoreKit 2 AppTransaction API to read the original app version a customer purchased, so you can identify prior buyers and grant them the right entitlements. Then exercise the whole restoration flow in TestFlight with test accounts that hold different purchase histories to validate the behavior before shipping.","end":1807},{"start":1807,"title":"What's the best way to learn the step-by-step procedure to publish your first iOS app?","summary":"Lean on the developer website's tutorials, documentation, videos, and WWDC sessions \u2014 and don't limit yourself to this year's, since older sessions (going back years) remain relevant. The typical path is: create the app record, distribute through TestFlight, then submit to app review.","end":1927},{"start":1927,"title":"How can I increase visibility for my app?","summary":"Invest in creative assets \u2014 plenty of screenshots and previews that clearly show what your app does. For organic discovery, use in-app events, and custom product pages tied to specific keywords to raise relevance. You can also submit a feature nomination to the editorial team, who may place a compelling app on the Today tab.","end":2034},{"start":2034,"title":"I want to develop a universal app. Do I need a different binary for every platform (watch, iOS, etc.)?","summary":"You don't need the full set \u2014 it depends on which platforms you distribute to and eligibility (e.g. Apple Silicon). Provide distinct metadata per platform and the binaries you actually target (such as an iOS binary, a macOS binary, watchOS). You can start with one platform and add others as you're ready.","end":2150},{"start":2150,"title":"If an app is localized to multiple languages, should review notes still be in English, or the developer's native language?","summary":"English isn't required. App Review has broad language coverage and can often match a reviewer to your primary language, so you can write review notes in your native language. English may be a safe default, but it's optional \u2014 developers don't need to speak English to submit.","end":2228},{"start":2228,"title":"What new App Store Connect workflows introduced this year should developers revisit, even with mature automation in place?","summary":"Look beyond the API at the web dashboard: over 100 new analytics metrics landed this year for subscription and in-app-purchase businesses, with visualizations you won't see through automation. Also note that Game Center entities like leaderboards can now be submitted alongside in-app purchases.","end":2337},{"start":2337,"title":"What are the most common reasons to be rejected on the App Store?","summary":"The most common causes trace back to not being fully prepared for review: bugs and crashes (test on-device as a real user, not just in Simulator), and incomplete information. Provide any demo credentials and highlight functionality in the review notes, and use TestFlight internal then external testing to refine the build before submitting.","end":2555},{"start":2555,"title":"What metadata or capability changes are validated only after TestFlight\/App Store Connect upload, and will more checks move into Xcode or local pre-upload validation?","summary":"Validation happens throughout the pipeline, and the teams continually work to surface feedback earlier. Pay attention to the warnings (not just errors) returned after upload \u2014 they list things to address before the next build. You can also validate your app in Xcode before delivery to catch issues locally.","end":2661},{"start":2661,"title":"Is there a way to organize TestFlight builds into streams\/groups \u2014 e.g. keeping a months-long feature branch separate from regular builds?","summary":"Yes \u2014 use groups, available for both internal and external testing. A group defines which testers get which builds, so testers only see the builds assigned to their group. Organize by function (dev, QA, localization, power users) or set up a dedicated group for an in-progress feature so it stays separate from your regular build stream.","end":2816},{"start":2816,"title":"Is there a technical or policy reason for the few-day delay on in-app-purchase or subscription price changes, including price decreases?","summary":"The delay exists so a price change can go live everywhere at the same moment. Because time zones differ around the world, the system needs time to propagate the change so it takes effect simultaneously across regions rather than at staggered local times.","end":2853},{"start":2853,"title":"Any advice for merging app listings that target different countries into one listing, where builds are variations of the same core app?","summary":"Decide which app record you want to persist, then consolidate onto it \u2014 Apple did exactly this internally with Creator Studio, merging separate apps into one. Keep the listing you want to keep and bring the country-specific variations together under it rather than maintaining parallel submissions.","end":3007},{"start":3007,"title":"The new App Store dashboard with analytics sounds interesting. Can you tell me more about the features and how to maximize value?","summary":"This spring brought the biggest App Store analytics update in over a decade \u2014 100+ new metrics, mostly for in-app purchases and subscriptions. Data from App Store search, browse, and the Today tab now ties back to later purchases, so you can follow the full customer journey from download through purchase to renewal, with visualizations of conversion and retention rates.","end":3144},{"start":3144,"title":"Any tips for creating a successful featuring nomination submission?","summary":"Make your app genuinely interesting or novel \u2014 crowded categories are less likely to be nominated. Strong artwork helps you stand out; Apple released new assets you can place on your product page that also appear in featuring placements. A compelling app plus great art is the best path to being featured.","end":3263},{"start":3263,"title":"My app's users paste their own ASC API keys in, and even the minimum role over-grants \u2014 there's no read-only, analytics-only scope. What's the current least-privilege setup you'd recommend for a third-party tool?","summary":"What counts as least-privileged depends on what the tool needs to do. For read-only, analytics-style needs the Sales role has the lowest level of access. The Developer role can upload builds and use internal TestFlight \u2014 a fit if you only need to upload and test. Neither the Developer nor the Marketer role can release an app or a new version; the Marketer role can change metadata, the product page, and app events. Choose the lowest role that covers what the key needs to do.","end":3355},{"start":3355,"title":"Any advice on fetching live\/last-24h App Store Connect data via API? There's no API\/UI parity \u2014 the UI previews the last 24h but the API only returns a day-old (or aggregated) view.","summary":"For sales and analytics data, the API updates on a daily cadence while the UI's Sales and Trends shows the last 24 hours \u2014 it's the same data at a different refresh rate. If you need the freshest numbers today, the UI is the place to get them; faster API data isn't currently available.","end":3434},{"start":3434,"title":"How do you recommend measuring the incremental impact (visibility, downloads) of an organic-search custom product page, given no keyword-level data in ASC?","summary":"App Store Connect doesn't expose keyword-level data, but for a custom product page you can view its performance in App Analytics and filter by source type. Filter by App Store Search: with no Apple ads running, that reflects organic search; if you run ads it's blended, so consider two custom product pages \u2014 one for ads, one for organic \u2014 to separate the two.","end":3495},{"start":3495,"title":"Is there a way to see the rollout progress of the current release while a new release is being prepared and submitted to review?","summary":"Assuming a phased release, open the version page in App Store Connect and click into the phased release rollout to see which day of the rollout cycle you're on. Because you can have up to two versions per platform, you can check the phased-release state of the currently distributed version while working on the next one.","end":3560},{"start":3560,"title":"For a location-based geospatial AR game, building a full working demo for submission is impractical. What options exist for passing app review?","summary":"If reviewing the app requires being in a specific physical location, include a screen recording of the app in action with your submission so reviewers can evaluate the experience. Also design meaningful functionality for users who aren't at that location, since not everyone will be on-site.","end":3725}]}},"wwdc2026-8004":{"id":"wwdc2026-8004","staticContentId":10959,"eventContentId":8004,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-02T11:08:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8004","languageCode":"eng","description":"Join us online for a deep dive into WWDC26 with Apple engineers and designers to ask questions, get advice, and follow the discussion about the week\u2019s biggest visionOS announcements. Conducted in English.","title":"visionOS Group Lab","startTime":"2026-06-09T15:00:00-07:00","endTime":"2026-06-09T16:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-visionos-group-lab"}},"roomId":134,"imagesUUID":"3ABD409D-D091-4FAA-9D87-A8DA7F23C318","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8004\/1\/52426afe-f1d2-41a2-9862-e0a34d23e575\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8004\/1\/52426afe-f1d2-41a2-9862-e0a34d23e575\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8004\/1\/52426afe-f1d2-41a2-9862-e0a34d23e575\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8004\/1\/52426afe-f1d2-41a2-9862-e0a34d23e575\/downloads\/wwdc2026-8004_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8004\/1\/52426afe-f1d2-41a2-9862-e0a34d23e575\/downloads\/wwdc2026-8004_sd.mp4","duration":3806,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"Engineers from the visionOS team introduce themselves and set up a session covering Reality Composer Pro, RealityKit and USD, camera access, Gaussian splatting, spatial accessories, Visual Intelligence, debugging on device, and agentic coding for visionOS.","end":563},{"start":563,"title":"As an independent developer, how can I gain access to the front cameras \u2014 is it only possible through an enterprise development group?","summary":"Apple opened camera access progressively \u2014 first the left main camera, then the stereoscopic pair in visionOS 26. Access is granted through an application process where you demonstrate what your app will do, oriented mainly toward professional and enterprise use cases. Importantly, this isn't limited to the Apple Developer Enterprise Program \u2014 developers with a standard Apple Developer Program account can apply too (typically where the account is attached to an incorporated business). If you have a real use case and can't get access today, post in the developer forums and file Feedback describing it.","end":666},{"start":666,"title":"Hitting a breakpoint in an immersive space leaves you frozen inside your own scene squinting at Xcode through passthrough. How do you debug on device?","summary":"There's a developer setting, added last year, that lets you use Mac Virtual Display inside an immersive environment. So if you're building an app that surrounds you in a virtual world, you can build and run from Xcode with Mac Virtual Display open alongside your immersive content \u2014 when you hit a breakpoint you stay where you are (which also matters for safety) and can triage and debug in place. Internally this is the common workflow: work in Vision Pro with Mac Virtual Display and immersive content side by side, rather than repeatedly donning and doffing the headset \u2014 and it doubles as an enormous, high-quality display.","end":768},{"start":768,"title":"Are any of the agent skills Apple's providing this week especially relevant for visionOS development?","summary":"There are structural differences between an iOS app and a visionOS app \u2014 form factor, size, information density. Of the skills shipped so far, the most directly relevant helps resize an existing iOS app to visionOS, translating the UI in a way that maintains visionOS best practices and principles. If you're bringing a 2D iOS app over, that's the skill to reach for.","end":819},{"start":819,"title":"What's your usual workflow for exporting 3D models into USD, given tools apply different transforms or drop materials on complex FBX\/GLB models?","summary":"Start in your 3D DCC tool and export to USD as directly as possible, since round-tripping through intermediate formats (FBX\/GLB) is where transforms and materials get altered. Validate the result in Reality Composer Pro, and rebuild materials there when a complex model's shading doesn't survive the export.","end":966},{"start":966,"title":"Can spatial accessories be tracked outside the range of direct view \u2014 e.g. foot trackers when the user isn't looking down?","summary":"Spatial accessory tracking isn't limited to the field of view \u2014 the accessory tracking APIs can follow accessories using their own sensors\/signals rather than relying solely on the headset cameras seeing them, which makes out-of-view uses like foot trackers feasible. File Feedback with the specific use case to help shape the capability.","end":1250},{"start":1250,"title":"With Gaussian splatting, splats are culled when you move your face close or inside them, which is bad for telepresence reconstruction. Can this be disabled?","summary":"There's no known way to disable that near-plane culling\/vignette today. The team found the telepresence reconstruction use case compelling and asked the developer to file Feedback so they can consider supporting it, since it's not currently configurable.","end":1424},{"start":1424,"title":"Is Gaussian Splat rendering supported on platforms other than visionOS? Docs show iOS support but Xcode doesn't show the symbols.","summary":"If the documentation indicates iOS support but the symbols aren't surfacing in Xcode, that's worth a Feedback report so the team can investigate the discrepancy. The panel encouraged filing it with specifics rather than assuming, since availability and symbol exposure across platforms is something they can clarify and fix.","end":1476},{"start":1476,"title":"Why aren't there user profiles like on the Mac \u2014 so I can put on the headset and choose owner, child, grandma?","summary":"Vision Pro is designed primarily as a personal device tuned to one wearer (eye and hand calibration, Persona, Optic ID), which is why full multi-user profiles aren't offered. The team acknowledged strong interest in device sharing and treated it as valuable feedback, while noting Guest User exists for occasional shared use today.","end":1622},{"start":1622,"title":"Is there any API to detect the lips and face of the owner and mimic that on a 3D persona-like avatar, but differently?","summary":"ARKit's face tracking is an iOS-only feature and isn't available on visionOS, and there's no API exposing raw face data on Vision Pro \u2014 so you can't drive a custom face-mesh avatar or apply lens-style effects to the wearer's face. What you can get as a third-party app is a matted version of the user's Persona \u2014 a video feed of their Persona over a background, similar to a front-facing camera feed \u2014 which works well for something like a video-conferencing app. File Feedback if you need more.","end":1703},{"start":1703,"title":"For Visual Intelligence on Vision Pro, does a third-party app need main camera access, or is it handled entirely at the system level?","summary":"Visual Intelligence is handled at the system level \u2014 when Siri answers questions about what the user is looking at, it operates through the system rather than requiring your app to obtain main camera access. Third-party apps don't need camera entitlements to benefit from the system-provided Visual Intelligence experience.","end":1754},{"start":1754,"title":"For non-game apps that support game controllers, how does Apple envision controllers fitting into visionOS alongside eyes, hands, and voice, and are there new capabilities in visionOS 27 to design for?","summary":"Eyes, hands, and voice remain the primary interaction model; game controllers are a complementary input for scenarios that benefit from precise or sustained control. Support the standard Game Controller framework where it improves your app, but design so controllers augment rather than replace the natural spatial inputs, keeping the core experience usable without one.","end":2011},{"start":2011,"title":"Are there updates to WebXR in Safari with visionOS 27, particularly immersive-ar mode? We're currently limited to immersive-vr only.","summary":"The team pointed to WebKit\/Safari's ongoing WebXR investment and encouraged filing Feedback for the specific immersive-ar limitation, since developer demand and concrete app examples help prioritize expanding the supported WebXR session modes on visionOS.","end":2171},{"start":2171,"title":"For Visual Intelligence on visionOS, is it purely camera-based or does it leverage the depth sensors under the hood?","summary":"The panel declined to detail the internal implementation, but framed Visual Intelligence as a system capability you don't need to reverse-engineer \u2014 you get its results through the system rather than by accessing the underlying sensors yourself. Focus on the API surface Apple exposes rather than the sensor fusion behind it.","end":2267},{"start":2267,"title":"The device sleeps the instant it leaves your head, taking the debug session with it. What's the sanctioned way to keep it awake on a desk during development?","summary":"The auto-sleep on removal is intentional (privacy and safety), so there isn't a blessed \"stay awake off-head\" mode. During development, keep the device on your head or supported on your face for the sensors, and structure debugging so you don't need it idle on a desk \u2014 the team took the development-ergonomics request as feedback.","end":2362},{"start":2362,"title":"Can you give us an update on automated testing for visionOS, ARKit, and RealityKit?","summary":"For RealityKit, the RealityRenderer class is a useful way to drive a lot of rendering through an automated test programmatically. And because RealityKit is written in Swift, your existing Swift and Xcode testing infrastructure works out of the box. Two sessions this year are worth watching: Migrate to Swift Testing, and Get the most out of Device Hub \u2014 you can do a surprising amount of automated testing through Device Hub.","end":2450},{"start":2450,"title":"What are the biggest mistakes new visionOS developers make?","summary":"A common one is porting iOS assumptions directly instead of designing for spatial computing \u2014 over-using flat windows, ignoring depth and comfort, and not considering how content sits in the user's space. Start from the platform's spatial design principles (comfortable placement, appropriate scale, respecting the user's surroundings) rather than treating visionOS as a big iPad screen.","end":2846},{"start":2846,"title":"I tried agentic coding in Xcode to generate a visionOS project (a helloWorld entity in a RealityView) but it produced wrong syntax. How can I fix this or teach the AI more about visionOS code?","summary":"LLM-generated code can contain errors, so be deliberate about how you prompt and always double-check the output \u2014 trust but verify. Because APIs and SDK capabilities evolve every year, an existing model may have been trained on previous years' APIs, so newer visionOS syntax like RealityView is a common gap. A practical fix is to give the model good context: point it at Apple's library of sample projects \u2014 Hello World, Petite Asteroids, Canyon Crosshair, and the Model Manipulator sample \u2014 so it has correct, current examples to learn from. The Collaborate on structured 3D models in visionOS session and its Model Manipulator sample are especially useful and exercise new RealityKit APIs like cross-sectioning.","end":3047},{"start":3047,"title":"For Object Tracking, how fast can it get now \u2014 what frame rate and latency are possible?","summary":"Object tracking has improved dramatically. In visionOS 2.0 it focused on mostly-stationary objects at around 5 frames per second; new in visionOS 27, a high-frame-rate mode runs up to 30 frames per second at significantly lower latency, with recent smoothing work that makes a tracked object feel genuinely attached to your hand \u2014 even a fully passive object with no onboard electronics. Updates now carry frame-time-aligned timestamps, removing the plus-or-minus-one-frame ambiguity. And for the first time, in iOS 27 the same trained models also run on iOS devices, with a new Create ML extended training mode for higher accuracy and lower latency. See the developer documentation for specifics.","end":3205},{"start":3205,"title":"Will Apple expose more of the underlying frameworks (PersonaKit, CoreIK) to developers, particularly for accessibility-focused telepresence apps?","summary":"The team welcomed the accessibility telepresence use case and treated it as strong feedback, but couldn't commit to exposing those internal frameworks. The guidance is to file detailed Feedback describing the accessibility scenarios, since concrete developer needs inform what capabilities get opened up over time.","end":3326},{"start":3326,"title":"Mac Virtual Display seems tied to the Vision Pro's iCloud account, blocking shared\/enterprise Macs. Is there a supported way to drive multiple shared Macs today, and is shared-device support planned?","summary":"Mac Virtual Display's pairing is built around the personal-device model, so driving multiple shared Macs isn't directly supported today. The team took the enterprise\/shared photogrammetry workflow as valuable feedback and encouraged filing it, since expanded shared-device support depends on demand like this.","end":3566},{"start":3566,"title":"Can Gaussian splats be part of a USDZ file (perhaps with other meshes) and used in a website environment?","summary":"It's partially possible: OpenUSD has support for particle fields, a generic form that can represent Gaussian-splat-like data, so splats can live alongside meshes in USD. Full round-tripping into a USDZ that renders splats everywhere (including the web) is still evolving, so check current OpenUSD and QuickLook support and file Feedback for gaps.","end":3806}]}},"wwdc2026-8005":{"id":"wwdc2026-8005","staticContentId":10960,"eventContentId":8005,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-02T11:08:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8005","languageCode":"eng","description":"Join us online for a deep dive into WWDC26 with Apple engineers and designers to ask questions, get advice, and follow the discussion about the week\u2019s biggest accessibility technologies announcements. Conducted in English.","title":"Accessibility Technologies Group Lab","startTime":"2026-06-09T17:00:00-07:00","endTime":"2026-06-09T18:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":82,"topicIds":[82],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-accessibility-technologies-group-lab"}},"roomId":134,"imagesUUID":"5DC3F7CB-2BB9-43AE-B987-4F35B024EBDF","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8005\/1\/88a5239b-516e-46f5-ad8b-2c1bc613d3b3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8005\/1\/88a5239b-516e-46f5-ad8b-2c1bc613d3b3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8005\/1\/88a5239b-516e-46f5-ad8b-2c1bc613d3b3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8005\/1\/88a5239b-516e-46f5-ad8b-2c1bc613d3b3\/downloads\/wwdc2026-8005_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8005\/1\/88a5239b-516e-46f5-ad8b-2c1bc613d3b3\/downloads\/wwdc2026-8005_sd.mp4","duration":3641,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"A core technologies evangelist and a panel from the accessibility engineering, quality, and product marketing teams introduce themselves and highlight what's new for accessibility in the 27 releases: VoiceOver image descriptions and Live Recognition enhancements, a more personalized Accessibility Reader, more intuitive Voice Control, automatic subtitles in personal videos, and Vehicle Motion Cues coming to visionOS.","end":300},{"start":300,"title":"What are your best advice for testing usability. Accessibility Inspector to audit elements, and Device Hub for testing across different screen sizes? Any other advice?","summary":"Test with Dynamic Type and large text alongside different screen sizes \u2014 the two go hand in hand. Design your UI to lay out dynamically for the user's chosen font size, and be prepared to reflow elements at accessibility text sizes rather than only scaling them.","end":352},{"start":352,"title":"On most teams \"accessibility testing\" means VoiceOver, then they call it a day. How does your team prioritize across assistive techs when you can't test everything \u2014 and which one do we most underestimate?","summary":"You don't need experts in every assistive technology to ship a great experience. Start with VoiceOver: it's approachable and many technologies share the same backend accessibility APIs (elements, labels), so a strong VoiceOver experience carries much of Switch Control, Voice Control, and Full Keyboard Access for free. The extra per-technology API surface is mostly polish. Where possible, get feedback from real users to refine further.","end":569},{"start":569,"title":"Is there any way to override or turn off the system-provided description of an image? VoiceOver reads my provided description, then the system's.","summary":"Removing the image trait stops VoiceOver from appending its own generated description, leaving just your accessibility label. But consider not doing so: a subtle sound distinguishes your alt text from the auto-generated one, and the system description lets blind users ask follow-up questions and get more out of the image \u2014 valuable for art that would otherwise be inaccessible to them.","end":713},{"start":713,"title":"What new accessibility technologies from WWDC would be helpful for patients in an EHR patient portal I can fold into development now?","summary":"Accessibility Reader is a strong fit \u2014 a system-wide tool that reformats any long-form content to a reader's preferred style and integrates with Spoken Content. Image descriptions and Image Explorer help with charts and data-rich images, not just photos. More broadly, start with Dynamic Type to get your feet wet, then layer on VoiceOver support and accessibility labels.","end":897},{"start":897,"title":"When a button triggers a network request and I swap in a ProgressView, how do I make that accessible so VoiceOver announces the action completed?","summary":"Use accessibility notifications. Layout Changed suits smaller UI updates (like a button changing in place); Screen Changed is for whole-screen changes. You can pass an element to move VoiceOver focus, but use that sparingly so you don't yank focus around. For a completion announcement, the Announcement notification speaks a message without moving focus.","end":991},{"start":991,"title":"Are there any updates to the text-to-speech APIs?","summary":"No new text-to-speech API this year, though there are backend improvements. If you need specific API additions, file them as feedback requests. Related note: Dynamic Type is now available on tvOS, so tvOS developers should get familiar with good large-text layout practices.","end":1094},{"start":1094,"title":"We are very excited about the Accessibility Nutrition Labels. Please talk about how valuable they are and any details you'd like to expand on.","summary":"Accessibility Nutrition Labels let users know which accessibility features an app supports before they download it, so they can tell upfront whether it works with the assistive technologies they rely on. They also give developers a way to distinguish their apps and a concrete set of criteria to test and evaluate against. A prior WWDC session covers how to prepare and evaluate your app for them.","end":1309},{"start":1309,"title":"There's a \"VoiceOver\" option in the Xcode 27 beta Device Hub, but it didn't do anything. Is it for simulators or physical devices? Can we finally test iOS VoiceOver on a Mac?","summary":"There's a new XCTest API to drive VoiceOver on an iOS device from a Mac, and to the panel's knowledge it should work in the Simulator in seed one. Behavior in the current beta may be a bug \u2014 bring specifics to the developer forums (an Accessibility Q&A was scheduled) and the filed feedback will be noted.","end":1389},{"start":1389,"title":"We're adding VoiceOver support to our macOS app. Is there anything we should revisit, and how should we test across assistive technologies?","summary":"The biggest difference on the Mac is user expectations: Mac users often multitask and rely on accelerators. Get real user feedback and prioritize keyboard accelerators \u2014 hotkeys to jump to sections, the inspector, or the sidebar \u2014 which meaningfully speed up VoiceOver users on macOS.","end":1565},{"start":1565,"title":"For custom AppKit controls with context menus, hover actions, and custom buttons, what's the right way to expose these so VoiceOver users can perform the same actions as mouse users?","summary":"Custom actions are the default answer, but on the Mac users tend to skip them, so reserve them for accelerator-style \"pro\" features. For important actions like hover behaviors, expose real, discoverable buttons instead. In SwiftUI, accessibility representation lets you replace a view's accessibility entirely \u2014 e.g. present one visual control as several distinct accessible buttons.","end":1710},{"start":1710,"title":"How does Apple design accessibility features for people with limited or no use of their hands or arms?","summary":"There's no single solution \u2014 the strength is breadth. Options that reduce reach or reliance on hands include Reachability, Voice Control, Head Tracking, Eye Tracking, Sound Actions, and Switch Control; and for those who do touch the device differently, Touch Accommodations and AssistiveTouch, with a new setup flow this year. The right combination depends on the individual user.","end":1934},{"start":1934,"title":"Could you mention some features made with neurodivergent people in mind?","summary":"Two cognitive-accessibility features stand out. Guided Access keeps someone within a single app experience \u2014 useful for staying in a favorite book, show, or FaceTime call without wandering elsewhere. Assistive Access is a simplified visual language with large icons, larger default text, and bigger touch targets that pares an app down to its core controls.","end":2086},{"start":2086,"title":"SwiftUI has a new \"reorderable\" modifier. How do I make that accessible to VoiceOver users? Dragging and dropping is not an idiom in VoiceOver.","summary":"The panel noted drag-and-drop accessibility varies significantly between iOS and macOS and may not be fully wired up for VoiceOver in the current beta. Rather than guess, they recommended taking the specific case to the developer forums, ideally noting the target platform.","end":2148},{"start":2148,"title":"How can third-party apps integrate the new FaceTime video interpreting feature \u2014 how is a session initiated, and are there entitlements or API restrictions?","summary":"The feature isn't available in the iOS 27 beta yet, so integration details aren't ready to share. Watch for more information when the APIs ship.","end":2190},{"start":2190,"title":"For custom SwiftUI reusable views, what's the recommended way to expose stable accessibility identifiers for UI tests and Accessibility Inspector without misusing accessibilityLabel?","summary":"Wrap reusable views (labels, icons, buttons) so that whoever adopts them must supply an accessibility identifier and label, and add checks to enforce it. This yields concrete, stable labels for testing and keeps identifiers consistent across your code and test suite \u2014 especially important for symbol- or icon-based buttons that otherwise lack meaningful labels.","end":2273},{"start":2273,"title":"At the beginning of a project, what process ensures accessibility is built in from the start rather than added later \u2014 from UX research and wireframing into development, testing, and assistive-technology support?","summary":"Designing for accessibility from day one produces a fundamentally better result than bolting it on at the end. It needn't be the main focus \u2014 just check each thing you build with VoiceOver as you go, carry accessibility through research and wireframing, and treat it as a continuous habit across development and testing rather than a final pass.","end":2694},{"start":2694,"title":"Are there platform-specific accessibility pitfalls to watch for when building a universal app (iPadOS, watchOS, tvOS, etc.) that aren't obvious coming from iOS?","summary":"Just as a great SwiftUI app needs per-platform tuning to feel right on iPad or Mac, accessibility needs per-platform testing too. Fire up VoiceOver on each platform \u2014 macOS in particular has different nuances and user expectations \u2014 rather than assuming an iOS pass covers everything.","end":3092},{"start":3092,"title":"With these new improved AI voices, will any of them be available for VoiceOver?","summary":"The voices used for VoiceOver are specifically tailored and tuned for screen-reader use, where users often run speech at high rates.","end":3137},{"start":3137,"title":"Besides manual testing, how do you prevent accessibility regressions \u2014 approaches like snapshot testing or automated UI testing with accessibility assertions?","summary":"Automated testing is the most effective guard. XCUITest relies on the accessibility hierarchy across Apple's platforms, so an inaccessible app tends to fail its UI tests. Add assertions that check for accessibility labels, and use the new API for driving VoiceOver element-to-element to validate that it speaks the right thing. Automation gets you most of the way there.","end":3226},{"start":3226,"title":"I'm a blind iOS developer. Are there any accessibility improvements in Xcode and dev tools this year?","summary":"Terminal accessibility improved notably \u2014 VoiceOver can move to the visible beginning, access marks better, and read tab-autocomplete suggestions. There are more Xcode VoiceOver bug fixes in seed one, with further work ongoing. SwiftUI is also a big win for blind developers, replacing drag-based interface building with code.","end":3452},{"start":3452,"title":"For spatial computing tools that use eye tracking or gaze, how do designers avoid assuming all users can rely on visual gaze as their main input method?","summary":"visionOS offers alternatives to gaze-based interaction. Pointer Control lets someone use a part of their body \u2014 head, finger, or wrist as an anchor \u2014 as the pointer instead of their eyes. A dedicated visionOS accessibility WWDC session covers these input alternatives in depth.","end":3534},{"start":3534,"title":"Thank you \u2014 assistive technology is for EVERYBODY. I use VoiceOver and dictation all the time and love it.","summary":"A closing note of appreciation, echoing that assistive technologies benefit everyone, not only people who identify as having a disability. The host points developers to the developer forums and the Accessibility & Inclusion Q&A, feedback.apple.com for bugs and API requests, and accessibility@apple.com for enhancement requests and stories.","end":3641}]}},"wwdc2026-8007":{"id":"wwdc2026-8007","staticContentId":10962,"eventContentId":8007,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-02T11:08:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8007","languageCode":"eng","description":"Join us online to ask questions, get advice, and follow the discussion about getting started with coding intelligence. Conducted in English.","title":"Coding Intelligence for Beginners Group Lab","startTime":"2026-06-11T11:00:00-07:00","endTime":"2026-06-11T12:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-coding-intelligence-for-beginners-group-lab"}},"roomId":134,"imagesUUID":"E2C93165-8483-4052-A719-01CDDE6B6160","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8007\/1\/139f5980-6b60-45d2-a874-62159a1f5fcc\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8007\/1\/139f5980-6b60-45d2-a874-62159a1f5fcc\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8007\/1\/139f5980-6b60-45d2-a874-62159a1f5fcc\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8007\/1\/139f5980-6b60-45d2-a874-62159a1f5fcc\/downloads\/wwdc2026-8007_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8007\/1\/139f5980-6b60-45d2-a874-62159a1f5fcc\/downloads\/wwdc2026-8007_sd.mp4","duration":3722,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"Xcode engineers introduce themselves and frame a beginner-oriented session on Coding Intelligence in Xcode 27 \u2014 the agentic coding experience, chat versus agent modes, connecting cloud and local models, the Agent Client Protocol (ACP), permissions and privacy, and how to learn agent-driven workflows.","end":331},{"start":331,"title":"Where is the best place to learn all the commands like \/plan and more?","summary":"Type \"\/\" in the agent to see the commands the agent reports it supports plus any skills Xcode has loaded. You can also just ask the agent \u2014 it's aware of nearly every command and what each does. Experiment with both and try commands to discover the workflows Xcode and the agent provide.","end":387},{"start":387,"title":"As developers adopt agent-first workflows, what unique advantages does Xcode's built-in Coding Intelligence provide over external AI agents, and how does Apple see the future of AI and Xcode?","summary":"The panel doesn't discuss future plans, but pointed to Xcode's advantages today: a carefully designed tool set and curated knowledge about Apple platforms and APIs given to the agent, combined with a native UI purpose-built for coding rather than a general-purpose terminal agent.","end":631},{"start":631,"title":"Does the Xcode 27 UI indicate the amount of agentic resources being consumed while carrying out a request?","summary":"Xcode's UI doesn't directly surface how much agentic resource a request is consuming \u2014 instead, ask the agent, since your provider exposes a slash command for it. There are usually two separate numbers: how full the coordinating agent's primary context window is, and how much you've spent or used so far; it's easy to confuse the two. If you'd like this surfaced in the UI, file a feedback request.","end":728},{"start":728,"title":"If the Xcode AI agent needs to read or search implementations from other projects, can we add additional working directories to its context for cross-project references?","summary":"This is governed by Xcode's agent security modes. By default the agent uses permission prompting \u2014 it can reach what it needs but not roam freely. You can adjust the permissions and working directories the agent is allowed to access, so you can grant access to another local project when cross-project references are needed.","end":933},{"start":933,"title":"Coding Intelligence builds features but doesn't explain them. Please add an optional \"explain what I just did and why\" summary after each task \u2014 we want to learn, not just ship.","summary":"You can already get this by asking the agent \u2014 request an explanation in whatever form you like (a Markdown file, an HTML report, or \"help me understand why you did this\"). You can also configure recurring behavior via an AGENTS.md in your project so the agent explains its work by default, turning each session into a learning opportunity.","end":1277},{"start":1277,"title":"What are some common mistakes the coding assistant makes that beginners would find hard to catch on their own?","summary":"Agents commit whole classes of bugs, like humans. The subtlest is not sharing your unstated assumptions \u2014 you may get something different from what you meant, or an unmaintainable version of what you asked for. They can also miss context. Review the output critically rather than assuming working code is correct code.","end":1489},{"start":1489,"title":"No undo button: Xcode Coding Intelligence needs an \"Undo Agent Changes\" button when the agent edits many files \u2014 git is the only rollback and beginners don't know it.","summary":"Two paths already exist. You can tell the agent \"this doesn't work, go back to the previous state\" and it rolls back using its full context. Xcode also tracks state across each agent turn when your project has an initialized git repository, so you can open that history and revert to a prior turn.","end":1743},{"start":1743,"title":"I have years of iOS experience but little with AI coding assistants. How would Apple recommend using Xcode's Coding Intelligence to build the AI-assisted skills industry now expects?","summary":"Start small and fold it into work you're already doing \u2014 small changes or minor bug fixes you'd rather not spend time on \u2014 so you can review the results closely and build intuition. You don't need a massive project to begin; incremental, everyday use is the fastest way to develop the skills.","end":2047},{"start":2047,"title":"What are the key differences between Agent mode and Chat mode? Connecting Xcode to a local LLM in chat mode gives very different results than the Coding Intelligence demo.","summary":"The difference is capability. Chat mode gives the model only a small, fixed tool set \u2014 on the order of 10 to 15 things it can do to your codebase \u2014 whereas agent mode (surfaced at the top of the UI) gives it command-line tools plus nearly 60 tools inside Xcode, along with the agent wrapper that manages context and can spawn sub-agents. That's why a local model in chat mode behaves very differently from the Coding Intelligence demos, and why the recommendation is to move from chat to agents.","end":2295},{"start":2295,"title":"If I use a local model with Xcode instead of a cloud model, what do I miss \u2014 just slower or less accurate answers, or whole agentic features?","summary":"Separate the agent from the model it talks to \u2014 you can mix and match. Xcode has supported local models (on your machine or a local server) from the start. Using a local model in chat mode gives you the chat experience; local models are getting very capable, and to get full agentic behavior you connect them through the agent path rather than plain chat.","end":2436},{"start":2436,"title":"Can I connect Coding Intelligence to a local LLM (e.g. hosted with mlx_lm.server) in Agent mode rather than Chat mode, so it can handle work in Xcode without pointing file by file?","summary":"Yes \u2014 use ACP (Agent Client Protocol), which is the intended path. Many open-source tools and wrappers with local-model support (such as OpenCode) work this way, and ACP lets enterprises bring their own configuration and back-end harness into Xcode while keeping the more capable agent behavior.","end":2480},{"start":2480,"title":"What can you tell me about the privacy of my app's code when accessed through a third-party LLM via Xcode? Can the LLM train on my codebase, or store data?","summary":"When you enable a coding agent and model from a partner, you see that provider's terms for how they use your code, and you're always in control of whether to allow them to use your code for training. You manage this in your account settings with the provider, so the data-use and training choices are explicit and yours to make.","end":2617},{"start":2617,"title":"What's the best way to work with AI in Xcode while offline (e.g. commuting) and without a top-spec Mac with 128 GB of RAM?","summary":"MLX is the best way to run a capable model locally \u2014 you can run a larger, more interesting model with MLX than with any other technology on Apple devices, and there's a dedicated session on using it in this context. Combine that with agent guardrails to make offline, local work practical on more modest hardware.","end":2770},{"start":2770,"title":"I've been using Claude Code in the terminal for a while and barely need Xcode anymore. What am I missing?","summary":"Everyone approaches agents differently, and that's fine. What Xcode adds is powerful platform-aware tools plus a purpose-built user experience \u2014 including support for non-linear flows \u2014 layered on top of the raw agent, rather than the linear back-and-forth of a terminal harness. The value is in that integrated, native experience.","end":2956},{"start":2956,"title":"Is it possible to use local AI models for Coding Intelligence with Xcode 27, and how do you balance speed, accuracy, and privacy?","summary":"Yes \u2014 the \"Run local agentic AI on the Mac using MLX\" session is the best starting point. To balance speed, accuracy, and privacy, consider a hybrid: use a larger model for planning, then have a smaller local model carry out and track the work and its assumptions.","end":3145},{"start":3145,"title":"For privacy reasons I don't want to give access to Anthropic, OpenAI, or Google. Is there a path to use Foundation Models as the agent for Xcode Coding Intelligence?","summary":"Yes \u2014 run local, agentic AI on the Mac with MLX rather than a third-party cloud provider. The Mac is a strong platform for this: even a single high-end Mac is capable, and an array of Mac Studios could host among the largest models, keeping everything on your own hardware.","end":3195},{"start":3195,"title":"Is there a beginner's guide or overview document (rather than hands-on tutorials) that gives a general map of this topic?","summary":"For a conceptual roadmap rather than jump-in tutorials, the \"Xcode agents\" (Meet the coding agent) WWDC session is a good fit \u2014 especially for visual learners, since it includes illustrative diagrams of what the agent is actually doing, giving you the overall map to fill in with details later.","end":3722}]}},"wwdc2026-8016":{"id":"wwdc2026-8016","staticContentId":10971,"eventContentId":8016,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-15T09:38:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8016","languageCode":"eng","description":"Join us online for a deep dive into WWDC26 with Apple engineers and designers to ask questions, get advice, and follow the discussion about the week\u2019s biggest machine learning and AI announcements. Conducted in English.","title":"Machine Learning & AI Group Lab","startTime":"2026-06-12T09:00:00-07:00","endTime":"2026-06-12T10:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":94,"topicIds":[94],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-machine-learning-and-ai-group-lab"}},"roomId":134,"imagesUUID":"1D5599E1-1566-4324-A271-982FCE76E882","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8016\/1\/04b4b0c5-be28-4f1e-aa00-20ab42ad622c\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8016\/1\/04b4b0c5-be28-4f1e-aa00-20ab42ad622c\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8016\/1\/04b4b0c5-be28-4f1e-aa00-20ab42ad622c\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8016\/1\/04b4b0c5-be28-4f1e-aa00-20ab42ad622c\/downloads\/wwdc2026-8016_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8016\/1\/04b4b0c5-be28-4f1e-aa00-20ab42ad622c\/downloads\/wwdc2026-8016_sd.mp4","duration":3761,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"Engineers from the machine learning and AI frameworks teams introduce themselves and set up a session covering the Foundation Models framework, on-device versus Private Cloud Compute models, Core ML and Core AI, MLX, bringing custom and local models to Xcode, and evaluation-driven development.","end":284},{"start":284,"title":"How should developers decide whether a task is better handled by on-device Foundation Models versus Private Cloud Compute?","summary":"Drive the decision with evaluations. Concretely, the main differences are context size and capability: the on-device system model has a 4K context, while the Private Cloud Compute server model offers 32K and stronger reasoning. Use on-device for lightweight, latency- and privacy-sensitive tasks that fit its window, and reach for PCC when you need a larger context or deeper reasoning.","end":565},{"start":565,"title":"I set up Agent mode in Xcode with a local LLM via opencode ACP, but responses are slow and show a <|im_end|> tag. What else should I configure \u2014 did I set the chat template wrong?","summary":"The stray end-of-turn token points at the chat template \u2014 you're on the right track. This is a model-serving detail: ensure the chat template you configure in your MLX server matches the model (e.g. Qwen), since a mismatched template leaves the end token in the output. It's not an Xcode\/ACP issue but a local-model configuration one.","end":744},{"start":744,"title":"Can a local LLM (via MLX-LM, or a model we trained ourselves with Core AI) act as a coding agent that manipulates the Xcode project, not just chat \u2014 and how?","summary":"Yes, with a correction: Core AI is purely an inference framework, not a training one. To get agentic project manipulation (beyond chat), integrate your local model into Xcode over the ACP protocol rather than the chat path. You can bring your own model served via MLX; the ACP integration is what gives the agent the tools to act on the project.","end":907},{"start":907,"title":"Apple updates the on-device and PCC models silently, causing tuned prompts to regress. Is there a runtime model-version identifier so my Evaluations suite can detect a change and gate releases?","summary":"The practical signal today is the OS version. The on-device model ships as part of the OS and only changes with an OS update \u2014 it isn't pushed silently underneath a fixed OS \u2014 so key your evaluation gating to OS version. Re-run your evaluation suite against new OS seeds to catch prompt regressions before release.","end":1138},{"start":1138,"title":"Can Foundation Models run from widgets, App Intents, or background tasks for classification at capture time when the app isn't foregrounded? What rate\/thermal limits apply?","summary":"Yes \u2014 the on-device model can run in the background and in widgets. But under system load you may hit rate limiting, which simply means back off and try again later. Design around this: treat classification as best-effort with retry, rather than assuming an immediate background result when the device is busy or under thermal pressure.","end":1285},{"start":1285,"title":"How can developers create or adapt models to their own app's data and domain \u2014 e.g. stylized profile images, or an adaptive how-to guide? Best resources?","summary":"Match the tool to the goal. Foundation Models can't output images, so for stylized profile images bring an image-generation model \u2014 one option is to prompt the on-device model with the user's app data to build a per-user description, then feed that to your image model. For text-based adaptive guidance, Foundation Models fits well, often via prompt engineering and in-context learning rather than full fine-tuning. If you do want to train or fine-tune your own model, MLX is a good starting point and you can run the result on device with Core AI; per-user adapters are a lighter option, though not for diffusion models. Evaluations can guide the process \u2014 progressively improving quality and even synthesizing test data with its sample generator.","end":1730},{"start":1730,"title":"What use cases are currently best suited for the Foundation Models framework, and which should developers avoid?","summary":"It's a language model, so it excels at content extraction and generation \u2014 and with this year's image input, many multimodal tasks too. The clear limit is that it can't produce images as output (it's not a diffusion model), so don't reach for it for image generation; use a diffusion\/image model for that instead.","end":1947},{"start":1947,"title":"Where should a beginner start to learn about AI\/ML, and what resources do you recommend?","summary":"Swift Playgrounds is a friendly on-ramp \u2014 its intro-to-ML content builds a Core ML image classifier (a rock-paper-scissors game using hand gestures) and teaches how to assemble a diverse dataset and train a model end to end. From there, move on to the Core ML tools and the WWDC ML sessions.","end":2235},{"start":2235,"title":"Is everything we can do in PyTorch importable to Core AI \/ the Apple ecosystem? What's possible and what's not?","summary":"Generally, if you can express your model in PyTorch and it's exportable through PyTorch's export APIs, it converts to Core AI straightforwardly. The exceptions are newer operations and techniques that aren't yet exportable \u2014 when a model won't export, inspect the PyTorch export APIs to see which operations are unsupported and adapt accordingly. MLX is also a good place to experiment with PyTorch-style models.","end":2576},{"start":2576,"title":"What's the best UX when Foundation Models are unavailable (older device, Apple Intelligence off, low battery)? Can we detect availability early and pre-warm to cut first-request latency?","summary":"Check the model's availability property early and design a graceful fallback for when it's unavailable, rather than assuming it's present. For latency, use the prewarm API on the on-device system language model so the first request isn't cold. Together, availability checks plus prewarming give a responsive experience that degrades cleanly on unsupported devices.","end":2818},{"start":2818,"title":"How should we migrate from Core ML to Core AI \u2014 do we wait a year or two for device adoption, or is there a faster path?","summary":"You don't have to abandon Core ML. Core ML remains supported and available on current devices, while Core AI is the newer path; you can adopt Core AI where it helps and keep Core ML for broad device coverage. Plan the migration around your deployment targets rather than waiting on a single cutover.","end":2943},{"start":2943,"title":"What's the maximum on-device local model size we can bring into our app before we should consider Private Cloud Compute?","summary":"There's no single fixed number \u2014 it depends on the device and available memory. Check the OS process available-memory APIs to see how much you can safely use, and size your bundled model to fit within that budget with headroom. When a model is too large to run reliably on target devices, that's the signal to move the workload to Private Cloud Compute.","end":3212},{"start":3212,"title":"How do you decide when AI should help the user versus when it should stay out of the way?","summary":"Start from the fundamental experience you want to deliver, not from adding AI for its own sake. Like any framework in the ecosystem, use these tools only where they genuinely improve the experience for a specific need \u2014 restraint is part of good design, and AI should recede when it doesn't add clear value.","end":3532},{"start":3532,"title":"For older iPhones without Apple Intelligence we use a self-hosted LLM backend. On iOS 27, is wrapping it in a custom LanguageModel provider the recommended path so one LanguageModelSession serves all devices? Any pitfalls?","summary":"Yes \u2014 this year's LanguageModel protocol lets you drive any model through the same unified Swift API for prompting, tool calling, and @Generable output, so a custom provider around your server backend can serve a single LanguageModelSession across all devices without rewriting how you prompt. Start by checking whether your backend conforms to the typical OpenAI chat-completions request shape; if it does, this year's open-source utilities package already includes a conforming implementation you can use as-is. You can also mix models in one app \u2014 deciding which to use can be as simple as an if statement based on platform availability, while the rest of your code stays the same.","end":3761}]}},"wwdc2026-8014":{"id":"wwdc2026-8014","staticContentId":10969,"eventContentId":8014,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-02T11:08:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8014","languageCode":"eng","description":"Join us online for a deep dive into WWDC26 with Apple engineers and designers to ask questions, get advice, and follow the discussion about the week\u2019s biggest watchOS announcements. Conducted in English.","title":"watchOS Group Lab","startTime":"2026-06-11T15:00:00-07:00","endTime":"2026-06-11T16:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["watchOS"],"primaryTopicID":100,"topicIds":[83,92,100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-watchos-group-lab"}},"roomId":134,"imagesUUID":"E36D1C0C-59EC-4A5C-9A57-93E06F60ABC1","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8014\/1\/d2678e2c-5289-437f-9126-9db3a7c4c0ee\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8014\/1\/d2678e2c-5289-437f-9126-9db3a7c4c0ee\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8014\/1\/d2678e2c-5289-437f-9126-9db3a7c4c0ee\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8014\/1\/d2678e2c-5289-437f-9126-9db3a7c4c0ee\/downloads\/wwdc2026-8014_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8014\/1\/d2678e2c-5289-437f-9126-9db3a7c4c0ee\/downloads\/wwdc2026-8014_sd.mp4","duration":3615,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"Engineers from the watchOS team introduce themselves and set up a session covering Foundation Models on Apple Watch, watchOS background and architectural constraints, on-device debugging, Liquid Glass on watchOS, 3D graphics, widgets\/complications, and standalone-app data sync.","end":170},{"start":170,"title":"A session mentions Foundation Models are now available on watchOS \u2014 does that run on the connected iPhone, or directly via Private Cloud Compute for an independent watch app?","summary":"Foundation Models are available on watchOS 27 and don't require a connection to your iPhone, but they do require a network connection \u2014 there's no model running locally on the watch or the paired phone. You can use Private Cloud Compute, or any provider conforming to the LanguageModel protocol (official Claude and Gemini support is coming from those vendors, and you can conform your own). Two things to plan for: using PCC requires an entitlement (noted in the reference session), and every call is a network hop \u2014 so check model availability before calling, watch your quota and token usage, and design graceful fallbacks (for example when a watch has no cellular). A great watch use case is summarizing dense text to fit the display.","end":541},{"start":541,"title":"When using Foundation Models on Apple Watch, does it only use PCC (via cellular or Bluetooth to iPhone), or can it use the iPhone's on-device model on the same network?","summary":"It does not use the iPhone's on-device model. Foundation Models on the watch always route to Private Cloud Compute over the network \u2014 it won't borrow the paired iPhone's local model even when both are on the same network.","end":621},{"start":621,"title":"As an iOS dev moving to watchOS, what core architectural paradigms or hidden pitfalls should I keep in mind for heavy off-main-thread work like CloudKit syncing, without relying on iOS habits?","summary":"Respect the watch's tighter runtime and background budget \u2014 you don't get iOS-style long-running background execution. Do heavy work like CloudKit sync in the appropriate background sessions\/tasks the watch provides, keep it off the main thread, and design for being suspended: make sync resumable and incremental rather than assuming sustained execution. Don't port iOS background assumptions directly.","end":1141},{"start":1141,"title":"Any tips to speed up physical watchOS debugging loops \u2014 minimizing Xcode install delays and the initial system symbol sync? Can we force a local Wi-Fi tunnel or pre-cache symbols?","summary":"The initial system-symbol sync is a one-time step, and the Xcode team put significant work into this over the last couple of releases \u2014 so install Xcode 27, keep your OS up to date, and file feedback with logs if you still hit delays (there's now a lot of built-in diagnostics). The bigger speedup is Device Hub (watchOS 26 and 27): Xcode now connects directly from your Mac to the watch instead of proxying through the phone, substantially improving reliability and throughput. For that to work, be on a network that allows peer-to-peer device communication \u2014 corporate networks often block it \u2014 and note that recent Apple Watch hardware has a 5 GHz Wi-Fi chip that helps. Keep the watch nearby, charged, and paired, and use Device Hub to test across the range of Apple Watch hardware your users actually have.","end":1393},{"start":1393,"title":"What are your favorite new features of watchOS 27?","summary":"A round of favorites: the new workout insights and Workout Buddy; the Foundation Models framework on watchOS; being able to update widgets over Watch Connectivity (a long-requested addition); performance and reliability improvements to widgets plus new Smart Stack suggestions, including delightful ones on holidays and significant events; the upcoming Siri AI and intelligence features (not in beta 1); and the new HealthKit APIs \u2014 heart-rate zones, cycling power zones, and the perimenopause and menopause API.","end":1638},{"start":1638,"title":"My watchOS app uses SceneKit, which was deprecated in watchOS 26, and RealityKit isn't available on watchOS. What's the recommended modern way to render 3D on watchOS?","summary":"SceneKit is deprecated but not gone, so you can keep using it for now. The recommended path forward on watchOS is SwiftUI \u2014 specifically SwiftUI Canvas, which has been around a couple of years, is GPU-backed and very fast, and is a well-featured drawing system suited to the watch. It isn't SceneKit, so if there's something you can't work out how to do (or that can't be done), reach out to DTS, post in the forums, and file feedback so the platform can improve.","end":1760},{"start":1760,"title":"What can most app developers do on watchOS that they might not realize, which would make them want to extend their app to the device (e.g. using the watch's sensors)?","summary":"A tennis game using the watch as a racket is actually possible now \u2014 you can use the watch as a peripheral for a visionOS app, and Core Motion sensor data lets you track the device's motion, from a tennis swing to how steady your hand is throwing pottery. Beyond raw sensors, some of the best watch experiences are ones proactively brought to the user: Live Activities, Smart Stack suggestions, and relevant widgets. Make a widget relevant to the user's real-world context \u2014 a location, a time, or a semantic place like home or work \u2014 so it surfaces at the right moment, and be judicious about occupying the top Smart Stack spot. For Live Activities, alert only on genuinely signal-worthy updates (the Sports app, for instance, alerts on different events per sport) rather than every change.","end":2262},{"start":2262,"title":"What's new for Liquid Glass specifically on watchOS?","summary":"watchOS 26 brought Liquid Glass to the Apple Watch design language, and this year adds substantial refinement in how the material renders and adapts on the watch's small, bright display. Adopt the standard SwiftUI controls and materials to pick up the updated look, and review how your custom UI reads against the refined glass treatment.","end":2570},{"start":2570,"title":"What's something new in watchOS 27 that you think is a hidden gem?","summary":"Two under-appreciated gems. The workout zones API had been requested for years; shipping it took time because the goal was something flexible and easy to use \u2014 refined by using it internally first \u2014 and it supports rich heart-rate and cycling-power zone experiences, both during a workout and afterward (like how long you spent in a high zone across the week). The other is the new Reorderable API from this year's SwiftUI (mentioned in the State of the Union): it lets users drag to reorder collections, it's available on watchOS, and Apple used it to build Control Center \u2014 the first time developers can reorder containers on watchOS.","end":2741},{"start":2741,"title":"Does watchOS 27 change guidance for keeping a widget\/complication up to date \u2014 are we still looking at about 50 updates per day, regardless of Background App Refresh or APNs?","summary":"There's no major new guidance for watchOS 27 \u2014 the widget budget is optimized per platform and by how often people engage with your widget. Practically, expect roughly a 15-to-20-minute refresh cadence for an actively-used widget, with an important distinction: a widget on the watch face is viewed all day and sits at the top tier of the budget (more guaranteed refreshes), whereas one in the Smart Stack refreshes closer to how often the user actually looks at it \u2014 possibly once a day. Drive updates by invalidating from your app when you have new information, or via a timeline reload policy (more deterministic). Match the tool to the need: timeline widgets for data that changes through the day (weather, calendar), relevant configuration for moment-specific relevance, Live Activities for sessions with a clear beginning and end, and controls for quick actions. For pushing updates, watchOS 26 added APNs-based refreshes and this year adds Watch Connectivity-based refreshes. See the Keeping Your Widget Up to Date article and the WidgetKit Foundations session.","end":3272},{"start":3272,"title":"What are best practices for optimizing heavy asset fetching on a standalone watchOS app's first launch without Watch Connectivity, given the watch's radio scheduler limits?","summary":"Fetch only what you need for the first meaningful screen and defer the rest \u2014 prioritize a minimal initial payload over a full sync. Work with the watch's networking scheduler rather than against it: batch requests, make the sync resumable and incremental, and progressively load remaining assets after launch so the radio constraints don't block the initial experience.","end":3615}]}},"wwdc2026-8009":{"id":"wwdc2026-8009","staticContentId":10964,"eventContentId":8009,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-02T11:08:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8009","languageCode":"eng","description":"Join us online for a deep dive into WWDC26 with Apple engineers and designers to ask questions, get advice, and follow the discussion about the week\u2019s biggest privacy and security announcements. Conducted in English.","title":"Privacy and Security Group Lab","startTime":"2026-06-10T15:00:00-07:00","endTime":"2026-06-10T16:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":96,"topicIds":[96],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-privacy-and-security-group-lab"}},"roomId":134,"imagesUUID":"B8291E74-AECB-47F5-BC0C-C69DA7C96B90","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8009\/1\/7afd51c7-53f2-4ae8-a924-0c6c7f8e5e02\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8009\/1\/7afd51c7-53f2-4ae8-a924-0c6c7f8e5e02\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8009\/1\/7afd51c7-53f2-4ae8-a924-0c6c7f8e5e02\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8009\/1\/7afd51c7-53f2-4ae8-a924-0c6c7f8e5e02\/downloads\/wwdc2026-8009_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8009\/1\/7afd51c7-53f2-4ae8-a924-0c6c7f8e5e02\/downloads\/wwdc2026-8009_sd.mp4","duration":3708,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"Engineers from the privacy and security teams introduce themselves and set up a session covering agentic AI security risks, Private Cloud Compute, App Privacy Nutrition Labels, data protection and CloudKit encryption, passkeys, and secure-by-design development.","end":168},{"start":168,"title":"How is Apple ensuring that models are not hijacked through prompt injection techniques?","summary":"Agentic technologies introduce a new category of risk, notably indirect prompt injection \u2014 where malicious instructions are hidden in content the model processes rather than typed by the user. Apple designs these features secure-by-design, constraining what the model is allowed to do and treating untrusted content as data, not instructions, to limit what an injected prompt can achieve.","end":304},{"start":304,"title":"When my app sends user data to Private Cloud Compute or to a third-party model (e.g. Anthropic, Google) via the LanguageModel protocol, what happens to that data and what must I tell users?","summary":"Private Cloud Compute's guarantees \u2014 no retention, no access, verifiable \u2014 apply only to Apple's PCC path. When you route data to a third-party provider through the protocol, those guarantees don't carry over; that provider's own data handling governs it. Disclose third-party processing to users and reflect it in your privacy practices, since you can't promise PCC-level protections for data you send elsewhere.","end":495},{"start":495,"title":"What distinction does Apple draw between data I 'collect' versus data a third-party processor handles on my behalf, for features that send voice\/photos out purely for processing?","summary":"This maps onto App Privacy Nutrition Labels, which let users compare apps' data practices at a glance. Data sent to a third party purely for processing on your behalf \u2014 not retained or used for their own purposes \u2014 is treated differently from data you collect. Understand each service's role and declare your practices accordingly so the nutrition label accurately reflects what happens to user data.","end":580},{"start":580,"title":"AI models don't always do what you expect. What security risks come with the new agentic coding features in Xcode, and what are best practices to mitigate them?","summary":"Like Siri and Safari's AI features, Xcode's agentic features are built secure-by-design with the prompt-injection risks in mind. Xcode adds mitigations such as allow-listing the common tools the agent may run and permission prompting, so the agent can't take sensitive actions freely. Review what tools you grant, keep the agent scoped to what it needs, and don't blindly trust generated actions.","end":666},{"start":666,"title":"What is the core architecture behind Private Cloud Compute, and how does Apple mathematically ensure no one can see the data \u2014 how do we verify there are no hidden flaws?","summary":"Read the in-depth PCC Security Guide on apple.com, which documents the architecture and guarantees at several levels of detail. PCC is designed so that user data is used only to fulfill the request and is not accessible to Apple or anyone else, with the guarantees made verifiable \u2014 the security guide is the authoritative place to examine the design and check the claims.","end":1043},{"start":1043,"title":"Are there new features to audit the privacy\/security of my own app? I use SwiftData with CloudKit so users own their data \u2014 how can I audit that?","summary":"SwiftData with CloudKit is a strong foundation because data syncs through the user's own iCloud with encryption. A newly practical audit tool is AI itself: point a model at your code and ask it to enumerate your privacy and security guarantees and where they might break. Combine that with reviewing your data protection classes and encryption settings to confirm the guarantees hold.","end":1344},{"start":1344,"title":"If we're starting to develop for Apple platforms, what main tools or frameworks should we focus on for privacy and security?","summary":"For privacy, lean on CloudKit for syncing data within the user's own account, Keychain for secrets, and design so users own their data. For security, use CryptoKit for cryptography and encourage passkeys over passwords. These frameworks are fundamental building blocks that give you strong protections without rolling your own.","end":1686},{"start":1686,"title":"If a user stores highly personal journal entries in SwiftData, what are Apple's recommended approaches for protecting that data while still enabling search and synchronization?","summary":"Use data protection classes: when data is local (or in Keychain), create a key to encrypt it and set an appropriate data protection class so it's inaccessible when the device is locked. For sync, CloudKit offers encryption so sensitive fields stay protected in transit and at rest, while you keep the searchable structure you need on device.","end":1888},{"start":1888,"title":"With Xcode AI coding features, can Xcode run inside a VM on an air-gapped Mac, walled off from the internet, to improve security and privacy?","summary":"The existing code-completion features are entirely on device and work offline, so they're fine air-gapped. Features that integrate external agents like Claude Code or OpenAI's Codex inevitably need internet access, so those won't work offline. It varies by feature \u2014 on-device completion works walled off, cloud-backed agents do not.","end":1943},{"start":1943,"title":"How does the new Siri AI ensure privacy and security (e.g. avoiding sharing private context with apps) \u2014 is it a combination of sandboxing, TCC, and more?","summary":"Siri does as much as possible on device, and when it needs larger models it calls Private Cloud Compute, which extends the on-device privacy guarantees to the server. That combination \u2014 on-device processing plus PCC for heavier work \u2014 is what lets Siri use your personal context powerfully while keeping that information private, alongside the platform's sandboxing and permission systems.","end":2275},{"start":2275,"title":"Will Siri AI have a new configurable policy in an MDM solution when released?","summary":"Apple Intelligence and Siri features are manageable through MDM, so organizations can configure and restrict these capabilities via their device-management policies as the features roll out. Check the MDM configuration options for the specific controls available to your deployment.","end":2342},{"start":2342,"title":"Are there new enhancements to Safari's Intelligent Tracking Prevention on the new OS?","summary":"ITP is a long-evolving technology Apple has invested in for years and continues to advance. There were no specific new ITP features to highlight this year, but it remains a priority area of ongoing investment; the WebKit resources are the place to learn more about how it protects users from cross-site tracking.","end":2405},{"start":2405,"title":"How do you convey that your app is secure and privacy-preserving without it coming across as snake oil or unverifiable marketing \u2014 how do you make trust observable?","summary":"Make trust verifiable rather than asserted. App Privacy Nutrition Labels let users see, before downloading, exactly what data an app collects and whether it's linked to them \u2014 an at-a-glance, standardized signal. Back claims with observable facts (what you collect, how it's used, what stays on device) instead of marketing language.","end":2894},{"start":2894,"title":"As a cybersecurity student, what Apple frameworks or security concepts should I learn first to build a foundation relevant to both app\/platform security and the broader field?","summary":"Start with the Apple Platform Security Guide, which goes deeper than standard documentation on how the OSes are secured. Build from there into the security frameworks (CryptoKit, Keychain, data protection). Apple also hires for security and privacy roles, so this foundation is directly relevant to the field.","end":3044},{"start":3044,"title":"Passkeys reduce password risk but introduce credential-lifecycle problems. How is Apple handling stale, expired, or revoked passkeys in the Passwords app, and will cleanup be surfaced to users?","summary":"There's a new Signal API through which a relying party's app or website can inform the system that credentials have changed and need updating \u2014 addressing stale, revoked, or invalid passkeys. This is part of the broader passkey standard Apple participates in, so the lifecycle cleanup is being handled in a standardized way.","end":3096},{"start":3096,"title":"What are best practices for protecting sensitive data in memory on macOS (passwords, tokens, keys) \u2014 should secrets be encrypted while in RAM, or are platform protections sufficient?","summary":"Start with Hardened Runtime on macOS \u2014 strongly recommended for any privacy- or security-sensitive app. It prevents other processes from reading your app's memory and blocks the common attacks (spinning up a thread to read process memory, or attaching a debugger). Before reaching for encryption, ask whether destruction is the better answer: if a secret like a token only needs to live briefly, use it and then destroy it rather than encrypting it in RAM \u2014 long-lived in-memory encryption is really DRM territory, not general security. For keys and other sensitive values, use CryptoKit, which zeroizes the memory backing those keys (rolling your own can't guarantee the Swift runtime will). And you can bind a key to the device's Secure Enclave so that even if your app, process, or the device is compromised, the key can't be exported off the device \u2014 with an attestation interface to prove it's Enclave-held.","end":3349},{"start":3349,"title":"What approach do you take when balancing privacy with collecting telemetry that's useful for development?","summary":"The guiding principle is great features and great privacy \u2014 both, not a trade-off of one for the other. Achieving that often takes extra engineering: collect the minimum you need, prefer privacy-preserving techniques (aggregation, on-device processing, de-identification), and design telemetry so it informs development without exposing individual users.","end":3708}]}},"wwdc2026-8013":{"id":"wwdc2026-8013","staticContentId":10968,"eventContentId":8013,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-02T11:08:54-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8013","languageCode":"eng","description":"Join us online for a deep dive into WWDC26 with Apple engineers and designers to ask questions, get advice, and follow the discussion about getting the most out of Xcode. Conducted in English.","title":"Xcode Tips and Tricks Group Lab","startTime":"2026-06-11T13:00:00-07:00","endTime":"2026-06-11T14:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-xcode-tips-and-tricks-group-lab"}},"roomId":134,"imagesUUID":"1707B6B5-0EB7-420E-BF23-40FCF4A958A9","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8013\/1\/477be231-25cb-4141-9499-8f8f69ea3650\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8013\/1\/477be231-25cb-4141-9499-8f8f69ea3650\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8013\/1\/477be231-25cb-4141-9499-8f8f69ea3650\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8013\/1\/477be231-25cb-4141-9499-8f8f69ea3650\/downloads\/wwdc2026-8013_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8013\/1\/477be231-25cb-4141-9499-8f8f69ea3650\/downloads\/wwdc2026-8013_sd.mp4","duration":3703,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"Engineers from the Xcode team introduce themselves \u2014 noting Xcode is built with Xcode \u2014 and set up a session on lesser-known tips, project structure and merge conflicts, running multiple Xcode versions, build performance, previews, debugging with LLDB, source control, and code signing.","end":84},{"start":84,"title":"What are the useful Xcode tips\/tricks that most people may miss out on, in your opinion?","summary":"A round of lesser-known favorites. The #Playground macro (added last year) lets you drop a runnable snippet into any Swift file \u2014 import Playgrounds, write code, and see expression results inline, including previewing UI or trying Foundation Models; File > New > Playground scaffolds one. New this year, per-workspace themes let you color-code different projects so they're easy to tell apart. A hidden file-management trick: cut the code you want to move, focus the file navigator, and paste \u2014 Xcode creates a new file and names it from the content (paste struct Person and get Person.swift). Find Call Hierarchy quickly shows where a function is called from, several levels deep \u2014 handy when refactoring Objective-C to Swift. And Command-Shift-J reveals the current file in the navigator; combined with Open Quickly on a symbol, it jumps you right to where that symbol lives.","end":324},{"start":324,"title":"Which recent Xcode feature do you think deserves more attention?","summary":"Synchronized folder references (\"blue folders\") \u2014 they largely eliminate the project-file merge conflicts that plague large teams, since files added or removed on disk no longer require hand-edited .xcodeproj changes. Many projects haven't adopted them yet, and doing so meaningfully cuts conflicts.","end":567},{"start":567,"title":"A thank-you to the Xcode team for adding the \"Delete Derived Data\" menu item in Xcode 27.","summary":"The team welcomed the appreciation for the new Delete Derived Data menu item, which replaces years of manually deleting folders, running Terminal commands, or maintaining custom scripts \u2014 a small quality-of-life win in everyday workflows.","end":649},{"start":649,"title":"I want to try the Xcode 27 beta but also keep using Xcode 26 to ship apps. Can I do this, or will it break my setup?","summary":"Yes, you can run both. The main caution is to stick to features from the already-shipped public SDK for apps you submit, so your production app keeps building and remains App Store-eligible while you experiment with the beta.","end":748},{"start":748,"title":"What's the most underrated Xcode feature that even experienced developers don't use enough?","summary":"A grab-bag of underused capabilities. Beyond converting groups to blue folders (to cut project conflicts), you can pin individual canvas tabs \u2014 new this year \u2014 so a SwiftUI preview stays live while you navigate other files. Breakpoints can play a sound instead of pausing. Xcode Cloud is easy to miss and easier than ever to set up directly in Xcode this year, with improved onboarding and built-in webhook configuration. Xcode's search navigator is more powerful than most realize: regular-expression and proximity search, combining the search field with the bottom filter for Boolean-style queries, pressing Delete to remove results from the set, Command-clicking a disclosure triangle to collapse siblings and see all file names, and type-hierarchy queries up to the root or down to subtypes. And the profiling tools \u2014 Instruments' flame graph paired with top functions, plus dedicated SwiftUI, concurrency, and Foundation Models templates \u2014 reward a look.","end":1083},{"start":1083,"title":"What caveats should we be aware of when running the Xcode 27 beta on the same machine as Xcode 26?","summary":"Generally you're fine \u2014 the team routinely runs many Xcode versions across many macOS versions. Keep the versions in separate app bundles, be mindful that command-line tools selection (xcode-select) points at one version at a time, and build production apps against the shipping SDK.","end":1139},{"start":1139,"title":"Are there tips to minimize painful .xcodeproj merge conflicts without third-party tools like Tuist or XcodeGen?","summary":"Use synchronized folder references so adding or removing files no longer edits the project file, which is the primary source of these conflicts. That built-in mechanism addresses most of what teams reach for Tuist or XcodeGen to solve, without adding a project-generation tool to your pipeline.","end":1356},{"start":1356,"title":"Are there cool tricks with Markdown in Xcode 27, and any source-control improvements (e.g. multi-select on stashes)?","summary":"Xcode 27's Markdown support is genuinely useful for in-project docs and notes. On source control, the panel acknowledged the multi-select-on-stashes request as reasonable and encouraged filing Feedback, since specific workflow gaps like that are exactly what they prioritize from developer reports.","end":1543},{"start":1543,"title":"When an SPM package updates its macros, Xcode requires manual re-approval every time, breaking CI. Can macro trust be pinned to a package identity instead?","summary":"The re-approval on macro changes is a deliberate security prompt, but the team recognized the CI friction of re-approving on every update. They treated pinning trust to a package identity as a valuable enhancement request and encouraged filing Feedback, since macro trust is security-sensitive and evolving.","end":1609},{"start":1609,"title":"Is there a way to open the Terminal at the project root folder from Xcode?","summary":"Not directly today. A workaround is to open Terminal and drag a file reference from the navigator into it to change to that directory. The panel liked the idea and suggested filing it as a Feedback request for a built-in \"open Terminal here\" action.","end":1676},{"start":1676,"title":"What are the most useful Xcode keyboard shortcuts you use daily?","summary":"Favorites included Shift-Command-J to reveal the current file in the project navigator, Command-Shift-O for Open Quickly to jump to any symbol or file, Command-Control-arrow for navigating back\/forward, and the Command-click menu on symbols for jump-to-definition and refactoring \u2014 small shortcuts that compound into much faster navigation.","end":1888},{"start":1888,"title":"What are the most common beginner mistakes in Xcode, and how do I avoid them?","summary":"The most common is trying to learn every feature at once \u2014 Xcode is a large, capable workhorse. Focus on the core edit-build-run-debug loop first and add features (Instruments, source control, previews) as you need them, rather than being overwhelmed by everything the app offers up front.","end":2273},{"start":2273,"title":"What are the most efficient workflows for generating and maintaining DocC documentation alongside active development?","summary":"The panel was candid that documentation discipline is hard to keep up. The practical path is to write DocC comments as you build (documentation lives next to the code), build the DocC archive periodically to catch gaps, and treat docs as part of the change rather than a separate later pass so they don't drift from the implementation.","end":2407},{"start":2407,"title":"Which settings or practices can improve build times significantly?","summary":"Understand what's actually slow first \u2014 use the build timeline to find bottlenecks. Common wins: keep modules well-factored, watch for expensive type inference in Swift (add explicit types to slow-to-check expressions), minimize unnecessary work in build phases, and avoid gratuitous clean builds. Measure before changing settings so you target the real cost.","end":2583},{"start":2583,"title":"What tricks make Xcode previews load faster, so I don't wait for an offscreen simulator to launch again?","summary":"Preview speed tracks overall build performance, so the same build-time improvements apply. Beyond that, keep preview targets small and dependencies lean so the preview build is fast, and structure previews to render focused subviews rather than the whole app, reducing what has to compile and launch for each preview.","end":2648},{"start":2648,"title":"How do I integrate swift-format into Xcode for automatic formatting? Running it via a build phase throws \"load from disk\" alerts while typing.","summary":"Running a formatter in a build phase that rewrites files Xcode has open causes those \"contents changed on disk\" alerts. Prefer formatting outside the live-edit loop \u2014 for example on commit via a git hook, or as a separate command rather than an every-build phase \u2014 so the formatter isn't rewriting files while you're actively editing them.","end":2736},{"start":2736,"title":"What are the most underutilized LLDB commands or breakpoint actions for isolating state changes without stopping execution?","summary":"Use breakpoint actions that don't halt: attach a log or debugger-command action and enable \"automatically continue after evaluating,\" so you observe state as it changes without pausing. The Sound action gives an audible cue when a breakpoint hits, and Watchpoints let you break specifically when a variable's value changes \u2014 powerful for tracking down unexpected mutations.","end":2937},{"start":2937,"title":"Can I see unused vars, properties, functions in Xcode? If not, why not?","summary":"It depends on what the compiler can prove via static analysis. Unused local variables produce warnings because the compiler can reliably determine they're unused. Unused properties or functions are much harder \u2014 they could be referenced dynamically, via Objective-C, or from other modules \u2014 so Xcode can't reliably flag them without risking false positives.","end":3043},{"start":3043,"title":"Is deleting DerivedData an actual engineering practice or a shared superstition? Besides that, what should we reach for first when a build gets \"haunted\"?","summary":"Deleting DerivedData isn't a superstition \u2014 it clears stale build products and indexes that can cause genuinely confusing failures, and Xcode 27's menu item makes it convenient. But reach for it after cheaper steps: check the actual error, try a clean build folder, and verify your settings first, rather than nuking DerivedData reflexively as step one.","end":3290},{"start":3290,"title":"When Claude Code's context compresses mid-session in Xcode, the agent silently loses project understanding. Could there be a compression indicator and a pause-before-editing mode?","summary":"The team welcomed this as concrete feedback. Writing an AGENTS\/CLAUDE.md to re-ground the agent is a reasonable workaround today, and they took the requests \u2014 a visible context-compression indicator and a pause-before-editing safeguard \u2014 as valuable enhancement ideas worth filing so agent sessions are more transparent and safe.","end":3406},{"start":3406,"title":"Signing and provisioning profiles keep tripping us up with mismatches and code-sign issues, and we manually switch profiles across many targets. How can we mitigate that in Xcode?","summary":"Lean on automatically managed signing where possible so Xcode handles profiles for you, and use shared build configurations and xcconfig files so signing settings are defined once rather than per target. For repeated Instruments\/testing flows, configure the scheme and configurations so you aren't hand-switching profiles each time. File Feedback for the specific multi-target pain points.","end":3547},{"start":3547,"title":"How can I configure Xcode's code folding and structural navigation to suppress 'noise' and keep only high-value logic on screen?","summary":"Xcode offers code folding (Editor menu and the folding ribbon) and the minimap\/structure for navigation, but fine-grained control to hide categories of \"noise\" is limited. The panel saw this as a strong enhancement request and encouraged filing Feedback describing the desired focus-oriented folding behavior.","end":3703}]}},"wwdc2026-8011":{"id":"wwdc2026-8011","staticContentId":10966,"eventContentId":8011,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-02T11:08:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8011","languageCode":"eng","description":"Join us online for a deep dive into WWDC26 with Apple engineers and designers to ask questions, get advice, and follow the discussion about the week\u2019s biggest Apple Intelligence announcements. Conducted in English.","title":"Apple Intelligence Group Lab","startTime":"2026-06-11T09:00:00-07:00","endTime":"2026-06-11T10:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":94,"topicIds":[94],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-apple-intelligence-group-lab"}},"roomId":134,"imagesUUID":"127DB5C3-364B-4C84-9771-732ABDD2DD23","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8011\/1\/feca06d1-a4cd-4fe2-8515-4d86dbd89222\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8011\/1\/feca06d1-a4cd-4fe2-8515-4d86dbd89222\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8011\/1\/feca06d1-a4cd-4fe2-8515-4d86dbd89222\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8011\/1\/feca06d1-a4cd-4fe2-8515-4d86dbd89222\/downloads\/wwdc2026-8011_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8011\/1\/feca06d1-a4cd-4fe2-8515-4d86dbd89222\/downloads\/wwdc2026-8011_sd.mp4","duration":3835,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"Engineers from the App Intents, Foundation Models, and Apple Intelligence teams introduce themselves and frame the session, which covers App Intents and the new app schemas, the agentic Siri, Foundation Models on device and via Private Cloud Compute, Image Playground, and the Evaluations framework.","end":103},{"start":103,"title":"What are the most useful Apple resources for learning and applying the new v27 APIs and design changes \u2014 sample projects, migration guides, design kits, or documentation?","summary":"Lean on WWDC videos, the documentation (including its dedicated samples section), and technical articles. App Intents had roughly five sessions this year with several sample apps you can study to see how features are built and used, alongside a significant documentation push.","end":189},{"start":189,"title":"My app doesn't fit any predefined schema types. Should I use the closest related types or not support schemas for now? My time-tracking app has timer and calendar types that don't quite fit.","summary":"New this year, app schemas are Apple-designed and fine-tuned to plug into system experiences, and you pick only the ones that match your capabilities. Adopt the schemas that genuinely fit \u2014 even a partial match like timers is worth conforming to \u2014 rather than forcing an ill-fitting type; you can also combine schemas from multiple domains.","end":428},{"start":428,"title":"My app's core entities and actions don't map to any predefined schema domain. What's the best way to bring them to the agentic Siri today and be ready as the platform evolves?","summary":"Review the schemas and adopt the parts that fit \u2014 conform to an entity schema, donate, and interact with Spotlight \u2014 and you gain benefits even if not every intent maps cleanly to your app. Even where an intent doesn't fit, you can still let users ask questions about your content or take action on it through the new view annotation API. Start integrating now and expand coverage as the platform evolves.","end":498},{"start":498,"title":"There's no API for a third-party app to invoke another app's intents directly \u2014 Siri\/Shortcuts is the orchestrator. Can an app act as its own orchestrator, or must cross-app action route through Siri\/Shortcuts?","summary":"New this year, a system orchestrator can take actions from many apps' App Intents across the system \u2014 apps don't drive each other directly. This routing is deliberate for privacy and safety: by exposing App Intents you make your actions available to the system-level orchestrator, which coordinates them while keeping Apple Intelligence personal and private to the user.","end":623},{"start":623,"title":"With the new Siri in iOS 27, can my third-party app take part in a multi-turn conversation, or am I limited to discrete actions and entities I expose through App Intents?","summary":"Yes \u2014 this is exactly what schemas enable. Users can take actions, ask questions about your entities, and do follow-ups in a multi-turn conversation. Try it in the betas with your own app: because it's your content, Siri has a deep understanding of it and users can ask natural questions and refine.","end":728},{"start":728,"title":"Is it OK to mix-and-match non-schema App Entities\/Intents with some that match different schemas from different domains, all in the same app?","summary":"Absolutely. Pick and choose schemas from any domains that match your app's capabilities \u2014 calendar and reminders actions can coexist and work together for holistic experiences. It's not an either\/or choice: schemas, App Shortcuts, and in-app search can all be combined in the same app.","end":806},{"start":806,"title":"Is there a practical time\/work budget for Foundation Models during one background wake? If no fixed number, how should apps safely chunk work?","summary":"In the foreground there's no rate limiting on the on-device model \u2014 requests are effectively unlimited. In the background, the system applies throttling when under heavy load. There's no fixed budget number; instead, catch the rate-limited error, which is how the system signals it's under load, and chunk or defer work in response.","end":887},{"start":887,"title":"What error types\/codes indicate Foundation Models throttling, system busy, thermal pressure, quota exhaustion, or model unavailable? Which are retryable vs terminal?","summary":"This year's LanguageModel protocol defines a common LanguageModelError covering cases like rate limiting and refusals. For the Private Cloud Compute model specifically, there's a quota-usage property to check how close you are to the limit, plus model-specific errors thrown for that model \u2014 so you can distinguish retryable conditions from terminal ones.","end":961},{"start":961,"title":"How do I avoid LanguageModelSession.GenerationError.guardrailViolation? I get guardrail-violation errors often for prompts with no obvious issue.","summary":"Use the Evaluations framework's model-judge evaluator to build safety rubrics (e.g. a 1\u20134 scale) and systematically assess which prompts trip the guardrails. If the on-device model is over-triggering, you can also route the check through the more capable PCC model to understand what's flagged and refine your prompts.","end":1058},{"start":1058,"title":"In iOS 27, can Foundation Models reason over video or use a video model, or is multimodal input limited to still images?","summary":"Models declare their capabilities through the LanguageModel protocol, and vision is one of them \u2014 so a model that supports it can accept image input (both the on-device and PCC models added image input this year). Apple's PCC model also exposes light, moderate, and deep reasoning levels. There's no built-in video input, but the framework is extensible: you can use the custom segment API to support custom modalities like video, or preprocess a video into a text transcript (for example with the Vision framework) and feed that to the on-device model.","end":1307},{"start":1307,"title":"Do app intent schemas give your intents an \"advantage\" with Siri, or can any intent\/entity be discovered the same way? (Notably, there's no finance schema.)","summary":"\"Advantage\" isn't quite the framing \u2014 schemas are simply how Apple Intelligence reasons about your app's actions and entities. To influence Siri where no schema fits, use the new APIs: intent donation and related tools that tell Siri what's happening in your app, so your actions and entities remain discoverable.","end":1560},{"start":1560,"title":"Can I use Image Playground to generate photorealistic images inside my app?","summary":"Yes. The Image Playground API gained significant additions this year \u2014 use the ImagePlaygroundStyle.all parameter to access the photorealistic style. It now runs on Private Cloud Compute, giving you a more powerful model. A dedicated WWDC video and documentation walk through the API.","end":1644},{"start":1644,"title":"I'm confused by the difference between IndexedEntity and defined entities like AppSchema.BooksEntity. Should IndexedEntity be used for everything that isn't a book, calendar event, etc.?","summary":"They're complementary, not alternatives. A schema defines the shape and properties of your content (a book's title, author, contents). IndexedEntity is a separate API that indexes that content into the system's semantic index so Siri can retrieve it for requests like \"read a book by this author.\" Adopt a schema and also conform to IndexedEntity to make content both well-modeled and findable.","end":1815},{"start":1815,"title":"Does Apple envision the Evaluations framework being used for academic research \u2014 collecting metrics and generating evidence for peer-reviewed studies \u2014 in addition to product evaluation?","summary":"Yes. The Evaluations framework was designed to evaluate not just language models but any stochastic system, so it applies to traditional ML models like linear regression or classifiers too. What matters is what you're measuring; the framework's methodology can support research metrics, not only product evaluation.","end":1991},{"start":1991,"title":"Can Siri understand context on the CarPlay screen when connected, and can it perform on-screen actions (like \"play song on row 2, col 1\") on CarPlay too?","summary":"Understanding on-screen context is one of the three pillars of the new Siri \u2014 it can reason about what's visible and act on it, using the existing user activity API plus the new view annotations API to expose your entities on screen. On CarPlay specifically, the panel didn't confirm this support and emphasized keeping the driver focused on the road, encouraging developers to file a feedback request for CarPlay support with appropriate safety considerations.","end":2140},{"start":2140,"title":"Are we going to be able to use App Intents with HomePod\/audioOS? There's currently no beta for it.","summary":"The new Siri is available on iPhone, iPad, Mac, and visionOS \u2014 not on HomePod. However, existing App Shortcuts have worked on HomePod for a while, so you still have a path to invoke your app's actions there.","end":2174},{"start":2174,"title":"Can we expect watchOS responses to App Intents to match up one-to-one with iOS?","summary":"Aim for parity, but test each platform's experience yourself rather than assuming they're identical. The new Siri spans many devices, so when adopting these APIs, verify your experiences across everything you support \u2014 including AirPods, an easily overlooked but common place users invoke Siri for quick actions.","end":2311},{"start":2311,"title":"Does Image Playground now require an internet connection for PCC, or does it fall back to the previous on-device model gracefully?","summary":"Image Playground currently always requires an internet connection to generate images, because it uses Private Cloud Compute (a server-based model). It does not fall back to on-device generation.","end":2339},{"start":2339,"title":"What are each of you most excited about regarding the updates to Apple Intelligence?","summary":"Panelists shared personal favorites, with a standout being the intelligence features surfaced during phone calls \u2014 for example pulling a flight confirmation number out of Mail while you're on a call, so you don't have to hunt for details mid-conversation.","end":2738},{"start":2738,"title":"Why go for hard-coded schemas instead of a dynamic approach like GPT or Claude \u2014 e.g. Markdown-described skills that reference App Entities? Wouldn't that be more flexible?","summary":"The schema approach is a deliberate trade for consistency and privacy. Apple's take is personal intelligence kept private to the user, and fixed schemas let the system guarantee a holistic, predictable, and safe experience across apps \u2014 properties that a fully open, dynamically described skill system would make harder to ensure.","end":2962},{"start":2962,"title":"Does the Evaluations framework have a way to see if my tools are being called?","summary":"Yes \u2014 supply the transcript from your configured LanguageModelSession and use the tool-call evaluator. Its expectation\/assertion system lets you assert whether tools were called, in the right order, with the right properties and values \u2014 a fairly deep and sophisticated set of checks.","end":3061},{"start":3061,"title":"How does the Apple Intelligence framework mitigate semantic entropy when passing context between on-device and larger server-based models?","summary":"This relates to Foundation Models' dynamic profiles and the different context windows \u2014 the on-device system model has a 4K context while the PCC model has 32K. The framework manages how context is carried across those models so information is preserved when moving between the smaller on-device and larger server-based models.","end":3174},{"start":3174,"title":"Do I need to use the Evaluations framework with Foundation Models?","summary":"No \u2014 the Evaluations framework can assess any stochastic system and doesn't require Foundation Models. The main exception is the tool-call evaluator, which needs a Foundation Models transcript today (a more generic transform for other model providers is in progress). Otherwise you can evaluate with any language model.","end":3233},{"start":3233,"title":"Can one of my apps' Foundation Models sessions retrieve another of my apps' IndexedEntity content via SpotlightSearchTool (same developer, shared app group), or is retrieval sandboxed to the donor?","summary":"Retrieval is limited to your app's own sandbox, so a session in one app can't pull another app's donated content through the Spotlight search tool. Because apps from the same developer can share an app group, you may be able to share underlying data or files between them by other means \u2014 but the semantic-index retrieval itself stays sandboxed per app.","end":3333},{"start":3333,"title":"Are schema-bound entities interchangeable \u2014 can an app's FileEntity become a PhotoEntity and vice versa, e.g. through Transferable?","summary":"Yes, Transferable is the right tool. It lets you specify the data transformations your app supports between entity types. The Unicorn Chat sample app (available to download) adopts Transferable so a message can be text or contain attachments \u2014 a working example of interchanging content types.","end":3481},{"start":3481,"title":"I manage a list of contacts; a close but imperfect match is the .messages.messagePerson schema. Is that acceptable to participate in the new Siri?","summary":"Yes. Pick the app schemas that best match your capabilities even when imperfect \u2014 the messagePerson schema lets you export contacts to support messaging features (Unicorn Chat demonstrates this). If truly nothing fits, fall back to the more generic system types to still expose your content to Siri and Apple Intelligence.","end":3609},{"start":3609,"title":"With image input added to Foundation Models, the token limit is still 4096. Are there constraints on other inputs like prompt or instructions for the model to work best?","summary":"The on-device model's 4096-token budget is unchanged by image support. An image consumes roughly 200 tokens (measurable with Instruments), leaving the rest for your instructions and prompt. You can use the full budget however you like \u2014 a large input with small output works as well as the reverse.","end":3835}]}},"wwdc2026-8015":{"id":"wwdc2026-8015","staticContentId":10970,"eventContentId":8015,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-02T11:09:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8015","languageCode":"eng","description":"Join us online for a deep dive into WWDC26 with Apple engineers to ask questions, get advice, and follow the discussion about the week\u2019s biggest Safari and web technologies announcements. Conducted in English.","title":"Safari and Web Technologies Group Lab","startTime":"2026-06-10T17:00:00-07:00","endTime":"2026-06-10T18:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":98,"topicIds":[98],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-safari-and-web-technologies-group-lab"}},"roomId":134,"imagesUUID":"82134186-2C91-40D3-A735-C12D74FE51BC","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8015\/1\/4ca776db-5587-4340-a4ec-d4565dd9241d\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8015\/1\/4ca776db-5587-4340-a4ec-d4565dd9241d\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8015\/1\/4ca776db-5587-4340-a4ec-d4565dd9241d\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8015\/1\/4ca776db-5587-4340-a4ec-d4565dd9241d\/downloads\/wwdc2026-8015_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8015\/1\/4ca776db-5587-4340-a4ec-d4565dd9241d\/downloads\/wwdc2026-8015_sd.mp4","duration":3867,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"Engineers and evangelists from the Safari and WebKit teams introduce themselves and set up a session covering the fundamentals of web development, upcoming web standards, WebKit's standards process, Safari extensions, spatial web features, and web performance.","end":284},{"start":284,"title":"What web technologies or APIs should every new web developer learn today to prepare for the future of the web?","summary":"The fundamentals still matter most: understand why the web has HTML, CSS, and JavaScript and what each is for. Invest in semantic HTML \u2014 which keeps expanding, so things that once required JavaScript can now be done declaratively \u2014 and learn CSS layout deeply. A strong grasp of the core three languages is the best preparation for whatever comes next.","end":605},{"start":605,"title":"What upcoming web standards is the team most excited about?","summary":"A highlight is the newly founded Web Extensions Working Group. After five years in a community group meeting biweekly, the work is moving to a formal specification for the WebExtensions API, pushing toward real interoperability across browsers \u2014 a meaningful step for extension developers.","end":967},{"start":967,"title":"I'm a native app developer and noticed Safari can sometimes be more performant than native in UI\/UX for JavaScript-driven apps. How is this possible?","summary":"The web platform is genuinely capable \u2014 early iOS even considered shipping only web apps, and some first-party apps were originally built that way. Modern WebKit is highly optimized, so a well-built web app can feel excellent. The trade-off is that reaching that quality on the web is harder to sustain, which is why native remains valuable, but strong web performance is very achievable.","end":1159},{"start":1159,"title":"How should web developers advocate for the web features they want WebKit to support (and what shouldn't they do)? Do WebKit standards positions factor in our reports?","summary":"The team genuinely wants to hear from developers. File issues at bugs.webkit.org and engage with the evangelists on social media. What helps most is clear signal about which features matter and why \u2014 there are more good ideas than people to build them, so concrete, well-explained demand and real use cases help prioritize the work.","end":1625},{"start":1625,"title":"Is there any improvement to cookie synchronization in WKWebView, similar to what UIWebView used to provide?","summary":"The recommended approach is to use HTTPCookieStore to observe and manipulate cookies for WKWebView, keeping them in sync between your app and the web view. The panel didn't have a cookies specialist present, so for deeper cases they suggested following up through the forums.","end":1656},{"start":1656,"title":"Excited that we can create extensions from a prompt. Are there plans to close the API gap with what Chrome and Firefox offer (e.g. Tab Group APIs)?","summary":"The team is enthusiastic about users generating extensions from a prompt to tailor their browsing. On closing the API gap, the direction is toward greater interoperability \u2014 the new WebExtensions Working Group is the vehicle for standardizing and expanding API coverage. Specific additions like Tab Group APIs are best raised and tracked through the developer forums and WebKit.","end":1776},{"start":1776,"title":"With spatial CSS, will I see things in 3D on Apple Vision Pro coming from the web?","summary":"Spatial CSS is currently a proposal with no shipping news, though it's something the team feels positively about. What exists today is the inline HTML <model> element for placing USD and other 3D formats into a page \u2014 you can drag models out and, with immersive environments, view them at full scale and create scenes procedurally.","end":1853},{"start":1853,"title":"Have we reached the 'end-game' for web optimization and performance, or is there more to squeeze out of the browser?","summary":"There's still plenty of headroom \u2014 teams work on engine performance continuously. Developers often focus on their own JavaScript speed and image loading to get a usable page in front of users fast, while WebKit engineers keep improving how quickly a browsing experience becomes responsive. Performance work on both sides is ongoing, not finished.","end":2111},{"start":2111,"title":"I want a Safari extension for SEO that takes page content and shows reports in a SwiftUI window across platforms. What path do you recommend?","summary":"Combine extension UI with your app. Use an extension popup for lightweight display, and the web navigation APIs to monitor page changes. To pass data between the extension and your native app for richer SwiftUI reporting, use native messaging. Those pieces let you surface page insights in your own UI across iOS, macOS, and visionOS.","end":2175},{"start":2175,"title":"Progressively enhancing an existing select with appearance-base","summary":"Build the select the traditional way first \u2014 always include real text content for every option \u2014 then layer images, extra content, and CSS on top. Supporting browsers get all the styling; unsupporting ones fall back to the text list automatically, with no extra developer work. Text content is also essential for accessibility (screen readers announce it) and UX (icon- or color-only options are hard to recognize). This works because select was designed for progressive enhancement on purpose \u2014 the original selectmenu proposal was dropped in favor of reusing select so older browsers get a good fallback.","end":2482},{"start":2482,"title":"How the model element handles loading states and errors","summary":"The model element exposes a ready promise signaling when the model has loaded, so you can show a spinner while loading and hide it when ready. As with images, there is a distinction between downloading an asset's bytes and having the resource actually loaded and usable \u2014 the same applies to models, including ones generated procedurally in JavaScript, and you can observe and present UI for each phase. There isn't a dedicated CSS pseudo-class for the loading state yet; the panel noted that as good feedback.","end":2632},{"start":2632,"title":"How large 3D models should be on the web","summary":"Keep models small and optimize them before publishing, just as with images \u2014 larger models mean longer download and processing time, and memory is finite. There are no hard guidelines, but a model that is content on a page generally shouldn't be larger than the page, so textures and geometry only need enough detail for how it is displayed. Maximum visual quality is often reachable around ten megabytes \u2014 larger than an equivalent image, but reasonable given the motion and interactivity. Full-screen immersive environments can legitimately be larger. Tooling is improving too: USDCrush now compresses textures to AVIF rather than JPEG, and mesh-compression formats are under discussion.","end":2846},{"start":2846,"title":"How extension permissions work in Safari vs. other browsers","summary":"Safari's extension permission model is designed with user privacy first. Manifest-requested permissions aren't automatically granted \u2014 the user decides which sites an extension runs on, and Safari is clear about what a granted extension can do. Because developers often can't predict which sites a user will visit, they may over-request host permissions; the active-tab permission is a good workaround, granting access only to the current tab and dropping host permissions once the user navigates away.","end":2953},{"start":2953,"title":"How the immersive API interacts with existing web content","summary":"In an immersive environment the web page is still present, so anything you need to do on that page remains available. It is a single-app experience: other apps alongside (like Messages) may dim, and a crown press restores the shared view. If you want the page to alter the immersive environment \u2014 moving your position, or playing or pausing an animation \u2014 you can put whatever UI you need onto the web page for the user to control it.","end":3005},{"start":3005,"title":"The model element as a first step into the spatial web","summary":"The model element is the first and easiest step for web developers to experience 3D and the spatial web \u2014 least friction, quick compelling results. You don't need an existing model: find one online, or use modern generation tools to create 3D models (creatively, or reconstructed from a set of images). From there it is a natural progression into learning more about 3D and tools like Blender. For everyday developers curious about spatial, starting with the model element is the recommendation.","end":3103},{"start":3103,"title":"How much appearance-base select styling works out of the box","summary":"With appearance-base select, the layout works correctly out of the box and the control inherits your page's styling \u2014 font, background color, font color \u2014 rather than a custom UA font, a big improvement over appearance:none. The standout is pseudo-element access: you can target and style individual parts (the picker icon, the drop-down menu, the checkmark) without affecting the rest. It is 100% interoperable across engines with a consistent underlying DOM \u2014 the foundation that makes reliable custom styling possible. Appearance-base for all form controls (not just select) is still in progress. The one open discussion is what the default should look like \u2014 the intent is for the UA stylesheet to carry as little opinion as possible and inherit as much as possible from the existing site.","end":3399},{"start":3399,"title":"Porting an existing Chrome or Firefox extension to Safari","summary":"How much work it takes depends on the extension \u2014 some convert and work out of the box; others rely on browser-specific APIs Safari may not support. To test, open the Develop menu and load a temporary extension using your existing Chrome or Firefox extension resources, then see what works. If an API behaves differently across browsers, raise it in the WebExtensions community and working group, or file a bug on bugs.webkit.org or via Feedback Assistant. There are no grave manifest differences across browsers, and Safari deliberately doesn't fail on unsupported manifest keys \u2014 a specific choice to ease migration.","end":3526},{"start":3526,"title":"Closing thoughts: what the panel wants web developers to know","summary":"Each panelist shared a closing thought: the Safari 27 beta release notes are exceptionally long this year \u2014 roughly twice normal \u2014 reflecting a major effort to fix long-standing paper cuts (including rewriting the JavaScript module loader to fix the top-level-await bug), and WebKit genuinely wants developers' bug reports. Extension support now lives in WebKit, so you can contribute code and file bugs directly. Recurring themes: play with the model element and enjoy 3D on the web, and lean on how much modern web standards do for you \u2014 you may be able to build with far fewer frameworks than expected. A closing wish: show off Safari-first standards like the random() and filter() functions and hanging punctuation.","end":3867}]}},"wwdc2026-8001":{"id":"wwdc2026-8001","staticContentId":10956,"eventContentId":8001,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-02T11:07:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8001","languageCode":"eng","description":"Join us online for a deep dive into WWDC26 with Apple engineers and designers to ask questions, get advice, and follow the discussion about the week\u2019s biggest Swift announcements. Conducted in English.","title":"Swift Group Lab","startTime":"2026-06-09T13:00:00-07:00","endTime":"2026-06-09T14:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-swift-group-lab"}},"roomId":134,"imagesUUID":"F0140857-2872-4875-AFD4-AEBFB7817C91","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8001\/1\/6ee7f28d-d198-4690-af7e-ac35f4173c3c\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8001\/1\/6ee7f28d-d198-4690-af7e-ac35f4173c3c\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8001\/1\/6ee7f28d-d198-4690-af7e-ac35f4173c3c\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8001\/1\/6ee7f28d-d198-4690-af7e-ac35f4173c3c\/downloads\/wwdc2026-8001_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8001\/1\/6ee7f28d-d198-4690-af7e-ac35f4173c3c\/downloads\/wwdc2026-8001_sd.mp4","duration":3677,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"Engineers from the Swift and Foundation teams introduce themselves and set up a session spanning Swift concurrency and the Swift 6 migration, the ownership model, performance and build times, Swift Package Manager, and lesser-known language features.","end":273},{"start":273,"title":"What's the best way to transfer \"ownership\" of non-Sendable data from one isolation domain to another without copying \u2014 e.g. an actor handing large data to another actor?","summary":"Use region-based isolation, which lets you transfer non-Sendable data between actors as long as the original actor no longer accesses it after the transfer. In many cases the compiler can prove this is safe from your usage; the `sending` keyword makes the transfer explicit when you need to hand data off and relinquish access.","end":365},{"start":365,"title":"What advice and best practices (and pitfalls) do you have for using Swift structured concurrency?","summary":"Lean into structured concurrency as fully as you can \u2014 trouble tends to come from adding escape hatches out of it. A practical approach is to refactor smaller, self-contained parts of your codebase into structured concurrency as units, rather than sprinkling unstructured tasks throughout, so the structure and cancellation guarantees actually hold.","end":716},{"start":716,"title":"Is there an overhead cost to unused\/unnecessary conformances (Sendable, Equatable, Hashable, etc.) added to every struct out of habit? What happens under the hood?","summary":"There is some cost. Conformances like Equatable and Hashable generate the associated equality\/hashing code and metadata to support them, adding to binary size and compile work even when unused. Add conformances deliberately where you need them rather than reflexively to every type; Sendable is a compile-time marker with less runtime weight, but value conformances carry real generated code.","end":869},{"start":869,"title":"Applying @MainActor triggers a massive chain reaction of async refactoring across a legacy codebase. What's the cleanest pattern to stop this 'concurrency contagion' without sacrificing Swift 6 safety?","summary":"When you mark a type @MainActor, everything using it must also be main-actor-isolated, which spreads. Rather than annotating individual types, consider setting main-actor isolation as the module's default so most of your app code is implicitly on the main actor, and carve out concurrency only where you deliberately go off it. That inverts the contagion and keeps legacy UI code simple while preserving safety.","end":1039},{"start":1039,"title":"What are the most essential modern Swift features or official resources to adopt first for high efficiency and great performance?","summary":"Start by profiling \u2014 Instruments shows exactly where time goes, and the new flame graph view breaks down where work happens, so you optimize what actually matters rather than guessing. Build performance intuition from measurement first, then adopt the specific language features that address the hot spots you find.","end":1188},{"start":1188,"title":"After a full manual Swift 6 strict-concurrency migration, should we tear out annotations that the newer isolation model makes redundant, or leave them as no-ops?","summary":"It's completely fine to leave redundant annotations \u2014 they don't hurt, and some developers prefer keeping isolation explicit for clarity. There's no need to churn your codebase removing them; remove them if you value the reduced noise, but treating them as harmless no-ops is a perfectly good choice.","end":1388},{"start":1388,"title":"Why is UserDefaults not Sendable given the docs say it's thread-safe? Is this a preliminary step?","summary":"When Sendable was introduced, Foundation was audited into three buckets: clearly Sendable, clearly not, and a middle group complicated by class hierarchies where a superclass might be Sendable but a subclass isn't (like NSString being immutable while a mutable subclass exists). UserDefaults falls into that nuanced category; it's thread-safe in practice but not yet marked Sendable pending that resolution.","end":1524},{"start":1524,"title":"Would it be good practice to migrate to using 'borrow\/mutate' instead of 'get\/set' altogether, and when would you not recommend it?","summary":"Borrow and mutate are part of Swift's evolving ownership model: borrow gives a read-only reference to data held elsewhere (avoiding a copy), and mutate gives a mutable reference. They're valuable for performance-sensitive code handling large or non-copyable values, but they're not a blanket replacement for get\/set \u2014 reach for them where avoiding copies matters, not everywhere by default.","end":1626},{"start":1626,"title":"With additions like Mutex, InlineArray, Span, typed throws, and non-copyable types, how do app developers know what's for them vs systems\/embedded developers, and how do you keep up?","summary":"Swift is designed around progressive disclosure \u2014 you shouldn't need the advanced, low-level features for typical app development. Many additions target systems, embedded, or performance-critical code; reach for them only when a specific need arises. Don't feel obligated to learn everything at once; the core language remains approachable and the specialized tools are there when you need them.","end":1917},{"start":1917,"title":"Our project has very slow incremental builds with Swift Emit Module taking minutes, and splitting into modules didn't help. Can features like type inference\/generics affect this, and how do we diagnose it?","summary":"Language features like type inference and generics can hurt build performance in the extreme, but usually not project-wide \u2014 once in a while a particular expression takes a long time to type-check. But when it's specifically the module-emission phase that's slow, that's more likely related to all the other modules being imported. Diagnose it the way you'd performance-tune code: use explicit module builds (rolled out in Xcode and Swift over the last couple of years, now on by default) together with the build timeline in Xcode to see where the compiler is actually spending its time. You'll often find excess dependencies causing large rebuilds that are easy to prune once you can see them.","end":2019},{"start":2019,"title":"Now that Swift 6 concurrency has been adopted widely, is there anything the team would approach differently if designing it today?","summary":"Yes \u2014 through concurrency's evolution there were two changes to how async functions behave, and in hindsight the team would have started with the latest behavior for where a non-isolated async function runs. That final model (a nonisolated async function runs in the caller's context rather than hopping off) is what they'd have chosen from the outset.","end":2251},{"start":2251,"title":"What are the notable Swift Package Manager improvements in the latest release, especially around build and dependency-resolution performance for large multi-package projects?","summary":"The biggest Swift Package Manager change in the 6.4 release is one you don't opt into: Xcode's SPM and the open-source SPM used in other IDEs (like VS Code) now share a single build-system implementation, the Swift Build package, rather than two separate ones. That brings consistency across environments and a single place to land bug fixes and improvements. It also carries the Swift build system's performance work into ordinary package builds \u2014 including explicit modules and better splitting of a module's build into parallel pieces. It was a preview in 6.3 and is on by default in 6.4, so you benefit just by updating.","end":2360},{"start":2360,"title":"What's the one Swift feature most developers don't know exists but should?","summary":"A favorite is a combination of two: the annotations that control a function body's visibility across module boundaries together with the optimizer's inlining decisions (such as @inlinable and @inline). Used well, they let the optimizer inline across modules for performance-critical code \u2014 powerful, but to be applied deliberately since they expose implementation details.","end":2895},{"start":2895,"title":"What's left in language evolution to get tuples to finally conform to Equatable, Hashable, Comparable, etc. conditionally?","summary":"It's an evolution of parameter packs. The base concept now exists in the language; what's still needed is the ability to write an extension over a tuple type whose element types are represented by a parameter pack (since each element can be a different concrete type). Once that's possible, conditional conformances of tuples to Equatable, Hashable, and so on can be expressed.","end":3005},{"start":3005,"title":"With Swift 6 strict concurrency, what's the recommended pattern to ingest high-frequency sensor data on a background actor and stream updates to an @Observable model on the MainActor without blocking the UI?","summary":"Start by pinning down what \"high frequency\" actually means \u2014 if it's still well below your UI's update rate, there may be no work to do. When it's genuinely high, the goal is to cross from the background actor to your MainActor @Observable model as infrequently as possible: coalesce or accumulate samples rather than sending one update per change, and decide how much data loss is acceptable (a UI rarely needs every intermediate value). Debouncing helps here \u2014 Swift Async Algorithms has a Debounce you can layer on an async sequence \u2014 and SwiftUI's @Observable already coalesces updates for efficiency. Keep the heavy ingestion asynchronous, and drive the UI only with what the user actually needs to see.","end":3183},{"start":3183,"title":"Performance: why is a tuple more expensive than a struct when returned from a method \u2014 or is it situational?","summary":"They're handled differently by the compiler. A struct is generally passed as a single entity, whereas a tuple is often \"exploded\" \u2014 each element passed as if it were a separate parameter. For a tuple with many elements that per-element handling can cost more than moving one struct, which is why returning a struct can be cheaper than an equivalent tuple.","end":3257},{"start":3257,"title":"What's your favorite quality-of-life \/ quality-of-code feature in Swift \u2014 not the obvious ones, but neat lesser-known things that make Swift fun to write?","summary":"A forward-looking favorite is the new work on iterable protocols mentioned in What's New in Swift, which connects to the performance thread around non-copyable and non-escapable types. It points toward writing expressive iteration while keeping the strong performance and ownership guarantees the language has been building out.","end":3677}]}},"wwdc2026-8012":{"id":"wwdc2026-8012","staticContentId":10967,"eventContentId":8012,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-02T11:08:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8012","languageCode":"eng","description":"Join us online to ask questions, get advice, and follow the discussion about getting started with Icon Composer. Conducted in English.","title":"Icon Composer for Beginners Group Lab","startTime":"2026-06-10T11:00:00-07:00","endTime":"2026-06-10T12:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":87,"topicIds":[87],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-icon-composer-for-beginners-group-lab"}},"roomId":134,"imagesUUID":"8F2E2F3A-8CD4-4066-8CE2-C033598096E8","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8012\/1\/318b62a0-198d-48c5-8a8e-84fd39de45bd\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8012\/1\/318b62a0-198d-48c5-8a8e-84fd39de45bd\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8012\/1\/318b62a0-198d-48c5-8a8e-84fd39de45bd\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8012\/1\/318b62a0-198d-48c5-8a8e-84fd39de45bd\/downloads\/wwdc2026-8012_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8012\/1\/318b62a0-198d-48c5-8a8e-84fd39de45bd\/downloads\/wwdc2026-8012_sd.mp4","duration":3699,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"The panel \u2014 design evangelism, Cocoa graphics and rendering, and the Icon Composer engineering and design teams \u2014 introduce themselves and give a hands-on tour of Icon Composer: layers and groups, background options, and the Liquid Glass properties (specular, blur, refraction, translucency, shadows), plus previewing across platforms, dark\/clear\/tint modes, and back-deployment to OS 26.","end":590},{"start":590,"title":"If you're designing an icon from scratch today, what would your step-by-step workflow in Icon Composer look like?","summary":"Start with an idea or visual metaphor, then draw it in a vector tool, keeping shapes simple and elegant rather than finely detailed so they adapt across sizes. Export layers at full canvas size (templates exist for Figma, Sketch, Illustrator, and Photoshop) so positioning carries over, then drag them into Icon Composer to annotate color and Liquid Glass per layer. Prefer scalable SVGs over bitmaps.","end":827},{"start":827,"title":"When using Icon Composer, what are the most common mistakes developers make that result in icons looking great in Composer but weak on device?","summary":"The most common mistake is excessive complexity \u2014 Liquid Glass effects like refraction are sensitive to the number, size, and overlap of shapes, and small moves have a large effect. Evaluate the icon at every size and presentation, especially the smallest: group it on a Home Screen, view it outdoors and alongside other icons. Simplicity is what lets an icon scale and hold presence.","end":1003},{"start":1003,"title":"What problem was Apple trying to solve with Icon Composer, and what is the broader vision for app icons?","summary":"App icons live across a whole ecosystem \u2014 devices, sizes, and light\/dark\/clear\/tint modes \u2014 which a static set of bitmaps can't adapt to gracefully. Icon Composer moves to a resolution-independent representation so a single, simple source can be rendered and adapted at high quality by the system, giving designers control over how the material interacts with each layer while keeping icons consistent across the platform.","end":1427},{"start":1427,"title":"What are the concrete recommendations to upgrade app icons already built for iOS 26 Liquid Glass to iOS 27?","summary":"Open last year's file in the new Icon Composer to see the updated rendering applied automatically \u2014 no artwork changes or recompile required. From there, review specular highlights (automatic vs. inside\/outside depending on layer colors), fine-tune shadows, and configure refraction on overlapping layers. Apple also reduced translucency this year for sharper, more legible icons; that change isn't automatic, so review it per icon.","end":1711},{"start":1711,"title":"Can you talk about the various blend modes and when to use them \u2014 especially for the App Store icon?","summary":"Blend modes control how a foreground pixel combines with what's behind it. Darkening modes (darken, multiply, plus darker) and lightening modes (lighten, screen, plus lighter) each suit different foreground\/background relationships; plus lighter and plus darker mirror the system glass math used across the OS. There's no single right choice \u2014 pick what best sells the glass and retains color vibrancy for your artwork (Podcasts uses plus lighter on a dark background).","end":2077},{"start":2077,"title":"Does the new Icon Composer let us preview across the system-wide transparency slider \u2014 and what's the guidance when a clear-mode icon fails contrast at a user's extreme?","summary":"By design, icon glass in clear mode is pinned and does not follow the system transparency slider, so it stays consistent and legible regardless of the user's setting. Because icon content is highly variable, Apple fixed the glass rather than expose it to the slider, removing one adaptation to design for. Use the single mono (grayscale) annotation to support light\/dark clear and all tinted modes.","end":2185},{"start":2185,"title":"How do you give a flat 2D brand mark a convincing physical presence in Liquid Glass?","summary":"Importing a layer applies Liquid Glass by default, which you fine-tune per each element's shape and complexity. This mirrors long-standing brand practice \u2014 a logo adapts across print, physical, and motion media while staying recognizable. Consider reconstructing the artwork for depth: expose layers you'd normally subtract (use solid overlapping shapes instead of eraser paths) so elements feel physically layered.","end":2374},{"start":2374,"title":"Is there a change in how to include updated Icon Composer icons into an app in Xcode?","summary":"No change from last year. Drag the .icon file into your Xcode project alongside your Swift files as a normal resource, confirm target membership, and set the app icon name in the target editor to match the file. It sits adjacent to \u2014 not inside \u2014 the asset catalog, so remove any existing asset-catalog icon.","end":2468},{"start":2468,"title":"Do the layers inside Icon Composer automatically become glassy in the iOS 27 style?","summary":"Yes \u2014 imported layers render as glass by default. Separate layers into groups, since Liquid Glass properties apply at the group level, so each can be configured independently. For pre-rendered raster artwork (as in Camera or Preview) or elements like watermarks, you can opt individual layers out of the glass treatment.","end":2550},{"start":2550,"title":"In tint mode, background colors look washed out and lack contrast. Any advice on settings to achieve better vibrancy?","summary":"Pick a more vibrant tint color and preview it, but design for the full range a user might choose, including lighter colors like yellow. Keep at least part of the foreground white or near-white to guarantee contrast, and be careful with custom background gradients \u2014 prefer the system-provided backgrounds. Maximize dynamic range in the mono annotation (deep darks, bright highlights), and check the latest iOS 27 rendering, which improved several of these cases.","end":2833},{"start":2833,"title":"How do you achieve items overlaying each other, like the Apple Developer app icon?","summary":"Slice what looks like a few elements into many separate layers, then reassemble them so shapes appear to weave over and under one another. Shadows help sell one element passing beneath another; viewed in elevation, the construction differs from the flat top-down appearance.","end":2922},{"start":2922,"title":"How are icons handled for colorblind users?","summary":"Don't rely on color to convey meaning \u2014 start with a strong, recognizable form and real contrast so the icon reads for everyone, including red-green color blindness. Because icons must work in clear and tinted modes, designing a high-contrast mono annotation naturally enforces this, and the process teaches contrast habits that can improve the default icon too.","end":3047},{"start":3047,"title":"How do you start from scratch as a newbie without any design know-how?","summary":"Start with intent, not software \u2014 decide what your app is and how you want it remembered, then capture that essence in a simple, memorable image. Sketch ideas on paper first, or talk through the app to surface an object or metaphor worth drawing (as Podcasts uses a resonating microphone). Move to vector tools once the idea is clear, and simplify relentlessly without losing meaning.","end":3325},{"start":3325,"title":"How do you balance one shared Liquid Glass icon with platform-specific tweaks while keeping the brand consistent across iOS, macOS, watchOS, and legacy OS versions?","summary":"A single Icon Composer source adapts to each platform's icon shape, so the same design language carries across iOS, macOS, and watchOS \u2014 though you may rework layout for a circle (centering elements) versus a rounded rectangle. For legacy OS versions, the system faithfully renders your current design with the appropriate corner radius rather than reverting to older styles, keeping one visual brand identity everywhere. This segment also answers the older-device (iOS 18) optimization question.","end":3521},{"start":3521,"title":"What is your favorite new Icon Composer feature this year?","summary":"The panel's favorites included the refraction control for how easily it explores the design space, automatic specular highlights that choose inside\/outside based on layer and background color, copy-and-paste of attributes across icons, HDR export, and the new automatic gradient backgrounds generated from a brand color.","end":3699}]}},"wwdc2026-8121":{"id":"wwdc2026-8121","staticContentId":11000,"eventContentId":8121,"eventId":"wwdc2026","contentUpdatedAt":"2026-10-05T16:47:48-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8121","languageCode":"eng","description":"Join us online for a deep dive into WWDC26 with Apple engineers and designers to ask questions, get advice, and follow the discussion about the week\u2019s biggest announcements for coding intelligence, machine learning and AI. Conducted in English.","title":"Coding Intelligence, Machine Learning & AI Group Lab","startTime":"2026-06-09T19:00:00-07:00","endTime":"2026-06-09T20:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":94,"topicIds":[94],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-coding-intelligence-machine-learning-and-ai-group-lab"}},"roomId":134,"imagesUUID":"70C31633-CDCF-4E8E-AD45-AF0B95B50F48","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8121\/1\/a84fe3e3-b640-4faa-9685-207aec99be2d\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8121\/1\/a84fe3e3-b640-4faa-9685-207aec99be2d\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8121\/1\/a84fe3e3-b640-4faa-9685-207aec99be2d\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8121\/1\/a84fe3e3-b640-4faa-9685-207aec99be2d\/downloads\/wwdc2026-8121_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8121\/1\/a84fe3e3-b640-4faa-9685-207aec99be2d\/downloads\/wwdc2026-8121_sd.mp4","duration":3749,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"Engineers from the machine learning and AI frameworks teams introduce themselves and outline the session, which spans Apple's ML stack \u2014 the Foundation Models framework, Core ML, MLX, and Core AI \u2014 plus agentic coding in Xcode, the Evaluations framework, on-device versus Private Cloud Compute models, and bringing your own LLM provider.","end":253},{"start":253,"title":"Could you explain the roles of Core AI, Core ML, and MLX in simple terms \u2014 how should a beginner decide which to learn or use?","summary":"These technologies form a layered suite you can enter at different levels. At the top is the Foundation Models framework \u2014 start there for language-model use cases, try the system language model, and use Evaluations to confirm it meets your need. For custom neural-network models such as diffusion or image segmentation, or models you train or download yourself, drop to Core AI, which comes with SLAs and guarantees for building applications; going forward, anything new involving neural networks should move to Core AI. Core ML remains but is now focused on traditional ML like decision trees. Below that, MLX is the lowest level \u2014 powerful and flexible, and the place for on-device training and distributed workloads across multiple machines (for example running very large models across Macs, not on the phone). Choose the highest level that meets your need.","end":491},{"start":491,"title":"What is the on-device Foundation Models context window in iOS 27, and is input plus output counted against one shared token budget?","summary":"The on-device context is 4096 tokens and is a shared budget \u2014 if you feed in 4000 tokens, the response can use the remaining ~96. The Private Cloud Compute model offers 32K, also shared. For a larger context window use PCC, and for deeper reasoning use the reasoning-capable PCC model.","end":682},{"start":682,"title":"Can Foundation Models calls run inside BGAppRefreshTask or BGProcessingTask, especially while the phone is locked, asleep, or long-backgrounded?","summary":"Yes, calls can run in a background task, but if the OS is busy it may rate-limit you \u2014 catch the rate-limited error from the system language model and retry later. On macOS you're fine in the foreground, and the Private Cloud Compute model provides another path when on-device throttling is a concern.","end":782},{"start":782,"title":"For macOS 27 Apple Intelligence, what does \"wait list\" mean when both Siri local and PCC models work \u2014 and does the beta include the larger advanced model?","summary":"This question bundled two. On the waitlist: it applies only to Siri \u2014 it does not apply to the Private Cloud Compute language model or to the on-device things Siri does. On whether the beta includes the AFM core advanced (~20B) model: yes, it's included and is used for the voice features. For anything deeper on Apple Intelligence, the dedicated Apple Intelligence group lab is the place to go.","end":864},{"start":864,"title":"Foundation Models now supports bringing your own LLM provider alongside on-device and PCC. Can you mix all three in one agentic flow, and what are the data-privacy and attribution boundaries with a third-party provider?","summary":"The framework lets you compose across the on-device model, Private Cloud Compute, and your own provider. Once a third-party provider is in the loop, its own data-handling terms apply and you're responsible for knowing and surfacing those boundaries. The panel pointed to the agentic-experiences-with-Foundation-Models session for how to structure such flows.","end":1205},{"start":1205,"title":"My app uses on-device speech-to-text and must recognize names\/proper nouns. Does iOS personalize recognition per user over time, or must I maintain that list myself?","summary":"This spans several speech frameworks that weren't represented on the panel, so there's no definitive answer. Conceptually there are two layers: OS-level personalization Siri may apply system-wide, and whatever you do within your own app. Speech recognizers commonly pair with a personalization component \u2014 for example a small model fine-tuned on examples like your contact list \u2014 so building your own is certainly possible. If the language you need is already supported by on-device speech recognition, it's likely good enough to use as-is. For a definitive answer, ask on the developer forums, where engineers are responding throughout the week.","end":1382},{"start":1382,"title":"How do I train the coding agent to know more about my code style\/specific area? A local LLM learning my complex visionOS\/Metal\/physics codebase performs poorly and crashes.","summary":"Agents learn primarily through search and documentation rather than training. Give the agent good tools to search and find things in your codebase, and write down what it should know \u2014 project conventions, architecture notes, an AGENTS.md \u2014 so it can retrieve and apply that context. Teaching the agent how to find and record knowledge is more effective than expecting a small local model to internalize a complex codebase.","end":1956},{"start":1956,"title":"For UI testing, what practical steps can teams take to integrate automated approaches into their testing workflows on Apple platforms?","summary":"Work in layers. Start small with unit tests by building components that can be tested independently, then have the agent enumerate the cases so unit coverage is thorough. Build up from there to UI-level automation. Structuring code for testability first makes both hand-written and agent-generated tests far more reliable.","end":2141},{"start":2141,"title":"Any updates to the Natural Language and Vision frameworks? With Foundation Models now supporting image attachments, what's the preferred method of image extraction?","summary":"The Vision framework has significant updates this year \u2014 see the \"What's new in image understanding\" session, which covers capabilities like segmentation models. Choosing between Vision and Foundation Models: use Vision for well-understood, repeatable tasks like detecting a specific object, since it's optimized, efficient, and easy to test; step up to Foundation Models when the task varies each time or needs semantic or natural-language understanding. Foundation Models is also gaining Vision-powered tools this year, including a barcode reader and an OCR tool. Natural Language specifics weren't covered.","end":2382},{"start":2382,"title":"On-device LLMs have limited token capacity. What are best practices for managing prompt size, tool definitions, and context to avoid exceeding limits while keeping quality high?","summary":"Use the APIs added this year for managing context, and keep prompts and tool definitions lean \u2014 every tool definition and instruction consumes the shared budget. Trim unnecessary context, summarize or chunk long inputs, and only include the tools relevant to the task so the model has room to produce a high-quality response within the on-device window.","end":3099},{"start":3099,"title":"Foundation Models guardrails sometimes refuse emotionally intense but legitimate journal entries. Can I prevent refusals on first-person emotional writing, and how do I detect a guardrail refusal vs other errors?","summary":"Partly. When initializing the system language model's guardrails you can opt into permissive content transformation, so the model won't error out on emotionally intense first-person input like journal entries \u2014 though it may still decline in natural language to elaborate. For error handling, distinguish two separate things: a refusal error is the model's own aligned response declining to answer (seen with guided generation), while a guardrail error comes from a separate moderation model that inspects input and output; you can catch each separately and fall back gracefully. These apply only to Apple's models. Guardrails were substantially improved this year, so false positives should be much lower \u2014 file feedback if you still hit them.","end":3262},{"start":3262,"title":"Apple has historically brought a distinct perspective to areas like design and privacy. What's your guiding philosophy or approach to AI evaluation?","summary":"Evaluation shouldn't be an afterthought bolted on once a feature exists \u2014 it should come first, because the evaluation set is the living specification of what your feature is supposed to do. Defining how you'll measure success up front clarifies the feature itself and keeps quality anchored as models and prompts change.","end":3441},{"start":3441,"title":"Is it possible for models used by different apps on iPhone to be shared across apps to save storage?","summary":"No \u2014 sharing arbitrary models across apps isn't possible because it's genuinely complex: it becomes hard to manage contention when multiple apps want the resource simultaneously. That said, the system provides model caching for the frameworks Apple ships, so shared system models (like the Foundation Models system language model) don't each cost you separate storage.","end":3749}]}},"wwdc2026-8003":{"id":"wwdc2026-8003","staticContentId":10958,"eventContentId":8003,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-02T11:08:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8003","languageCode":"eng","description":"Join us online for a deep dive into WWDC26 with Apple engineers and designers to ask questions, get advice, and follow the discussion about the week\u2019s biggest power and performance announcements. Conducted in English.","title":"Power and Performance Group Lab","startTime":"2026-06-09T11:00:00-07:00","endTime":"2026-06-09T12:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-power-and-performance-group-lab"}},"roomId":134,"imagesUUID":"DAE7A6C5-0DA9-4AE8-AEBE-F7D565F7C02C","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8003\/1\/3e92bdbb-e289-4fca-a1b7-50dd13e870a1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8003\/1\/3e92bdbb-e289-4fca-a1b7-50dd13e870a1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8003\/1\/3e92bdbb-e289-4fca-a1b7-50dd13e870a1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8003\/1\/3e92bdbb-e289-4fca-a1b7-50dd13e870a1\/downloads\/wwdc2026-8003_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8003\/1\/3e92bdbb-e289-4fca-a1b7-50dd13e870a1\/downloads\/wwdc2026-8003_sd.mp4","duration":3665,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"Engineers from the performance and power teams introduce themselves and set up a session covering SwiftUI performance, energy usage and battery, Instruments, background tasks, MetricKit and the Xcode Organizer, and managing thermal pressure.","end":369},{"start":369,"title":"As a beginner, what are the main factors that affect app power usage and performance in SwiftUI, and how can I design simple apps that avoid battery drain and lag?","summary":"The biggest lever in SwiftUI is minimizing unnecessary redraws: separate your views from their inputs so a view only observes the state it actually depends on. When updates happen, you don't want to redraw content that didn't change \u2014 scoping observation tightly keeps CPU work down and avoids both lag and battery drain.","end":729},{"start":729,"title":"What's the biggest power mistake you see in many apps that most developers don't realize they're making?","summary":"There's no single culprit, but the most common one is insufficient telemetry and instrumentation. Without it you optimize the wrong things. Instrument your app to understand which features and scenarios users actually exercise, add metrics around them, and focus effort where it delivers the biggest return.","end":918},{"start":918,"title":"What is the best documentation for Instruments? Are there any written guides?","summary":"The Instruments tutorials are the best starting point \u2014 written by an Instruments engineer to feel like having one beside you, walking through the app step by step. They ship with an associated project that has performance issues built in, so you can practice detecting hangs and other problems hands-on.","end":1065},{"start":1065,"title":"Our app shows UIKit\/SwiftUI screens without much background work but Xcode reports \"High\" battery usage. What are best practices to find out why?","summary":"This refers to Xcode's energy gauges. High background energy despite simple screens usually means the app is scheduling background work you may not be accounting for. Investigate which modes of your app schedule tasks, and profile with Instruments' energy\/CPU tooling to pinpoint the actual source rather than trusting the gauge summary alone.","end":1211},{"start":1211,"title":"A theme object is injected via @EnvironmentObject and read in every atomic component across many nesting levels and hundreds of components. At what scale does this become a bottleneck, and is there a better approach?","summary":"There's no fixed number \u2014 it depends on the views involved. Environment is a genuinely useful abstraction for passing values down the view tree. The concern is invalidation scope: if the theme object changes, everything observing it redraws. Keep frequently-changing values out of a broadly-observed object, and split state so a change only invalidates the components that truly depend on it.","end":1286},{"start":1286,"title":"How would you load large datasets (50K\u2013500K records) in SwiftUI tables, and record\/analyze performance and regressions using MetricKit?","summary":"Load data lazily and scalably rather than materializing everything at once, so SwiftUI only builds visible rows. For measuring, MetricKit gives you aggregated field metrics (hang rate, CPU, memory) from real users; establish baselines and watch those signals across releases to catch regressions, complementing local Instruments profiling.","end":1526},{"start":1526,"title":"How does iOS 27 prioritize background tasks when the system is under heavy Apple Intelligence workloads?","summary":"The system balances background work against everything else running, including intelligence features. Don't assume a background processing or refresh task will run immediately or at a fixed time \u2014 design them to be resilient: express your work through the background task APIs, handle deferral and rate limiting gracefully, and retry later rather than depending on guaranteed execution windows.","end":1695},{"start":1695,"title":"To avoid blocking the main thread I run expensive tasks on background threads, but during launch this causes many thread hops. How expensive is frequent thread hopping vs blocking, and is there a better approach?","summary":"Each thread hop adds switching overhead, so doing it very frequently is a real cost \u2014 but occasional hops are fine and far preferable to blocking the main thread. Rather than hopping per small task, batch work onto a background context and hop back once with results. Profile with Instruments to see whether hopping or contention is actually your launch bottleneck.","end":2148},{"start":2148,"title":"Besides background tasks, what's the most common 'silent battery killer' in SwiftUI? How much does view over-invalidation drain, and what's the best Instruments workflow to catch it?","summary":"View over-invalidation is a major silent drain: repeatedly recreating views that look identical burns CPU with no visible change, which is exactly why it's easy to miss. Use the SwiftUI Instruments template to spot views updating more than they should, then narrow observation so each view depends only on the state it renders.","end":2260},{"start":2260,"title":"Are there performance improvements for very large lists and tables in SwiftUI on macOS 27, and best practices for tens or hundreds of thousands of items?","summary":"Help SwiftUI by keeping row sizing predictable \u2014 constant or known row heights let it manage a large list efficiently, whereas continually changing sizes forces expensive relayout. Combined with lazy containers so only visible rows are built, this keeps long lists and tables smooth at scale.","end":2392},{"start":2392,"title":"I use AnyView for type erasure in several places. How expensive is it in practice, and is there a threshold beyond which it becomes a problem \u2014 or is avoiding it premature optimization?","summary":"AnyView adds some overhead at view-creation time because it erases type information SwiftUI would otherwise use to diff efficiently. Avoid it where it's easy to, but don't contort your architecture around it \u2014 it's the kind of thing you can address if profiling shows it's actually a problem, rather than optimizing away preemptively.","end":2521},{"start":2521,"title":"MetricKit, State Reporting, and Crash Report Extensions are new this year. Are there other headlining developer tools worth looking at that didn't make the Updates page?","summary":"The Xcode Organizer is worth attention \u2014 like MetricKit it surfaces field data, but aggregated across your whole user population with visualizations, giving a different, broader view of real-world performance and power than per-session captures.","end":2810},{"start":2810,"title":"Swift performance is something I want to go deep on. Beyond WWDC sessions and evolution proposals, what's the pathway \u2014 codebases, compiler internals, books, benchmarks \u2014 for building real expertise?","summary":"Hands-on experience is what builds real expertise. Rather than only reading, work with the Instruments tools across many scenarios \u2014 the range of views and perspectives they provide teaches you how the system actually behaves. Profile real code, form and test hypotheses, and build intuition from measurement over time.","end":2960},{"start":2960,"title":"After the performance talk I avoided @escaping closure parameters, which helped performance but limits me \u2014 sometimes passing @escaping (or @ViewBuilder content) is essential. Any advice?","summary":"Where you can, call a closure in the view's init rather than in its body, so it doesn't re-run every time the view is re-evaluated \u2014 this avoids the cost that made escaping closures problematic while still letting you pass content in. Architect so expensive closure work happens once at construction, not on every body evaluation.","end":3029},{"start":3029,"title":"When handling dynamic data or heavy assets in SwiftUI, what are best practices to keep view updates from causing stutters or CPU spikes on older devices?","summary":"Right-size your assets to the use case \u2014 don't load a 2000\u00d72000 image for a thumbnail; use appropriately scaled versions. Combined with minimizing view invalidation and doing heavy work off the main thread, tailoring asset sizes keeps update-driven CPU spikes and hitches down, which matters most on older hardware.","end":3311},{"start":3311,"title":"Our app relies on ARKit, Metal, and compute-intensive work and is used outdoors in direct sunlight, causing elevated thermal states. How should we manage thermal pressure and preserve a good experience?","summary":"Observe the system's thermal state API and adapt as it rises \u2014 scale back non-essential work, reduce frame rate or rendering fidelity, and defer background processing when the device enters higher thermal states. Designing graceful degradation tied to thermal state keeps the core experience responsive rather than letting the system throttle you abruptly.","end":3540},{"start":3540,"title":"Does using a lot of @Environment properties in a large SwiftUI app have any performance impact \u2014 e.g. many values injected across a deep view hierarchy?","summary":"The key factor is environment churn, not the number of values. Simply putting values into the environment and reading them in your views is inexpensive. The cost appears when those values update at high frequency: every view reading from the environment then has to re-evaluate whether what it depends on changed. So a deep hierarchy with many injected values is fine on its own \u2014 problems start when the environment churns frequently. The SwiftUI Instrument lets you see this in practice.","end":3665}]}},"wwdc2026-8002":{"id":"wwdc2026-8002","staticContentId":10957,"eventContentId":8002,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-02T11:08:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8002","languageCode":"eng","description":"Join us online to ask questions, get advice, and follow the discussion about getting started with SwiftUI. Conducted in English.","title":"SwiftUI for Beginners Group Lab","startTime":"2026-06-09T09:00:00-07:00","endTime":"2026-06-09T10:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-swiftui-for-beginners-group-lab"}},"roomId":134,"imagesUUID":"A902EF21-BFE6-4A7C-888C-49FDE56D9383","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8002\/1\/82335df8-72e8-43d1-9e9d-935affc5977b\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8002\/1\/82335df8-72e8-43d1-9e9d-935affc5977b\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8002\/1\/82335df8-72e8-43d1-9e9d-935affc5977b\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8002\/1\/82335df8-72e8-43d1-9e9d-935affc5977b\/downloads\/wwdc2026-8002_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8002\/1\/82335df8-72e8-43d1-9e9d-935affc5977b\/downloads\/wwdc2026-8002_sd.mp4","duration":3670,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"Engineers from the SwiftUI team introduce themselves and set up a beginner-focused session covering how to start learning SwiftUI, the @State mental model, performance and view updates, learning effectively alongside AI coding tools, and turning designs into SwiftUI.","end":513},{"start":513,"title":"As a beginner, should I use React Native or SwiftUI? React Native lets me ship on both platforms \u2014 what are SwiftUI's advantages?","summary":"SwiftUI is intimately tied to Apple's platforms, so you get new design language and system capabilities (like Liquid Glass) natively and immediately, rather than waiting for a cross-platform layer to catch up. It also spans all Apple platforms \u2014 iOS, iPadOS, macOS, watchOS, visionOS \u2014 from largely shared code, giving deep integration and the best fidelity on Apple devices.","end":654},{"start":654,"title":"As an accounting student with zero coding knowledge, what's the best approach to learn coding and build an app with SwiftUI?","summary":"Start from your own life: pick a small app idea you actually care about (perhaps something from your accounting world) so motivation carries you through. Then work through the guided tutorials to learn the fundamentals hands-on, building something real in small steps rather than trying to learn everything abstractly first.","end":893},{"start":893,"title":"I'm a CS student starting iOS development. To become a job-ready iOS engineer, what roadmap would you follow from Swift fundamentals to advanced app development, and what skills matter most?","summary":"Begin with the Swift language itself, then learn SwiftUI for building interfaces and the core data-flow concepts (@State, bindings, @Observable). Layer in networking, persistence (SwiftData), and concurrency as you go. Prioritize building complete small apps end to end over memorizing APIs \u2014 shipping real projects is what makes the skills stick and demonstrates job readiness.","end":1130},{"start":1130,"title":"For a beginner, what exactly happens under the hood when I use @State, and why can't I just use a standard Swift var for UI data?","summary":"SwiftUI views are lightweight, frequently-recreated value descriptions of the UI, so a plain var would be reset every time the view struct is rebuilt. @State moves that storage outside the view into storage SwiftUI manages, so the value persists across rebuilds and, when it changes, tells SwiftUI to update the affected views. That persistence-plus-observation is why @State exists.","end":1379},{"start":1379,"title":"I'm a web designer knowing HTML, CSS, some PHP\/JS\/Lua. How easy is it for someone with little traditional coding background to get started with Swift and SwiftUI?","summary":"That background is a solid foundation \u2014 you already think about structure and layout. SwiftUI's declarative style will feel familiar coming from HTML\/CSS, and Swift is approachable. Start with the guided tutorials and translate concepts you know (markup, styling, state) into their SwiftUI equivalents; you're better positioned than you might think.","end":1628},{"start":1628,"title":"Where should I start? There are so many SwiftUI tutorials, even on Apple's site, and it's confusing what to do first. I'm a Java developer beginning iOS.","summary":"Begin with Apple's initial guided SwiftUI tutorials, which give a structured path rather than a scattering of topics (the panel arranged to link them). Coming from Java, you'll pick up Swift quickly; focus first on Swift basics and the intro SwiftUI tutorials before branching into the many specialized resources.","end":1896},{"start":1896,"title":"What are best practices in SwiftUI to handle frequent real-time state updates (like sensor data) without unnecessary redraws or UI lag?","summary":"Scope updates tightly so high-frequency data only invalidates the views that display it, not the whole hierarchy. Ingest the stream off the main actor and coalesce or throttle updates to a rate the UI actually needs before publishing to observed state, so you're not redrawing on every sample. Keep the observed state small and local to the affected views.","end":2197},{"start":2197,"title":"Has Apple Intelligence within Xcode been trained on SwiftUI documentation? Vibe-coding with Gemini was OK but hit recurring Swift issues.","summary":"The key mechanism is the new skills shipping with Xcode, which give the coding agent accurate, current knowledge of SwiftUI and Apple APIs \u2014 addressing the recurring mistakes a general external model makes. Enable and lean on those skills so the assistant follows correct, up-to-date SwiftUI patterns rather than outdated or invented ones.","end":2438},{"start":2438,"title":"What are best practices to make my SwiftUI views performant and avoid unnecessary view updates?","summary":"SwiftUI itself is capable of highly performant UI \u2014 Xcode's own agentic coding experience is built in it. The core practice is minimizing invalidation: keep each view's observed dependencies small so only what actually changed re-evaluates, avoid putting broadly-read state high in the hierarchy, and profile with the SwiftUI Instrument to find views updating more than they should.","end":2932},{"start":2932,"title":"In a world of agentic AI, how do you use AI within Xcode and SwiftUI so a learner is actually learning, not just having the AI write the code? Is there a learning plan that uses AI without derailing education?","summary":"Use the AI as a tutor, not just a code generator: whenever it produces code you don't understand, ask it to explain what each part does and why. Treating every generated chunk as a prompt to learn \u2014 questioning and verifying it \u2014 keeps you building real understanding rather than accumulating code you can't maintain.","end":3357},{"start":3357,"title":"Is there an official one-page overview or flow diagram showing how Views, state, bindings, models, and modifiers fit together in SwiftUI?","summary":"There's no single flow-diagram document, but several resources fill that role: the Intro to SwiftUI session (which builds an app from scratch), the SwiftUI Essentials video, and a getting-started-with-SwiftUI one-pager on the developer site. The sessions in particular teach the mental model quickly \u2014 how views, state, bindings, and modifiers fit together \u2014 so they come highly recommended.","end":3408},{"start":3408,"title":"When I use AI tools for SwiftUI, code looks right but won't compile or misbehaves. How can I use Xcode's AI tools effectively as a beginner so I learn correct patterns, not bad habits?","summary":"Use the new Xcode skills, which carry SwiftUI best practices so the assistant recommends current, correct patterns instead of the broken ones a general model often produces. Two more habits help: let the model compile its work \u2014 Swift moves so many errors to compile time that the assistant can catch and iterate on them \u2014 and go piece by piece rather than letting it one-shot the whole implementation, which tends to produce more errors and less encapsulated code.","end":3478},{"start":3478,"title":"What's one thing announced this week that beginners will overlook but will matter a lot as they grow?","summary":"Layout flexibility. There were substantial layout improvements this year, and building flexible, adaptive layouts matters enormously as your apps grow to span iPad, Mac, and Vision Pro \u2014 all of which demand UI that adapts across very different sizes. Investing early in adaptable layout pays off as you target more platforms.","end":3553},{"start":3553,"title":"How do you best convert an app design from a designer into SwiftUI \u2014 do you recommend Xcode's coding assistant, and which one?","summary":"There's no Xcode skill that converts a design automatically. One approach is to do the translation yourself \u2014 study what the designer built and map it onto SwiftUI's layout primitives (stacks, grids, spacers, alignment) so you understand the structure. There are also Figma and Sketch connections that generate SwiftUI code from designs made in those tools, which are worth checking out.","end":3670}]}},"wwdc2026-8018":{"id":"wwdc2026-8018","staticContentId":10973,"eventContentId":8018,"eventId":"wwdc2026","contentUpdatedAt":"2026-10-08T15:41:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/8018","languageCode":"eng","description":"Join us online for a deep dive into WWDC26 with Apple engineers and designers to ask questions, get advice, and follow the discussion about the week\u2019s biggest announcements for camera and photo technologies. Conducted in English.","title":"Camera and Photo Technologies Group Lab","startTime":"2026-06-10T13:00:00-07:00","endTime":"2026-06-10T14:00:00-07:00","originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":95,"topicIds":[95],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","participationInformation":{"discussion":{"targetURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-camera-and-photo-technologies-group-lab"}},"roomId":134,"imagesUUID":"D77B9604-57A9-4D41-9B15-70C53C06BA9C","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8018\/1\/93e6857e-510f-4d8a-adc4-7c6ce9eb9fe8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8018\/1\/93e6857e-510f-4d8a-adc4-7c6ce9eb9fe8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8018\/1\/93e6857e-510f-4d8a-adc4-7c6ce9eb9fe8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8018\/1\/93e6857e-510f-4d8a-adc4-7c6ce9eb9fe8\/downloads\/wwdc2026-8018_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/8018\/1\/93e6857e-510f-4d8a-adc4-7c6ce9eb9fe8\/downloads\/wwdc2026-8018_sd.mp4","duration":3580,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"Engineers from the camera capture, Core Image\/Core Graphics, and Photos frameworks teams introduce themselves and set up a session spanning AVCapture, computational photography, RAW and ProRAW, gain maps, depth, the Photos framework, and metadata.","end":346},{"start":346,"title":"When Reframe or Clean Up is used to modify a photo, does iOS 27 tag it with metadata or content credentials so someone can tell the image was edited by AI?","summary":"Yes. The file's IPTC metadata (alongside EXIF) is updated to reflect which AI modification was applied \u2014 Spatial Reframe or Clean Up \u2014 so the edit is discoverable from the metadata. In the Photos app, this information is also surfaced in the Info panel when you swipe up on the image.","end":420},{"start":420,"title":"Keywords were mentioned as a feature coming to Photos. Will there be an API for third-party apps to view or edit keywords?","summary":"Keywords (long available on Mac) are now editable and searchable in the iOS Photos app Info panel, and they're reflected in IPTC metadata on export. However, there's currently no PhotoKit-level API to fetch or query assets by keyword.","end":479},{"start":479,"title":"When showing thumbnails in a LazyGridView with a matched-geometry transition to a full detail view, what's the optimal way to load thumbnails for performance?","summary":"On the Core Graphics side, open images with the thumbnail option so it reuses an embedded thumbnail if present, or decodes and downscales as fast as possible. On the Core Image side, request a scale factor when opening images so you decode only what your UI needs rather than the full-resolution image.","end":576},{"start":576,"title":"Can Deferred Start cause issues where the user attempts to capture a photo before the AVCapturePhotoOutput has attached to the session?","summary":"Deferred Start just pushes initialization until after preview is running, so on its own you could still miss an early shot. Pair it with the photo output's responsiveCaptureEnabled property: the system then buffers so you can launch quickly and still capture the moment even before the output is fully initialized. Covered in the \"Build a responsive camera app that launches quickly\" session.","end":672},{"start":672,"title":"What's the best way to get the depth map and image for a live viewfinder and for the captured image, to create a nice 3D effect with both?","summary":"If you only need a live depth effect in the preview, there's a shortcut: turn on the Cinematic Video Capture API (introduced last year) with a video preview layer to get the cinematic-mode effect for free. If you want the actual depth samples and to render it yourself, enable depth data output on the preview stream and use the AVCaptureDataOutputSynchronizer to align depth and video at the same timestamp in one callback, then combine them with a Core Image filter. For the still, enable depth data delivery on the photo output and set depthDataDeliveryEnabled to true in the photo settings, then apply a depth-based blur in Core Image.","end":827},{"start":827,"title":"With .photoQualityPrioritization = .quality, AVCaptureDevice overrides manual exposure duration and ISO. Is there a way to know the final exposure settings before capture?","summary":"With both .quality and .balanced, the system runs Fusion-style processing that captures multiple exposures (e.g. an underexposed and a normal frame), so it can't honor manual controls or predict a single final exposure ahead of time. Manual exposure and ISO are only supported when you capture with .speed prioritization.","end":998},{"start":998,"title":"Can you elaborate on PHAsset.OriginalResourceChoice and what it's used for?","summary":"It's a new API for an existing feature. When you import RAW+JPEG (or compressed-inside-RAW) assets, Photos lets you choose whether edits apply to the RAW or the JPEG, and lets users swap between them. OriginalResourceChoice expresses which of those resources is treated as the original.","end":1083},{"start":1083,"title":"Will iOS 27 support a linear scene-referred preview stream for Bayer RAW capture without tone mapping, to match a linear CIRAWFilter DNG conversion?","summary":"The way to get scene-referred linear data in camera capture is through the Log formats \u2014 Log and the wider-gamut Log2 introduced last year. There isn't a separate untone-mapped Bayer preview path that matches a linear CIRAWFilter DNG conversion.","end":1219},{"start":1219,"title":"For an app that lives and dies by its capture experience, what are your must-have recommendations?","summary":"For an app whose experience lives and dies by capture, the throughline is performance and reliability \u2014 users don't like to wait, and a missed moment can't be recovered. The top three: fast launch, responsive capture, and deferred processing. Beyond that: don't start from scratch \u2014 use the sample code, and never run AVCaptureSession on the main thread (use a dedicated serial queue) so lengthy operations don't block the UI. Tailor the experience to who your users actually are, since an optimal capture app for social video differs greatly from a pro photography one. Finally, plan your PhotoKit integration and permissions early, since captured photos need somewhere to go.","end":1549},{"start":1549,"title":"What's the optimal way to stream video and audio simultaneously without them drifting out of sync \u2014 and is it safe to stream the video frame by frame?","summary":"Take A\/V sync seriously rather than relying on coincidental alignment. On modern iPhones, video and audio share the same clock; if you don't handle sync explicitly, an app that seems fine can drift (for example on iPad with an external camera). Use AVCaptureDataOutputSynchronizer and carry the sample buffers' presentation timestamps through your pipeline.","end":1795},{"start":1795,"title":"Why does ProRAW support 48 MP output from Quad Bayer sensors, whereas native Bayer RAW is limited to the binned resolution?","summary":"Bayer RAW stores the sensor's Bayer data directly, so a Quad Bayer sensor's native RAW is the binned output. ProRAW goes through a demosaic and Photonic Engine merge of multiple frames, producing already-linearized RGB that no longer depends on the sensor's mosaic pattern \u2014 which is what lets ProRAW deliver full 48 MP where native Bayer RAW cannot.","end":1971},{"start":1971,"title":"What's your recommended process to generate and write ISO-conformant gain maps and gain-map metadata for HEIC and JPEG on iOS?","summary":"Two frameworks handle ISO gain-map data \u2014 Core Graphics and Core Image \u2014 and a WWDC session from two years ago drills into exactly this, showing the APIs and how to prepare inputs to produce gain-map-compatible outputs. ","end":2126},{"start":2126,"title":"How do Deferred Start and the high-res guidance to warm the output early with setPreparedPhotoSettingsArray compose \u2014 does prepare queue past deferral or force a start, and what does each reserve?","summary":"Think of Deferred Start as simply moving initialization from before preview to after preview to speed up launch. You can still call setPreparedPhotoSettingsArray to warm the photo output after preview is running \u2014 the two aren't in conflict; use deferral to get preview up fast, then prepare the output afterward.","end":2280},{"start":2280,"title":"Will adjusting PHAsset's new Rating property require a PHLibraryChangeRequest?","summary":"It uses a PHAssetChangeRequest. The new Rating property is set per asset via a new enum with values of unset and one through five, so you modify a PHAsset's rating through that change request.","end":2313},{"start":2313,"title":"Is there a native way to obtain metadata of the original file type (PNG, JPG, etc.) from a photo selected via PhotosPicker?","summary":"Check that you're specifying the correct UT Type when setting up the Transferable, rather than leaving it as a default image type \u2014 that's a common cause of getting PNG. Sample code for PhotosPicker on developer.apple.com covers this. Note the picker can also convert in some cases, e.g. when the user has restricted metadata or location access for your app.","end":2391},{"start":2391,"title":"Is there a way to learn the adjustment plist format the Photos app writes, and to import exported adjustments back into Photos?","summary":"There's no API for this \u2014 the adjustment plist can't be decoded, and there's no supported path to re-import those adjustments. If it would help your app, file a Feedback Assistant request.","end":2451},{"start":2451,"title":"What are the biggest mistakes developers make when building camera-heavy apps on iPhone?","summary":"The most common mistake is running AVCaptureSession work on the main thread. It's designed to be driven from a dedicated background serial queue and will block and wait during graph reconfiguration \u2014 calling start\/configure on the main thread freezes the UI and produces stutters. Follow the documented threading model and keep session work off the main thread.","end":2630},{"start":2630,"title":"Any suggestions for a close-to-native, performant way to zoom, scroll, and pan photo images up to their original max resolution without pixelating?","summary":"Use Core Image, which is built for interactive UI movement like zoom and pan and caches work throughout the decode pipeline. There's a documentation on the developer portal showing how to set up a CIFilter for opening images so you can pan and zoom smoothly up to full resolution.","end":2806},{"start":2806,"title":"How many times can I use the intelligence (Siri camera) feature, and does using it affect or change my picture quality?","summary":"On-device use is unlimited, but those captures don't go to the normal photo library \u2014 they're saved to the Siri AI app at screen resolution and aspect ratio, not full photo-mode quality. Don't rely on it for your best-looking photos; it's meant for having a conversation with Siri about what's captured, and there may be a limit on the number of conversations.","end":2864},{"start":2864,"title":"The new Spatial Reframe uses 3D modeling to reconstruct a scene from a different angle. Can developers access that pipeline via an API, or is it locked to the Photos app?","summary":"There's no developer API for the Photos Reframe capability. For related work, parts of ARKit support 3D scene capture, reconstruction, and manipulation, and the Pro phones' LiDAR depth-sensing camera is available as an AVCaptureDevice \u2014 but none of these is an out-of-the-box equivalent of the Photos spatial reframe edit.","end":2940},{"start":2940,"title":"When can the camera-capture rotation issue be auto-handled? Orientation behaves differently across iOS, macOS, and iPadOS and takes a lot of tweaking to get right.","summary":"Orientation is genuinely hard because a device's cameras are physically mounted differently (some portrait, some landscape) and vary across devices. The AVCaptureDevice.RotationCoordinator APIs are the supported way to handle orientation more consistently rather than hand-tuning transforms per app.","end":3144},{"start":3144,"title":"Is it possible to capture 24-megapixel images with depth data using deferred photo capture?","summary":"Yes. 24-megapixel processing is time-consuming enough that you must opt into deferred processing, and you should opt into the maximum photo dimensions so the selected device actually supports 24 MP. With those in place, if you select quality prioritization and enable depth data delivery, you'll get 24-megapixel captures with depth. This was covered in one of this year's sessions on capturing high-resolution images.","end":3218},{"start":3218,"title":"Are Group Labs shot on iPhone? Also, what APIs and technologies can you use to build a multi-camera streaming app?","summary":"Yes \u2014 these labs are shot on iPhone. For multi-camera work, two features from last year stand out. Locked frame duration guarantees an exact frame rate (29.97, 24, 25, 60) and keeps audio synchronized to it \u2014 more reliable than matching min and max frame rate. Genlock builds on that, letting multiple iPhones synchronize to an external sync source (via a Blackmagic Pro Dock or genlock generator) so recordings share one timeline with no tearing. Timecode generation lets you bring timecode from an external source in through your capture session and store it as a timecode track for easier post. For writing the resulting ProRes data, the AV Pro Video Storage API gives deterministic file-write speeds to avoid dropped frames.","end":3413},{"start":3413,"title":"Is there a niche new API or tool that maybe isn't being talked about as much?","summary":"Two picks. The AV Pro Video Storage API is a strong performance optimization for anyone capturing ProRes \u2014 it gives you a pre-allocated file on disk so that even on older phones with fragmented storage you won't drop frames, with a settings UI that lets users control how much space to dedicate; it's also being retrofitted to older phones. The other is the new RAW 9 engine in this year's OS \u2014 an ML-based solution for processing RAW files, including from third-party cameras. It's covered in depth in David Hayward's session on enhanced RAW image processing with Core Image, which compares RAW 8 and RAW 9.","end":3580}]}},"meet-with-apple-287":{"id":"meet-with-apple-287","staticContentId":11384,"eventContentId":287,"eventId":"meet-with-apple","contentUpdatedAt":"2026-10-15T16:19:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/287","languageCode":"eng","description":"Connect with Apple engineers and designers online to ask questions, get advice, and follow the discussion about creating and updating apps for iPhone Duo. In this one-hour event, you\u2019ll learn how to adapt your layouts across displays and poses, work with the hinge, support Split View multitasking, and build great camera experiences.","title":"iPhone Duo Group Lab","startTime":"2026-10-13T18:00:00-07:00","endTime":"2026-10-13T19:00:00-07:00","originalPublishingDate":"2026-10-13T00:00:00-07:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS"],"primaryTopicID":100,"topicIds":[87,100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","actionLinkPrompt":"Join the Q&A","actionLinkURL":"https:\/\/developer.apple.com\/forums\/verify-human\/verify.html?next=\/forums\/discussions\/1678080","roomId":134,"imagesUUID":"6F3FA041-459D-472B-81F0-F02D47F8A435","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/287\/1\/6be084c8-c0e1-4612-9414-11f7cf278887\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/287\/1\/6be084c8-c0e1-4612-9414-11f7cf278887\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/287\/1\/6be084c8-c0e1-4612-9414-11f7cf278887\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/287\/1\/6be084c8-c0e1-4612-9414-11f7cf278887\/downloads\/meet-with-apple-287_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/287\/1\/6be084c8-c0e1-4612-9414-11f7cf278887\/downloads\/meet-with-apple-287_sd.mp4","duration":3708,"availableAudioLanguageCodes":["eng"]}},"meet-with-apple-288":{"id":"meet-with-apple-288","staticContentId":11385,"eventContentId":288,"eventId":"meet-with-apple","contentUpdatedAt":"2026-10-13T17:22:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/288","languageCode":"eng","description":"Connect with Apple engineers and designers online to ask questions, get advice, and follow the discussion about creating and updating apps for iPhone Duo. In this one-hour event, you\u2019ll learn how to adapt your layouts across displays and poses, work with the hinge, support Split View multitasking, and build great camera experiences.","title":"iPhone Duo Group Lab","startTime":"2026-10-15T09:00:00-07:00","endTime":"2026-10-15T10:00:00-07:00","originalPublishingDate":"2026-10-13T01:00:00-07:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS"],"primaryTopicID":100,"topicIds":[87,100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","actionLinkPrompt":"Join the Q&A","actionLinkURL":"https:\/\/developer.apple.com\/forums\/verify-human\/verify.html?next=\/forums\/discussions\/1679080","roomId":134,"imagesUUID":"669C3083-33DC-44B5-8FCA-13020B04F4E1","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"wwdc2023-111249":{"id":"wwdc2023-111249","staticContentId":8501,"eventContentId":111249,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111249","languageCode":"eng","description":"Join us for an open forum to discuss anything related to machine learning in your app during this 1 hour text-based Q&A. Topics include Core ML, Create ML, Vision, Natural Language, Speech, Sound Analysis, TensorFlow and PyTorch model conversion, model compression, and more. Stop in to request guidance, ask for clarifications, or learn from others.","title":"Q&A: Machine learning open forum","startTime":"2023-06-06T10:00:00-07:00","endTime":"2023-06-06T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":94,"topicIds":[94],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"66A430FD-4EBA-4C6A-9AF6-FB19364F6A60","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10042","wwdc2023-10044","wwdc2023-10045","wwdc2023-10047","wwdc2023-10049","wwdc2023-10101","wwdc2023-111241"]}},"wwdc2023-111545":{"id":"wwdc2023-111545","staticContentId":8812,"eventContentId":111545,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111545","languageCode":"eng","description":"Come hang out with the SwiftUI team for an hour of fun! Enjoy a text-based chat about your favorite sessions, meet other members of the SwiftUI community, share tips and tricks, and more.","title":"Break the SwiftUIce","startTime":"2023-06-07T10:00:00-07:00","endTime":"2023-06-07T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"58645E62-107D-498E-A0AF-CD4ABB503297","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111588":{"id":"wwdc2023-111588","staticContentId":8890,"eventContentId":111588,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111588","languageCode":"eng","description":"Meet Zoe, Alex, and the team behind \u201cMix Swift and C++.\u201d Join us for a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenters: Mix Swift and C++","startTime":"2023-06-07T13:00:00-07:00","endTime":"2023-06-07T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":99,"topicIds":[99],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"373A0DE3-02B3-4D1D-8155-C8238154B34F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10172"]}},"wwdc2023-10333":{"id":"wwdc2023-10333","staticContentId":8420,"eventContentId":10333,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10333","languageCode":"eng","description":"Ask Apple engineers about CarPlay during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: CarPlay","startTime":"2023-06-09T13:00:00-07:00","endTime":"2023-06-09T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C998AEBD-8480-4393-B0AE-6F90EA603C75","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111287":{"id":"wwdc2023-111287","staticContentId":8539,"eventContentId":111287,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111287","languageCode":"eng","description":"Ask Apple Metal engineers about the latest tools, techniques, and technologies during this 1 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Metal","startTime":"2023-06-07T09:00:00-07:00","endTime":"2023-06-07T10:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":91,"topicIds":[91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"A6C34236-50B2-4770-85A6-D7544A07FB0D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10124","wwdc2023-10125","wwdc2023-10127","wwdc2023-10128"]}},"wwdc2023-10285":{"id":"wwdc2023-10285","staticContentId":8365,"eventContentId":10285,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:52-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10285","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Xcode","startTime":"2023-06-06T12:00:00-07:00","endTime":"2023-06-06T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B3199F0A-7540-430E-96D1-B9233C08C0FB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111533":{"id":"wwdc2023-111533","staticContentId":8797,"eventContentId":111533,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:18:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111533","languageCode":"eng","description":"Get your questions about SharePlay answered by Apple engineers during this activity. Request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: SharePlay","startTime":"2023-06-08T13:00:00-07:00","endTime":"2023-06-08T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":84,"topicIds":[84],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"191DBB97-32BE-49B1-9BC2-309596416A30","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10239","wwdc2023-10241"]}},"wwdc2023-10323":{"id":"wwdc2023-10323","staticContentId":8409,"eventContentId":10323,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10323","languageCode":"eng","description":"Ask Apple engineers about StoreKit and in-app purchases during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: StoreKit and in-app purchase","startTime":"2023-06-07T15:00:00-07:00","endTime":"2023-06-07T17:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":83,"topicIds":[86,83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"4EE2846E-A995-4DB2-95F6-333EADEC3E30","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10142"]}},"wwdc2023-111543":{"id":"wwdc2023-111543","staticContentId":8809,"eventContentId":111543,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111543","languageCode":"eng","description":"Ask Apple engineers about SwiftData, the persistence framework built for Swift during this 1 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: SwiftData","startTime":"2023-06-09T14:00:00-07:00","endTime":"2023-06-09T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":99,"topicIds":[99],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"CD53C8BB-4836-469D-952E-F58CC1184657","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10187","wwdc2023-10189","wwdc2023-10195","wwdc2023-10196"]}},"wwdc2023-10295":{"id":"wwdc2023-10295","staticContentId":8375,"eventContentId":10295,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-16T14:50:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10295","languageCode":"eng","description":"Meet Shilpa, Ryan, and the team behind \u201cWhat\u2019s new in Xcode 15.\u201d Join us for a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenters: What\u2019s new in Xcode","startTime":"2023-06-06T11:00:00-07:00","endTime":"2023-06-06T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"EBB78C73-0B15-41FD-BBC2-EEC8629D3542","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10165"]}},"wwdc2023-10296":{"id":"wwdc2023-10296","staticContentId":8376,"eventContentId":10296,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:54-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10296","languageCode":"eng","description":"Meet Alex, the presenter behind \u201cWrite Swift macros,\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenter: Write Swift macros","startTime":"2023-06-06T16:00:00-07:00","endTime":"2023-06-06T17:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":99,"topicIds":[99],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D40936B5-1328-4282-B5A4-A5DB75C837F0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10166"]}},"wwdc2023-111450":{"id":"wwdc2023-111450","staticContentId":8708,"eventContentId":111450,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111450","languageCode":"eng","description":"Get your questions about Core Data answered by Apple engineers during this 1 hour text-based Q&A. Request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Core Data","startTime":"2023-06-07T14:00:00-07:00","endTime":"2023-06-07T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[101],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5885A134-568E-4ADB-AE9A-B500571C3B36","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10186"]}},"wwdc2023-111289":{"id":"wwdc2023-111289","staticContentId":8541,"eventContentId":111289,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111289","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 1 hour text-based Q&A. We would love to brainstorm, answer questions, and meet folks that are excited to build games for Vision Pro.","title":"Q&A: Games for visionOS","startTime":"2023-06-07T13:00:00-07:00","endTime":"2023-06-07T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":91,"topicIds":[91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"FD6019FC-9E6A-4B1E-9DBA-FBCE8603B7A7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10088","wwdc2023-10089","wwdc2023-10093","wwdc2023-10096"]}},"wwdc2023-10305":{"id":"wwdc2023-10305","staticContentId":8386,"eventContentId":10305,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10305","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: SwiftUI","startTime":"2023-06-07T13:00:00-07:00","endTime":"2023-06-07T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1CB708A2-D475-4DEE-AAFD-76A7207DF6B3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10299":{"id":"wwdc2023-10299","staticContentId":8379,"eventContentId":10299,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10299","languageCode":"eng","description":"Meet Joachim, the presenter behind \u201cAnalyze hangs with Instruments,\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenter: Analyze hangs with Instruments","startTime":"2023-06-09T14:00:00-07:00","endTime":"2023-06-09T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"BC748B8B-85F8-4119-85DA-155F85EBD5C6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10248"]}},"wwdc2023-111454":{"id":"wwdc2023-111454","staticContentId":8712,"eventContentId":111454,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111454","languageCode":"eng","description":"Ask Apple engineers about StoreKit and in-app purchases during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.\t","title":"Q&A: StoreKit and in-app purchase","startTime":"2023-06-09T12:00:00-07:00","endTime":"2023-06-09T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":83,"topicIds":[86,83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"DEE61E09-43E8-4E22-8BCC-99CB2B419780","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10142"]}},"wwdc2023-10291":{"id":"wwdc2023-10291","staticContentId":8371,"eventContentId":10291,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10291","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: SwiftUI Previews","startTime":"2023-06-07T11:00:00-07:00","endTime":"2023-06-07T13:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"EB412BEC-8B61-440B-ABCA-938205E01675","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10252"]}},"wwdc2023-111285":{"id":"wwdc2023-111285","staticContentId":8537,"eventContentId":111285,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111285","languageCode":"eng","description":"Ask Apple game technology engineers about the latest tools, technologies, and frameworks during this 1 hour text-based Q&A. We would love to brainstorm, answer questions, and meet folks that are excited to build and bring games to Apple platforms. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Games","startTime":"2023-06-06T14:00:00-07:00","endTime":"2023-06-06T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":91,"topicIds":[91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5A36FE5E-4668-4295-B6FC-DCDA1F7101D8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10123","wwdc2023-10124","wwdc2023-10125"]}},"wwdc2023-111208":{"id":"wwdc2023-111208","staticContentId":8458,"eventContentId":111208,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111208","languageCode":"eng","description":"Ask Apple engineers about iPhone and iPad app development with UIKit during this text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: UIKit","startTime":"2023-06-06T15:00:00-07:00","endTime":"2023-06-06T16:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E06117C2-6C71-4417-B035-D939014DD89A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10334":{"id":"wwdc2023-10334","staticContentId":8421,"eventContentId":10334,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10334","languageCode":"eng","description":"Ask Apple engineers about internationalization and localization during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Internationalization and localization","startTime":"2023-06-07T15:00:00-07:00","endTime":"2023-06-07T17:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[82,100,101],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B811262A-E8C5-4829-B469-5AD8F49F3DF2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111205":{"id":"wwdc2023-111205","staticContentId":8455,"eventContentId":111205,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111205","languageCode":"eng","description":"Ask Apple engineers about passkeys, authentication, password AutoFill, and verification codes during this text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.\t","title":"Q&A: Passkeys, iCloud Keychain, and authentication services","startTime":"2023-06-09T13:00:00-07:00","endTime":"2023-06-09T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[96],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"DD88C639-1A8C-4BFD-BFAB-44A5E9F93A2C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111518":{"id":"wwdc2023-111518","staticContentId":8778,"eventContentId":111518,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:18:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111518","languageCode":"eng","description":"Meet the presenter of \u201cMeet MapKit for SwiftUI\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Meet MapKit for SwiftUI","startTime":"2023-06-06T11:00:00-07:00","endTime":"2023-06-06T12:30:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":93,"topicIds":[93],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"93557480-1D99-4A55-9F06-FF450CAB5053","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111531":{"id":"wwdc2023-111531","staticContentId":8795,"eventContentId":111531,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:18:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111531","languageCode":"eng","description":"Get your questions about MusicKit answered by Apple engineers during this activity. Request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: MusicKit","startTime":"2023-06-07T14:00:00-07:00","endTime":"2023-06-07T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["apple music","music","musickit","music library","playlist","songs","swift"],"primaryTopicID":84,"topicIds":[84],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"F1E2FAC4-CD12-4EDB-B664-5BE24F9722BF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111244":{"id":"wwdc2023-111244","staticContentId":8496,"eventContentId":111244,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:18:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111244","languageCode":"eng","description":"Ask Apple engineers about creating models using Create ML during this 1 hour text-based Q&A. Stop in to request guidance, ask for clarifications, or learn from others.","title":"Q&A: Create ML","startTime":"2023-06-06T09:00:00-07:00","endTime":"2023-06-06T10:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":94,"topicIds":[94],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"096E4B06-3E01-4C48-8210-1317897228B1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10044"]}},"wwdc2023-10325":{"id":"wwdc2023-10325","staticContentId":8411,"eventContentId":10325,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:18:54-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10325","languageCode":"eng","description":"Join the Health and Fitness teams at Apple for a text-based Q&A on any of our health technologies. We would love to brainstorm, answer questions, and meet folks that are excited to build great health, fitness, or research apps. Bring your questions about HealthKit, ResearchKit, CareKit, SensorKit, Health Records, Apple Watch, or any health and fitness topics on your mind.","title":"Q&A: Health and fitness","startTime":"2023-06-08T08:30:00-07:00","endTime":"2023-06-08T10:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":92,"topicIds":[92],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"8808A74F-775E-4FAE-B5A8-9FF62415923C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10016","wwdc2023-10023"]}},"wwdc2023-10321":{"id":"wwdc2023-10321","staticContentId":8407,"eventContentId":10321,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10321","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 1 hour text-based Q&A. Stop in to request guidance on a device management question, ask for clarifications, or learn from others.","title":"Q&A: Device management ","startTime":"2023-06-07T10:00:00-07:00","endTime":"2023-06-07T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":89,"topicIds":[89],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1D8EA90B-033F-410E-8138-9226F9052585","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10039","wwdc2023-10040","wwdc2023-10041","wwdc2023-10254"]}},"wwdc2023-10326":{"id":"wwdc2023-10326","staticContentId":8412,"eventContentId":10326,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10326","languageCode":"eng","description":"Ask Apple engineers about Safari and web technologies during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Safari and web technologies","startTime":"2023-06-08T09:00:00-07:00","endTime":"2023-06-08T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":98,"topicIds":[98],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"A1815D27-A876-407A-8983-A0678F2496C7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10122","wwdc2023-10262","wwdc2023-10279"]}},"wwdc2023-10327":{"id":"wwdc2023-10327","staticContentId":8413,"eventContentId":10327,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10327","languageCode":"eng","description":"Ask Apple engineers about App Store Server API, App Store Server Notifications, and the new App Store Server Library during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: App Store Server APIs & notifications","startTime":"2023-06-08T09:00:00-07:00","endTime":"2023-06-08T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":83,"topicIds":[86,83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"745D39AA-87FD-428F-80F8-C0B45ECF9CD4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10342":{"id":"wwdc2023-10342","staticContentId":8429,"eventContentId":10342,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10342","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: WidgetKit","startTime":"2023-06-07T11:00:00-07:00","endTime":"2023-06-07T13:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"24E02278-F7D7-4A50-B7A2-A0C8BBD26C03","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10330":{"id":"wwdc2023-10330","staticContentId":8416,"eventContentId":10330,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-16T14:50:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10330","languageCode":"eng","description":"Meet the presenter of \u201cWhat\u2019s new in Core Data\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenter: What\u2019s new in Core Data","startTime":"2023-06-08T14:00:00-07:00","endTime":"2023-06-08T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[101],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"7369B19B-3CAD-4885-8E17-050FD658AA76","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10186"]}},"wwdc2023-10294":{"id":"wwdc2023-10294","staticContentId":8374,"eventContentId":10294,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:24:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10294","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 1 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Swift Package Manager","startTime":"2023-06-09T09:00:00-07:00","endTime":"2023-06-09T10:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"8C7AAAFD-B304-46C8-828C-99F2D5066B8A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111333":{"id":"wwdc2023-111333","staticContentId":8589,"eventContentId":111333,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:24:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111333","languageCode":"eng","description":"Ask Apple engineers about using SiriKit for deeper system integration with your app in this 1 hour text-based Q&A. Stop in to request code-level guidance, ask for clarifications, or learn from others.","title":"Q&A: SiriKit","startTime":"2023-06-07T14:00:00-07:00","endTime":"2023-06-07T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":83,"topicIds":[83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"00C3EAE4-B0B1-4FD0-B100-D088FE1AD591","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10104"]}},"wwdc2023-111228":{"id":"wwdc2023-111228","staticContentId":8478,"eventContentId":111228,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111228","languageCode":"eng","description":"Meet the presenter of \u201cUpdate Live Activities with push notifications\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenter: Update Live Activities with push notifications","startTime":"2023-06-08T10:00:00-07:00","endTime":"2023-06-08T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5AF6AEB5-6439-45C1-AA5F-65F8E261E05C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10185"]}},"wwdc2023-111516":{"id":"wwdc2023-111516","staticContentId":8776,"eventContentId":111516,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-16T14:53:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111516","languageCode":"eng","description":"Ask Apple engineers about Maps technologies during this 2 hour text-based Q&A. Bring your questions about MapKit, MapKit JS, Maps Server API, and Indoor Maps. We\u2019re excited to help you integrate maps into your app, discuss how to visualize your data by using annotations and overlays, and answer your questions about how to build multi-platform solutions that leverage our latest set of APIs. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Maps technologies","startTime":"2023-06-06T15:00:00-07:00","endTime":"2023-06-06T17:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":93,"topicIds":[93],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E0BD4B5D-ECE6-47B4-A53F-04D647777145","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10043"]}},"wwdc2023-10306":{"id":"wwdc2023-10306","staticContentId":8387,"eventContentId":10306,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10306","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: SwiftUI","startTime":"2023-06-08T10:00:00-07:00","endTime":"2023-06-08T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"ECF85E19-044E-48E7-B536-82EBBF89B4F9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111258":{"id":"wwdc2023-111258","staticContentId":8510,"eventContentId":111258,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111258","languageCode":"eng","description":"Ask Apple engineers about bringing Live Text and data scanning support to your app through VisionKit in this 1 hour text-based Q&A. Stop in to request code-level guidance, ask for clarifications, or learn from others.","title":"Q&A: Live Text and data scanning","startTime":"2023-06-08T14:00:00-07:00","endTime":"2023-06-08T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":83,"topicIds":[94,83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"23761FB9-F65A-4913-B9FD-39FC8C023E16","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10048"]}},"wwdc2023-111259":{"id":"wwdc2023-111259","staticContentId":8511,"eventContentId":111259,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111259","languageCode":"eng","description":"Ask Apple engineers about lifting subjects from images using both VisionKit and the Vision framework in this 1 hour text-based Q&A. Stop in to request code-level guidance, ask for clarifications, or learn from others.","title":"Q&A: Subject lifting","startTime":"2023-06-07T10:00:00-07:00","endTime":"2023-06-07T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":83,"topicIds":[94,83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B6399E70-43DE-4325-B1F7-AD5CE7F38DAB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10048","wwdc2023-10176"]}},"wwdc2023-111544":{"id":"wwdc2023-111544","staticContentId":8810,"eventContentId":111544,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111544","languageCode":"eng","description":"Get your questions about CloudKit answered by Apple engineers during this 1 hour text-based Q&A. Request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: CloudKit","startTime":"2023-06-07T15:00:00-07:00","endTime":"2023-06-07T16:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[101],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"EA39107A-5D2A-4CEB-A176-6FDB249BC694","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10188"]}},"wwdc2023-10290":{"id":"wwdc2023-10290","staticContentId":8370,"eventContentId":10290,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10290","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Xcode Cloud and testing","startTime":"2023-06-07T09:00:00-07:00","endTime":"2023-06-07T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"73956AB7-1C20-45D5-BB3A-7A9C2E6B1257","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10175","wwdc2023-10224","wwdc2023-10278"]}},"wwdc2023-10314":{"id":"wwdc2023-10314","staticContentId":8400,"eventContentId":10314,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10314","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 1 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: SwiftUI for visionOS","startTime":"2023-06-08T13:00:00-07:00","endTime":"2023-06-08T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":85,"topicIds":[85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0F0098DA-0F61-4D0C-B25F-13859739C106","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10339":{"id":"wwdc2023-10339","staticContentId":8426,"eventContentId":10339,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10339","languageCode":"eng","description":"Get your questions about CloudKit answered by Apple engineers during this 1 hour text-based Q&A. Request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: CloudKit","startTime":"2023-06-09T15:00:00-07:00","endTime":"2023-06-09T16:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[101],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"28589F7F-6512-4727-A0E4-D1C752639EEB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10188"]}},"wwdc2023-10311":{"id":"wwdc2023-10311","staticContentId":8397,"eventContentId":10311,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10311","languageCode":"eng","description":"Meet the team behind \u201cTake SwiftUI to the next dimension\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenter: Take SwiftUI to the next dimension","startTime":"2023-06-07T11:00:00-07:00","endTime":"2023-06-07T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":85,"topicIds":[85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"176C0AC2-D2CE-4F39-BCD6-A9157B6FB12A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111216":{"id":"wwdc2023-111216","staticContentId":8466,"eventContentId":111216,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111216","languageCode":"eng","description":"Ask Apple engineers about accessibility in SwiftUI, UIKit, and AppKit during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Accessibility","startTime":"2023-06-07T15:00:00-07:00","endTime":"2023-06-07T17:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[100,82],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"45643EF3-AD3B-4C2F-A59E-895724F0C7F0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111458":{"id":"wwdc2023-111458","staticContentId":8717,"eventContentId":111458,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111458","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 1 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Swift Playgrounds","startTime":"2023-06-07T12:00:00-07:00","endTime":"2023-06-07T13:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1826E973-B8AD-4C64-9819-493459176A7A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10287":{"id":"wwdc2023-10287","staticContentId":8367,"eventContentId":10287,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10287","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Xcode","startTime":"2023-06-08T09:00:00-07:00","endTime":"2023-06-08T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"56F11AA6-EAE6-453E-BB5D-68334B1900A7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10292":{"id":"wwdc2023-10292","staticContentId":8372,"eventContentId":10292,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10292","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: SwiftUI Previews","startTime":"2023-06-08T12:00:00-07:00","endTime":"2023-06-08T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"09D7A775-9A7D-4430-AF52-84B6C2D20757","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10252"]}},"wwdc2023-10341":{"id":"wwdc2023-10341","staticContentId":8428,"eventContentId":10341,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10341","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: WidgetKit","startTime":"2023-06-08T13:00:00-07:00","endTime":"2023-06-08T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":83,"topicIds":[83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"80279832-DAAE-4AA1-BC9D-A35BFEAD6077","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10288":{"id":"wwdc2023-10288","staticContentId":8368,"eventContentId":10288,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10288","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Xcode","startTime":"2023-06-09T12:00:00-07:00","endTime":"2023-06-09T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"4B139D54-CF3D-426C-88F7-4473CA9C68FF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111336":{"id":"wwdc2023-111336","staticContentId":8592,"eventContentId":111336,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111336","languageCode":"eng","description":"Learn how your camera app can integrate directly with motorized iPhone stands using DockKit in this 1 hour text-based Q&A. Stop in and get inspired by the possibilities in working with these accessories, request code-level guidance, ask for clarifications, or learn from others.","title":"Q&A: Motorized iPhone stands and DockKit","startTime":"2023-06-09T10:00:00-07:00","endTime":"2023-06-09T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS"],"primaryTopicID":95,"topicIds":[95],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B3204AF2-4F08-45F3-AD6D-4A4C7E6B588C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10304"]}},"wwdc2023-111210":{"id":"wwdc2023-111210","staticContentId":8460,"eventContentId":111210,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111210","languageCode":"eng","description":"Ask Apple engineers about passkeys, authentication, password AutoFill, and verification codes during this text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.\t","title":"Q&A: Passkeys, iCloud Keychain, and authentication services","startTime":"2023-06-06T13:00:00-07:00","endTime":"2023-06-06T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":96,"topicIds":[96],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"ADF4FDC7-8219-4AEE-AC03-AE7C076006EC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111209":{"id":"wwdc2023-111209","staticContentId":8459,"eventContentId":111209,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111209","languageCode":"eng","description":"Ask Apple engineers about macOS app development with AppKit during this text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: AppKit","startTime":"2023-06-08T10:00:00-07:00","endTime":"2023-06-08T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"F676C9A5-6A01-43B9-A64B-0AE43E8E556E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111290":{"id":"wwdc2023-111290","staticContentId":8542,"eventContentId":111290,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111290","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 1 hour text-based Q&A. We would love to brainstorm, answer questions, and meet folks that are excited to build games for Vision Pro.","title":"Q&A: Games for visionOS","startTime":"2023-06-09T09:00:00-07:00","endTime":"2023-06-09T10:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":91,"topicIds":[91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"9E4C8294-0286-4F96-BB56-83AD1944C753","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10088","wwdc2023-10089","wwdc2023-10093","wwdc2023-10096"]}},"wwdc2023-10301":{"id":"wwdc2023-10301","staticContentId":8381,"eventContentId":10301,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10301","languageCode":"eng","description":"Trivia Night returns to the Developer Tools channel! Test your trivia knowledge with multiple-choice questions on WWDC23 sessions, tools, frameworks, and Apple history.","title":"Dev Tools Trivia Time","startTime":"2023-06-07T11:00:00-07:00","endTime":"2023-06-07T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E88AE475-2C10-406E-9D70-F651F9BAD34F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10331":{"id":"wwdc2023-10331","staticContentId":8417,"eventContentId":10331,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10331","languageCode":"eng","description":"Ask Apple engineers about SwiftData, the persistence framework built for Swift during this 1 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: SwiftData","startTime":"2023-06-06T14:00:00-07:00","endTime":"2023-06-06T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":99,"topicIds":[99],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"40F513C0-F9BA-4DBD-8EBD-07C2CBA51BB6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10187","wwdc2023-10189","wwdc2023-10195","wwdc2023-10196"]}},"wwdc2023-111212":{"id":"wwdc2023-111212","staticContentId":8462,"eventContentId":111212,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111212","languageCode":"eng","description":"Ask Apple engineers about running iPadOS and iOS apps on Vision Pro during this text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.\t","title":"Q&A: iPadOS and iOS apps on Vision Pro","startTime":"2023-06-08T14:00:00-07:00","endTime":"2023-06-08T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":85,"topicIds":[100,85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"33C2D56D-89AB-41F5-8454-41FC09C505AA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111335":{"id":"wwdc2023-111335","staticContentId":8591,"eventContentId":111335,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111335","languageCode":"eng","description":"Ask Apple engineers about all that\u2019s new in App Intents and Shortcuts \u2014 including support for widget interactivity and customization, selectively displaying features from your app in Spotlight, and extending shortcuts to watchOS and HomePod \u2014 in this 1 hour text based Q&A. Stop in to request code-level guidance, ask for clarifications, or learn from others.","title":"Q&A: App Intents and Shortcuts","startTime":"2023-06-08T10:00:00-07:00","endTime":"2023-06-08T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":83,"topicIds":[83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"4D27B444-9E3D-4D68-96A0-AD019DD2CE4B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10029","wwdc2023-10102","wwdc2023-10103","wwdc2023-10193"]}},"wwdc2023-111217":{"id":"wwdc2023-111217","staticContentId":8467,"eventContentId":111217,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:02-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111217","languageCode":"eng","description":"Ask Apple engineers about accessibility in SwiftUI, UIKit, and AppKit during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Accessibility","startTime":"2023-06-08T10:00:00-07:00","endTime":"2023-06-08T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[100,82],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"9763A143-CBF0-4439-A9A0-8DABCCA148BA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111251":{"id":"wwdc2023-111251","staticContentId":8503,"eventContentId":111251,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:24:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111251","languageCode":"eng","description":"Join us for an open forum to discuss anything related to machine learning in your app during this 1 hour text-based Q&A. Topics include Core ML, Create ML, Vision, Natural Language, Speech, Sound Analysis, TensorFlow and PyTorch model conversion, model compression, and more. Stop in to request guidance, ask for clarifications, or learn from others.","title":"Q&A: Machine learning open forum","startTime":"2023-06-08T10:00:00-07:00","endTime":"2023-06-08T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":94,"topicIds":[94],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"8A3B43B7-1E7F-4AA8-A9CD-90FD0EC8587C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10042","wwdc2023-10044","wwdc2023-10045","wwdc2023-10047","wwdc2023-10049","wwdc2023-10101","wwdc2023-111241"]}},"wwdc2023-111532":{"id":"wwdc2023-111532","staticContentId":8796,"eventContentId":111532,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:24:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111532","languageCode":"eng","description":"Get your questions answered about Continuity Camera for Apple TV and other tvOS frameworks. Request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Continuity Camera for Apple TV","startTime":"2023-06-07T10:00:00-07:00","endTime":"2023-06-07T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["apple music","music","musickit","music library","playlist","songs","swift"],"primaryTopicID":95,"topicIds":[84,95],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"311DB6EE-F058-4BDC-9586-E37701BC9ABC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10256"]}},"wwdc2023-111213":{"id":"wwdc2023-111213","staticContentId":8463,"eventContentId":111213,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:24:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111213","languageCode":"eng","description":"Ask Apple engineers about Privacy, App Tracking Transparency, Privacy Manifests, and SDK Signatures during this text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.\t","title":"Q&A: Privacy, App Tracking Transparency, Privacy Manifests, SDK Signatures","startTime":"2023-06-07T14:00:00-07:00","endTime":"2023-06-07T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[96],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"346D6F8B-3CE6-426B-BAB2-486599D52588","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111520":{"id":"wwdc2023-111520","staticContentId":8782,"eventContentId":111520,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-16T14:54:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111520","languageCode":"eng","description":"Ask Apple designers and engineers about watchOS 10\u2019s new layouts and elements in this hour-long text-based Q&A. Stop in to request guidance on updating your app to use the new layouts, navigation methods, toolbars, and system materials; or learn from others.","title":"Q&A: watchOS 10 design","startTime":"2023-06-06T11:00:00-07:00","endTime":"2023-06-06T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"BA1E7675-66A9-4B20-A9A7-C68F59E62C5C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10026","wwdc2023-10138"]}},"wwdc2023-111521":{"id":"wwdc2023-111521","staticContentId":8783,"eventContentId":111521,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111521","languageCode":"eng","description":"Ask watchOS engineers about updating your app to watchOS 10 during this hour-long text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Update your app for watchOS 10","startTime":"2023-06-07T13:00:00-07:00","endTime":"2023-06-07T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B183B24D-5319-41B0-8FB7-3C33F71AEA85","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111519":{"id":"wwdc2023-111519","staticContentId":8779,"eventContentId":111519,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111519","languageCode":"eng","description":"Ask Apple engineers about WeatherKit during this 1 hour text-based Q&A and learn how you can bring valuable weather information to your apps and services. Request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: WeatherKit ","startTime":"2023-06-08T14:00:00-07:00","endTime":"2023-06-08T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":83,"topicIds":[83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"43244B1A-C03C-4511-B349-670852DCF28C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10302":{"id":"wwdc2023-10302","staticContentId":8382,"eventContentId":10302,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10302","languageCode":"eng","description":"Trivia Night returns to the Developer Tools channel! Test your trivia knowledge with multiple-choice questions on WWDC23 sessions, tools, frameworks, and Apple history.","title":"Dev Tools Trivia Time","startTime":"2023-06-08T15:00:00-07:00","endTime":"2023-06-08T16:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"02C40FBE-AC6C-43F1-8089-FE6DB86C3A6A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111220":{"id":"wwdc2023-111220","staticContentId":8470,"eventContentId":111220,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-06T19:38:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111220","languageCode":"eng","description":"Ask Apple engineers about URLSession, Network framework, and more during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Networking","startTime":"2023-06-09T10:00:00-07:00","endTime":"2023-06-09T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"59406958-1578-4557-83E9-85C8286C1DCF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111302":{"id":"wwdc2023-111302","staticContentId":8554,"eventContentId":111302,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:39-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111302","languageCode":"eng","description":"Meet the presenter of \u201cBuild accessible apps with SwiftUI and UIKit\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenter: Build accessible apps with SwiftUI and UIKit","startTime":"2023-06-07T13:00:00-07:00","endTime":"2023-06-07T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[82],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0086FF04-4C06-41B5-A537-DB8791CEF830","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10303":{"id":"wwdc2023-10303","staticContentId":8383,"eventContentId":10303,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10303","languageCode":"eng","description":"Trivia Night returns to the Developer Tools channel! Test your trivia knowledge with multiple-choice questions on WWDC23 sessions, tools, frameworks, and Apple history.","title":"Dev Tools Trivia Time","startTime":"2023-06-09T11:00:00-07:00","endTime":"2023-06-09T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"2DFA1E55-DD7A-4347-B758-0069B5F5FF6E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111592":{"id":"wwdc2023-111592","staticContentId":8921,"eventContentId":111592,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111592","languageCode":"eng","description":"Connect with the Apple Podcasts team during this text-based activity to find out how you can make your app\u2019s premium audio content available in Apple Podcasts. ","title":"Q&A: Connect your App Store subscriptions to Apple Podcasts","startTime":"2023-06-08T09:00:00-07:00","endTime":"2023-06-08T10:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":84,"topicIds":[84],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"8285E312-D4A7-423B-A5D1-C104E4608C34","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10322":{"id":"wwdc2023-10322","staticContentId":8408,"eventContentId":10322,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10322","languageCode":"eng","description":"Connect with App Store Connect engineers during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: App Store Connect","startTime":"2023-06-08T14:00:00-07:00","endTime":"2023-06-08T16:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"17E33E6C-DD5C-4FBA-B351-1F22641FE351","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10293":{"id":"wwdc2023-10293","staticContentId":8373,"eventContentId":10293,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10293","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Xcode Cloud and testing","startTime":"2023-06-08T11:00:00-07:00","endTime":"2023-06-08T13:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E913EA5B-0323-441F-8652-4D9F53514E8A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10175","wwdc2023-10224","wwdc2023-10278"]}},"wwdc2023-111207":{"id":"wwdc2023-111207","staticContentId":8457,"eventContentId":111207,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111207","languageCode":"eng","description":"Ask Apple engineers about iPhone and iPad app development with UIKit during this text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: UIKit","startTime":"2023-06-07T11:00:00-07:00","endTime":"2023-06-07T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"194C10A1-32F1-4BF1-9173-BEC8EF00083E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111286":{"id":"wwdc2023-111286","staticContentId":8538,"eventContentId":111286,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111286","languageCode":"eng","description":"Ask Apple game technology engineers about the latest tools, technologies, and frameworks during this 1 hour text-based Q&A. We would love to brainstorm, answer questions, and meet folks that are excited to build and bring games to Apple platforms. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Games","startTime":"2023-06-08T09:00:00-07:00","endTime":"2023-06-08T10:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":91,"topicIds":[91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"4D11D492-E271-4D41-B76C-5E2F976FE8B8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10123","wwdc2023-10124","wwdc2023-10125"]}},"wwdc2023-111303":{"id":"wwdc2023-111303","staticContentId":8555,"eventContentId":111303,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111303","languageCode":"eng","description":"Meet the presenter of \u201cPerform accessibility audits for your app\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenter: Perform accessibility audits for your app","startTime":"2023-06-06T11:00:00-07:00","endTime":"2023-06-06T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[82],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6788157E-CC70-46B8-A392-105CF66E53F4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10300":{"id":"wwdc2023-10300","staticContentId":8380,"eventContentId":10300,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10300","languageCode":"eng","description":"Trivia Night returns to the Developer Tools channel! Test your trivia knowledge with multiple-choice questions on WWDC23 sessions, tools, frameworks, and Apple history.","title":"Dev Tools Trivia Time","startTime":"2023-06-06T14:00:00-07:00","endTime":"2023-06-06T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"FEEC0F81-2E67-4875-9FF3-5FA6C7162984","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111482":{"id":"wwdc2023-111482","staticContentId":8741,"eventContentId":111482,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111482","languageCode":"eng","description":"Meet the team behind \u201cCreate a great ShazamKit experience\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenter: Create a great ShazamKit experience","startTime":"2023-06-06T11:00:00-07:00","endTime":"2023-06-06T13:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["shazamkit"],"primaryTopicID":84,"topicIds":[84],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"22DA92F3-6036-4964-A227-092C1BB83263","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10051"]}},"wwdc2023-111224":{"id":"wwdc2023-111224","staticContentId":8474,"eventContentId":111224,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111224","languageCode":"eng","description":"Ask Apple engineers about Live Activities and ActivityKit during this 1 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: ActivityKit","startTime":"2023-06-06T10:00:00-07:00","endTime":"2023-06-06T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"11F33627-3ADB-400C-8D92-2BB14921474E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10184","wwdc2023-10185"]}},"wwdc2023-111473":{"id":"wwdc2023-111473","staticContentId":8732,"eventContentId":111473,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111473","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and Camera frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Camera","startTime":"2023-06-06T10:00:00-07:00","endTime":"2023-06-06T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["camera"],"primaryTopicID":95,"topicIds":[95],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"DE60CE56-F4F3-4381-A6BF-D189FCF41734","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10105","wwdc2023-10106","wwdc2023-10137","wwdc2023-10256"]}},"wwdc2023-111474":{"id":"wwdc2023-111474","staticContentId":8733,"eventContentId":111474,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111474","languageCode":"eng","description":"Meet the team behind \u201cCreate a more responsive camera experience\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenter: Create a more responsive camera experience","startTime":"2023-06-06T13:00:00-07:00","endTime":"2023-06-06T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["camera"],"primaryTopicID":95,"topicIds":[95],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"A0860E40-1200-457E-B4A0-F2C7FF4CF11F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10105"]}},"wwdc2023-111480":{"id":"wwdc2023-111480","staticContentId":8739,"eventContentId":111480,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111480","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 3 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Photo Picker","startTime":"2023-06-09T13:00:00-07:00","endTime":"2023-06-09T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":95,"topicIds":[95],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0291277D-C00C-4100-95F0-1DAE9078ABE6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10107"]}},"wwdc2023-111477":{"id":"wwdc2023-111477","staticContentId":8736,"eventContentId":111477,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111477","languageCode":"eng","description":"Meet the team behind \u201cSupport HDR images in your app\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenter: Support HDR images in your app","startTime":"2023-06-06T15:00:00-07:00","endTime":"2023-06-06T17:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["camera"],"primaryTopicID":95,"topicIds":[95],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0D88C0F3-EF2B-4D30-904F-E7210003EA65","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10181"]}},"wwdc2023-111484":{"id":"wwdc2023-111484","staticContentId":8743,"eventContentId":111484,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:48-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111484","languageCode":"eng","description":"Ask Apple UX writers for guidance on writing great copy for your app during this hour-long Q&A in Slack. Ask a question about a specific label or an area of your app, explore best practices, or learn from others.","title":"Q&A: UX writing","startTime":"2023-06-07T10:00:00-07:00","endTime":"2023-06-07T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":87,"topicIds":[87],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"FAA84583-6ABA-4E49-BBB8-242DC5219DF2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111481":{"id":"wwdc2023-111481","staticContentId":8740,"eventContentId":111481,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:53-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111481","languageCode":"eng","description":"Meet the team behind \u201cEmbed the Photos Picker in your app\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!\t","title":"Meet the presenter: Embed the Photos Picker in your app","startTime":"2023-06-09T15:00:00-07:00","endTime":"2023-06-09T17:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["photo","photos api"],"primaryTopicID":95,"topicIds":[95],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1B45D852-4FAF-4688-AFDB-779B70C71A00","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10107"]}},"wwdc2023-111589":{"id":"wwdc2023-111589","staticContentId":8891,"eventContentId":111589,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111589","languageCode":"eng","description":"Meet Cyndy, Pete, and the team behind \u201cMeet mergeable libraries.\u201d Join us for a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenters: Meet mergeable libraries","startTime":"2023-06-07T14:00:00-07:00","endTime":"2023-06-07T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6C2E2AF3-4337-4F35-BB52-31E317BF8AEC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10268"]}},"wwdc2023-10320":{"id":"wwdc2023-10320","staticContentId":8406,"eventContentId":10320,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10320","languageCode":"eng","description":"Ask Apple engineers about Safari and web technologies during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Safari and web technologies","startTime":"2023-06-06T15:00:00-07:00","endTime":"2023-06-06T17:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":98,"topicIds":[98],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"676D5C08-17D2-4845-ABF3-008DC0926EA7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10122","wwdc2023-10262","wwdc2023-10279"]}},"wwdc2023-10284":{"id":"wwdc2023-10284","staticContentId":8364,"eventContentId":10284,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10284","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 1 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Intro to Swift","startTime":"2023-06-08T13:00:00-07:00","endTime":"2023-06-08T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":99,"topicIds":[99],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B847F50D-741B-4C04-8483-835E98652468","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111288":{"id":"wwdc2023-111288","staticContentId":8540,"eventContentId":111288,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111288","languageCode":"eng","description":"Ask Apple Metal engineers about the latest tools, techniques, and technologies during this 1 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Metal","startTime":"2023-06-09T13:00:00-07:00","endTime":"2023-06-09T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":91,"topicIds":[91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"FE0FAABF-CFB6-4799-9F84-49494898E9D9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10124","wwdc2023-10125","wwdc2023-10127","wwdc2023-10128"]}},"wwdc2023-111300":{"id":"wwdc2023-111300","staticContentId":8552,"eventContentId":111300,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111300","languageCode":"eng","description":"Meet the presenter of \u201cMeet Assistive Access\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenter: Meet Assistive Access","startTime":"2023-06-09T10:00:00-07:00","endTime":"2023-06-09T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[82],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"DBC5B1D6-3DA5-48C2-8C85-9576AC7DF261","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111301":{"id":"wwdc2023-111301","staticContentId":8553,"eventContentId":111301,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111301","languageCode":"eng","description":"Meet the presenter of \u201cExtend Speech Synthesis with personal and custom voices\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenter: Extend Speech Synthesis with personal and custom voices","startTime":"2023-06-08T14:00:00-07:00","endTime":"2023-06-08T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[82],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"689F83B0-A3AA-4D1F-85D5-011C5B0A4D37","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111306":{"id":"wwdc2023-111306","staticContentId":8558,"eventContentId":111306,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111306","languageCode":"eng","description":"Join members of the Apple Accessibility team for a 1 hour text-based conversation about how assistive technologies are used in their day-to-day lives.","title":"Community panel: What has the iPhone meant to people with disabilities?","startTime":"2023-06-06T13:00:00-07:00","endTime":"2023-06-06T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[82],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"61B7E63D-2058-49D9-B877-27869972FE98","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111214":{"id":"wwdc2023-111214","staticContentId":8464,"eventContentId":111214,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111214","languageCode":"eng","description":"Ask Apple engineers about Privacy, App Tracking Transparency, Privacy Manifests, and SDK Signatures during this text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.\t","title":"Q&A: Privacy, App Tracking Transparency, Privacy Manifests, SDK Signatures","startTime":"2023-06-08T11:00:00-07:00","endTime":"2023-06-08T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[96],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"3574CDA8-B569-40FD-85E7-8D54ED9B6C4B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111534":{"id":"wwdc2023-111534","staticContentId":8798,"eventContentId":111534,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111534","languageCode":"eng","description":"Get your questions about the latest tools, technologies, and frameworks answered by Apple engineers during this 2 hour activity. Request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: AVFoundation","startTime":"2023-06-07T12:00:00-07:00","endTime":"2023-06-07T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5042B4F3-0728-484E-A5FA-DA2F347B8081","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10071"]}},"wwdc2023-10338":{"id":"wwdc2023-10338","staticContentId":8425,"eventContentId":10338,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10338","languageCode":"eng","description":"Meet the presenters of \u201cSync to iCloud with CKSyncEngine\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenters: Sync to iCloud with CKSyncEngine","startTime":"2023-06-08T13:00:00-07:00","endTime":"2023-06-08T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[101],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6106547A-A88E-48A1-B722-11C10B1137E7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10188"]}},"wwdc2023-10318":{"id":"wwdc2023-10318","staticContentId":8404,"eventContentId":10318,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:24:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10318","languageCode":"eng","description":"Join the Health and Fitness teams at Apple for a text-based Q&A on any of our health technologies. We would love to brainstorm, answer questions, and meet folks that are excited to build great health, fitness, or research apps. Bring your questions about HealthKit, ResearchKit, CareKit, SensorKit, Health Records, Apple Watch, or any health and fitness topics on your mind.","title":"Q&A: Health and fitness","startTime":"2023-06-06T13:00:00-07:00","endTime":"2023-06-06T14:30:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":92,"topicIds":[92],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"9F247735-DB87-4095-8DCC-117340B3471A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10016","wwdc2023-10023"]}},"wwdc2023-10315":{"id":"wwdc2023-10315","staticContentId":8401,"eventContentId":10315,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10315","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 1 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: SwiftUI for visionOS","startTime":"2023-06-09T12:00:00-07:00","endTime":"2023-06-09T13:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":85,"topicIds":[85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"575B2118-359B-45C9-850E-BC4287FDD9E8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111219":{"id":"wwdc2023-111219","staticContentId":8469,"eventContentId":111219,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-06T19:37:48-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111219","languageCode":"eng","description":"Ask Apple engineers about URLSession, Network framework, and more during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Networking","startTime":"2023-06-07T10:00:00-07:00","endTime":"2023-06-07T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0F2E9FB7-B576-48A1-ABF6-5A5190311399","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111304":{"id":"wwdc2023-111304","staticContentId":8556,"eventContentId":111304,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111304","languageCode":"eng","description":"Meet the presenters of \u201cCreate accessible spatial experiences\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenters: Create accessible spatial experiences","startTime":"2023-06-06T10:00:00-07:00","endTime":"2023-06-06T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":85,"topicIds":[82,85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D2A4C394-C03B-4F0F-AD7B-6A0B6350B9FB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111248":{"id":"wwdc2023-111248","staticContentId":8500,"eventContentId":111248,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:24:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111248","languageCode":"eng","description":"Join us for an open forum to discuss anything related to machine learning in your app during this 1 hour text-based Q&A. Topics include Core ML, Create ML, Vision, Natural Language, Speech, Sound Analysis, TensorFlow and PyTorch model conversion, model compression, and more. Stop in to request guidance, ask for clarifications, or learn from others.","title":"Q&A: Machine learning open forum","startTime":"2023-06-09T14:00:00-07:00","endTime":"2023-06-09T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":94,"topicIds":[94],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"CCDB0468-FBF2-4AA6-84FC-5ADC3794ACBB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10042","wwdc2023-10044","wwdc2023-10045","wwdc2023-10047","wwdc2023-10049","wwdc2023-10101","wwdc2023-111241"]}},"wwdc2023-111246":{"id":"wwdc2023-111246","staticContentId":8498,"eventContentId":111246,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:24:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111246","languageCode":"eng","description":"Ask Apple engineers about the many ways you can bring image understanding to your app using the Vision framework during this 1 hour text-based Q&A. Stop in to request guidance, ask for clarifications, or learn from others.","title":"Q&A: Image understanding and the Vision framework","startTime":"2023-06-07T14:00:00-07:00","endTime":"2023-06-07T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":94,"topicIds":[94],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"4C303A3C-15F0-406E-9BDC-F4A1A95C6E76","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10045","wwdc2023-10176","wwdc2023-111241"]}},"wwdc2023-111250":{"id":"wwdc2023-111250","staticContentId":8502,"eventContentId":111250,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:24:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111250","languageCode":"eng","description":"Join us for an open forum to discuss anything related to machine learning in your app during this 1 hour text-based Q&A. Topics include Core ML, Create ML, Vision, Natural Language, Speech, Sound Analysis, TensorFlow and PyTorch model conversion, model compression, and more. Stop in to request guidance, ask for clarifications, or learn from others.","title":"Q&A: Machine learning open forum","startTime":"2023-06-07T15:00:00-07:00","endTime":"2023-06-07T16:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":94,"topicIds":[94],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"7FB26993-30BC-4CCB-AF89-139D89454AFA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10042","wwdc2023-10044","wwdc2023-10045","wwdc2023-10047","wwdc2023-10049","wwdc2023-10101","wwdc2023-111241"]}},"wwdc2023-10307":{"id":"wwdc2023-10307","staticContentId":8388,"eventContentId":10307,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-16T14:50:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10307","languageCode":"eng","description":"Meet the team behind \u201cWhat\u2019s new in SwiftUI\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenters: What\u2019s new in SwiftUI","startTime":"2023-06-06T10:00:00-07:00","endTime":"2023-06-06T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"8A73FB9E-68C8-482C-83DB-15A65ABBD43A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111457":{"id":"wwdc2023-111457","staticContentId":8716,"eventContentId":111457,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111457","languageCode":"eng","description":"Ask Apple engineers about smart home integration technologies such as HomeKit, Home app, Matter, and Thread networking during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: HomeKit, Matter, and Thread","startTime":"2023-06-07T13:00:00-07:00","endTime":"2023-06-07T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["homekit","matter"],"primaryTopicID":101,"topicIds":[101],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D17E2CBC-1A35-4011-B1B2-A910AE9984F1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10350":{"id":"wwdc2023-10350","staticContentId":8438,"eventContentId":10350,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:49:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10350","languageCode":"eng","description":"Ask Apple engineers about bringing your existing ARKit app on iOS or iPadOS to visionOS during this hour long text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Bring your ARKit app to visionOS","startTime":"2023-06-09T15:00:00-07:00","endTime":"2023-06-09T16:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS"],"primaryTopicID":85,"topicIds":[85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6BC41A75-A4FA-4DB3-8F35-61CAA1A6ABD1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111522":{"id":"wwdc2023-111522","staticContentId":8784,"eventContentId":111522,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111522","languageCode":"eng","description":"Ask Apple designers and engineers about widgets and the Smart Stack on watchOS during this hour-long text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Widgets in the Smart Stack on watchOS ","startTime":"2023-06-08T11:00:00-07:00","endTime":"2023-06-08T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["watchOS"],"primaryTopicID":100,"topicIds":[87,100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0F79748F-BF44-4CA0-B133-B9F1FAB4E65E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10029","wwdc2023-10309"]}},"wwdc2023-111452":{"id":"wwdc2023-111452","staticContentId":8710,"eventContentId":111452,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:21:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111452","languageCode":"eng","description":"Ask Apple engineers about building UIKit for visionOS during this text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.\t","title":"Q&A: Build UIKit apps for visionOS","startTime":"2023-06-08T15:00:00-07:00","endTime":"2023-06-08T16:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":85,"topicIds":[100,85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"7F03C84C-BD44-48BA-AF84-D23E29C9AEE4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10316":{"id":"wwdc2023-10316","staticContentId":8402,"eventContentId":10316,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10316","languageCode":"eng","description":"Start the day off with an icebreaker before the excitement begins! Chat with Apple engineers who work on visionOS and the developer community to share ideas, get to know each other, and get ready for the exciting week ahead!","title":"Immersive icebreaker","startTime":"2023-06-06T08:30:00-07:00","endTime":"2023-06-06T09:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":85,"topicIds":[85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"078EBAFE-4F5F-4B13-A009-72B1C862741B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10348":{"id":"wwdc2023-10348","staticContentId":8436,"eventContentId":10348,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10348","languageCode":"eng","description":"Ask Apple engineers about developing for visionOS with ARKit, RealityKit, and Quick Look during this 60 minute text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: ARKit, RealityKit, and Quick Look ","startTime":"2023-06-06T18:00:00-07:00","endTime":"2023-06-06T19:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS"],"primaryTopicID":85,"topicIds":[85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D2593647-5B29-400C-BFC2-4293C391AE6F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111579":{"id":"wwdc2023-111579","staticContentId":8880,"eventContentId":111579,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111579","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Intro to Swift","startTime":"2023-06-06T09:00:00-07:00","endTime":"2023-06-06T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":99,"topicIds":[99],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D2F0F837-897D-4990-A045-B97D1466D00F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111517":{"id":"wwdc2023-111517","staticContentId":8777,"eventContentId":111517,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-16T14:53:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111517","languageCode":"eng","description":"Ask Apple engineers about Maps technologies during this 2 hour text-based Q&A. Bring your questions about MapKit, MapKit JS, Maps Server API, and Indoor Maps. We\u2019re excited to help you integrate maps into your app, discuss how to visualize your data by using annotations and overlays, and answer your questions about how to build multi-platform solutions that leverage our latest set of APIs. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Maps technologies","startTime":"2023-06-08T09:00:00-07:00","endTime":"2023-06-08T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":93,"topicIds":[93],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C76494A5-9BF7-400D-9409-08986C18F01F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10043"]}},"wwdc2023-10297":{"id":"wwdc2023-10297","staticContentId":8377,"eventContentId":10297,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10297","languageCode":"eng","description":"Meet Nathan, the presenter behind \u201cDebug with structured logging,\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenter: Debug with structured logging","startTime":"2023-06-08T14:00:00-07:00","endTime":"2023-06-08T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"9C094277-1A93-4B64-B557-72AC200C764E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10226"]}},"wwdc2023-10346":{"id":"wwdc2023-10346","staticContentId":8434,"eventContentId":10346,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10346","languageCode":"eng","description":"Ask Apple engineers about bringing your existing ARKit app on iOS or iPadOS to visionOS during this hour long text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Bring your ARKit app to visionOS","startTime":"2023-06-08T09:00:00-07:00","endTime":"2023-06-08T10:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS"],"primaryTopicID":85,"topicIds":[85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B23CE765-5AA8-42DF-B616-25FC0A3E879C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10335":{"id":"wwdc2023-10335","staticContentId":8422,"eventContentId":10335,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10335","languageCode":"eng","description":"Ask Apple about your security questions during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Security","startTime":"2023-06-07T15:00:00-07:00","endTime":"2023-06-07T17:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[96],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"177FDA55-0404-44AD-9DF2-1932687E916E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111475":{"id":"wwdc2023-111475","staticContentId":8734,"eventContentId":111475,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111475","languageCode":"eng","description":"Meet the team behind \u201cSupport external cameras in your iPadOS app\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!\t","title":"Meet the presenter: Support external cameras in your iPadOS app","startTime":"2023-06-08T15:00:00-07:00","endTime":"2023-06-08T17:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iPadOS"],"keywords":["camera"],"primaryTopicID":95,"topicIds":[95],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"96B3482D-8B83-42E3-87B8-1729FC330493","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10106"]}},"wwdc2023-111243":{"id":"wwdc2023-111243","staticContentId":8495,"eventContentId":111243,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:18:45-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111243","languageCode":"eng","description":"Join the Apple Design team in this 1 hour text-based Q&A on spatial design. Bring your questions about UI and UX best practices for creating a great experience on visionOS. ","title":"Q&A: Spatial design ","startTime":"2023-06-07T09:00:00-07:00","endTime":"2023-06-07T10:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","keywords":["spatial computing "],"primaryTopicID":85,"topicIds":[87,85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"3DD65ECE-61EF-4D3F-8ABB-69F720D58310","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111231":{"id":"wwdc2023-111231","staticContentId":8481,"eventContentId":111231,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-16T14:50:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111231","languageCode":"eng","description":"Join us for a text-based watch party as we delve into the latest updates to App Store Connect with the team behind \u201cWhat\u2019s new in App Store Connect.\" Watch the session with us, then stick around for a short text-based Q&A. The watch party starts just 5 minutes after this activity begins, so mark your calendars and make sure to join us on time! Don\u2019t miss out on this opportunity to learn and engage with App Store Connect engineers.","title":"Meet the presenter: What\u2019s new in App Store Connect","startTime":"2023-06-07T10:00:00-07:00","endTime":"2023-06-07T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"20896FCA-D031-4F6D-925C-2B07BEADC37F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111247":{"id":"wwdc2023-111247","staticContentId":8499,"eventContentId":111247,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:02-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111247","languageCode":"eng","description":"Ask Apple engineers about the Natural Language framework during this 1 hour text-based Q&A. Stop in to request guidance, ask for clarifications, or learn from others.","title":"Q&A: Natural Language and Speech","startTime":"2023-06-09T13:00:00-07:00","endTime":"2023-06-09T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":94,"topicIds":[94],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"2404192B-52CC-4785-8534-F5A47D9ADE15","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10042","wwdc2023-10101"]}},"wwdc2023-111245":{"id":"wwdc2023-111245","staticContentId":8497,"eventContentId":111245,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:18:52-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111245","languageCode":"eng","description":"Ask Apple engineers about bringing machine learning to your app with Core ML. Learn about techniques for model compression, optimizations for handling model loading, and getting improving app responsiveness with async prediction during this 1 hour text-based Q&A. Stop in to request guidance, ask for clarifications, or learn from others.","title":"Q&A: Core ML","startTime":"2023-06-08T09:00:00-07:00","endTime":"2023-06-08T10:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":94,"topicIds":[94],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"52A0896B-E382-45E4-8E23-E7D8AA6BDB76","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10047","wwdc2023-10049"]}},"wwdc2023-111234":{"id":"wwdc2023-111234","staticContentId":8484,"eventContentId":111234,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111234","languageCode":"eng","description":"Ask Apple engineers about App Clips during this 1 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: App Clips","startTime":"2023-06-07T13:00:00-07:00","endTime":"2023-06-07T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"864CD313-3A7F-438A-ADB9-484B7F2541FF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10178"]}},"wwdc2023-111479":{"id":"wwdc2023-111479","staticContentId":8738,"eventContentId":111479,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111479","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 3 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: PhotoKit","startTime":"2023-06-08T13:00:00-07:00","endTime":"2023-06-08T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":95,"topicIds":[95],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"2E9FF75D-430B-48D8-B2B6-2152418FD5D3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111476":{"id":"wwdc2023-111476","staticContentId":8735,"eventContentId":111476,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:45-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111476","languageCode":"eng","description":"Meet the team behind \u201cSupport Cinematic mode videos in your app\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!\t","title":"Meet the presenter: Support Cinematic mode videos in your app","startTime":"2023-06-07T13:00:00-07:00","endTime":"2023-06-07T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS"],"keywords":["camera"],"primaryTopicID":95,"topicIds":[95],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"3187CA82-6FCC-4A7D-9687-960F72520C23","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111324":{"id":"wwdc2023-111324","staticContentId":8577,"eventContentId":111324,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:22:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111324","languageCode":"eng","description":"Join the Apple Design team in this 1 hour text-based Q&A on spatial design. Bring your questions about UI and UX best practices for creating a great experience on visionOS. ","title":"Q&A: Spatial design ","startTime":"2023-06-09T13:00:00-07:00","endTime":"2023-06-09T14:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","keywords":["spatial computing "],"primaryTopicID":85,"topicIds":[87,85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"47C21FF8-81ED-4E5C-9386-A6463AAE9E6D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111328":{"id":"wwdc2023-111328","staticContentId":8584,"eventContentId":111328,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111328","languageCode":"eng","description":"In this lightning-round icebreaker, chat with Apple engineers who work on visionOS and the developer community to share ideas, discuss favorite sessions, and get to know each other.","title":"Immersive icebreaker","startTime":"2023-06-07T12:00:00-07:00","endTime":"2023-06-07T12:15:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":85,"topicIds":[85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"20A2BC84-AABA-4EAB-AD69-642657834D11","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111329":{"id":"wwdc2023-111329","staticContentId":8585,"eventContentId":111329,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111329","languageCode":"eng","description":"In this lightning-round icebreaker, chat with Apple engineers who work on visionOS and the developer community to share ideas, discuss favorite sessions, and get to know each other.","title":"Immersive icebreaker","startTime":"2023-06-08T16:00:00-07:00","endTime":"2023-06-08T16:15:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":85,"topicIds":[85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D039909A-7590-4C8F-AC9B-0B4184AC3DC6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10329":{"id":"wwdc2023-10329","staticContentId":8415,"eventContentId":10329,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10329","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 1 hour text-based Q&A. Stop in to request guidance on a device management question, ask for clarifications, or learn from others.","title":"Q&A: Device management ","startTime":"2023-06-09T10:00:00-07:00","endTime":"2023-06-09T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":89,"topicIds":[89],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"976B5919-4741-4CBF-BB1A-3C44B1ED1808","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10039","wwdc2023-10040","wwdc2023-10041","wwdc2023-10254"]}},"wwdc2023-111330":{"id":"wwdc2023-111330","staticContentId":8586,"eventContentId":111330,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111330","languageCode":"eng","description":"In this lightning-round icebreaker, chat with Apple engineers who work on visionOS and the developer community to share ideas, discuss favorite sessions, and get to know each other.","title":"Immersive icebreaker","startTime":"2023-06-09T11:00:00-07:00","endTime":"2023-06-09T11:15:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":85,"topicIds":[85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5BBC02BD-CF47-4D01-A844-18BDAB8B1C96","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10308":{"id":"wwdc2023-10308","staticContentId":8389,"eventContentId":10308,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10308","languageCode":"eng","description":"Meet the presenter behind \u201cWind your way through advanced animations in SwiftUI\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenter: Wind your way through advanced animations in SwiftUI","startTime":"2023-06-06T14:00:00-07:00","endTime":"2023-06-06T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"2604DB46-8899-498A-9E79-527B0F99800C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10310":{"id":"wwdc2023-10310","staticContentId":8396,"eventContentId":10310,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10310","languageCode":"eng","description":"Meet the team behind \u201cMeet SwiftUI for spatial computing\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenter: Meet SwiftUI for spatial computing","startTime":"2023-06-06T09:00:00-07:00","endTime":"2023-06-06T10:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":85,"topicIds":[85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"18E3FFC1-E774-42BF-95B1-1D9D068D2E84","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10343":{"id":"wwdc2023-10343","staticContentId":8431,"eventContentId":10343,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10343","languageCode":"eng","description":"Ask Apple engineers about developing for visionOS with ARKit, RealityKit, and Quick Look during this 60 minute text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: ARKit, RealityKit, and Quick Look ","startTime":"2023-06-09T10:00:00-07:00","endTime":"2023-06-09T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS"],"primaryTopicID":85,"topicIds":[85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"11BA0FD9-C8B6-4AF9-90BC-474751FCFB5D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10337":{"id":"wwdc2023-10337","staticContentId":8424,"eventContentId":10337,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10337","languageCode":"eng","description":"Meet the presenters of \u201cDesign with SwiftUI\u201d and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenters: Design with SwiftUI","startTime":"2023-06-09T10:00:00-07:00","endTime":"2023-06-09T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[100,87],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B1A702CA-114A-423B-AF37-7A37052F8FC5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10115"]}},"wwdc2023-10349":{"id":"wwdc2023-10349","staticContentId":8437,"eventContentId":10349,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10349","languageCode":"eng","description":"Ask Apple engineers about using Reality Composer Pro, Object Capture, Reality Converter, and leveraging the USD file format for your 3D content during this hour long text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Create 3D content for Apple platforms","startTime":"2023-06-08T17:00:00-07:00","endTime":"2023-06-08T18:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS"],"primaryTopicID":85,"topicIds":[85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E09240D7-77F7-4FF7-A92C-0FD3E552E83A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111211":{"id":"wwdc2023-111211","staticContentId":8461,"eventContentId":111211,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:20:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111211","languageCode":"eng","description":"Ask Apple engineers about running iPadOS and iOS apps on Vision Pro during this text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.\t","title":"Q&A: iPadOS and iOS apps on Vision Pro","startTime":"2023-06-06T14:00:00-07:00","endTime":"2023-06-06T15:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":85,"topicIds":[100,85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"3ABF8330-9FEB-4489-93AA-017D3ABC0435","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-10344":{"id":"wwdc2023-10344","staticContentId":8432,"eventContentId":10344,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10344","languageCode":"eng","description":"Ask Apple engineers about using Reality Composer Pro, Object Capture, Reality Converter, and leveraging the USD file format for your 3D content during this hour long text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Create 3D content for Apple platforms","startTime":"2023-06-07T10:00:00-07:00","endTime":"2023-06-07T11:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS"],"primaryTopicID":85,"topicIds":[85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"3EE484B4-33B9-4EE0-8DA5-23CDC02723DC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111451":{"id":"wwdc2023-111451","staticContentId":8709,"eventContentId":111451,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:51-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111451","languageCode":"eng","description":"Ask Apple engineers about building UIKit for visionOS during this text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.\t","title":"Q&A: Build UIKit apps for visionOS","startTime":"2023-06-06T11:00:00-07:00","endTime":"2023-06-06T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":85,"topicIds":[100,85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"936ABCE3-1978-43D5-B9CB-B1DCA30CDA1D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2023-111605":{"id":"wwdc2023-111605","staticContentId":8937,"eventContentId":111605,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111605","languageCode":"eng","description":"Meet Sarina, Harjas, and the team behind the new Instruments template that helps you profile the performance of your visionOS app. Join us for a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenters: Meet RealityKit Trace","startTime":"2023-06-07T15:00:00-07:00","endTime":"2023-06-07T16:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":85,"topicIds":[85],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"36468224-4211-42D5-AB0C-3E9BB8CADC1F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10099"]}},"wwdc2023-10289":{"id":"wwdc2023-10289","staticContentId":8369,"eventContentId":10289,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:23:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10289","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 1 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Signing and distribution","startTime":"2023-06-06T15:00:00-07:00","endTime":"2023-06-06T16:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"60A1E163-F02E-4A5B-BC7F-E7DE4433310A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2023-10224"]}},"wwdc2023-10286":{"id":"wwdc2023-10286","staticContentId":8366,"eventContentId":10286,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T12:19:54-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10286","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.","title":"Q&A: Xcode","startTime":"2023-06-07T15:00:00-07:00","endTime":"2023-06-07T17:00:00-07:00","originalPublishingDate":"2023-06-05T10:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"DDCD3C93-AFEA-40DD-8C79-A5A85E6E742D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110885":{"id":"wwdc2022-110885","staticContentId":7274,"eventContentId":110885,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110885","languageCode":"eng","description":"Ask Apple engineers about App Intents during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: App Intents","startTime":"2022-06-09T13:00:00-07:00","endTime":"2022-06-09T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["intent","intents","shortcut","shortcuts","sirikit"],"primaryTopicID":83,"topicIds":[83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"EDE898E4-FE35-4E36-BD55-12E709CF3FF1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10032","wwdc2022-10121","wwdc2022-10170"]}},"wwdc2022-110823":{"id":"wwdc2022-110823","staticContentId":7206,"eventContentId":110823,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:43-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110823","languageCode":"eng","description":"Ask Apple engineers about AVFoundation during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: AVFoundation","startTime":"2022-06-08T13:00:00-07:00","endTime":"2022-06-08T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B1FA03BF-465E-48CF-8FE3-3A3E0229D23B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110379","wwdc2022-110380","wwdc2022-110545","wwdc2022-110546","wwdc2022-110565","wwdc2022-110822"]}},"wwdc2022-110921":{"id":"wwdc2022-110921","staticContentId":7315,"eventContentId":110921,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110921","languageCode":"eng","description":"Ask Apple engineers about the Swift Standard Library during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Swift Standard Library","startTime":"2022-06-07T11:00:00-07:00","endTime":"2022-06-07T13:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[99,88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D662E2ED-DA2E-4226-B3CD-98F649178B86","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110354","wwdc2022-110357","wwdc2022-110358"]}},"wwdc2022-110659":{"id":"wwdc2022-110659","staticContentId":7026,"eventContentId":110659,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110659","languageCode":"eng","description":"Meet the presenters of \u201cTake ScreenCaptureKit to the next level\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Take ScreenCaptureKit to the next level","startTime":"2022-06-08T15:00:00-07:00","endTime":"2022-06-08T16:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":91,"topicIds":[84,91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6985E2C4-9E73-4C88-8452-7EC45475031B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10155","wwdc2022-10156","wwdc2022-110652","wwdc2022-110660","wwdc2022-110669"]}},"wwdc2022-110532":{"id":"wwdc2022-110532","staticContentId":6899,"eventContentId":110532,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110532","languageCode":"eng","description":"Meet the team behind \u201cWriting for interfaces\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Writing for interfaces ","startTime":"2022-06-09T13:00:00-07:00","endTime":"2022-06-09T14:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["copywriting"],"primaryTopicID":87,"topicIds":[82,90,87],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"919AED91-36AA-4322-ADE3-E1B7BEFCAA6E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10037"]}},"wwdc2022-110935":{"id":"wwdc2022-110935","staticContentId":7331,"eventContentId":110935,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110935","languageCode":"eng","description":"Trivia Night returns to the Developer Tools Lounge! Test your knowledge with multiple choice questions on tools, frameworks, and Apple history.","title":"Trivia Night","startTime":"2022-06-09T18:00:00-07:00","endTime":"2022-06-09T19:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","primaryTopicID":88,"topicIds":[90,88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1060E5B5-6C4A-4FD8-9CC6-5BEBB094FAD3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110945":{"id":"wwdc2022-110945","staticContentId":7342,"eventContentId":110945,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110945","languageCode":"eng","description":"Ask Apple engineers about Xcode Previews during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Xcode Previews","startTime":"2022-06-09T13:00:00-07:00","endTime":"2022-06-09T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[88,100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"63257671-280C-4E70-89D6-4426A851B93A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110427"]}},"wwdc2022-110962":{"id":"wwdc2022-110962","staticContentId":7384,"eventContentId":110962,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110962","languageCode":"eng","description":"Meet the presenter of \u201cDiscover advancements in iOS camera capture\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Discover advancements in iOS camera capture","startTime":"2022-06-08T10:00:00-07:00","endTime":"2022-06-08T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":95,"topicIds":[95],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B9BD6E92-0BFD-4628-B641-50E4AD55195C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110429","wwdc2022-110642","wwdc2022-110643"]}},"wwdc2022-110519":{"id":"wwdc2022-110519","staticContentId":6885,"eventContentId":110519,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-07T20:00:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110519","languageCode":"eng","description":"Floating numbers? Neon code screens? Today, we\u2019re taking a page out of our favorite speculative fiction and challenging you to create a SwiftUI screen from an alternate reality. Visit the SwiftUI Study Hall to collaborate on the \u201cSwiftUI science fiction!\u201d coding challenge. Ask questions, connect with other developers, and share your progress.","title":"Study Hall: SwiftUI science fiction!","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T18:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"8C6E8E2F-5AB9-42A3-B03A-15E5E77ADC5F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10056"]}},"wwdc2022-110918":{"id":"wwdc2022-110918","staticContentId":7310,"eventContentId":110918,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-07T20:11:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110918","languageCode":"eng","description":"Get ready to shine a light on this challenge: We're inviting you to explore bindless rendering in Metal 3 and reflect rays on mirrored surfaces. Visit the Graphics & Games Study Hall to collaborate on the \u201cBindless ray tracing\u201d coding challenge. Ask questions, connect with other developers, and share your creations.","title":"Study Hall: Bindless ray tracing","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T18:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"7D5754AD-6723-4C34-A73E-AB88F10138D3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110444":{"id":"wwdc2022-110444","staticContentId":6805,"eventContentId":110444,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:53-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110444","languageCode":"eng","description":"Ask Apple engineers about App Clips during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: App Clips","startTime":"2022-06-08T13:00:00-07:00","endTime":"2022-06-08T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"13D8FD57-42E2-4F25-B0BA-B7E9DA67C111","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10097"]}},"wwdc2022-110825":{"id":"wwdc2022-110825","staticContentId":7208,"eventContentId":110825,"eventId":"wwdc2022","contentUpdatedAt":"2025-01-28T15:33:21-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110825","languageCode":"eng","description":"Ask Apple engineers about Apple Music during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Apple Music","startTime":"2022-06-07T13:00:00-07:00","endTime":"2022-06-07T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["apple music","music","musickit","songs","swift"],"primaryTopicID":84,"topicIds":[98,84],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"9B12BBCC-1377-4396-AA3E-B3E6C2338F37","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10148","wwdc2022-110347","wwdc2022-110558","wwdc2022-110559","wwdc2022-110560","wwdc2022-110561"]}},"wwdc2022-110531":{"id":"wwdc2022-110531","staticContentId":6898,"eventContentId":110531,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:51-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110531","languageCode":"eng","description":"Meet the presenter of \u201cDesign app experiences with charts\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Design app experiences with charts","startTime":"2022-06-08T13:00:00-07:00","endTime":"2022-06-08T14:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["digital lounge","infographics"],"primaryTopicID":87,"topicIds":[92,87],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"CF9D64AD-5E7A-4B60-B59B-9633173642EA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110340","wwdc2022-110342","wwdc2022-110467","wwdc2022-110610"]}},"wwdc2022-110940":{"id":"wwdc2022-110940","staticContentId":7337,"eventContentId":110940,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110940","languageCode":"eng","description":"Ask Apple engineers about Foundation during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Foundation","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","primaryTopicID":99,"topicIds":[88,99],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6C1591E5-EFD5-49DF-95AB-8FA166AE05BB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110515":{"id":"wwdc2022-110515","staticContentId":6880,"eventContentId":110515,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:52-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110515","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 1 hour text-based Q&A. Stop in to request guidance on a device management question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Device management","startTime":"2022-06-07T14:00:00-07:00","endTime":"2022-06-07T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":89,"topicIds":[89],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"27BADD47-F689-470C-9405-7D27A95E083E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10045","wwdc2022-110335"]}},"wwdc2022-110837":{"id":"wwdc2022-110837","staticContentId":7221,"eventContentId":110837,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-07T17:33:48-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110837","languageCode":"eng","description":"Meet the presenter of \u201cBuild a desktop-class iPad app\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Build a desktop-class iPad app","startTime":"2022-06-08T10:00:00-07:00","endTime":"2022-06-08T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"9B4E31F5-14C7-4235-8F27-2C32833C78A3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10070"]}},"wwdc2022-110922":{"id":"wwdc2022-110922","staticContentId":7316,"eventContentId":110922,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110922","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: C, C++, Objective-C compiler, analyzer, sanitizer, debugger, and linker","startTime":"2022-06-07T15:00:00-07:00","endTime":"2022-06-07T17:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"7653E2AD-D30A-4054-9FB5-9FB2538CB7B5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110367"]}},"wwdc2022-110959":{"id":"wwdc2022-110959","staticContentId":7381,"eventContentId":110959,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110959","languageCode":"eng","description":"Ask Apple engineers about camera capture during this 1 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Camera capture","startTime":"2022-06-07T10:00:00-07:00","endTime":"2022-06-07T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":95,"topicIds":[95],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"7C4FBD05-BE8B-4509-BD65-FFCD8B29720B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10018","wwdc2022-10022","wwdc2022-110429","wwdc2022-110642","wwdc2022-110643"]}},"wwdc2022-110392":{"id":"wwdc2022-110392","staticContentId":6750,"eventContentId":110392,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110392","languageCode":"eng","description":"Meet the presenter of \u201cCompose custom layouts with SwiftUI\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Compose custom layouts with SwiftUI","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T10:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D78198BB-4E66-42BB-A794-42220AA43602","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10056"]}},"wwdc2022-110662":{"id":"wwdc2022-110662","staticContentId":7029,"eventContentId":110662,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110662","languageCode":"eng","description":"Meet the presenter of \u201cReach new players with Game Center dashboard\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Reach new players with Game Center dashboard","startTime":"2022-06-09T11:00:00-07:00","endTime":"2022-06-09T12:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[84,91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5B45B06E-1A33-426A-AD7D-D5B20C992A0A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10064","wwdc2022-10065","wwdc2022-110647","wwdc2022-110648","wwdc2022-110663","wwdc2022-110664","wwdc2022-110670"]}},"wwdc2022-110947":{"id":"wwdc2022-110947","staticContentId":7346,"eventContentId":110947,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110947","languageCode":"eng","description":"Meet the presenter behind \u201cWhat's new in AppKit\u201d and join a text-based watch party for the session with the AppKit team, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet The Presenter: What's new in AppKit","startTime":"2022-06-07T11:00:00-07:00","endTime":"2022-06-07T12:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5823550E-6977-411D-A6E5-6845B477C918","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10074"]}},"wwdc2022-110530":{"id":"wwdc2022-110530","staticContentId":6897,"eventContentId":110530,"eventId":"wwdc2022","contentUpdatedAt":"2022-09-22T13:21:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110530","languageCode":"eng","description":"Meet the team behind the Human Interface Guidelines for a 1 hour text-based Q&A about the latest updates to the HIG, design guidance, and best practices.","title":"Q&A: Human Interface Guidelines","startTime":"2022-06-08T10:00:00-07:00","endTime":"2022-06-08T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["design system","hig"],"primaryTopicID":87,"topicIds":[82,90,87],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C9B4197C-1738-4C8D-9E42-C2B9526F66D3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110841":{"id":"wwdc2022-110841","staticContentId":7225,"eventContentId":110841,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110841","languageCode":"eng","description":"Ask Apple engineers about Sign in with Apple during this 1 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Sign in with Apple","startTime":"2022-06-10T13:00:00-07:00","endTime":"2022-06-10T14:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[98,96],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"930CA008-3314-4FC0-A129-ACF811AFDB26","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10122"]}},"wwdc2022-110667":{"id":"wwdc2022-110667","staticContentId":7034,"eventContentId":110667,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110667","languageCode":"eng","description":"Ask Apple engineers about Metal during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Metal","startTime":"2022-06-10T13:00:00-07:00","endTime":"2022-06-10T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1DA358FD-97FC-4AF6-9F2B-1C97F1A2441C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10066","wwdc2022-10101","wwdc2022-10102","wwdc2022-10103","wwdc2022-10104","wwdc2022-10105","wwdc2022-10106","wwdc2022-10159","wwdc2022-10160","wwdc2022-10162","wwdc2022-110645","wwdc2022-110646","wwdc2022-110657","wwdc2022-110661","wwdc2022-110666","wwdc2022-110670","wwdc2022-110949"]}},"wwdc2022-110824":{"id":"wwdc2022-110824","staticContentId":7207,"eventContentId":110824,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110824","languageCode":"eng","description":"Ask Apple engineers about SharePlay during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: SharePlay","startTime":"2022-06-07T15:00:00-07:00","endTime":"2022-06-07T17:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"EEF3E827-A500-4601-9A2E-B30E756CB1D8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10139","wwdc2022-10140","wwdc2022-110380","wwdc2022-110554","wwdc2022-110555","wwdc2022-110815","wwdc2022-110822"]}},"wwdc2022-110424":{"id":"wwdc2022-110424","staticContentId":6785,"eventContentId":110424,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110424","languageCode":"eng","description":"Meet the presenter of \u201cWhat's new in web accessibility\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: What's new in web accessibility","startTime":"2022-06-09T12:00:00-07:00","endTime":"2022-06-09T13:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":82,"topicIds":[90,98,82],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C17EBD0E-4372-46DA-8FC9-8C56133150DA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10153"]}},"wwdc2022-110928":{"id":"wwdc2022-110928","staticContentId":7322,"eventContentId":110928,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110928","languageCode":"eng","description":"Meet the team behind \u201cEvolve your Core Data schema\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Evolve your Core Data schema","startTime":"2022-06-09T11:00:00-07:00","endTime":"2022-06-09T12:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["cktool","cloudkit","console","container","encryption","icloud","schema"],"primaryTopicID":101,"topicIds":[101],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"09E5C6D7-3370-4660-965F-3AC31C9CBA8E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10120"]}},"wwdc2022-110489":{"id":"wwdc2022-110489","staticContentId":6852,"eventContentId":110489,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110489","languageCode":"eng","description":"Ask Apple engineers about Swift Package Manager during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Swift Package Manager","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5F9D61C1-EDC8-4DB4-87CC-A9A347190AFF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110354","wwdc2022-110359","wwdc2022-110401"]}},"wwdc2022-110431":{"id":"wwdc2022-110431","staticContentId":6792,"eventContentId":110431,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110431","languageCode":"eng","description":"Ask Apple engineers about WidgetKit during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: WidgetKit","startTime":"2022-06-08T10:00:00-07:00","endTime":"2022-06-08T12:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"55026871-7122-4C4E-B88D-AC47236E1C32","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10050"]}},"wwdc2022-110903":{"id":"wwdc2022-110903","staticContentId":7293,"eventContentId":110903,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110903","languageCode":"eng","description":"Ask Apple engineers about Core ML during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Core ML","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T10:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":94,"topicIds":[94],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B325BEE6-5667-46E0-B2F0-B23666EED897","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10017","wwdc2022-10027","wwdc2022-110850","wwdc2022-110851","wwdc2022-110852","wwdc2022-110853"]}},"wwdc2022-110926":{"id":"wwdc2022-110926","staticContentId":7320,"eventContentId":110926,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110926","languageCode":"eng","description":"Ask Apple engineers about app performance, power, and stability during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Performance, power, and stability","startTime":"2022-06-09T11:00:00-07:00","endTime":"2022-06-09T13:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"773BC049-626F-4A38-9682-926FBB98C038","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10082","wwdc2022-10083"]}},"wwdc2022-10175":{"id":"wwdc2022-10175","staticContentId":6676,"eventContentId":10175,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:54-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10175","languageCode":"eng","description":"Join members of the Prototyping team for a 1 hour text-based Q&A on how to ideate and prototype your ideas.","title":"Q&A: Prototyping","startTime":"2022-06-09T10:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[90,87],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"84E2DC89-D584-40EA-9272-B078144EAC19","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110835":{"id":"wwdc2022-110835","staticContentId":7219,"eventContentId":110835,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-07T17:34:45-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110835","languageCode":"eng","description":"Meet the presenter of \u201cMeet desktop-class iPad\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Meet desktop-class iPad","startTime":"2022-06-07T16:00:00-07:00","endTime":"2022-06-07T17:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1F145510-1B7F-404E-AB69-0C8F4E92429F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10069"]}},"wwdc2022-110907":{"id":"wwdc2022-110907","staticContentId":7297,"eventContentId":110907,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110907","languageCode":"eng","description":"Meet the presenter of \u201cExplore the machine learning developer experience\u201d and join a text-based watch party for the session we explore finding, converting, and optimizing a custom ML model to bring intelligent features to apps. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Explore the machine learning developer experience","startTime":"2022-06-10T10:00:00-07:00","endTime":"2022-06-10T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":94,"topicIds":[94],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"AE50531B-A4B4-4151-94DB-C613C83CC262","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10017","wwdc2022-10027","wwdc2022-10063","wwdc2022-110850","wwdc2022-110851","wwdc2022-110852","wwdc2022-110853"]}},"wwdc2022-110456":{"id":"wwdc2022-110456","staticContentId":6817,"eventContentId":110456,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-07T20:01:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110456","languageCode":"eng","description":"Visit the Accessibility Study Hall to collaborate on the \u201cLearn Switch Control through gaming\u201d coding challenge. Ask questions, connect with other developers, and share your progress.","title":"Study Hall: Learn Switch Control through gaming","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T18:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","primaryTopicID":82,"topicIds":[82],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"55DDBD12-06F5-407C-92D6-6F73A3B6414E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110480":{"id":"wwdc2022-110480","staticContentId":6841,"eventContentId":110480,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:57:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110480","languageCode":"eng","description":"Ask Apple engineers about Swift concurrency during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Swift concurrency","startTime":"2022-06-08T13:00:00-07:00","endTime":"2022-06-08T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","primaryTopicID":88,"topicIds":[99,88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"F2498DF6-0FFD-45DB-ADCA-B6B3F43D343B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110350","wwdc2022-110351","wwdc2022-110354","wwdc2022-110355","wwdc2022-110356"]}},"wwdc2022-110669":{"id":"wwdc2022-110669","staticContentId":7036,"eventContentId":110669,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110669","languageCode":"eng","description":"Ask Apple engineers about ScreenCaptureKit during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: ScreenCaptureKit","startTime":"2022-06-09T16:00:00-07:00","endTime":"2022-06-09T18:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":91,"topicIds":[84,91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1E7E4749-4DBC-44DB-8214-966D29277ADA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10155","wwdc2022-10156","wwdc2022-110652","wwdc2022-110659","wwdc2022-110660"]}},"wwdc2022-110663":{"id":"wwdc2022-110663","staticContentId":7030,"eventContentId":110663,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110663","languageCode":"eng","description":"Ask Apple engineers about Games technologies during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Games technologies","startTime":"2022-06-07T16:00:00-07:00","endTime":"2022-06-07T18:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"66A62B1C-7CBA-4ED7-8516-DCB490D20378","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10064","wwdc2022-10065","wwdc2022-10106","wwdc2022-10151","wwdc2022-10160","wwdc2022-110422","wwdc2022-110649","wwdc2022-110658","wwdc2022-110662","wwdc2022-110664","wwdc2022-110670"]}},"wwdc2022-110901":{"id":"wwdc2022-110901","staticContentId":7291,"eventContentId":110901,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110901","languageCode":"eng","description":"Ask Apple engineers about Create ML during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Create ML","startTime":"2022-06-07T13:00:00-07:00","endTime":"2022-06-07T14:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":94,"topicIds":[94],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"286C44D6-933B-472E-A6DB-C27158A2CAA7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10019","wwdc2022-10020","wwdc2022-110332","wwdc2022-110850","wwdc2022-110851","wwdc2022-110852","wwdc2022-110853"]}},"wwdc2022-110391":{"id":"wwdc2022-110391","staticContentId":6749,"eventContentId":110391,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110391","languageCode":"eng","description":"Meet the team behind \u201cWhat's new in SwiftUI\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: What's new in SwiftUI","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T10:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[90,100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"9CA86DA5-FCCC-438E-B868-EF1EDD994E4F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10052"]}},"wwdc2022-110657":{"id":"wwdc2022-110657","staticContentId":7024,"eventContentId":110657,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110657","languageCode":"eng","description":"Meet the presenter of \u201cDiscover Metal 3\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Discover Metal 3","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T10:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"2D56EC5B-D1E7-425F-95B5-EC0D6AB86D87","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10066","wwdc2022-110645","wwdc2022-110646","wwdc2022-110666","wwdc2022-110667","wwdc2022-110670","wwdc2022-110949"]}},"wwdc2022-110485":{"id":"wwdc2022-110485","staticContentId":6847,"eventContentId":110485,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110485","languageCode":"eng","description":"Ask Apple engineers about Safari and web technologies during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Safari and web technologies","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":98,"topicIds":[98],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"7C051CFA-2396-4A4F-BC07-259189C36453","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10048","wwdc2022-10049","wwdc2022-10098","wwdc2022-10099","wwdc2022-10100"]}},"wwdc2022-110916":{"id":"wwdc2022-110916","staticContentId":7306,"eventContentId":110916,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110916","languageCode":"eng","description":"Ask Apple engineers about Private Access Tokens during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Private Access Tokens","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":96,"topicIds":[98,101,96],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"67D9E251-5459-4F55-AF30-ADD1391BF2CC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10077"]}},"wwdc2022-110449":{"id":"wwdc2022-110449","staticContentId":6810,"eventContentId":110449,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110449","languageCode":"eng","description":"Meet the presenter of \u201cBuild a productivity app for Apple Watch\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Build a productivity app for Apple Watch","startTime":"2022-06-08T14:00:00-07:00","endTime":"2022-06-08T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"F2C54D7D-661B-4F29-AD8F-5273F480A5FE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10133"]}},"wwdc2022-110407":{"id":"wwdc2022-110407","staticContentId":6767,"eventContentId":110407,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110407","languageCode":"eng","description":"Ask Apple engineers about Swift Charts \u2014 a new framework to help you create charts in SwiftUI \u2014 during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Swift Charts","startTime":"2022-06-09T11:00:00-07:00","endTime":"2022-06-09T13:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[92,100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"9DD5E1D4-D09B-4D19-B9DA-0C8C63CDBCEC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10136","wwdc2022-10137"]}},"wwdc2022-110904":{"id":"wwdc2022-110904","staticContentId":7294,"eventContentId":110904,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110904","languageCode":"eng","description":"Meet the presenters of \u201cCompose advanced models with Create ML Components\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Compose advanced models with Create ML Components","startTime":"2022-06-08T11:00:00-07:00","endTime":"2022-06-08T12:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":94,"topicIds":[94],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"615C2D37-A01E-4941-BC99-4E606D7443E6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10019","wwdc2022-10020","wwdc2022-110850","wwdc2022-110851","wwdc2022-110852","wwdc2022-110853"]}},"wwdc2022-110924":{"id":"wwdc2022-110924","staticContentId":7318,"eventContentId":110924,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:52-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110924","languageCode":"eng","description":"Ask Apple engineers about Xcode during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Xcode","startTime":"2022-06-08T15:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[90,88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"BDBFFED1-C3DC-463B-9D9A-012B8F2D9BD4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110364","wwdc2022-110371","wwdc2022-110427"]}},"wwdc2022-110813":{"id":"wwdc2022-110813","staticContentId":7195,"eventContentId":110813,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110813","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Right-to-left","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[82,100,101],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"9731EBE1-93B1-4F53-A706-D6E8F69AD265","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10034","wwdc2022-10107","wwdc2022-10110","wwdc2022-110441"]}},"wwdc2022-110666":{"id":"wwdc2022-110666","staticContentId":7033,"eventContentId":110666,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110666","languageCode":"eng","description":"Ask Apple engineers about Metal during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Metal","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"12B9E107-7C0B-4769-8AF4-12AC882518D7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10066","wwdc2022-10101","wwdc2022-10102","wwdc2022-10103","wwdc2022-10104","wwdc2022-10105","wwdc2022-10106","wwdc2022-10159","wwdc2022-10160","wwdc2022-10162","wwdc2022-110645","wwdc2022-110646","wwdc2022-110657","wwdc2022-110661","wwdc2022-110667","wwdc2022-110670","wwdc2022-110949"]}},"wwdc2022-110961":{"id":"wwdc2022-110961","staticContentId":7383,"eventContentId":110961,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110961","languageCode":"eng","description":"Meet the presenter of \u201cBring Continuity Camera to your macOS app\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Bring Continuity Camera to your macOS app","startTime":"2022-06-07T11:00:00-07:00","endTime":"2022-06-07T12:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":95,"topicIds":[95],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C3F22509-0D60-47CF-9A0F-149652FF3611","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10018","wwdc2022-110642","wwdc2022-110643"]}},"wwdc2022-110842":{"id":"wwdc2022-110842","staticContentId":7226,"eventContentId":110842,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110842","languageCode":"eng","description":"Ask Apple engineers about Sign in with Apple during this 1 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Sign in with Apple","startTime":"2022-06-09T13:00:00-07:00","endTime":"2022-06-09T14:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[98,96],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"85D1F8D5-1790-4CB1-A215-179110E94F1D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10122"]}},"wwdc2022-110815":{"id":"wwdc2022-110815","staticContentId":7197,"eventContentId":110815,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110815","languageCode":"eng","description":"Meet the team behind \"Make a great SharePlay experience\" and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Make a great SharePlay experience","startTime":"2022-06-09T16:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":84,"topicIds":[83,90,92,84],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"7192AE39-E91B-4E76-BF75-09221B4974A5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10139","wwdc2022-10140","wwdc2022-110380","wwdc2022-110554","wwdc2022-110555","wwdc2022-110822","wwdc2022-110824"]}},"wwdc2022-110817":{"id":"wwdc2022-110817","staticContentId":7199,"eventContentId":110817,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110817","languageCode":"eng","description":"Meet the presenter of \"Create a great video playback experience\" and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Create a great video playback experience","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T16:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[92,84],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6415F39C-39FE-4076-8769-12AF80DD34AB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10147","wwdc2022-110547","wwdc2022-110548","wwdc2022-110826"]}},"wwdc2022-110822":{"id":"wwdc2022-110822","staticContentId":7205,"eventContentId":110822,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110822","languageCode":"eng","description":"Ask Apple engineers about coordinated media playback with SharePlay during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Coordinated media with SharePlay","startTime":"2022-06-08T15:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B45CCFBF-32DF-4110-8C25-1B02722C1D86","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10139","wwdc2022-10140","wwdc2022-110380","wwdc2022-110545","wwdc2022-110546","wwdc2022-110554","wwdc2022-110555","wwdc2022-110815","wwdc2022-110823","wwdc2022-110824"]}},"wwdc2022-110747":{"id":"wwdc2022-110747","staticContentId":7119,"eventContentId":110747,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110747","languageCode":"eng","description":"Ask Apple engineers about Maps technologies during this 2 hour text-based Q&A. Bring your questions about MapKit, MapKit JS, Maps Server API, and Indoor Maps. We're excited to help you integrate the all-new map into your app, discuss how to visualize your data by using annotations and overlays, and answer your questions about how to build multi-platform solutions that leverage our latest set of APIs. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Maps technologies","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":93,"topicIds":[93],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D1FBAF43-17B6-40CE-B70F-0AC63AAC99A3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10006","wwdc2022-10035"]}},"wwdc2022-110490":{"id":"wwdc2022-110490","staticContentId":6853,"eventContentId":110490,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110490","languageCode":"eng","description":"Ask Apple engineers about Swift Playgrounds during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Swift Playgrounds","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","primaryTopicID":88,"topicIds":[90,88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5594BCA6-4AA8-4F80-BC7C-833F4AF794B9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110348","wwdc2022-110349"]}},"wwdc2022-110832":{"id":"wwdc2022-110832","staticContentId":7216,"eventContentId":110832,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110832","languageCode":"eng","description":"Meet the team behind \u201cMeet CKTool JS\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!\n","title":"Meet the Presenter: Meet CKTool JS","startTime":"2022-06-08T14:00:00-07:00","endTime":"2022-06-08T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["cktool","cloudkit","console","container","encryption","icloud","schema"],"primaryTopicID":101,"topicIds":[98,101],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C44F3EEE-033D-4D9F-ACC0-90FF8F9144E7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110830":{"id":"wwdc2022-110830","staticContentId":7214,"eventContentId":110830,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110830","languageCode":"eng","description":"Ask Apple engineers about UIKit, AppKit, and Mac Catalyst during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: UI Frameworks","startTime":"2022-06-08T15:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"9A116B88-760E-471F-B43B-99F0BE6D7390","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10068","wwdc2022-10069","wwdc2022-10070","wwdc2022-10071","wwdc2022-10072","wwdc2022-10074","wwdc2022-10075","wwdc2022-10076","wwdc2022-10090"]}},"wwdc2022-110419":{"id":"wwdc2022-110419","staticContentId":6780,"eventContentId":110419,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110419","languageCode":"eng","description":"Ask Apple engineers about accessibility in UIKit and AppKit during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Accessibility in UIKit and AppKit","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":82,"topicIds":[100,82],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"EDC283D9-DD36-4C32-9A8D-2BF80BC014A4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10068","wwdc2022-10072","wwdc2022-10074","wwdc2022-10075"]}},"wwdc2022-110828":{"id":"wwdc2022-110828","staticContentId":7212,"eventContentId":110828,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-07T20:01:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110828","languageCode":"eng","description":"Today's challenge comes straight from the menu bar itself: It's time to File \u2192 New Challenge and use SwiftUI to build a menu bar extra for your app. Visit the SwiftUI Study Hall to collaborate on the \u201cMenu bar extras with SwiftUI\u201d coding challenge. Ask questions, connect with other developers, and share your creations.","title":"Study Hall: Menu bar extras with SwiftUI ","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T18:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"AAF7E4C2-1D79-472F-8E3A-9DA112982E0C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10061"]}},"wwdc2022-110520":{"id":"wwdc2022-110520","staticContentId":6886,"eventContentId":110520,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110520","languageCode":"eng","description":"Join the Education team for a 2 hour text-based Q&A on the technologies available to education developers. Bring your questions about Sign in with Apple at Work & School, the Roster API, ClassKit, the Schoolwork and Classroom apps, Automatic Assessment Configuration, Apple School Manager, Shared iPad, Mobile Device Management, and more. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Education technologies","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["apple school manager","automatic assessment configuration","classkit","education","mobile device management","roster","school","schoolwork","shared ipad"],"primaryTopicID":89,"topicIds":[89],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"A9CFA820-42CB-4138-8577-02EE3F2A5DE6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10053"]}},"wwdc2022-110658":{"id":"wwdc2022-110658","staticContentId":7025,"eventContentId":110658,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110658","languageCode":"eng","description":"Meet the presenter of \u201cPlug-in and play: Add Apple frameworks to your Unity game projects\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Add Apple frameworks to your Unity game projects","startTime":"2022-06-07T11:00:00-07:00","endTime":"2022-06-07T12:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[82,84,91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"04DB7892-ACC4-42E5-B451-EC13F6C2D6C6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10065","wwdc2022-110422","wwdc2022-110649","wwdc2022-110663","wwdc2022-110664","wwdc2022-110670"]}},"wwdc2022-110443":{"id":"wwdc2022-110443","staticContentId":6804,"eventContentId":110443,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-07T20:01:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110443","languageCode":"eng","description":"We\u2019re adding some chic retro styling to today\u2019s challenge: Create a SwiftUI view that reimagines your app clothed in the interfaces of the past. Dress your UI up in the grayscale style of System 7, the linen of early iPhoneOS, or another time period entirely! Visit the SwiftUI Study Hall to collaborate on the \u201cThrowback Thursday\u201d coding challenge. Ask questions, connect with other developers, and share your creations.","title":"Study Hall: Throwback Thursday","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T18:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[90,100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"27F240BF-5691-433A-BD3A-FA6D3C8765A1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10052"]}},"wwdc2022-110432":{"id":"wwdc2022-110432","staticContentId":6793,"eventContentId":110432,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110432","languageCode":"eng","description":"Ask Apple engineers about WidgetKit during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: WidgetKit","startTime":"2022-06-10T11:00:00-07:00","endTime":"2022-06-10T13:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":83,"topicIds":[90,100,83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"105400C3-8E2C-46CE-9C81-9FCC4703A712","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10050","wwdc2022-10051"]}},"wwdc2022-110905":{"id":"wwdc2022-110905","staticContentId":7295,"eventContentId":110905,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110905","languageCode":"eng","description":"Ask Apple engineers about Vision during this one hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Vision","startTime":"2022-06-09T14:00:00-07:00","endTime":"2022-06-09T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":94,"topicIds":[94],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"7187E0B1-75B2-405E-AD93-6432F661038D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10024","wwdc2022-10025","wwdc2022-10026","wwdc2022-110850","wwdc2022-110851","wwdc2022-110852","wwdc2022-110853"]}},"wwdc2022-110960":{"id":"wwdc2022-110960","staticContentId":7382,"eventContentId":110960,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110960","languageCode":"eng","description":"Ask Apple engineers about camera capture during this 1 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Camera capture","startTime":"2022-06-09T10:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":95,"topicIds":[95],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"22A3EA65-EFDF-4F2C-AA68-5B04FA03EE9C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10018","wwdc2022-10022","wwdc2022-110429","wwdc2022-110642","wwdc2022-110643"]}},"wwdc2022-110421":{"id":"wwdc2022-110421","staticContentId":6782,"eventContentId":110421,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110421","languageCode":"eng","description":"Join members of the Apple Accessibility team for a 1 hour text-based conversation about how assistive technologies are used in their day-to-day lives. \n","title":"Accessibility community panel","startTime":"2022-06-08T16:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[90,82],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"24D499D5-122B-422C-8BD9-E6368E7DD9A7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110433":{"id":"wwdc2022-110433","staticContentId":6794,"eventContentId":110433,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110433","languageCode":"eng","description":"Meet the presenters of \u201cComplications and widgets: Reloaded\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Complications and widgets: Reloaded","startTime":"2022-06-07T12:00:00-07:00","endTime":"2022-06-07T13:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","watchOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"73C3F044-6A41-4775-97CA-70350C51C579","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10050"]}},"wwdc2022-110751":{"id":"wwdc2022-110751","staticContentId":7124,"eventContentId":110751,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110751","languageCode":"eng","description":"Connect with App Store Connect engineers during this 2 hour Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: App Store Connect","startTime":"2022-06-08T15:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"AC634ADD-D36B-4E12-B1F8-C1857046363E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10043"]}},"wwdc2022-110759":{"id":"wwdc2022-110759","staticContentId":7134,"eventContentId":110759,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110759","languageCode":"eng","description":"Ask Apple engineers about StoreKit and in-app purchases during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: StoreKit and in-app purchases","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"7738F061-895A-4829-9956-8140D7A9CDCB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10007","wwdc2022-10038","wwdc2022-10039","wwdc2022-10040","wwdc2022-110404"]}},"wwdc2022-110442":{"id":"wwdc2022-110442","staticContentId":6803,"eventContentId":110442,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-07T20:02:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110442","languageCode":"eng","description":"Ready to cook up something fun? We're taking our \"SwiftUI cookbook for navigation\" sample to a whole new tasty level with today's challenge. Prep your ChallengeContentView and get ready to experiment with SwiftUI navigation ingredients like stack view, multicolumn layout, and state restoration. Visit the SwiftUI Study Hall to collaborate on the \u201cSwiftUI navigation hotdish\u201d coding challenge. Ask questions, connect with other developers, and share your creations.","title":"Study Hall: SwiftUI navigation hotdish","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T18:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"A42742ED-D083-46CB-AA44-19C61FEEC070","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10054"]}},"wwdc2022-110833":{"id":"wwdc2022-110833","staticContentId":7217,"eventContentId":110833,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110833","languageCode":"eng","description":"Meet the presenter of \u201cWhat's new in UIKit\u201d and join a text-based watch party for the session with the UIKit team, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: What's new in UIKit","startTime":"2022-06-07T10:00:00-07:00","endTime":"2022-06-07T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"3D3D75F9-BF28-44DD-BDDA-61928AC0731D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10068"]}},"wwdc2022-110902":{"id":"wwdc2022-110902","staticContentId":7292,"eventContentId":110902,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110902","languageCode":"eng","description":"Meet the presenters of \u201cGet to know Create ML Components\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Get to know Create ML Components","startTime":"2022-06-07T15:00:00-07:00","endTime":"2022-06-07T16:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":94,"topicIds":[94],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5734812B-9714-472F-BE89-1E7D743F4722","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10019","wwdc2022-10020","wwdc2022-110850","wwdc2022-110851","wwdc2022-110852","wwdc2022-110853"]}},"wwdc2022-110829":{"id":"wwdc2022-110829","staticContentId":7213,"eventContentId":110829,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110829","languageCode":"eng","description":"Ask Apple engineers about UIKit, AppKit, and Mac Catalyst during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: UI Frameworks","startTime":"2022-06-07T12:00:00-07:00","endTime":"2022-06-07T14:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"92FB1DE8-96F4-43E5-8C1B-C939F4EB8AB1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10068","wwdc2022-10069","wwdc2022-10070","wwdc2022-10071","wwdc2022-10072","wwdc2022-10074","wwdc2022-10075","wwdc2022-10076","wwdc2022-10090"]}},"wwdc2022-110938":{"id":"wwdc2022-110938","staticContentId":7335,"eventContentId":110938,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110938","languageCode":"eng","description":"Meet the presenter behind \u201cMeet Swift Async Algorithms\u201d and join a text-based watch party for the session with the Swift team, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the presenter: Meet Swift Async Algorithms","startTime":"2022-06-07T14:00:00-07:00","endTime":"2022-06-07T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","primaryTopicID":99,"topicIds":[99],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"374C66E1-BA4A-409C-8FF1-A016F6C0F388","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110355"]}},"wwdc2022-110925":{"id":"wwdc2022-110925","staticContentId":7319,"eventContentId":110925,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110925","languageCode":"eng","description":"Ask Apple engineers about Xcode Cloud and testing during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Xcode Cloud and testing","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"12AD294C-39D4-476A-BB8B-42B83E938006","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110374","wwdc2022-110375"]}},"wwdc2022-110420":{"id":"wwdc2022-110420","staticContentId":6781,"eventContentId":110420,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110420","languageCode":"eng","description":"Meet the Accessibility team for a 1 hour text-based chat about your favorite sessions, share tips and tricks, and more.","title":"Accessibility icebreaker","startTime":"2022-06-07T11:00:00-07:00","endTime":"2022-06-07T12:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[82],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"4D48C43C-7A27-4245-938F-1CB00768E48B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110517":{"id":"wwdc2022-110517","staticContentId":6883,"eventContentId":110517,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:53-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110517","languageCode":"eng","description":"Meet the presenter of \u201cDiscover Managed Device Attestation\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Discover Managed Device Attestation","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T10:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":89,"topicIds":[89],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1039FD9C-13A1-412F-9C70-F31B1B4121AB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10143"]}},"wwdc2022-110838":{"id":"wwdc2022-110838","staticContentId":7222,"eventContentId":110838,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:39-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110838","languageCode":"eng","description":"Ask Apple engineers about Core Data during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Core Data","startTime":"2022-06-10T10:00:00-07:00","endTime":"2022-06-10T12:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"94D084B1-202B-448A-80BC-6F83F448DBB7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10119","wwdc2022-10120"]}},"wwdc2022-110919":{"id":"wwdc2022-110919","staticContentId":7311,"eventContentId":110919,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:51-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110919","languageCode":"eng","description":"Stream a live rewatch of \"What's new in MapKit\" with the presenters as they explore MapKit with the developer community. Join a real-time text conversation during the rewatch and participate in a short Q&A afterwards. The rewatch begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: What's new in MapKit","startTime":"2022-06-09T10:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","primaryTopicID":93,"topicIds":[83,93],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D85E82BB-D189-47A2-B7B2-F37BB746D5AC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10035"]}},"wwdc2022-110949":{"id":"wwdc2022-110949","staticContentId":7369,"eventContentId":110949,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-07T20:10:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110949","languageCode":"eng","description":"Get ready to render: We're inviting you to try out metal-cpp and render your own triangle, sphere, or even a mesh in Xcode. Visit the Graphics & Games Study Hall to collaborate on the \u201cDraw with metal-cpp\u201d coding challenge. Ask questions, connect with other developers, and share your creations.","title":"Study Hall: Draw with metal-cpp","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T18:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"09FE26E9-FDD4-46EE-9612-7214459E6378","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10160","wwdc2022-110645","wwdc2022-110646","wwdc2022-110657","wwdc2022-110666","wwdc2022-110667","wwdc2022-110670"]}},"wwdc2022-110445":{"id":"wwdc2022-110445","staticContentId":6806,"eventContentId":110445,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110445","languageCode":"eng","description":"Ask Apple engineers about App Clips during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: App Clips","startTime":"2022-06-10T10:00:00-07:00","endTime":"2022-06-10T12:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"66FC9FC6-3C96-4196-8F9D-06366AA46BD9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10097"]}},"wwdc2022-110505":{"id":"wwdc2022-110505","staticContentId":6870,"eventContentId":110505,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110505","languageCode":"eng","description":"Ask Apple engineers about debugging Swift debugging with LLDB during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Debugging Swift debugging with LLDB","startTime":"2022-06-09T13:00:00-07:00","endTime":"2022-06-09T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"AB142251-FB3A-4CD7-99B5-E834A407F3F1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110370"]}},"wwdc2022-110540":{"id":"wwdc2022-110540","staticContentId":6906,"eventContentId":110540,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:39-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110540","languageCode":"eng","description":"Ask Apple engineers about internationalization and localization during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Internationalization and localization","startTime":"2022-06-08T15:00:00-07:00","endTime":"2022-06-08T17:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[82,100,101],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"ADC46C78-A6B3-461E-B57E-B128175BC395","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10034","wwdc2022-10107","wwdc2022-10110","wwdc2022-110441"]}},"wwdc2022-110533":{"id":"wwdc2022-110533","staticContentId":6900,"eventContentId":110533,"eventId":"wwdc2022","contentUpdatedAt":"2024-05-31T12:03:02-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110533","languageCode":"eng","description":"Meet the team behind \u201cDesign App Shortcuts\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Design App Shortcuts","startTime":"2022-06-08T15:00:00-07:00","endTime":"2022-06-08T16:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["siri"],"primaryTopicID":87,"topicIds":[83,87],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"764ED5E8-1129-43E3-BF8B-7D55828D4B8E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10032","wwdc2022-10169"]}},"wwdc2022-110660":{"id":"wwdc2022-110660","staticContentId":7027,"eventContentId":110660,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110660","languageCode":"eng","description":"Meet the presenter of \u201cMeet ScreenCaptureKit\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Meet ScreenCaptureKit","startTime":"2022-06-08T11:00:00-07:00","endTime":"2022-06-08T12:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":91,"topicIds":[84,91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"62B0F1F5-3F12-455E-B6FC-403D390E3E6F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10155","wwdc2022-10156","wwdc2022-110652","wwdc2022-110659","wwdc2022-110669"]}},"wwdc2022-110923":{"id":"wwdc2022-110923","staticContentId":7317,"eventContentId":110923,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110923","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: C, C++, Objective-C compiler, analyzer, sanitizer, debugger, and linker","startTime":"2022-06-08T11:00:00-07:00","endTime":"2022-06-08T13:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"EAA48EAF-68FC-4CFF-98F6-3B90F4AA8623","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110367"]}},"wwdc2022-110888":{"id":"wwdc2022-110888","staticContentId":7277,"eventContentId":110888,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110888","languageCode":"eng","description":"Meet the team behind \u201cDive into App Intents\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Dive into App Intents","startTime":"2022-06-07T14:00:00-07:00","endTime":"2022-06-07T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["intent","intents","shortcut","shortcuts","sirikit"],"primaryTopicID":83,"topicIds":[83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D267972D-68B1-429A-B2D5-B4F88C58E2E0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10032"]}},"wwdc2022-110909":{"id":"wwdc2022-110909","staticContentId":7299,"eventContentId":110909,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-07T17:34:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110909","languageCode":"eng","description":"Meet the presenters of \u201cAdopt desktop-class editing interactions\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Adopt desktop-class editing interactions","startTime":"2022-06-09T16:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0B129EB4-86D7-4DF6-9728-E3A587FB24F1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10071"]}},"wwdc2022-110821":{"id":"wwdc2022-110821","staticContentId":7204,"eventContentId":110821,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110821","languageCode":"eng","description":"Stream a live rewatch of \"Building Device-to-Device Experiences\" with the presenter. Join a real-time text conversation during the rewatch and participate in a short Q&A afterwards. The rewatch begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!\n","title":"Meet the Presenter: Building Device-to-Device Experiences with Network Framework","startTime":"2022-06-10T14:00:00-07:00","endTime":"2022-06-10T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[83,92,84],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1B4177EE-7BC7-46A9-BBE1-3A3E4A4D7266","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110339"]}},"wwdc2022-110908":{"id":"wwdc2022-110908","staticContentId":7298,"eventContentId":110908,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110908","languageCode":"eng","description":"Meet the presenters of \u201cCreate custom catalogs at scale with ShazamKit\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Create custom catalogs at scale with ShazamKit","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T10:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[94,84],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"7203EFFE-E22C-414E-BB1F-6A9039AC9DEC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10028","wwdc2022-110897","wwdc2022-110898","wwdc2022-110899","wwdc2022-110900"]}},"wwdc2022-110506":{"id":"wwdc2022-110506","staticContentId":6871,"eventContentId":110506,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110506","languageCode":"eng","description":"Meet the presenter behind \u201cBuild your first app in Swift Playgrounds\u201d and join a text-based watch party for the session with the Swift Playgrounds team, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Build your first app in Swift Playgrounds","startTime":"2022-06-07T13:00:00-07:00","endTime":"2022-06-07T14:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","primaryTopicID":88,"topicIds":[90,88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1F659A18-DD0C-4BD9-97DE-2CF81037F67F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110348"]}},"wwdc2022-110535":{"id":"wwdc2022-110535","staticContentId":6902,"eventContentId":110535,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110535","languageCode":"eng","description":"Ask Apple engineers about Safari and web technologies during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Safari and web technologies","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T17:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":98,"topicIds":[98],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"BA2BE836-2365-4D10-9BF1-E4574BF3192D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10048","wwdc2022-10049","wwdc2022-10098","wwdc2022-10099","wwdc2022-10100"]}},"wwdc2022-110831":{"id":"wwdc2022-110831","staticContentId":7215,"eventContentId":110831,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:43-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110831","languageCode":"eng","description":"Ask Apple engineers about CloudKit during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: CloudKit","startTime":"2022-06-07T14:00:00-07:00","endTime":"2022-06-07T16:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["cloudkit","container","encryption","icloud","schema"],"primaryTopicID":101,"topicIds":[101],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"CABDEEC7-58F2-4161-8EFD-22397080DA3B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10115","wwdc2022-10116"]}},"wwdc2022-110448":{"id":"wwdc2022-110448","staticContentId":6809,"eventContentId":110448,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110448","languageCode":"eng","description":"Ask Apple engineers about developing for Apple Watch during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Apple Watch development","startTime":"2022-06-09T09:00:00-07:00","endTime":"2022-06-09T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["watchOS"],"primaryTopicID":100,"topicIds":[92,100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"03EA152F-CAE1-4242-89D0-067A998966B0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10051","wwdc2022-10133","wwdc2022-10135"]}},"wwdc2022-110425":{"id":"wwdc2022-110425","staticContentId":6786,"eventContentId":110425,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110425","languageCode":"eng","description":"Meet the presenter of \u201cCreate accessible Single App Mode experiences\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Create accessible Single App Mode experiences","startTime":"2022-06-10T13:00:00-07:00","endTime":"2022-06-10T14:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":82,"topicIds":[82],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C8A07F22-9BD6-4C71-A17A-FF4D818953D6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10152"]}},"wwdc2022-110834":{"id":"wwdc2022-110834","staticContentId":7218,"eventContentId":110834,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:59:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110834","languageCode":"eng","description":"Ask Apple engineers about CloudKit during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: CloudKit","startTime":"2022-06-09T13:00:00-07:00","endTime":"2022-06-09T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["cktool","cloudkit","console","container","encryption","icloud","schema"],"primaryTopicID":101,"topicIds":[101],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"A3511DEC-BD47-46AC-92EE-B82889A20BE5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10115","wwdc2022-10116"]}},"wwdc2022-110397":{"id":"wwdc2022-110397","staticContentId":6755,"eventContentId":110397,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110397","languageCode":"eng","description":"Come hang out with the SwiftUI team for an hour of fun! Enjoy a text-based chat about your favorite sessions, meet other members of the SwiftUI community, share tips and tricks, and more.","title":"Break the SwiftUIce","startTime":"2022-06-08T18:00:00-07:00","endTime":"2022-06-08T19:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[90,100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0D4B00AA-034B-4B25-AECF-247D0EC6C733","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10052","wwdc2022-10054","wwdc2022-10056","wwdc2022-10062","wwdc2022-10136","wwdc2022-10137"]}},"wwdc2022-110664":{"id":"wwdc2022-110664","staticContentId":7031,"eventContentId":110664,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110664","languageCode":"eng","description":"Ask Apple engineers about Games technologies during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Games technologies","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"225E64D7-BEAA-41B4-A0F6-A07796E4FDED","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10064","wwdc2022-10065","wwdc2022-10106","wwdc2022-10151","wwdc2022-10160","wwdc2022-110422","wwdc2022-110649","wwdc2022-110658","wwdc2022-110662","wwdc2022-110663","wwdc2022-110670"]}},"wwdc2022-110415":{"id":"wwdc2022-110415","staticContentId":6775,"eventContentId":110415,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110415","languageCode":"eng","description":"Meet the Health and Fitness teams and learn more about HealthKit, ResearchKit, CareKit, SensorKit, Health Records, Apple Watch, and health and fitness topics during this 2 hour text-based Q&A. We would love to answer questions, brainstorm ideas, and meet people who are building health, fitness, or research apps on our platform. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Health and fitness technologies","startTime":"2022-06-10T08:30:00-07:00","endTime":"2022-06-10T10:30:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","watchOS"],"primaryTopicID":92,"topicIds":[92],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"DA1E7188-46BC-4594-AA48-D44B9D6A494C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10005"]}},"wwdc2022-110927":{"id":"wwdc2022-110927","staticContentId":7321,"eventContentId":110927,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:57:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110927","languageCode":"eng","description":"Ask Apple engineers about Xcode during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Xcode","startTime":"2022-06-10T11:00:00-07:00","endTime":"2022-06-10T13:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[90,88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"3F9BB79D-92EC-44EF-8A7B-501E101AE334","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110364","wwdc2022-110371","wwdc2022-110427"]}},"wwdc2022-110920":{"id":"wwdc2022-110920","staticContentId":7314,"eventContentId":110920,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:57:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110920","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Simulators and devices","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"18BE33A0-64A0-4F71-95C9-4744A0D32E70","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110839":{"id":"wwdc2022-110839","staticContentId":7223,"eventContentId":110839,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110839","languageCode":"eng","description":"Meet the presenter of \u201cBring your iOS app to the Mac\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Bring your iOS app to the Mac","startTime":"2022-06-08T13:00:00-07:00","endTime":"2022-06-08T14:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"65C4DFA1-018E-4319-8CA6-DC2318C4E64C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10076"]}},"wwdc2022-110465":{"id":"wwdc2022-110465","staticContentId":6826,"eventContentId":110465,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110465","languageCode":"eng","description":"Ask Apple engineers about CarPlay during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: CarPlay","startTime":"2022-06-10T13:00:00-07:00","endTime":"2022-06-10T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"251E409C-9A25-432F-97EE-41E8D7AB43A2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10016"]}},"wwdc2022-110516":{"id":"wwdc2022-110516","staticContentId":6881,"eventContentId":110516,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:02-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110516","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 1 hour text-based Q&A. Stop in to request guidance on a device management question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Device management","startTime":"2022-06-09T08:00:00-07:00","endTime":"2022-06-09T09:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":89,"topicIds":[89],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"9CD1076E-1930-47AE-AFE9-17EA4EDE587E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10045","wwdc2022-110335"]}},"wwdc2022-110641":{"id":"wwdc2022-110641","staticContentId":7007,"eventContentId":110641,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110641","languageCode":"eng","description":"Join the Education team for a 2 hour text-based Q&A on the technologies available to education developers. Bring your questions about Sign in with Apple at Work & School, the Roster API, ClassKit, the Schoolwork and Classroom apps, Automatic Assessment Configuration, Apple School Manager, Shared iPad, Mobile Device Management, and more. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Education technologies","startTime":"2022-06-10T10:00:00-07:00","endTime":"2022-06-10T12:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":89,"topicIds":[89],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"51A037B9-E1CC-465B-B360-20D4BF1E8C05","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10053"]}},"wwdc2022-110887":{"id":"wwdc2022-110887","staticContentId":7276,"eventContentId":110887,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110887","languageCode":"eng","description":"Meet the team behind \u201cImplement App Shortcuts with App Intents\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Implement App Shortcuts with App Intents","startTime":"2022-06-07T11:00:00-07:00","endTime":"2022-06-07T12:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["intent","intents","shortcut","shortcuts","sirikit"],"primaryTopicID":83,"topicIds":[83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"365F9E72-553C-41D6-9DED-D3A5B71534B7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10032","wwdc2022-10170"]}},"wwdc2022-110670":{"id":"wwdc2022-110670","staticContentId":7037,"eventContentId":110670,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110670","languageCode":"eng","description":"Meet the Graphics & Games engineers for a 1 hour text-based chat about your favorite sessions, share tips and tricks, and more.","title":"Icebreaker: Graphics and Games","startTime":"2022-06-08T17:00:00-07:00","endTime":"2022-06-08T18:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"DC6D9680-6F91-44F8-BBB5-F70AD1EF51E6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10066","wwdc2022-10101","wwdc2022-10102","wwdc2022-10103","wwdc2022-10104","wwdc2022-10105","wwdc2022-10106","wwdc2022-10160","wwdc2022-10162","wwdc2022-110422","wwdc2022-110645","wwdc2022-110646","wwdc2022-110647","wwdc2022-110648","wwdc2022-110649","wwdc2022-110657","wwdc2022-110658","wwdc2022-110662","wwdc2022-110663","wwdc2022-110664","wwdc2022-110666","wwdc2022-110667","wwdc2022-110949"]}},"wwdc2022-110758":{"id":"wwdc2022-110758","staticContentId":7133,"eventContentId":110758,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110758","languageCode":"eng","description":"Ask Apple engineers about StoreKit and in-app purchases during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: StoreKit and in-app purchases","startTime":"2022-06-08T13:00:00-07:00","endTime":"2022-06-08T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"3E3F0395-B5CC-471A-ADCF-3286F02BB9CA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10007","wwdc2022-10038","wwdc2022-10039","wwdc2022-10040","wwdc2022-110404"]}},"wwdc2022-110418":{"id":"wwdc2022-110418","staticContentId":6779,"eventContentId":110418,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:02-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110418","languageCode":"eng","description":"Ask Apple engineers about accessibility in SwiftUI during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Accessibility in SwiftUI","startTime":"2022-06-07T16:00:00-07:00","endTime":"2022-06-07T18:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[100,82],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"00EA73B4-1505-439A-B498-5C4585516BB6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110964":{"id":"wwdc2022-110964","staticContentId":7386,"eventContentId":110964,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110964","languageCode":"eng","description":"Meet the presenter of \u201cCreate camera extensions with CoreMediaIO\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Create camera extensions with CoreMediaIO","startTime":"2022-06-09T11:00:00-07:00","endTime":"2022-06-09T12:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":95,"topicIds":[95],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"11BEEF44-08DB-4BA1-9153-92BC8F706449","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10018","wwdc2022-10022","wwdc2022-110642","wwdc2022-110643"]}},"wwdc2022-110527":{"id":"wwdc2022-110527","staticContentId":6893,"eventContentId":110527,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110527","languageCode":"eng","description":"Ask Apple engineers about Maps technologies during this 2 hour text-based Q&A. Bring your questions about MapKit, MapKit JS, Maps Server API, and Indoor Maps. We're excited to help you integrate the all-new map into your app, discuss how to visualize your data by using annotations and overlays, and answer your questions about how to build multi-platform solutions that leverage our latest set of APIs. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Maps technologies","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T11:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":93,"topicIds":[93],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5FE9781A-44A2-44C7-B952-4E72828C04CB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10006","wwdc2022-10035"]}},"wwdc2022-110836":{"id":"wwdc2022-110836","staticContentId":7220,"eventContentId":110836,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110836","languageCode":"eng","description":"Ask Apple engineers about Core Data during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Core Data","startTime":"2022-06-07T13:00:00-07:00","endTime":"2022-06-07T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"BEB77652-A063-41DF-99CC-BA9101376D8B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10119","wwdc2022-10120"]}},"wwdc2022-110452":{"id":"wwdc2022-110452","staticContentId":6813,"eventContentId":110452,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-07T20:12:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110452","languageCode":"eng","description":"Take a glance at today's WidgetKit challenge, won't you? With glanceable experiences coming to the Lock Screen in iOS 16, today's the perfect time to try building your very own Lock Screen widget. Visit the WidgetKit Study Hall to collaborate on the \u201cWidgetKit workshop\u201d coding challenge. Ask questions, connect with other developers, and share your creations.","title":"Study Hall: WidgetKit workshop","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T18:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","watchOS"],"primaryTopicID":83,"topicIds":[90,100,83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"8E7F6AAC-55B0-4FC1-ACBC-D27A2523A651","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10050"]}},"wwdc2022-110826":{"id":"wwdc2022-110826","staticContentId":7209,"eventContentId":110826,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110826","languageCode":"eng","description":"Ask Apple engineers about AVKit during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: AVKit","startTime":"2022-06-10T15:00:00-07:00","endTime":"2022-06-10T17:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D05FE958-69D9-4225-BC8A-614A4D6DBA56","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10147","wwdc2022-110547","wwdc2022-110548","wwdc2022-110817"]}},"wwdc2022-110944":{"id":"wwdc2022-110944","staticContentId":7341,"eventContentId":110944,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110944","languageCode":"eng","description":"Ask Apple engineers about passkeys, authentication, password AutoFill, and verification codes during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.\n","title":"Q&A: Passkeys and authentication","startTime":"2022-06-07T13:00:00-07:00","endTime":"2022-06-07T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[88,98,96],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6B7FE5C6-3A09-48BE-981B-B4CB17FDBEF8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10092"]}},"wwdc2022-110566":{"id":"wwdc2022-110566","staticContentId":6932,"eventContentId":110566,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:00:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110566","languageCode":"eng","description":"Meet the Health and Fitness teams and learn more about HealthKit, ResearchKit, CareKit, SensorKit, Health Records, Apple Watch, and health and fitness topics during this 2 hour text-based Q&A. We would love to answer questions, brainstorm ideas, and meet people who are building health, fitness, or research apps on our platform. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Health and fitness technologies","startTime":"2022-06-08T13:00:00-07:00","endTime":"2022-06-08T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","watchOS"],"primaryTopicID":92,"topicIds":[92],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"78A9D1EB-E73B-49D7-AB24-CFFA65F354E5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10005"]}},"wwdc2022-110484":{"id":"wwdc2022-110484","staticContentId":6846,"eventContentId":110484,"eventId":"wwdc2022","contentUpdatedAt":"2024-05-31T13:06:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110484","languageCode":"eng","description":"Meet the presenter of \u201cExplore design navigation on iOS\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Explore design navigation on iOS","startTime":"2022-06-09T15:00:00-07:00","endTime":"2022-06-09T16:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["hierarchy","navigation"],"primaryTopicID":87,"topicIds":[90,87],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"2700795C-D867-4970-AEBD-17D30AA0A050","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10001"]}},"wwdc2022-110906":{"id":"wwdc2022-110906","staticContentId":7296,"eventContentId":110906,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110906","languageCode":"eng","description":"Meet the presenters of \u201cAccelerate machine learning with Metal\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Accelerate machine learning with Metal","startTime":"2022-06-10T09:00:00-07:00","endTime":"2022-06-10T10:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":94,"topicIds":[94],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"8DDEACB7-246F-462A-A226-4054CD364362","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10063","wwdc2022-110645","wwdc2022-110646","wwdc2022-110850","wwdc2022-110851","wwdc2022-110852","wwdc2022-110853"]}},"wwdc2022-110446":{"id":"wwdc2022-110446","staticContentId":6807,"eventContentId":110446,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110446","languageCode":"eng","description":"Ask Apple engineers about developing for Apple Watch during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Apple Watch development","startTime":"2022-06-07T13:00:00-07:00","endTime":"2022-06-07T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"81BDD043-6F59-4924-9E41-B22BB0811FBC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10051","wwdc2022-10133","wwdc2022-10135"]}},"wwdc2022-110886":{"id":"wwdc2022-110886","staticContentId":7275,"eventContentId":110886,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110886","languageCode":"eng","description":"Ask Apple engineers about Shortcuts during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Shortcuts","startTime":"2022-06-08T14:00:00-07:00","endTime":"2022-06-08T16:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["intent","intents","shortcut","shortcuts","siri","sirikit"],"primaryTopicID":83,"topicIds":[83],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"DDC1D9D9-565C-4B9B-9A37-DDFBEE38D0EF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10032","wwdc2022-10170"]}},"wwdc2022-110840":{"id":"wwdc2022-110840","staticContentId":7224,"eventContentId":110840,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110840","languageCode":"eng","description":"Meet the presenters of \u201cEnhance your Sign in with Apple experience\u201d and join a text-based watch party for the session as we explore Sign In with Apple, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Enhance your Sign in with Apple experience","startTime":"2022-06-09T11:00:00-07:00","endTime":"2022-06-09T12:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[98,96],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6DCE5D1A-7D85-4293-8099-1FA168146AF8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10122"]}},"wwdc2022-110393":{"id":"wwdc2022-110393","staticContentId":6751,"eventContentId":110393,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110393","languageCode":"eng","description":"Ask Apple engineers about SwiftUI during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: SwiftUI","startTime":"2022-06-07T15:00:00-07:00","endTime":"2022-06-07T17:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"AC5F9A08-C923-49C9-A264-924450FDE7D5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10052","wwdc2022-10054","wwdc2022-10072","wwdc2022-10075","wwdc2022-10136"]}},"wwdc2022-110422":{"id":"wwdc2022-110422","staticContentId":6783,"eventContentId":110422,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110422","languageCode":"eng","description":"Meet the presenter of \u201cAdd accessibility to your Unity games\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Add accessibility to your Unity games","startTime":"2022-06-07T14:00:00-07:00","endTime":"2022-06-07T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[91,82],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B99EA502-9CF9-4CB7-9058-B8A8D6136237","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110649","wwdc2022-110658","wwdc2022-110663","wwdc2022-110664","wwdc2022-110670"]}},"wwdc2022-110661":{"id":"wwdc2022-110661","staticContentId":7028,"eventContentId":110661,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110661","languageCode":"eng","description":"Meet the presenter of \u201cBoost your performance with MetalFX Upscaling\u201d and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity \u2014 so don\u2019t be late!","title":"Meet the Presenter: Boost your performance with MetalFX Upscaling","startTime":"2022-06-08T13:00:00-07:00","endTime":"2022-06-08T14:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"9F3806D8-0F91-4B00-B446-918B343DD556","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10103","wwdc2022-110666","wwdc2022-110667"]}},"wwdc2022-110395":{"id":"wwdc2022-110395","staticContentId":6753,"eventContentId":110395,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110395","languageCode":"eng","description":"Ask Apple engineers about SwiftUI and other UI frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: SwiftUI and UI Frameworks","startTime":"2022-06-09T08:00:00-07:00","endTime":"2022-06-09T10:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[90,100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B8C39466-0E53-4E23-9BD3-2222CFC5151C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10068","wwdc2022-10072","wwdc2022-10075"]}},"wwdc2022-110394":{"id":"wwdc2022-110394","staticContentId":6752,"eventContentId":110394,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110394","languageCode":"eng","description":"Ask Apple engineers about SwiftUI during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: SwiftUI","startTime":"2022-06-08T13:00:00-07:00","endTime":"2022-06-08T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"4C5471A8-4AFD-4348-B972-85938BDD1503","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10056","wwdc2022-10059","wwdc2022-10062","wwdc2022-10072","wwdc2022-10075"]}},"wwdc2022-110913":{"id":"wwdc2022-110913","staticContentId":7303,"eventContentId":110913,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110913","languageCode":"eng","description":"Ask Apple engineers about Photos and PhotoKit during this 1 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Photos and PhotoKit","startTime":"2022-06-09T14:00:00-07:00","endTime":"2022-06-09T15:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":95,"topicIds":[95],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"FC9D43A3-A539-4EC9-8A20-D1B0D45597D8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10023","wwdc2022-10132","wwdc2022-110911","wwdc2022-110912"]}},"wwdc2022-110954":{"id":"wwdc2022-110954","staticContentId":7375,"eventContentId":110954,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T10:58:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110954","languageCode":"eng","description":"Ask Apple engineers about Core Image during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Core Image","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T10:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":95,"topicIds":[84,95],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"637F4730-BD54-4E0A-A583-8616E2D11ED0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110843"]}},"wwdc2022-110481":{"id":"wwdc2022-110481","staticContentId":6842,"eventContentId":110481,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T11:01:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110481","languageCode":"eng","description":"Ask Apple engineers about the latest tools, technologies, and frameworks during this 1 hour text-based Q&A. Stop in to request guidance on a declarative device management question, ask for clarifications, or learn from others in a group setting.","title":"Q&A: Declarative device management","startTime":"2022-06-08T12:00:00-07:00","endTime":"2022-06-08T13:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":89,"topicIds":[89],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"201DF9F2-9435-4A83-A06A-1774AB89D967","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10046"]}},"wwdc2022-110812":{"id":"wwdc2022-110812","staticContentId":7194,"eventContentId":110812,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-07T20:12:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110812","languageCode":"eng","description":"What\u2019s better than people loving your app on iPhone? People loving your app on iPad and Mac, too! Today's challenge invites you to explore the ways you can expand your app\u2019s presence in the Apple ecosystem. Explore prototyping your iPhone app for iPad, adding new desktop class features to your iPad app, or bringing your app to macOS. Visit the UI Frameworks Study Hall to collaborate on the \u201cGo big or go home\u201d coding challenge. Ask questions, connect with other developers, and share your creations.","title":"Study Hall: Go big or go home","startTime":"2022-06-08T09:00:00-07:00","endTime":"2022-06-08T18:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0E9173E3-6B9B-42DC-9118-16A00ACD37C0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10009","wwdc2022-10069","wwdc2022-10070","wwdc2022-10076"]}},"wwdc2022-110811":{"id":"wwdc2022-110811","staticContentId":7193,"eventContentId":110811,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-07T20:13:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110811","languageCode":"eng","description":"Move over, Taco Tuesday. This week, it\u2019s Toolbar Transformation Tuesday! You can now adopt powerful productivity improvements in your app like customizable bar button items, inline search bars, and document menu support. So today, we're challenging you to transform your toolbars. Visit the UI Frameworks Study Hall to collaborate on the \u201cToolbar transformation Tuesday\u201d coding challenge. Ask questions, connect with other developers, and share your creations.","title":"Study Hall: Toolbar transformation Tuesday","startTime":"2022-06-07T09:00:00-07:00","endTime":"2022-06-07T18:00:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Get-Together","typeSemanticID":"group-gathering","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0A51A3C3-F814-4B41-9470-FC77EC97F435","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10069","wwdc2022-10071"]}}},"videos":{"wwdc2026-102":{"id":"wwdc2026-102","staticContentId":10990,"eventContentId":102,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-09T07:55:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/102","languageCode":"eng","description":"Discover the newest advancements on Apple platforms.","title":"Platforms State of the Union","startTime":"2026-06-08T13:00:00-07:00","endTime":"2026-06-08T14:00:00-07:00","originalPublishingDate":"2026-06-08T13:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["sotu","sotu 2026"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"00E61AFD-A68C-4443-B6DB-54AE290F9657","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/102\/2\/abb4bd38-dfae-46cf-985f-160769b92d41\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/102\/2\/abb4bd38-dfae-46cf-985f-160769b92d41\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/102\/2\/abb4bd38-dfae-46cf-985f-160769b92d41\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/102\/2\/abb4bd38-dfae-46cf-985f-160769b92d41\/downloads\/wwdc2026-102_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/102\/2\/abb4bd38-dfae-46cf-985f-160769b92d41\/downloads\/wwdc2026-102_sd.mp4","duration":3698,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["de","en","es-419","fr","ja","ko","pt-BR","tr","vi","zh","zh-HK","zh-TW"]}},"wwdc2026-112":{"id":"wwdc2026-112","staticContentId":10993,"eventContentId":112,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-09T07:56:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/112","languageCode":"eng","description":"Discover the newest advancements on Apple platforms.","title":"Platforms State of the Union (ASL)","startTime":"2026-06-08T13:00:00-07:00","endTime":"2026-06-08T14:00:00-07:00","originalPublishingDate":"2026-06-08T13:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["asl","sotu","sotu 2026"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"78993670-0E81-44FC-9CA0-AE8590486C54","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/112\/1\/0e1d49e8-277b-49f9-aaff-d937c5956d86\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/112\/1\/0e1d49e8-277b-49f9-aaff-d937c5956d86\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/112\/1\/0e1d49e8-277b-49f9-aaff-d937c5956d86\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/112\/1\/0e1d49e8-277b-49f9-aaff-d937c5956d86\/downloads\/wwdc2026-112_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/112\/1\/0e1d49e8-277b-49f9-aaff-d937c5956d86\/downloads\/wwdc2026-112_sd.mp4","duration":3698,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["de","en","es-419","fr","ja","ko","pt-BR","tr","vi","zh","zh-HK","zh-TW"]}},"wwdc2026-397":{"id":"wwdc2026-397","staticContentId":11173,"eventContentId":397,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-09T08:13:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/397","languageCode":"eng","description":"The biggest announcements of WWDC26, all in one place. Catch up on everything revealed, go deeper on the themes shaping this year\u2019s conference, and hear from a special guest joining us to break it all down.","title":"Dub Dub Daily: Day 2","originalPublishingDate":"2026-06-09T07:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","primaryTopicID":90,"topicIds":[90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A3351BF7-C5E9-4CB0-BE88-CFCB28C57C10","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/397\/2\/84ab23e3-fe1e-4fa1-9896-67424f14dda6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/397\/2\/84ab23e3-fe1e-4fa1-9896-67424f14dda6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/397\/2\/84ab23e3-fe1e-4fa1-9896-67424f14dda6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/397\/2\/84ab23e3-fe1e-4fa1-9896-67424f14dda6\/downloads\/wwdc2026-397_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/397\/2\/84ab23e3-fe1e-4fa1-9896-67424f14dda6\/downloads\/wwdc2026-397_sd.mp4","duration":352,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"]}},"wwdc2026-394":{"id":"wwdc2026-394","staticContentId":11170,"eventContentId":394,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T11:25:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/394","languageCode":"eng","description":"Get the inside track on everything Apple has to offer \u2014 and make the most of every session, lab, and moment.","title":"Get ready for WWDC26","originalPublishingDate":"2026-06-08T13:30:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":90,"topicIds":[90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"377A9C1A-7885-4737-8E6B-D470DA99F506","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/394\/3\/957ab100-9008-44f0-804b-37ad25ee524c\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/394\/3\/957ab100-9008-44f0-804b-37ad25ee524c\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/394\/3\/957ab100-9008-44f0-804b-37ad25ee524c\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/394\/3\/957ab100-9008-44f0-804b-37ad25ee524c\/downloads\/wwdc2026-394_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/394\/3\/957ab100-9008-44f0-804b-37ad25ee524c\/downloads\/wwdc2026-394_sd.mp4","duration":84,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","tr","vi","zh","zh-TW"]},"related":{"resources":[4185]}},"wwdc2026-343":{"id":"wwdc2026-343","staticContentId":10891,"eventContentId":343,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/343","languageCode":"eng","description":"Polish how your app works with Siri using advanced App Intents APIs. Learn techniques that let people accomplish more with just their voice, help Apple Intelligence find your content, and provide context for on-screen awareness so Siri understands what\u2019s happening in your app. ","title":"Explore advanced App Intents features for Siri and Apple Intelligence","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","visionOS"],"keywords":["ai","app intents","machine learning","siri","xcode"],"primaryTopicID":94,"topicIds":[83,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0C71E74E-4A72-4B59-A24D-778CA7A70B82","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/343\/4\/00190d1d-55b6-4eb2-9ee3-e09f3d8d1c7d\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/343\/4\/00190d1d-55b6-4eb2-9ee3-e09f3d8d1c7d\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/343\/4\/00190d1d-55b6-4eb2-9ee3-e09f3d8d1c7d\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/343\/4\/00190d1d-55b6-4eb2-9ee3-e09f3d8d1c7d\/downloads\/wwdc2026-343_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/343\/4\/00190d1d-55b6-4eb2-9ee3-e09f3d8d1c7d\/downloads\/wwdc2026-343_sd.mp4","duration":1448,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Advanced App Intents techniques to make your app's Siri and Apple Intelligence experience feel polished and personal. Agenda: shape the Siri conversation, improve content discovery, and leverage existing integrations, demoed with the CosmoTunes, UnicornChat, and CometCal sample apps.","end":119},{"start":119,"title":"Customize how Siri responds","summary":"Shape Siri's responses to match your app's voice: return an empty result to let Siri respond, or adopt ProvidesDialog and return an IntentDialog with full and supporting strings. Ask clarifying questions mid-intent with a dialog request (such as requesting an optional timer label).","end":260},{"start":260,"title":"Visual responses","summary":"Give Siri your app's look: an entity's DisplayRepresentation (title, subtitle, image) is used across responses, disambiguation, Spotlight, and Shortcuts, while a custom SwiftUI snippet view (ShowsSnippetView) styles specific actions. Customize only where it helps, and account for voice-only devices.","end":382},{"start":382,"title":"Interaction donations","summary":"System interactions are known automatically, but UI interactions aren't, so donate them via IntentDonationManager (using schema-conforming intents) so Apple Intelligence learns app preferences and stays aware of ongoing activities (such as Maps navigation or Clock stopwatches). Donate accurately; excessive donations are ignored.","end":586},{"start":586,"title":"Confirmations and entity ownership","summary":"Siri auto-confirms intents with meaningful side effects, especially on shared or public content. Conform shareable entities to the new OwnershipProvidingEntity protocol and keep the ownership state current so Siri confirms appropriately, using your display representations as the confirmation visuals.","end":719},{"start":719,"title":"Semantic index with IndexedEntity","summary":"Make local content discoverable: adopt IndexedEntity and index entities in Spotlight via indexAppEntities for meaning-based search. Keep the index fresh (add, update, delete), and support re-indexing with the new IndexedEntityQuery.","end":812},{"start":812,"title":"Structured search with IntentValueQuery","summary":"For content too large, server-side, or fast-changing to index, use IntentValueQuery: the system passes a structured search input and you can return multiple entity types. CosmoTunes maps an AudioSearch (query, unspecified, or URL criteria) to a UnionValue of songs and playlists.","end":927},{"start":927,"title":"In-app search","summary":"Adopt the system searchInApp schema (formerly system.search) so \"Show me running playlists in CosmoTunes\" re-runs Siri's search inside your own crafted search UI, regardless of which domains you adopt or whether you index entities.","end":982},{"start":982,"title":"Onscreen awareness","summary":"Connect what's visible to entities so Siri resolves \"play the third one.\" Start with NSUserActivity (single primary item) and View Entity annotations (appEntityIdentifier, one of many); scale up with collection annotations (forSelectionType:) and custom canvas annotations, all supported in UIKit and AppKit. Enable display-representation queries so Siri resolves on-screen entities fast.","end":1251},{"start":1251,"title":"Leverage existing integrations","summary":"Attach entities to system integrations you already use: appEntityIdentifiers on UNMutableNotificationContent (reply to announced notifications), on Now Playing via MediaSessionRepresentable (for example \"play the live version\"), and appEntityIdentifier on AlarmKit's AlarmConfiguration (\"snooze it\"). Persistent entities only, no transient entities.","end":1410},{"start":1410,"title":"Next steps","summary":"Start by customizing entity display representations, then index entities and keep the index current, add IntentValueQuery and in-app search, annotate views and existing integrations, and finally donate UI interactions. See the sample projects and \"Code-along: Make your app available to Siri.\"","end":1448}]},"related":{"activities":["wwdc2026-240","wwdc2026-344","wwdc2026-295"],"resources":[4226,4225,4224,4223,4219,4218,4217]}},"wwdc2026-205":{"id":"wwdc2026-205","staticContentId":10715,"eventContentId":205,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/205","languageCode":"eng","description":"Reimagine how you market your apps and games on the App Store by using your images and videos in new places. Discover how you can tell a richer story across the App Store with new visual placements on your product page, search results, and Apple Ads campaigns. Explore how to streamline all your visual assets in one place with the new Asset Library, as well as learn about a new tool to help you view your product page before it goes live.","title":"Enhance your presence on the App Store","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":86,"topicIds":[83,88,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"262D0440-FE78-4921-B768-E5C608C472C7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/205\/4\/47ee16f9-fba0-48a3-9d60-065befef7a95\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/205\/4\/47ee16f9-fba0-48a3-9d60-065befef7a95\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/205\/4\/47ee16f9-fba0-48a3-9d60-065befef7a95\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/205\/4\/47ee16f9-fba0-48a3-9d60-065befef7a95\/downloads\/wwdc2026-205_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/205\/4\/47ee16f9-fba0-48a3-9d60-065befef7a95\/downloads\/wwdc2026-205_sd.mp4","duration":494,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":6,"title":"Introduction","summary":"How images and videos shape the first moments someone spends with your app on the App Store, and what's changing \u2014 new placements on the product page header and search results, and how to set them up.","end":52},{"start":52,"title":"New asset placements","summary":"New product page header and search result placements, which let you use images and videos beyond your screenshots \u2014 the first visual element people see \u2014 to express your brand and shape how your app is perceived.","end":264},{"start":264,"title":"Meet Asset Library","summary":"Asset Library, a centralized place for all your app's assets \u2014 screenshots, preview videos, in-app event media, and new creative assets \u2014 across platforms, sizes, and placements. ","end":455},{"start":455,"title":"Next steps","summary":"Getting started \u2014 prepare the images and videos that showcase your app, upload them to Asset Library for use across your product page and search results, and preview before submitting for review.","end":494}]},"related":{"resources":[4298,124,123]}},"wwdc2026-209":{"id":"wwdc2026-209","staticContentId":10719,"eventContentId":209,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T20:03:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/209","languageCode":"eng","description":"Explore the newest design updates and developer tools for Apple Wallet passes. Refresh your passes with beautiful new styles for rich, vibrant designs. Discover new barcode formats and a flexible pass actions API. Meet Pass Designer and Pass Builder, powerful tools that simplify designing, personalizing, and distributing your passes at scale.","title":"What\u2019s new in Wallet","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"keywords":["certificate","certificates","distribution","package","pass","passes","signature","signing","wallet"],"primaryTopicID":83,"topicIds":[101,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5FACC310-770C-4BD9-8696-9E837324C325","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/209\/5\/25eb40d5-b64d-4677-bc99-f5c3a30d386a\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/209\/5\/25eb40d5-b64d-4677-bc99-f5c3a30d386a\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/209\/5\/25eb40d5-b64d-4677-bc99-f5c3a30d386a\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/209\/5\/25eb40d5-b64d-4677-bc99-f5c3a30d386a\/downloads\/wwdc2026-209_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/209\/5\/25eb40d5-b64d-4677-bc99-f5c3a30d386a\/downloads\/wwdc2026-209_sd.mp4","duration":949,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":1,"title":"Introduction","summary":"Since their introduction, Wallet passes have become an essential part of how people move through their day. From picking up a morning coffee \u2014 to tapping through transit gates \u2014 to checking in and boarding a flight \u2014 all without ever handing over a physical card. Passes help people move through the world faster, more privately, and more securely. ","end":40},{"start":40,"title":"Poster Generic","summary":"In iOS 27, Wallet is introducing a brand new pass style called Poster Generic. The pass face consists of a background image, a primary logo, header fields, primary fields, a footer field, and a barcode (if provided). On iOS 26 and earlier, include the Generic pass style in your `pass.json` for backwards compatibility.","end":156},{"start":156,"title":"Barcodes","summary":"In iOS 27, Wallet passes support four new barcode types: EAN-13, Code 39, Codabar, and Interleaved 2 of 5 (ITF). These are specified using the existing `Barcode` object and `barcodes` array in your `pass.json`. On iOS 26 and earlier, provide support barcode type, such as a QR code.","end":267},{"start":267,"title":"Featured actions","summary":"In iOS 27, Wallet passes can provide actions for all pass styles, called featured actions. In the top-level of your `pass.json`, define the `featuredActions` key, which takes an array of `Action` objects. Each action is defined as a unique ID, the action type, and a value, such as a URL. Each pass can contain up to 2 featured actions, in priority order.","end":346},{"start":346,"title":"Developer tools","summary":"We're introducing a brand new suite of developer tools for Mac and server platforms, making it easier than ever to design, personalize, and build great passes with Pass Designer and Pass Builder.","end":347},{"start":347,"title":"Pass Designer","summary":"Pass Designer is a WYSIWYG editor, giving you a true-to-iOS rendering of your pass as you build it.","end":640},{"start":640,"title":"Pass Builder","summary":"Pass Builder takes the pass templates created in Pass Designer, and allows you to personalize, sign and validate your passes. Pass Builder can also be used from other programming languages.","end":830},{"start":830,"title":"Personalizing a pass template","summary":"The swift-java project can generate native Java bindings for the Swift API, allowing you to invoke Pass Builder from the Java runtime. We're also making protobuf definitions of the Pass Package format available, allowing you to generate type-safe models in your preferred programming language. You can then generate a customization message, and invoke the `buildpass` command line executable to personalize and sign your pass. ","end":901},{"start":901,"title":"Next steps","summary":"Check out Pass Designer. Use Pass Designer to experiment with the new Poster Generic style \u2014 and check if it's the right fit for your pass. If you plan on adopting any of the new barcode types, make a plan for providing graceful fallbacks. And take a moment to identify the most meaningful and relevant actions for your customers, then bring them to life with featured actions.","end":949}]},"related":{"activities":["wwdc2025-307","wwdc2025-202","wwdc2024-10108"],"resources":[4293,4290,4262,4260,4162]}},"wwdc2026-232":{"id":"wwdc2026-232","staticContentId":10755,"eventContentId":232,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/232","languageCode":"eng","description":"Run AI agents locally with privacy, low latency, and offline access. Dive into how MLX advancements and Mac hardware make powerful agentic workflows possible entirely on-device. You\u2019ll explore code agents such as OpenCode, see how they integrate into Xcode, learn techniques for multi-Mac scaling, and discover how to integrate tools seamlessly \u2014 without ever leaving your machine.","title":"Run local agentic AI on the Mac using MLX","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"91E7ABC9-3DE5-4760-B47F-3D7F22CBB2BD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/232\/4\/f309be4a-8e5b-4c0f-843a-fcbd84c5e2d1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/232\/4\/f309be4a-8e5b-4c0f-843a-fcbd84c5e2d1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/232\/4\/f309be4a-8e5b-4c0f-843a-fcbd84c5e2d1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/232\/4\/f309be4a-8e5b-4c0f-843a-fcbd84c5e2d1\/downloads\/wwdc2026-232_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/232\/4\/f309be4a-8e5b-4c0f-843a-fcbd84c5e2d1\/downloads\/wwdc2026-232_sd.mp4","duration":817,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Overview of building and running agentic AI workflows entirely on Mac using MLX \u2014 no cloud, no API keys, just your hardware.","end":32},{"start":32,"title":"The chat and agentic loop","summary":"How traditional chat differs from the agentic loop: the model decides what to do, calls tools to run commands, read files, and hit APIs, observes the results, and iterates \u2014 all running locally for privacy and offline availability.","end":162},{"start":162,"title":"Local agentic AI stack","summary":"A walkthrough of the four-layer stack powering local agentic AI on the Mac: MLX (array framework for Apple Silicon), MLX-LM (model loading, quantization, and fine-tuning), MLX-LM Server (OpenAI-compatible HTTP server), and the agent layer \u2014 including popular tools like Ollama, LM Studio, and vLLM.","end":276},{"start":276,"title":"Setting up your own agent","summary":"Three steps to go from zero to a fully local agentic workflow: install MLX-LM with pip, start the server with a tool-calling model, and configure your agent to point at the local endpoint.","end":339},{"start":339,"title":"Making agents fast","summary":"How MLX tackles the first challenge of agentic workloads \u2014 efficiently processing large contexts with hundreds of thousands of tokens \u2014 including how M5 Neural Accelerators accelerate prompt processing speed.","end":413},{"start":413,"title":"Concurrency and distributed inference","summary":"How MLX handles continuous batching for concurrent multi-agent requests, and distributed inference to spread large models across multiple Macs over Thunderbolt.","end":560},{"start":560,"title":"More examples","summary":"Two-part live demo building SwiftUI apps entirely on-device. First, using OpenCode with MLX to generate a complete SwiftUI project from a description; then, using Xcode's agentic coding capabilities to build and fix a SwiftUI app \u2014 all running locally.","end":781},{"start":781,"title":"Next steps","summary":"Summary of the full local AI stack and practical steps to get started: install MLX-LM, launch the server, and connect your agent. All shown tools are open-source and available now.","end":817}]},"related":{"activities":["wwdc2026-233","wwdc2026-328","wwdc2025-315","wwdc2025-298"],"resources":[4194,4070,4069,4068,4067,4066,4065,4060]}},"wwdc2026-219":{"id":"wwdc2026-219","staticContentId":10730,"eventContentId":219,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/219","languageCode":"eng","description":"Learn how to create robust reading experiences for VoiceOver, Speak Screen, and more. Find out how to provide intuitive text selection, clear navigation between lines and paragraphs, and continuous reading across individual elements and multiple pages.","title":"Enhance the accessibility of your reading app","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":82,"topicIds":[100,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"258CDC9E-0E65-4B56-87B8-BB64083B3C29","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/219\/4\/da70a3a7-e193-4513-904f-991788c1fa81\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/219\/4\/da70a3a7-e193-4513-904f-991788c1fa81\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/219\/4\/da70a3a7-e193-4513-904f-991788c1fa81\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/219\/4\/da70a3a7-e193-4513-904f-991788c1fa81\/downloads\/wwdc2026-219_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/219\/4\/da70a3a7-e193-4513-904f-991788c1fa81\/downloads\/wwdc2026-219_sd.mp4","duration":1200,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":1,"title":"Introduction","summary":"What makes reading apps an accessibility challenge distinct from UI navigation, and what the session covers \u2014 the characteristics of a great reading experience, extending UIKit and SwiftUI text views, and making custom text accessible.","end":86},{"start":86,"title":"Characteristics","summary":"Reading apps present unique accessibility challenges distinct from standard UI navigation, requiring fluid movement through text for technologies like VoiceOver and Speak Screen. This session covers three goals \u2014 granular navigation, continuous reading, and text selection \u2014 using UIKit, SwiftUI, and AppKit APIs.","end":225},{"start":225,"title":"Standard views","summary":"UITextView, SwiftUI's TextEditor and selectable Text, and NSTextView on macOS all adopt UITextInput automatically, providing line, word, and character navigation and accessible text selection. The accessibilityNextTextNavigationElement and accessibilityPreviousTextNavigationElement APIs (and the new accessibilityLinkedGroup for SwiftUI) connect separate text elements so VoiceOver can move between them seamlessly, while the causesPageTurn trait provides page turning automatically during read-all gestures.","end":845},{"start":845,"title":"Custom text","summary":"When using custom or custom-rendered text \u2014 such as scanned images \u2014 adopting the full UITextInput protocol gives VoiceOver and Speak Screen the same granular navigation and selection capabilities as native text views. This requires implementing text geometry methods like selectionRects(for:), a tokenizer, and text range methods, and can be paired with UITextInteraction for visible selection handles.","end":1200}]},"related":{"activities":["wwdc2019-248"],"resources":[4241,4240,4239,4151,4150,58]}},"wwdc2026-262":{"id":"wwdc2026-262","staticContentId":10785,"eventContentId":262,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/262","languageCode":"eng","description":"Join us for an update on Swift. Discover the latest language advancements, including updates for everyday ergonomics, improved concurrency, and safer high-performance code. Explore workflow and language interoperability improvements and updates in embedded Swift.","title":"What\u2019s new in Swift","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"908220CB-F813-4600-8DC1-03BDBF026DCE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/262\/5\/d430e425-34fc-4ed5-b590-507ac593453a\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/262\/5\/d430e425-34fc-4ed5-b590-507ac593453a\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/262\/5\/d430e425-34fc-4ed5-b590-507ac593453a\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/262\/5\/d430e425-34fc-4ed5-b590-507ac593453a\/downloads\/wwdc2026-262_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/262\/5\/d430e425-34fc-4ed5-b590-507ac593453a\/downloads\/wwdc2026-262_sd.mp4","duration":1965,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","vi","zh","zh-TW"],"chapters":[{"start":7,"title":"Introduction","summary":"A preview of the session's four topics: language improvements, library updates, cross-platform support, and performance tuning in Swift 6.3 and 6.4.","end":44},{"start":44,"title":"Everyday Language Improvements","summary":"Quality-of-life changes land in Swift 6.4, including optional parentheses removal, concurrency task warnings, weak let, ~Sendable, and a new memberwise initializer.","end":115},{"start":115,"title":"anyAppleOS Availability","summary":"Swift now lets you condense multi-platform availability attributes into a single anyAppleOS condition, reducing boilerplate across iOS, macOS, watchOS, and more.","end":182},{"start":182,"title":"@diagnose Attribute","summary":"The new @diagnose attribute gives fine-grained control over warnings within a specific declaration, letting you suppress, enable, or promote them to errors.","end":232},{"start":232,"title":"Module Selectors (::)","summary":"Swift 6.3 introduces double-colon module selector syntax to unambiguously reference a type or member from a specific module when name conflicts arise.","end":359},{"start":359,"title":"Library Updates","summary":"Updates across four key libraries: the standard library, Swift Testing, Subprocess, and Foundation.","end":376},{"start":376,"title":"Standard Library","summary":"New additions include a task cancellation shield, mapKeyedValues for dictionaries, and a cross-platform FilePath type.","end":451},{"start":451,"title":"Swift Testing Updates","summary":"Swift Testing gains configurable issue severity, dynamic test cancellation, flaky test repetition, and improved two-way interoperability with XCTest.","end":569},{"start":569,"title":"Subprocess 1.0","summary":"Subprocess reaches 1.0 with a refined API, improved error handling, convenient line-by-line output streaming, and expanded cross-platform support.","end":614},{"start":614,"title":"Foundation","summary":"Foundation gains a new ProgressManager type and continues its Swift migration, with performance improvements to Data, NSURL, and CFURL.","end":719},{"start":719,"title":"Beyond Apple Platforms","summary":"Swift 6.4 extends language interoperability and broadens its reach to new environments including web, Android, and embedded devices.","end":755},{"start":755,"title":"Swift\u2013C Interoperability (@C attribute)","summary":"The new @C attribute lets you expose Swift functions directly to C, enabling safe, incremental migration of C codebases to Swift.","end":909},{"start":909,"title":"Swift-Java","summary":"The Swift-Java package now supports async and throwing Swift functions from Java, constrained extensions, and conforming Java classes to Swift protocols.","end":963},{"start":963,"title":"Editor support","summary":"The Swift VSCode extension adds Swiftly integration for toolchain management and is now available on the OpenVSX marketplace for editors like Cursor and VSCodium.","end":1004},{"start":1004,"title":"WebAssembly (Wasm) & JavascriptKit","summary":"Swift can now compile to WebAssembly, with JavascriptKit improvements delivering up to 40x faster safe bridging between Swift and JavaScript.","end":1088},{"start":1088,"title":"Embedded Swift","summary":"Embedded Swift expands its language subset with existential types, untyped throws, and improved DWARF debug info for coredump debugging on constrained hardware.","end":1199},{"start":1199,"title":"Performance Tuning","summary":"Two areas of advanced performance work: explicit optimizer control and extensions to the ownership system to prevent unnecessary copying.","end":1289},{"start":1289,"title":"Optimizer Control: @inline(always) & @specialized","summary":"New @inline(always) and @specialized attributes give you direct control over the compiler's inlining and generic specialization decisions.","end":1469},{"start":1469,"title":"Ownership System & Noncopyable Types","summary":"Equatable, Comparable, Hashable, and associated types now work with noncopyable and non-escapable types, broadening the ownership system's reach.","end":1578},{"start":1578,"title":"Iterable Protocol & Borrow\/Mutate Accessors","summary":"A new Iterable protocol enables efficient borrow-based for loops over noncopyable elements, while new borrow and mutate accessors eliminate costly copies in computed properties.","end":1737},{"start":1737,"title":"New Standard Library Types: UniqueBox, UniqueArray, Ref","summary":"The standard library gains UniqueBox, UniqueArray, Continuation, and the new Ref\/MutableRef types for safe, high-performance ownership patterns.","end":1871},{"start":1871,"title":"The Future of Swift","summary":"Highlights open-source progress including Swift Build, new workgroups for build, networking, Windows, and Android, and an invitation to participate at forums.swift.org.","end":1965}]},"related":{"activities":["wwdc2026-267","wwdc2026-265"],"resources":[3763,2507,1743]}},"wwdc2026-233":{"id":"wwdc2026-233","staticContentId":10756,"eventContentId":233,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-14T08:39:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/233","languageCode":"eng","description":"Scale your machine learning workloads across multiple Macs using MLX. Learn how to tackle interconnect efficiency, large model inference, request batching, and distributed training challenges. Discover how a few Macs on your desk can replace expensive cloud infrastructure for demanding AI workloads.","title":"Explore distributed inference and training with MLX","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"21DCFF8A-63AE-47B4-B632-47BA4FC26587","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/233\/4\/379c319a-5718-4fd2-aac6-2f97180c5892\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/233\/4\/379c319a-5718-4fd2-aac6-2f97180c5892\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/233\/4\/379c319a-5718-4fd2-aac6-2f97180c5892\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/233\/4\/379c319a-5718-4fd2-aac6-2f97180c5892\/downloads\/wwdc2026-233_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/233\/4\/379c319a-5718-4fd2-aac6-2f97180c5892\/downloads\/wwdc2026-233_sd.mp4","duration":1326,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Overview of why distributed AI becomes necessary as models grow larger, and a preview of what the session covers: CLI tools, Python API, and Swift for embedding distributed workflows in your apps.","end":129},{"start":129,"title":"Distributed communication","summary":"A walkthrough of the full hardware and software stack enabling distributed workloads on Apple silicon: RDMA over Thunderbolt 5 for low-latency data movement, JACCL (open-source collective communication library), and MLX as the ML framework that ties them together.","end":272},{"start":272,"title":"Setting up your cluster","summary":"How to physically connect four M3 Ultras into a cluster \u2014 understanding latency vs. bandwidth trade-offs, choosing between mesh and ring topologies, enabling RDMA in System Settings, and using mlx.distributed_config and mlx.launch to configure and orchestrate the cluster.","end":633},{"start":633,"title":"Distributed inference and fine-tuning","summary":"How to run distributed LLM inference with MLX LM using a single CLI command \u2014 wrapping mlx_lm.chat with mlx.launch to shard a 27B-parameter Qwen model across four M3 Ultras, achieving nearly 3x the token generation rate of a single machine.","end":815},{"start":815,"title":"Model parallelism strategies","summary":"How MLX LM splits large models across machines using tensor parallelism (splitting by width for faster inference) and pipeline parallelism (splitting by depth for simpler communication) \u2014 including a demo running the 1-trillion-parameter Kimi 2.6 model across four Macs.","end":953},{"start":953,"title":"Distributed fine-tuning","summary":"How data-parallel training accelerates fine-tuning by replicating the model across machines, processing different data batches in parallel, and averaging gradients \u2014 demonstrated fine-tuning Qwen 3.5 (9B) at over 3x throughput on the cluster versus a single M3 Ultra.","end":1114},{"start":1114,"title":"CLI, Python, Swift, and C++ APIs","summary":"How to use MLX's fine-grained Python, Swift, and C++ APIs for distributed inference \u2014 initializing a distributed group, sharding models with tensor parallelism, using low-level all_reduce primitives, and leveraging JACCL standalone for non-ML distributed workloads.","end":1245},{"start":1245,"title":"Next steps","summary":"Summary of the full distributed stack \u2014 from RDMA over Thunderbolt to MLX and MLX LM \u2014 and next steps including the companion session on local agentic AI, documentation on custom parallelism strategies, and the built-in MLX LM distributed server.","end":1326}]},"related":{"activities":["wwdc2026-328","wwdc2026-232","wwdc2025-315","wwdc2025-298"],"resources":[4194,4070,4069,4068,4067,4066,4065,4060]}},"wwdc2026-258":{"id":"wwdc2026-258","staticContentId":10781,"eventContentId":258,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/258","languageCode":"eng","description":"Discover the latest productivity enhancements in Xcode 27. Accelerate your development workflow through customization, coding agents, and Device Hub. Explore updates in localization, performance, and testing tools to refine your apps further.","title":"What\u2019s new in Xcode 27","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2EEEA04F-2370-409B-8864-1E3EE4D1DD88","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/258\/4\/66bc9c90-649b-4a16-a2bb-1e6f16b1ec73\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/258\/4\/66bc9c90-649b-4a16-a2bb-1e6f16b1ec73\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/258\/4\/66bc9c90-649b-4a16-a2bb-1e6f16b1ec73\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/258\/4\/66bc9c90-649b-4a16-a2bb-1e6f16b1ec73\/downloads\/wwdc2026-258_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/258\/4\/66bc9c90-649b-4a16-a2bb-1e6f16b1ec73\/downloads\/wwdc2026-258_sd.mp4","duration":1680,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","vi","zh","zh-TW"],"chapters":[{"start":7,"title":"Introduction","summary":"The session previews four topics: workspace customization, new project workflows, coding agents, Device Hub, and post-launch tools.","end":61},{"start":61,"title":"Workspace & Toolbar","summary":"The Xcode 27 toolbar has been redesigned with new controls, a coding agent entry point, and is now fully customizable with reorderable items.","end":133},{"start":133,"title":"Themes","summary":"A new Appearance panel lets you dial in colors and fonts with sliders, choose from preset themes, and assign per-project themes for quick visual identification.","end":304},{"start":304,"title":"Inline Issues","summary":"Predictive issues now use a subtle appearance while typing to reduce distractions, upgrading to full-intensity warnings and errors only after a build.","end":368},{"start":368,"title":"New Project Workflows","summary":"Xcode 27 lets you instantly create untitled projects or open standalone Swift files with previews and playground results, making it easy to prototype on the fly.","end":520},{"start":520,"title":"Coding Agents in the Editor","summary":"Agent conversations now live in the editor pane with full tab and split support, plus a new \/plan command to scope work before making any code changes.","end":577},{"start":577,"title":"Device Hub","summary":"Device Hub provides a unified window for running, inspecting, and evaluating your app across simulators and physical devices, including accessibility settings and iPhone Mirroring resize testing.","end":793},{"start":793,"title":"Localization","summary":"Coding agents in Xcode 27 can set up localization, create String Catalogs, and generate translations for multiple languages.","end":1017},{"start":1017,"title":"Organizer","summary":"The redesigned Organizer surfaces high-impact issues first, adds storage and animation hitch metrics, introduces Metric Goals, and can generate agent-powered fix recommendations.","end":1267},{"start":1267,"title":"Instruments & Top Functions","summary":"A new Top Functions view in Instruments quickly identifies the most expensive code paths, cutting investigation time when tracking down performance regressions.","end":1548},{"start":1548,"title":"Xcode Cloud","summary":"Xcode Cloud now offers a streamlined onboarding flow to get builds and tests running automatically on every commit, with seamless TestFlight and App Store delivery.","end":1671},{"start":1671,"title":"Next steps","summary":"A summary of Xcode 27's end-to-end support for the app lifecycle, from prototyping and agents to localization and post-launch issue resolution.","end":1680}]},"related":{"activities":["wwdc2026-259","wwdc2026-260","wwdc2026-213","wwdc2025-225","wwdc2026-243","wwdc2026-268","wwdc2026-261","wwdc2024-10200"],"resources":[3044]}},"wwdc2026-391":{"id":"wwdc2026-391","staticContentId":11004,"eventContentId":391,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/391","languageCode":"eng","description":"Discover how to reach more customers by offering subscriptions to groups and organizations. The Group Purchases feature lets a single subscriber buy multiple seats and invite others directly from your app. Volume Purchasing through Apple Business and Apple School Manager puts your subscriptions in front of enterprise and education buyers who already procure apps at scale. Learn how to offer these subscriptions and the options to configure availability and pricing in App Store Connect. ","title":"Offer subscriptions to groups and organizations","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["multi seat","multi-seat"],"primaryTopicID":86,"topicIds":[89,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0E9AD3C1-311D-41A5-9BC4-12E72E02F257","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/391\/4\/84af4bfe-b42d-4350-91d0-5581899a3e9d\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/391\/4\/84af4bfe-b42d-4350-91d0-5581899a3e9d\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/391\/4\/84af4bfe-b42d-4350-91d0-5581899a3e9d\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/391\/4\/84af4bfe-b42d-4350-91d0-5581899a3e9d\/downloads\/wwdc2026-391_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/391\/4\/84af4bfe-b42d-4350-91d0-5581899a3e9d\/downloads\/wwdc2026-391_sd.mp4","duration":476,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Sell subscriptions to groups and organizations through two paths: in-app group purchases, and volume purchasing in Apple Business and Apple School Manager.","end":137},{"start":137,"title":"Availability","summary":"Available for all auto-renewable subscriptions using StoreKit 2, on by default for most, opted out for Family Sharing subscriptions, and configurable per subscription in App Store Connect.","end":204},{"start":204,"title":"Pricing","summary":"By default each seat sells at the current price; volume pricing lets you set up to five price bands with reduced per-seat pricing for larger purchases.","end":283},{"start":283,"title":"Purchasing","summary":"Apple Business and Apple School Manager handle volume purchases; for in-app group purchases, you build the UI and trigger the StoreKit 2 purchase flow with the requested seat count.","end":325},{"start":325,"title":"Seat Management","summary":"How seats are assigned after purchase \u2014 through a device management service for volume purchasing, or invitation links for group purchases, with an included or custom seat management system.","end":326},{"start":326,"title":"Next steps","summary":"Start thinking about how your application can take advantage of group purchases and volume purchasing.","end":476}]},"related":{"activities":["wwdc2026-206"]}},"wwdc2026-298":{"id":"wwdc2026-298","staticContentId":10842,"eventContentId":298,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/298","languageCode":"eng","description":"Learn how to evaluate model-driven experiences using the Evaluations framework. In a probabilistic world, unit tests alone won\u2019t suffice. Discover how to define metrics, automatically grade outputs, and aggregate statistics to ensure your AI-powered features perform reliably across Apple\u2019s platforms.","title":"Meet the Evaluations framework","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["ai","machine learning","testing","xcode","xctest"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A08B9C95-97EC-4A3C-A1FF-233B0DA2B00A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/298\/5\/0ffb7161-1edb-4e6f-872d-55be82c4402d\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/298\/5\/0ffb7161-1edb-4e6f-872d-55be82c4402d\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/298\/5\/0ffb7161-1edb-4e6f-872d-55be82c4402d\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/298\/5\/0ffb7161-1edb-4e6f-872d-55be82c4402d\/downloads\/wwdc2026-298_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/298\/5\/0ffb7161-1edb-4e6f-872d-55be82c4402d\/downloads\/wwdc2026-298_sd.mp4","duration":1546,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Rob Rhyne and Yada introduce the Evaluations framework. Generative-AI features break the \"same input, same output\" contract that unit tests rely on, so a new, more robust form of testing is needed to measure how often features produce unexpected or unsafe results.","end":190},{"start":190,"title":"Demo app Book Tacker: a manual evaluation","summary":"Introduces the Book Tracker demo app and its BookTaggingService, which auto-tags books from reviews. Trying it in a #playground surfaces issues (too many tags, book title as a tag, multi-word tags) and produces a first human-judged list of expectations.","end":271},{"start":271,"title":"Building your first evaluation","summary":"Implement the Evaluation protocol in five steps: define the subject (the code under test), the dataset of ModelSample inputs with expected values, a Metric and Evaluator (pass\/fail on tag count), and an aggregateMetrics summary.","end":486},{"start":486,"title":"Running the evaluation and reading the report","summary":"Run evaluations through Swift Testing with the evaluates trait and an optimization target (#expect average at least 80%). The new evaluation test report breaks down per-sample results, prompts, measurements, and the full model response.","end":657},{"start":657,"title":"Building robust datasets","summary":"Two samples aren't enough; good datasets have thousands with variety (genres, review lengths, fiction\/non-fiction, forms, personal opinions). Hand-authoring doesn't scale, so the framework's SampleGenerator synthesizes more samples from a seed set.","end":860},{"start":860,"title":"Refining metrics and evaluators","summary":"Add metrics for deeper insight: TagTotal with a scoring (not pass\/fail) evaluator, range-compliance and distribution, word-count, and genre checks against knownGenres, covering three of the five original expectations, tracked alongside instruction changes.","end":941},{"start":941,"title":"Evaluation-driven development and hill-climbing","summary":"Recap the loop: a failing optimization target prompts analysis and a change (adding a count range to the @Guide on the BookTags Generable). Re-running to check the result is hill-climbing; centering development on it is evaluation-driven development.","end":972},{"start":972,"title":"Model judges: qualitative metrics","summary":"Quantitative metrics can pass while tags are still wrong (reader opinions, mis-inferred genres). A model judge uses a second, at-least-as-capable model (here, Private Cloud Compute) to score output the way a person would, consistently across the dataset.","end":1122},{"start":1122,"title":"Building a model judge","summary":"A ModelJudgeEvaluator is just another Evaluator producing the same Metric type. Define a TagQuality metric on a 1-to-4 scale (an even number of levels avoids a neutral default), specify the judge model, run it, and read the rationales.","end":1279},{"start":1279,"title":"Refining with score dimensions","summary":"When you disagree with a score, the question is often too broad. Split it into ScoreDimensions (Relevance vs. Usefulness), each with its own description and scale, and add a ModelJudgePrompt to give the judge context about your app.","end":1425},{"start":1425,"title":"Reviewing dimension results","summary":"Re-running yields separate relevance and usefulness scores whose rationales split the diagnosis: relevance shows what kind of tag is wrong, usefulness shows how it fails at browsing, giving a clear path back into the hill-climbing loop.","end":1460},{"start":1460,"title":"Best practices","summary":"Start small (20 to 30 focused samples), use heuristics for quantitative traits (if you can measure it in code), use ModelJudgeEvaluator for qualitative ones, start simple with the judge, and let rationales drive the next change.","end":1538},{"start":1538,"title":"Next steps","summary":"Pointers to the Evaluations framework documentation, the Book Tracker sample code, and the companion sessions on hill-climbing prompts and creating robust evaluations for agentic apps.","end":1546}]},"related":{"resources":[4283,4144,4143,4142]}},"wwdc2026-398":{"id":"wwdc2026-398","staticContentId":11174,"eventContentId":398,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T07:00:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/398","languageCode":"eng","description":"Apple Intelligence is evolving \u2014 fast. Today we dig into the latest AI announcements, what they mean for your apps, and what\u2019s possible now that wasn\u2019t before. Plus, a special guest joins to explore where it\u2019s all heading.","title":"Dub Dub Daily: Day 3","originalPublishingDate":"2026-06-10T07:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","primaryTopicID":90,"topicIds":[90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E377CBED-38A7-49A6-AD45-7D382FF235B3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/398\/2\/410c7536-3689-45c3-a343-661e3cdd641f\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/398\/2\/410c7536-3689-45c3-a343-661e3cdd641f\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/398\/2\/410c7536-3689-45c3-a343-661e3cdd641f\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/398\/2\/410c7536-3689-45c3-a343-661e3cdd641f\/downloads\/wwdc2026-398_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/398\/2\/410c7536-3689-45c3-a343-661e3cdd641f\/downloads\/wwdc2026-398_sd.mp4","duration":367,"availableAudioLanguageCodes":["eng"]}},"wwdc2026-286":{"id":"wwdc2026-286","staticContentId":10823,"eventContentId":286,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/286","languageCode":"eng","description":"Find out how foveated streaming delivers remotely rendered scenes to Apple Vision Pro in full fidelity. Explore how this framework combines native visionOS capabilities with third-party streaming technologies completely wirelessly, demonstrated using an OpenXR scene and NVIDIA CloudXR. Learn about the FoveatedStreaming framework, integration with the NVIDIA CloudXR SDK, and how dynamically foveated streaming provides benefits while still preserving privacy.","title":"Use foveated streaming to bring immersive content to visionOS","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["visionOS"],"keywords":["3d content","enterprise","spatial","spatial accessories","spatial computing","visionos"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FC522724-DEA5-45D9-A14C-6A4D3513473A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/286\/4\/fa302edd-f95a-49f4-b51c-3899d49c6dec\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/286\/4\/fa302edd-f95a-49f4-b51c-3899d49c6dec\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/286\/4\/fa302edd-f95a-49f4-b51c-3899d49c6dec\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/286\/4\/fa302edd-f95a-49f4-b51c-3899d49c6dec\/downloads\/wwdc2026-286_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/286\/4\/fa302edd-f95a-49f4-b51c-3899d49c6dec\/downloads\/wwdc2026-286_sd.mp4","duration":862,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","pt-BR","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Overview of Foveated Streaming \u2014 a new framework in visionOS 26.4 that lets Apple Vision Pro connect to a PC and stream immersive OpenXR content with eye-tracking-based video optimization.","end":248},{"start":248,"title":"How Foveated Streaming works","summary":"Learn the architecture: the visionOS receiver app uses the FoveatedStreaming framework, the streaming endpoint implements the Foveated Streaming Protocol, and NVIDIA CloudXR handles the OpenXR runtime and Wi-Fi\/cloud streaming.","end":286},{"start":286,"title":"Set up the streaming endpoint","summary":"Set up your Windows streaming endpoint using open-source sample code on GitHub, which includes a reference implementation of the Foveated Streaming Protocol and an example OpenXR application.","end":318},{"start":318,"title":"Create a visionOS receiver app","summary":"Build your visionOS receiver app using FoveatedStreamingSession to connect and pair with the endpoint, present streamed content in an ImmersiveSpace, and enrich the UI with SwiftUI windows and progressive immersion.","end":482},{"start":482,"title":"Integrate with the streaming endpoint","summary":"Configure your OpenXR client with the Foveated Streaming Protocol for authentication and pairing, and integrate the NVIDIA CloudXR runtime to handle input data, hand tracking, depth buffers, and alpha channel compositing.","end":688},{"start":688,"title":"Measure performance","summary":"Use the Foveated Streaming instrument in Xcode to measure your stream bandwidth, pose latency, and frame rate, and diagnose performance issues before shipping.","end":716},{"start":716,"title":"Enhance with visionOS features","summary":"Enhance your app with message channels to exchange data between the visionOS and OpenXR apps, ARKit to anchor virtual content to the physical world, and RealityKit to composite native 3D objects alongside the streamed content.","end":836},{"start":836,"title":"Next steps","summary":"Download sample code on GitHub and developer.apple.com to get started, set up your own receiver app, and integrate your OpenXR client with the Foveated Streaming Protocol.","end":862}]},"related":{"activities":["wwdc2026-8071","wwdc2026-287","wwdc2026-8004"],"resources":[4277,4276,4275,4274,4273,4121]}},"wwdc2026-345":{"id":"wwdc2026-345","staticContentId":10893,"eventContentId":345,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/345","languageCode":"eng","description":"Level up your App Intents adoption with advanced features to make it faster, more flexible, and more relevant. Find out how ValueRepresentation and RelevantEntities make your content more discoverable and allow it to travel across apps, EntityCollection improves performance, and SyncableEntity let you scale across devices. Explore richer parameter types including union values and long-running intents that handle cancellation gracefully. ","title":"Discover new capabilities in the App Intents framework","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","visionOS"],"keywords":["ai","app intents","machine learning","siri","xcode"],"primaryTopicID":94,"topicIds":[83,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A23B9856-2ECA-4591-84FA-0E595455AB25","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/345\/4\/bc719e14-772a-4737-aceb-6e54cda6b511\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/345\/4\/bc719e14-772a-4737-aceb-6e54cda6b511\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/345\/4\/bc719e14-772a-4737-aceb-6e54cda6b511\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/345\/4\/bc719e14-772a-4737-aceb-6e54cda6b511\/downloads\/wwdc2026-345_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/345\/4\/bc719e14-772a-4737-aceb-6e54cda6b511\/downloads\/wwdc2026-345_sd.mp4","duration":1082,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"The 2027 App Intents updates \u2014 more control, flexibility, and a smoother developer experience across Siri, Shortcuts, Spotlight, Widgets, and Apple Intelligence. Three areas: entity enhancements, richer parameters, and intent execution, built on the Landmarks Travel Tracking sample.","end":160},{"start":160,"title":"Share entities across apps with ValueRepresentation","summary":"Beyond Transferable's File and Data representations, the new ValueRepresentation shares structured types the system understands, for example exporting a landmark as a PlaceDescriptor (GeoToolbox) so it flows to Maps for directions. Use a key-path if the entity already has the property.","end":225},{"start":225,"title":"Register relevant entities with RelevantEntities","summary":"Spotlight indexing and interaction donation can't surface never-seen, never-used content. RelevantEntities lets you suggest entities with a context (such as running playlists when a workout starts) via updateEntities, and remove them by context, by entity, or entirely.","end":425},{"start":425,"title":"Handle entities efficiently with EntityCollection","summary":"Resolving every entity before an intent runs is costly at scale (tagging thousands of photos). EntityCollection passes just identifiers to perform() without full resolution, a one-line parameter-type change that made tagging 1000 photos nearly instant.","end":535},{"start":535,"title":"Use entities across devices with SyncableEntity","summary":"Siri conversations now continue across devices, but local IDs differ per device. SyncableEntity declares a stable ID (server UUID or CloudKit record ID); when you only have local IDs, SyncableEntityIdentifier pairs a local and a stable ID so on-device code uses local and the system uses stable.","end":661},{"start":661,"title":"Richer parameter types","summary":"Declaring a @Parameter gives a native picker, Siri understanding, and localization for free, now extended to more native types like Duration (no custom time pickers) and PersonNameComponents, working across Siri, Shortcuts, and Widgets.","end":758},{"start":758,"title":"Union value parameters","summary":"A @UnionValue enum lets one parameter accept multiple types, for example a single widget showing photos from either a landmark collection or a photo album. The macro generates type info, case metadata, and picker support (typeDisplayRepresentation, caseDisplayRepresentations), and works everywhere including Shortcuts.","end":806},{"start":806,"title":"Extend execution with LongRunningIntent","summary":"Intents normally have 30 seconds; LongRunningIntent runs beyond it, manages the background task lifecycle, and shows progress as a Live Activity. Wrap work in performBackgroundTask and report progress (it builds on ProgressReportingIntent). Add CancellableIntent's onCancel to clean up gracefully; it also supports background GPU access.","end":927},{"start":927,"title":"Target the right process with ExecutionTargets","summary":"When intents live in a shared package linked by the app and extensions, the system picks a process by heuristics, not always right (for example a widget favorite button needs the writing main app). ExecutionTargets overrides this to target the main app, an App Intents extension, a WidgetKit extension, or any combination.","end":1034},{"start":1034,"title":"Next steps","summary":"Add ValueRepresentation to carry structured data, register relevant content, adopt EntityCollection for large entity sets, and add LongRunningIntent for work over 30 seconds. See \"Code-along: Make your app available to Siri\" and \"Validate your App Intents adoption with AppIntentsTesting.\"","end":1082}]},"related":{"resources":[4045,2399]}},"wwdc2026-375":{"id":"wwdc2026-375","staticContentId":10936,"eventContentId":375,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T13:14:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/375","languageCode":"eng","description":"Enable high-quality image creation in your app using Image Playground. With a new generative model that runs on Private Cloud Compute, users can make images in virtually any style, including photorealistic, in your app. You can also specify dimensions for use in even more places, and allow people to modify images using natural language descriptions and touch. Explore how to adopt Image Playground, generate images from descriptions and photos, and manage feature availability in your app.","title":"Create high-quality images using Image Playground","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["imagecreator"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A598CA5C-F9B0-4E2C-9081-020DA925314B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/375\/4\/01104285-3253-4b2d-80c3-0d5cdf95c97e\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/375\/4\/01104285-3253-4b2d-80c3-0d5cdf95c97e\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/375\/4\/01104285-3253-4b2d-80c3-0d5cdf95c97e\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/375\/4\/01104285-3253-4b2d-80c3-0d5cdf95c97e\/downloads\/wwdc2026-375_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/375\/4\/01104285-3253-4b2d-80c3-0d5cdf95c97e\/downloads\/wwdc2026-375_sd.mp4","duration":851,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"The ImagePlayground framework brings high-quality, true-to-life image creation into your app, on devices with Apple Intelligence support.","end":123},{"start":123,"title":"Capabilities","summary":"Image Playground enables the creation of high-quality images with people, styles, and different aspect ratios.","end":302},{"start":302,"title":"Adopt Image Playground","summary":"Present the Image Playground sheet and seed it with context from your app.","end":509},{"start":509,"title":"Options","summary":"Configure the Image Playground sheet with options like size, style, and personalization.","end":735},{"start":735,"title":"Availability","summary":"Ensure your app gracefully handles both supported and unsupported devices, presenting the full Image Playground experience when available.","end":851}]},"related":{"activities":["wwdc2026-319","wwdc2026-203","wwdc2024-10220"]}},"wwdc2026-295":{"id":"wwdc2026-295","staticContentId":10839,"eventContentId":295,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/295","languageCode":"eng","description":"Meet AppIntentsTesting, a new framework for validating your App Intents through the same infrastructure used by Siri, Shortcuts, and Spotlight. Discover how to execute intents, inspect results, and test entities and queries \u2014 all without requiring UI automation. Find out how to verify integrations like View annotations and Spotlight indexing, helping you catch bugs early in your development workflow. ","title":"Validate your App Intents adoption with AppIntentsTesting","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["ai","app intents","machine learning","testing","xcode","xctest"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"607DDA50-B403-4E73-81C4-479ADC42D3E5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/295\/4\/cdcee6d3-e3e9-4201-b1ef-cd33e2d10e6f\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/295\/4\/cdcee6d3-e3e9-4201-b1ef-cd33e2d10e6f\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/295\/4\/cdcee6d3-e3e9-4201-b1ef-cd33e2d10e6f\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/295\/4\/cdcee6d3-e3e9-4201-b1ef-cd33e2d10e6f\/downloads\/wwdc2026-295_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/295\/4\/cdcee6d3-e3e9-4201-b1ef-cd33e2d10e6f\/downloads\/wwdc2026-295_sd.mp4","duration":1557,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":16,"title":"Introduction","summary":"AppIntentsTesting, a new framework for testing App Intents, which power Siri, Shortcuts, Spotlight, and Widgets. Outlines the agenda: getting started, framework overview, testing intents and entities, and system integrations.","end":121},{"start":121,"title":"Meet CometCal: your first test","summary":"Introduces the CometCal sample calendar app and writes a first test for CreateCalendarIntent: create a UI testing bundle, build an IntentDefinitions from the bundle id, call makeIntent with parameters, run() it on-device, and assert on the returned entity via dynamic member lookup.","end":149},{"start":149,"title":"How AppIntentsTesting works","summary":"An integration testing framework that runs your tests in a standard XCUITest bundle while the app runs in a separate process, executing intents through the full App Intents stack, with no mocks and no app-code imports (just a bundle id), giving stable, CI-friendly tests.","end":579},{"start":579,"title":"Testing entity queries","summary":"Test-driven development of an EntityStringQuery: call entities(matching:) on the entity definition, watch it fail, implement the entities(matching:) conformance on EventEntityQuery, and rerun to green, verified against Shortcuts on device.","end":829},{"start":829,"title":"Combining multiple intents","summary":"Chain intents in one test as people compose Shortcuts: run CreateEventIntent (with the runtime resolving a CalendarEntity from a string), then pass the returned EventEntity straight into UpdateEventIntent and assert the updated title.","end":987},{"start":987,"title":"Test-only intents","summary":"Focused intents that exist only for tests, to seed known state, jump directly to a view, or wrap not-yet-adopted functionality. Make any intent test-only with isDiscoverable: false and an #if DEBUG guard.","end":1102},{"start":1102,"title":"Testing Spotlight indexing","summary":"Write a regression test for Spotlight: spotlightQuery() returns nothing before the event exists, create it with CreateEventIntent, then assert exactly one indexed result, catching the real bug where indexing was commented out.","end":1256},{"start":1256,"title":"Testing view annotations","summary":"Verify the entity Siri sees on screen: open an event via OpenEventIntent, use XCUI to confirm the page, call viewAnnotations(), and assert the single ViewAnnotation's entity, surfacing a bug where the wrong EntityIdentifier (calendar id) was used.","end":1440},{"start":1440,"title":"The App Intents testing workflow","summary":"Where AppIntentsTesting fits: unit-test the fundamental types (actions, data, queries) first, then integration-test deeper system reaches (view annotations, Spotlight, cross-app), and still test manually with Siri and Shortcuts.","end":1519},{"start":1519,"title":"Next steps","summary":"Download the CometCal sample project and its full test suite, consult the AppIntentsTesting documentation for the complete API, and explore the talk on building Siri experiences with App Intents.","end":1557}]},"related":{"activities":["wwdc2026-343","wwdc2026-344","wwdc2026-240"],"resources":[4227,4226]}},"wwdc2026-310":{"id":"wwdc2026-310","staticContentId":10856,"eventContentId":310,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/310","languageCode":"eng","description":"Explore techniques to build powerful shortcuts using your app\u2019s content. New automations unlock additional ways to integrate your app with the system. Refine how your App Entity is presented to LLMs using the new \u201cUse Model\u201d transcript feature. Store rich information from your app inside shortcuts that is synced across devices. Learn how to combine these features to create intelligent, powerful automations that integrate seamlessly with content and features from your app.","title":"What\u2019s new in Shortcuts","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"primaryTopicID":101,"topicIds":[94,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9C184A72-5AD1-4D1C-9981-75A932050980","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/310\/4\/50ce70ab-88da-49ff-8c57-d9136d231e76\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/310\/4\/50ce70ab-88da-49ff-8c57-d9136d231e76\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/310\/4\/50ce70ab-88da-49ff-8c57-d9136d231e76\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/310\/4\/50ce70ab-88da-49ff-8c57-d9136d231e76\/downloads\/wwdc2026-310_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/310\/4\/50ce70ab-88da-49ff-8c57-d9136d231e76\/downloads\/wwdc2026-310_sd.mp4","duration":662,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh","zh-TW"],"chapters":[{"start":1,"title":"Introduction","summary":"Shortcuts lets people combine everyday app actions and surface them across the system - like through Siri, Control Center, and the Action Button. Explore three major enhancements to Shortcuts and how to leverage the content in your app to integrate with the system.","end":57},{"start":57,"title":"Automations","summary":"In iOS 26, Automations are easier to discover in the Shortcuts editor. There are three new automation types - screenshot, keyboard connection, and notification. The notification automation enables fine-grained, keyword-filtered triggers based on notification content. Learn techniques to build notifications that integrate well with automations.","end":205},{"start":205,"title":"Use Model","summary":"The Use Model action has access to the latest Apple Intelligence models with web retrieval. Use the model transcript inspector to evaluate the exact data that's passed to the model from your app's App Intent entities.","end":418},{"start":418,"title":"Storage","summary":"Storage lets shortcuts persist data between runs using Get, Set, and global storage values that sync across all of someone's devices via iCloud. Use storage in powerful ways, like to give the Use Model action a \"memory\". For App Intent entities, use a stable, device-consistent identifier to ensure correct recognition across devices.","end":662}]},"related":{"activities":["wwdc2025-260"],"resources":[4344,4342]}},"wwdc2026-268":{"id":"wwdc2026-268","staticContentId":10791,"eventContentId":268,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/268","languageCode":"eng","description":"Tackle app responsiveness issues with a clear workflow. Explore the Swift Concurrency instrument, Time Profiler, and System Trace to pinpoint bottlenecks. Discover how to use top functions and run comparisons to measure your improvements and confirm your fixes. And learn about other enhancements in Instruments which make each iteration of this cycle faster than ever, so you can deliver a smoother user experience in less time.","title":"Profile, fix, and verify: Improve app responsiveness with Instruments","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"07BA658D-F686-439D-A4A2-5B5FB45FC7BE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/268\/4\/7d94575d-e65b-4033-811f-199586ac587a\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/268\/4\/7d94575d-e65b-4033-811f-199586ac587a\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/268\/4\/7d94575d-e65b-4033-811f-199586ac587a\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/268\/4\/7d94575d-e65b-4033-811f-199586ac587a\/downloads\/wwdc2026-268_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/268\/4\/7d94575d-e65b-4033-811f-199586ac587a\/downloads\/wwdc2026-268_sd.mp4","duration":1603,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Overview of how Instruments 27 helps developers understand and optimize app responsiveness across the software stack abstraction layers.","end":72},{"start":72,"title":"Diagnostic flow","summary":"Learn the four-step mental model \u2014 CPU saturation, sampling data visualization, execution contention, and system blocking \u2014 for systematically triaging hangs and frame drops.","end":426},{"start":426,"title":"Sampling data visualization","summary":"Explore how Instruments' Call Tree, Flame Graph, and the new Top Functions mode transform raw CPU samples into actionable views for identifying performance bottlenecks.","end":961},{"start":961,"title":"Execution contention","summary":"Discover how the Swift Executors instrument reveals when render-thumbnail tasks saturate the Main Actor, and how adding the @concurrent attribute moves work off the main thread to resolve UI hangs.","end":1229},{"start":1229,"title":"System blocking","summary":"Use System Trace and the new Inspector panel to diagnose low-CPU hangs caused by synchronous file I\/O blocking the main thread, and learn to fix them by moving the work to a background Swift task.","end":1567},{"start":1567,"title":"Next steps","summary":"Key takeaways on matching the right Instruments template to each class of performance problem, plus links to related sessions on CPU optimization, Swift Concurrency, and hang analysis.","end":1603}]},"related":{"activities":["wwdc2022-110352","wwdc2025-308","wwdc2025-268","wwdc2023-10248","wwdc2026-258"],"resources":[4191]}},"wwdc2026-304":{"id":"wwdc2026-304","staticContentId":10848,"eventContentId":304,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/304","languageCode":"eng","description":"Capture super high resolution photos in your app using AVFoundation. Learn when to use the three different options to capture images \u2014 RAW, exposure-bracketed, and fully processed. Walk through configuring photo capture for 24MP and 48MP images across the Main, Tele, and Ultra Wide cameras. And discover how deferred photo processing keeps your app responsive as more photos are taken.","title":"Implement high resolution photo capture","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS"],"primaryTopicID":95,"topicIds":[95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D3E70CE3-E0DA-4C8B-88F5-8359009C54DD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/304\/4\/7a18d6ee-a63d-4402-bfb6-85a21dfac7dd\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/304\/4\/7a18d6ee-a63d-4402-bfb6-85a21dfac7dd\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/304\/4\/7a18d6ee-a63d-4402-bfb6-85a21dfac7dd\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/304\/4\/7a18d6ee-a63d-4402-bfb6-85a21dfac7dd\/downloads\/wwdc2026-304_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/304\/4\/7a18d6ee-a63d-4402-bfb6-85a21dfac7dd\/downloads\/wwdc2026-304_sd.mp4","duration":1078,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"The tradeoffs high-resolution photo capture requires \u2014 particularly between processing time and image quality \u2014 and what the session covers: photo types, configuring and capturing them, and keeping your app responsive.","end":52},{"start":52,"title":"High-resolution photos","summary":"Explore the different photo resolutions available across iPhone cameras, including 12MP, 24MP, and 48MP, and how the photonic engine balances light and detail.","end":247},{"start":247,"title":"Types of captures","summary":"Learn about the four types of high resolution captures you can request: fully processed photos, exposure brackets, Bayer RAW, and Apple ProRAW.","end":320},{"start":320,"title":"Configure a capture session","summary":"An overview of AVCaptureSession setup for high resolution photos. Learn how to select quality prioritization, configure maximum photo dimensions, and preallocate resources.","end":581},{"start":581,"title":"Responsive capture best practices","summary":"Keep your app fast and responsive by implementing overlapping captures, deferred photo processing, and fast capture prioritization to minimize shot-to-shot delay.","end":1078}]},"related":{"activities":["wwdc2026-303","wwdc2026-341","wwdc2021-10160","wwdc2021-10247","wwdc2023-10105"],"resources":[1483,227]}},"wwdc2026-280":{"id":"wwdc2026-280","staticContentId":10817,"eventContentId":280,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/280","languageCode":"eng","description":"Unlock powerful new features in Reality Composer Pro 3 for building spatial experiences. Learn how you can add content, visual effects, lighting, and interactivity to your immersive scenes \u2014 all without leaving the editor. Discover how to iterate quickly using AI-assisted features right within the editor.","title":"Iterate your spatial scenes faster with Reality Composer Pro 3","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"keywords":["3d","environment","game","reality","reality composer pro","realitykit","scene","spatial computing","visionos"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"69F16020-E395-47BD-80B3-8067059DC94D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/280\/4\/0f02d465-7874-4ac3-aac3-b1b792efecd3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/280\/4\/0f02d465-7874-4ac3-aac3-b1b792efecd3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/280\/4\/0f02d465-7874-4ac3-aac3-b1b792efecd3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/280\/4\/0f02d465-7874-4ac3-aac3-b1b792efecd3\/downloads\/wwdc2026-280_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/280\/4\/0f02d465-7874-4ac3-aac3-b1b792efecd3\/downloads\/wwdc2026-280_sd.mp4","duration":1004,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"An overview of Reality Composer Pro 3, a standalone tool rebuilt for fast, iterative, and collaborative spatial content workflows, and a walkthrough of the topics covered in the session.","end":145},{"start":145,"title":"Overview","summary":"Learn how Reality Composer Pro 3 is now a standalone download from developer.apple.com and get oriented with the Chaparral Village sample project used throughout the session.","end":237},{"start":237,"title":"Entities and components","summary":"Explore the entity-component model at the core of Reality Composer Pro 3 \u2014 how to build scenes by adding, nesting, and configuring entities and components, including the new Compute Graph for GPU-based simulations.","end":525},{"start":525,"title":"Prototypes and instances","summary":"Learn how to create reusable Prototypes from any entity, instantiate them across a scene, and selectively override or propagate instance properties without permanently altering the source.","end":666},{"start":666,"title":"Live preview","summary":"See how to target a simulation to a connected Apple Vision Pro for live spatial preview, dramatically cutting iteration time by letting you author and validate content directly in headset.","end":717},{"start":717,"title":"Lightmaps","summary":"Use the new Lightmaps feature to bake indirect lighting, ambient occlusion, and beauty maps for static scenes, improving visual fidelity without the runtime cost of dynamic global illumination.","end":883},{"start":883,"title":"Reality Composer Pro Assistant","summary":"Discover the new AI assistant in Reality Composer Pro 3, which uses generative models to create 3D objects and materials on demand from natural language prompts directly within the editor.","end":967},{"start":967,"title":"Next steps","summary":"Key takeaways and pointers to download Reality Composer Pro 3, explore the Chaparral Village sample project, and dive deeper with related Reality Composer Pro sessions.","end":1004}]},"related":{"activities":["wwdc2026-252","wwdc2026-281","wwdc2026-393","wwdc2026-279","wwdc2023-10083"]}},"wwdc2026-320":{"id":"wwdc2026-320","staticContentId":10866,"eventContentId":320,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/320","languageCode":"eng","description":"Transport your website\u2019s visitors into virtual environments in Apple Vision Pro using the new Immersive API in JavaScript. Explore how to request immersive transitions from an inline model element, create compelling immersive experiences using features like video docking, and optimize performance for rich, real-world-scale experiences \u2014 all with just a few lines of code running on your website.","title":"Explore immersive website environments in visionOS","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":98,"topicIds":[85,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"25801D44-24F7-465E-BEAF-E3936482C781","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/320\/4\/e1844891-477b-4612-ad8d-10e55bf395ba\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/320\/4\/e1844891-477b-4612-ad8d-10e55bf395ba\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/320\/4\/e1844891-477b-4612-ad8d-10e55bf395ba\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/320\/4\/e1844891-477b-4612-ad8d-10e55bf395ba\/downloads\/wwdc2026-320_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/320\/4\/e1844891-477b-4612-ad8d-10e55bf395ba\/downloads\/wwdc2026-320_sd.mp4","duration":1149,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"The immersive API in visionOS Safari is previewed through two example websites \u2014 a theater ticket sales experience and an escape-room marketing site \u2014 that transport visitors into virtual environments using just a few lines of code.","end":106},{"start":106,"title":"Meet the immersive API","summary":"Get a high-level overview of how the HTML `<model>` element pairs with the new JavaScript `requestImmersive()` API and a `:immersive` CSS pseudo-class. Unlike the Fullscreen API, the immersive API opens an environment around your existing webpage rather than replacing its content.","end":256},{"start":256,"title":"Preview environments inline","summary":"Build the inline portion of the ticket sales site: load a theater model into the page, let visitors pick a seat by applying a `DOMMatrix` transform to the `<model>` element, and prepare the same model for an immersive transition.","end":421},{"start":421,"title":"Go immersive","summary":"Transition from the inline preview into a full immersive environment. Covers the difference between inline and immersive coordinate systems, listening to `immersivechange` events, dismissing the environment, and skipping the inline preview entirely for the escape-room marketing site.","end":724},{"start":724,"title":"Optimize the experience","summary":"Polish your environment with RealityKit annotations authored in Reality Composer Pro or via a Blender plugin. Dock playing video into a TV inside the scene, trigger model animations from JavaScript, cast Safari's window shadow with the Scene Understanding component, and reduce vertex\/entity counts to keep assets fast to load and render.","end":1037},{"start":1037,"title":"Image controls","summary":"Add a single `controls` attribute to an `<img>` element to give visitors an immersive viewing affordance for spatial photos \u2014 a small markup change that pairs naturally with model-based environments.","end":1089},{"start":1089,"title":"Next steps","summary":"Try the immersive demos on webkit.org with an Apple Vision Pro, file feedback at bugs.webkit.org, and watch \"Design immersive environments for visionOS apps and the spatial web\" for the design principles behind great photorealistic environments.","end":1149}]},"related":{"activities":["wwdc2025-237","wwdc2025-305","wwdc2026-234","wwdc2026-215","wwdc2026-204"],"resources":[4346,4289,4288,4100,3601,765]}},"wwdc2026-246":{"id":"wwdc2026-246","staticContentId":10769,"eventContentId":246,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/246","languageCode":"eng","description":"Level up basic search into a retrieval-augmented system using SpotlightSearchTool and LanguageModelSession. Explore Core Spotlight integration, delegate-based hydration patterns, and how metadata quality impacts your search results. Learn how to use custom PipelineStages for tasks like sentiment analysis. Discover best practices for indexing and building flexible, context-rich search experiences in your app.","title":"LLM search using Core Spotlight","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ai","machine learning","spotlight","spot light","spotlight search"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"ACA339D5-0634-4901-82C3-667838414504","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/246\/4\/b390ab9d-d231-4cf5-9d1b-e4270ef5012b\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/246\/4\/b390ab9d-d231-4cf5-9d1b-e4270ef5012b\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/246\/4\/b390ab9d-d231-4cf5-9d1b-e4270ef5012b\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/246\/4\/b390ab9d-d231-4cf5-9d1b-e4270ef5012b\/downloads\/wwdc2026-246_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/246\/4\/b390ab9d-d231-4cf5-9d1b-e4270ef5012b\/downloads\/wwdc2026-246_sd.mp4","duration":985,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Build conversational search by making app content available to a language model. Sets up the running example: a hiking trails app that browses state parks and trails and stores personal notes on completed hikes.","end":101},{"start":101,"title":"Grounding answers with Spotlight tool-calling","summary":"A LanguageModelSession answers broad questions from world knowledge, but to answer only about the app's hikes you ground it in the Core Spotlight index via the Foundation Models Tool protocol. Introduces SpotlightSearchTool (iOS, iPadOS, macOS, visionOS) and the prerequisite of donating searchable content.","end":240},{"start":240,"title":"Configure and add SpotlightSearchTool","summary":"Import CoreSpotlight and FoundationModels, create the tool (optionally with a custom configuration like a FileSource), choose a model (SystemLanguageModel or a Model Provider), and add the tool to a session. Walks the tool-call trajectory from query to grounded response.","end":404},{"start":404,"title":"Displaying results and partial replies","summary":"The session response suits an assistant-style UI, while the tool's searchable items suit a list UI. Search replies arrive as an async sequence of batched results; use the query token to know when to refresh, since the model may call the tool multiple times per response.","end":406},{"start":406,"title":"Provide full items with an index delegate","summary":"Some donated metadata is stored compactly and isn't readable by the model. Implement searchableItemsForIdentifiers on the CSSearchableIndexDelegate to recover the full CSSearchableItem on demand and attach extra attributes for the model to reason over.","end":492},{"start":492,"title":"Customizing with guidance profiles","summary":"SpotlightSearchTool exposes its full search capabilities for guided generation; a GuidanceProfile scopes that guidance to only what the app needs (such as specific attributes or a dynamic guide level), which matters for the smaller context of on-device models.","end":662},{"start":662,"title":"Reference resolution with a contact resolver","summary":"When a query references a person (\"Who did I go hiking with?\"), supply a ContactResolver that returns contact information matching the user's identity, so the tool can disambiguate and filter to the right results.","end":684},{"start":684,"title":"Custom pipeline stages","summary":"For complex requests the model can run a pipeline of search plus computation stages instead of a simple query. Register your own @Generable stages (such as a happiness-score stage over notes); the model generates stages on demand and may return computed data back to the app for display.","end":767},{"start":767,"title":"Evaluating response quality","summary":"Use the Evaluations framework to measure tool-calling and response quality. Define a dataset via ModelSampleProtocol with expected item identifiers and trajectory, expand seed samples with the Sample Generation APIs, and assert metrics like result coverage in a test.","end":953},{"start":953,"title":"Next steps","summary":"Download the hiking trails sample, add your own custom functionality and evaluation suite, and lean into the deep-dive sessions. The takeaway: stop writing search queries, provide the content and let intelligence do the rest.","end":985}]},"related":{"resources":[4231,4230]}},"wwdc2026-341":{"id":"wwdc2026-341","staticContentId":10889,"eventContentId":341,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/341","languageCode":"eng","description":"Supercharge your iOS camera app with Center Stage using AVCapture APIs with the front camera on iPhone 17, iPhone 17 Pro and iPhone Air. Explore how APIs enable zoom and rotate options, for more flexible ways to frame selfies and videos and to automatically get everyone in a group shot. Integrate Center Stage for video calls to automatically adjust the framing, so you\u2019re front and center for virtual meetings and FaceTime calls. And learn how to stabilize your video for real-time video conferencing.","title":"Support the Center Stage front camera in your iOS app","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS"],"primaryTopicID":95,"topicIds":[95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4B7F2C37-D6A3-4D1D-AE69-769E9565D221","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/341\/4\/fa1380a3-e2ab-4442-9302-817be212e991\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/341\/4\/fa1380a3-e2ab-4442-9302-817be212e991\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/341\/4\/fa1380a3-e2ab-4442-9302-817be212e991\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/341\/4\/fa1380a3-e2ab-4442-9302-817be212e991\/downloads\/wwdc2026-341_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/341\/4\/fa1380a3-e2ab-4442-9302-817be212e991\/downloads\/wwdc2026-341_sd.mp4","duration":1064,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Center Stage front camera is available on iPhone 17, iPhone Air, and iPhone 17 Pro. Discover how its square sensor and wide field of view give you greater flexibility to perfectly frame selfies, group shots, and video calls.","end":67},{"start":67,"title":"Center Stage front camera","summary":"Take a closer look at the Center Stage front camera's hardware. Learn how its square image sensor and 95-degree field of view let you shoot in any orientation without rotating your device, keeping your grip secure and eye contact natural.","end":129},{"start":129,"title":"Center Stage for photos","summary":"Bring a perfect framing experience to your app. Explore how Auto Zoom and Auto Rotate combine the wide field of view with automatic face and gaze detection to smartly adjust framing as people move in and out of your shots.","end":189},{"start":189,"title":"Capture session setup","summary":"An overview of the AVCaptureSession setup required to use the Center Stage front camera. Configure an AVCaptureSession with the built-in ultra-wide camera. Add a video preview layer, and receive photos via AVCapturePhotoOutput.","end":236},{"start":236,"title":"Dynamic aspect ratio","summary":"Discover the dynamic aspect ratio API. Learn how to query supported formats and seamlessly switch aspect ratios without interrupting your camera preview or rebuilding the capture session.","end":407},{"start":407,"title":"Smart framing monitor","summary":"Automate your framing with AVCaptureSmartFramingMonitor. Learn how to configure the monitor to receive periodic recommendations for aspect ratio and zoom factor based on face and gaze detection, keeping your subjects perfectly framed.","end":564},{"start":564,"title":"Sensor orientation compensation","summary":"Understand how iOS handles the native portrait orientation of the Center Stage front camera sensor. Learn how AVCapturePhotoOutput automatically applies orientation compensation.","end":713},{"start":713,"title":"Center Stage for video recordings","summary":"Apply dynamic aspect ratio to video recordings using AVCaptureMovieFileOutput or AVAssetWriter. Learn how to manage recording transitions and take advantage of cinematic stabilization modes for exceptionally smooth footage.","end":796},{"start":796,"title":"Center Stage for video calls","summary":"Enhance your video conferencing app with Center Stage. Learn how to adopt the API in cooperative or app mode to keep everyone centered, and discover how to enable low-latency stabilization for significantly smoother video calls.","end":1064}]},"related":{"activities":["wwdc2026-304","wwdc2023-10106","wwdc2021-10047"],"resources":[4297,227,52,28]}},"wwdc2026-215":{"id":"wwdc2026-215","staticContentId":10726,"eventContentId":215,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-09T09:43:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/215","languageCode":"eng","description":"Learn how the model element brings interactive 3D content to your websites \u2014 now on iOS, iPadOS, macOS, and visionOS. Discover tools for creating and optimizing 3D assets. Explore model element\u2019s features and see how web standards are shaping the future of 3D on the web.","title":"Get started with the HTML Model Element","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"keywords":["css","html","javascript","model","spatial","web"],"primaryTopicID":98,"topicIds":[85,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"23AA987E-D9F9-4EA5-81F2-7A0EF0C3B1A9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/215\/4\/b7d159c9-ee29-45d9-80f5-87b6a1c90565\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/215\/4\/b7d159c9-ee29-45d9-80f5-87b6a1c90565\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/215\/4\/b7d159c9-ee29-45d9-80f5-87b6a1c90565\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/215\/4\/b7d159c9-ee29-45d9-80f5-87b6a1c90565\/downloads\/wwdc2026-215_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/215\/4\/b7d159c9-ee29-45d9-80f5-87b6a1c90565\/downloads\/wwdc2026-215_sd.mp4","duration":952,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"The HTML model element, which brings 3D content to the web as simply as an image and now extends from visionOS to iOS, iPadOS, and macOS \u2014 how it compares to the model-viewer library and where it stands as an emerging web standard.","end":142},{"start":142,"title":"Prepare the USDZ model asset","summary":"Approaches for creating 3D content: scanning with iPhone, converting existing files, authoring in tools like Blender, and generating models from images or text prompts. Why USDZ is the recommended format \u2014 it bundles geometry, materials, textures, and animations into a single file.","end":258},{"start":258,"title":"Loading and fallbacks","summary":"Embed a model with the <model> tag's src attribute or a nested <source>. Use a nested <img> as a fallback for older browsers, await the ready promise to know when the model can be displayed, and load the W3C polyfill so the element works where it isn't supported natively.","end":374},{"start":374,"title":"Model background","summary":"Set background-color directly on the model element to match the surrounding page. The model renders in its own virtual space and doesn't inherit page styles, and any background is composited as fully opaque.","end":408},{"start":408,"title":"Interactions","summary":"Add stagemode=\"orbit\" to let visitors rotate the model with automatic spring-back and clipping protection. For custom interactivity, disable stagemode and drive the entityTransform property with a DOMMatrix to snap the model to specific viewing angles from JavaScript.","end":506},{"start":506,"title":"Transition animation","summary":"Animate between custom orientations by updating entityTransform inside requestAnimationFrame. The pattern captures a starting angle, eases each frame's rotation, and cancels any in-flight animation so successive transitions don't conflict.","end":608},{"start":608,"title":"Animation playback","summary":"Play animations baked into a USDZ file using the element's play() method and playbackRate property. Positive rates play forward, negative rates reverse, and the magnitude scales speed.","end":652},{"start":652,"title":"AR and spatial","summary":"Wrap the model in an <a rel=\"ar\"> tag to enable AR Quick Look on iOS and iPadOS. On visionOS the model element renders stereoscopically and can power immersive website environments that place visitors inside a 3D scene.","end":749},{"start":749,"title":"Optimize assets for production","summary":"Use usdcrush to shrink USDZ files (often by 4x) with no perceived quality loss, and usdrecord to render thumbnails or fallback images from a 3D file. Both ship with macOS as part of the broader USD tool suite.","end":893},{"start":893,"title":"Next steps","summary":"Generate a 3D model from images or a prompt, add a <model> tag to your site, optimize assets with usdcrush, and join the W3C Immersive Web Community Group to help shape the spec.","end":952}]},"related":{"activities":["wwdc2026-320","wwdc2024-10106","wwdc2025-237","wwdc2026-204"],"resources":[4289,4103,4101,3601,3599,3598,765]}},"wwdc2026-287":{"id":"wwdc2026-287","staticContentId":10824,"eventContentId":287,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/287","languageCode":"eng","description":"Build next-generation apps, games, and spatial experiences using new capabilities in visionOS 27. Explore the different pathways you can use to build experiences on visionOS \u2014 from using native Apple tools and frameworks, to streaming immersive content from a Mac or PC, leveraging third-party engines, or porting existing iOS apps. Discover how to elevate your spatial computing projects with the latest advances in 3D content creation, immersive media, and object tracking.","title":"Build next-generation experiences with visionOS 27","originalPublishingDate":"2026-06-08T14:00:00-07:00","platforms":["visionOS"],"keywords":["3d","3d content","apple immersive video","apple vision pro","arkit","cloth simulation","compositor services","foveated streaming","game engine","gaussian splatting","godot","immersive media","immersive space","object tracking","phase audio","reality composer pro","realitykit","scene","spatial accessories","spatial computing","spatial preview","swiftui","unity","unreal engine","visionos","volume","window"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6DFBC2B4-92D8-4241-A3A0-34EC1DA37EE6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/287\/4\/979d9278-8250-46f9-ac82-79669ba7b479\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/287\/4\/979d9278-8250-46f9-ac82-79669ba7b479\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/287\/4\/979d9278-8250-46f9-ac82-79669ba7b479\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/287\/4\/979d9278-8250-46f9-ac82-79669ba7b479\/downloads\/wwdc2026-287_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/287\/4\/979d9278-8250-46f9-ac82-79669ba7b479\/downloads\/wwdc2026-287_sd.mp4","duration":1955,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Overview of what's new in visionOS 27, including platform momentum across consumer, enterprise, and creative use cases, and a tour of what the session covers.","end":120},{"start":120,"title":"visionOS overview","summary":"A recap of the visionOS scene model \u2014 Shared Space, Volumes, Windows, and Immersive Spaces \u2014 and the three paths to build a visionOS experience: existing iOS\/iPadOS apps, apps designed for spatial computing, and existing macOS\/PC experiences via Spatial Preview and Foveated Streaming.","end":193},{"start":193,"title":"Paths to build a visionOS experience","summary":"An overview of the three paths to building a visionOS experience: bringing existing iOS or iPadOS apps via compatibility or recompilation; building apps designed from the ground up for spatial computing using native frameworks, third-party game engines, or custom renderers; and a new third path for bringing existing macOS or PC experiences to visionOS using Spatial Preview or Foveated Streaming.","end":399},{"start":399,"title":"RealityKit and Reality Composer Pro","summary":"Highlights of new RealityKit capabilities in visionOS 27, including physical space lighting, cloth simulation, acoustic ray tracing, and Gaussian Splatting, followed by an overview of Reality Composer Pro 3's new AI-assisted, collaborative tools \u2014 Animation Graph, Script Graph, and enhanced shader materials.","end":822},{"start":822,"title":"Third-party game engines","summary":"Updates to Unity PolySpatial, Unreal Engine, and Godot on visionOS 27, including new spatial controller, ARKit, and PHASE audio plug-ins available on GitHub, plus support for custom rendering engines via CompositorServices.","end":947},{"start":947,"title":"Spatial Preview","summary":"Introduction to the new Spatial Preview framework on macOS, which lets developers preview spatial content \u2014 including 3D assets, spatial photos, and Apple Immersive Video \u2014 directly on Apple Vision Pro from a Mac, with SharePlay support.","end":1048},{"start":1048,"title":"Foveated Streaming","summary":"How the Foveated Streaming framework enables existing macOS and PC experiences to stream to Apple Vision Pro with native spatial rendering, using eye-tracked, foveated video compression to deliver high-quality visuals at practical bandwidths.","end":1236},{"start":1236,"title":"Object tracking and spatial accessories","summary":"Enhancements to visionOS object tracking including high-frame-rate support and a new ARKit API that brings object tracking to iOS. Also covers spatial accessories \u2014 custom tracked hardware that extends the Apple Vision Pro input model with plug-and-play physical controllers.","end":1532},{"start":1532,"title":"Immersive media","summary":"An overview of the visionOS immersive media pipeline: Apple Immersive Video formats, the Immersive Media Support framework for reading and writing rich AIV metadata, live production tools via SMTPE 2110, wide-aspect-ratio portal support, and static foveation for streamable AIV delivery.","end":1846},{"start":1846,"title":"Other visionOS 27 updates","summary":"A look at additional visionOS 27 platform updates, including wider Safari windows and Web Environments enabled by default, a redesigned Control Center with streamlined notifications and high-quality capture, accessory widget support for glanceable information on Apple Vision Pro, and a preview of further enhancements including Siri improvements, the Iceland environment, Spatial Panoramas, and Personal Environments.","end":1925},{"start":1925,"title":"Next steps","summary":"Closing highlights across the visionOS 27 platform \u2014 Spatial Web enhancements, wider windows, accessory widget support, and pointers to related sessions for deeper dives into each featured technology.","end":1955}]},"related":{"activities":["wwdc2026-279","wwdc2026-280","wwdc2026-282","wwdc2026-285","wwdc2026-283","wwdc2026-393","wwdc2026-281","wwdc2026-252","wwdc2026-338","wwdc2025-403","wwdc2025-296","wwdc2026-286"]}},"wwdc2026-299":{"id":"wwdc2026-299","staticContentId":10843,"eventContentId":299,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-06T11:54:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/299","languageCode":"eng","description":"Learn how to leverage advanced features of the Evaluations framework to build robust evaluations for your app. Explore evaluating flows with tool calling and dynamic conditions, and how to define what correct behavior means for your use case. Discover how to generate synthetic data, use judges effectively, and validate your datasets for reliable results.\n","title":"Create robust evaluations for agentic apps","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["ai","machine learning","testing","xcode","xctest"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F9586008-EA1E-48BE-9DB7-ACB7DF2146AE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/299\/4\/ef9fbc06-fc78-4896-9848-0f0fe2e75fb9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/299\/4\/ef9fbc06-fc78-4896-9848-0f0fe2e75fb9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/299\/4\/ef9fbc06-fc78-4896-9848-0f0fe2e75fb9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/299\/4\/ef9fbc06-fc78-4896-9848-0f0fe2e75fb9\/downloads\/wwdc2026-299_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/299\/4\/ef9fbc06-fc78-4896-9848-0f0fe2e75fb9\/downloads\/wwdc2026-299_sd.mp4","duration":1288,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Ada Wong and Kyle Murray introduce advanced features of the Evaluations framework (new in Xcode 27). Outlines the agenda: growing your dataset with synthetic data, then building robust evaluations for agentic, tool-calling workflows, focused on the develop-and-evaluate step of hill-climbing.","end":141},{"start":141,"title":"The dataset problem in BookTracker","summary":"The BookTracker app auto-tags books from reviews, but its 13 hand-written sampleBooks give only a narrow view. Real-world reviews span countless books, genres, lengths, and styles, too much variety to capture by hand.","end":226},{"start":226,"title":"Generating synthetic data with makeSamples","summary":"The makeSamples API takes a prompt, a dataset (ModelSample with review to tags), and a target count (the full resulting size, including your seeds). It returns an async stream of new samples; coverage of real usage matters more than raw quantity.","end":387},{"start":387,"title":"Customizing generation with SampleGenerator","summary":"For more control, SampleGenerator exposes a sessionProvider closure to pick the model (such as Private Cloud Compute) and instructions. The session is reused across batches but can exhaust its context window mid-run, so make instructions self-contained since the provider may be called again.","end":518},{"start":518,"title":"Sampling strategies","summary":"The samplingStrategy controls which seed samples are shown to the model as in-context examples: random (a varied subset, the default) or slidingWindow (sequential, for datasets with meaningful order).","end":611},{"start":611,"title":"Validating synthetic samples","summary":"A validator closure accepts or rejects each generated sample in isolation against systematic rules: review length at least 100 characters, 3 to 8 tags, lowercase tags. Valid samples collect in samples, rejects in invalidSamples, both updated in real time.","end":784},{"start":784,"title":"Comparing evaluation results","summary":"Using the Xcode 27 Evaluations Report, compare the 13-sample run against the 100-sample run. The quality scores drop, the feature only looked good on the small dataset, and a drop can signal issues in the prompt, the feature, the evaluation, or the dataset.","end":909},{"start":909,"title":"Tool calling and tool evaluations","summary":"Tool evaluations: features often take multiple behind-the-scenes tool calls, and a plausible answer can come from the wrong path. Tool evaluations verify the how: correct tools, correct arguments, correct order, no surprises, illustrated with searchBooks, getBookDetails, and findSimilarBooks.","end":1134},{"start":1134,"title":"Trajectory expectations","summary":"A TrajectoryExpectation checks the kind and order of tool calls in a session transcript. Refine with argument matchers (exact, naturalLanguage, contains, oneOf, pattern, range), plus ordered expectations and a disallowed set for tools that must not be called.","end":1286},{"start":1286,"title":"Building a tool call evaluation","summary":"Bring the trajectory expectations together: a dataset of samples (each a prompt plus expectation) scored by ToolCallEvaluator, which combines a LanguageModelSession with the tools, captures the structured transcript, and reports alongside your other results in Xcode.","end":1322},{"start":1322,"title":"Synthetic data for tool evaluations","summary":"Because ModelSample and TrajectoryExpectation are Generable, you can synthesize tool-evaluation samples too, describing the available tools, order expectations, and context in the prompt, then validating that each sample has an expectation, at least one tool, and only real tools.","end":1429},{"start":1429,"title":"Next steps","summary":"Run BookTaggingEvaluation (what the model produces) and tool evaluations (how it gets there) in one suite for end-to-end confidence. Next steps: create your own synthetic data, evaluate your app's custom tools, and explore the sample app and documentation.","end":1288}]},"related":{"resources":[4283,4147,4146,4145]}},"wwdc2026-359":{"id":"wwdc2026-359","staticContentId":10909,"eventContentId":359,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T14:21:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/359","languageCode":"eng","description":"Discover how to integrate machine learning into your real-time rendering pipeline using Metal 4. We\u2019ll explore practical adoption patterns and best practices for achieving production-quality results with MetalFX neural denoising, featuring real-world insights from Maxon\u2019s Redshift Live. Learn how to train and deploy a neural tone mapper using the ML command encoder inline with your graphics work. Finally, dive into the new tensor API to build and evaluate small, specialized neural networks directly within your shaders.","title":"Build real-time neural rendering pipelines with Metal","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":91,"topicIds":[94,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DD5E6D89-530D-4D14-A65D-9A1A843C932A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/359\/5\/9da4a720-0dcb-4b8e-b61b-ba8310a61f29\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/359\/5\/9da4a720-0dcb-4b8e-b61b-ba8310a61f29\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/359\/5\/9da4a720-0dcb-4b8e-b61b-ba8310a61f29\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/359\/5\/9da4a720-0dcb-4b8e-b61b-ba8310a61f29\/downloads\/wwdc2026-359_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/359\/5\/9da4a720-0dcb-4b8e-b61b-ba8310a61f29\/downloads\/wwdc2026-359_sd.mp4","duration":1336,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"An overview of how machine learning is transforming real-time rendering pipelines on Apple platforms, and a preview of three levels of ML integration: MetalFX Denoising, deploying custom networks with Metal 4, and building tiny networks inline in shaders with tensorOps.","end":136},{"start":136,"title":"MetalFX Denoising","summary":"How to integrate MetalFX Denoising into a path tracer running at one sample per pixel. Covers auxiliary inputs (albedo, depth, motion vectors), best practices for clean inputs, transparency overlays, the denoiser strength mask, and primary surface replacement for mirrors and glass \u2014 illustrated with Redshift Live from Maxon.","end":597},{"start":597,"title":"Deploy custom ML networks with Metal 4","summary":"How to train a neural tone mapper offline (e.g., HDRNet), export it to Metal Performance Shaders Graph, and execute it inside a Metal 4 command buffer alongside your existing rendering passes to replace complex post-processing pipelines with a single network.","end":820},{"start":820,"title":"Inline neural networks with tensorOps","summary":"How to build and run small multilayer perceptrons directly inside Metal shaders using the TensorOps API and cooperative tensors. Demonstrates an online-trained sky visibility probe that adapts to dynamic scenes each frame \u2014 enabling ML inference and training that runs alongside your existing compute and render work.","end":1255},{"start":1255,"title":"Next steps","summary":"A recap of the three levels of ML integration in rendering pipelines, and guidance on where to start: download Xcode, explore Metal 4 sample code, and adopt MetalFX denoising for real-time applications first.","end":1336}]},"related":{"activities":["wwdc2025-211","wwdc2025-262","wwdc2026-8037"],"resources":[4347,4186,4119,4035]}},"wwdc2026-325":{"id":"wwdc2026-325","staticContentId":10871,"eventContentId":325,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/325","languageCode":"eng","description":"Dive into the complete custom model deployment workflow for Apple silicon with the new Core AI framework. Discover powerful techniques for authoring models using custom Metal kernels, alongside platform-aware compression strategies. The new Core AI Debugger offers deep intrinsic analysis, and AI-assisted workflows guide you from initial concept to optimized on-device execution.","title":"Dive into Core AI model authoring and optimization","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"62D120FD-13BF-4EC8-9BE5-1299B1A99824","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/325\/5\/8d08c9d4-3c64-49e1-8590-8b76bd9ad4cb\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/325\/5\/8d08c9d4-3c64-49e1-8590-8b76bd9ad4cb\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/325\/5\/8d08c9d4-3c64-49e1-8590-8b76bd9ad4cb\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/325\/5\/8d08c9d4-3c64-49e1-8590-8b76bd9ad4cb\/downloads\/wwdc2026-325_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/325\/5\/8d08c9d4-3c64-49e1-8590-8b76bd9ad4cb\/downloads\/wwdc2026-325_sd.mp4","duration":1761,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Overview of Core AI's complete Python ecosystem for model deployment on Apple Silicon \u2014 covering the model lifecycle from optimization and conversion through debugging and app integration.","end":109},{"start":109,"title":"Models and skills","summary":"Introduction to the coreai-models open-source repository \u2014 ready-to-go model architectures, reusable components, and agent skills you can install into your coding assistant to leverage Core AI best practices from day one.","end":207},{"start":207,"title":"Python workflow","summary":"How to convert a PyTorch model to Core AI using coreai-torch \u2014 exporting a program with torch.export, running TorchConverter with input\/output names, saving as an .aimodel asset, and performing inference from Python with numpy inputs.","end":354},{"start":354,"title":"Model optimization","summary":"How to compress models using coreai-opt's config-driven optimization library \u2014 demonstrated on SAM3 (850M parameters) using int4 per-channel symmetric quantization presets, reducing the model from 3GB to 430MB, and understanding the trade-offs of aggressive uniform compression.","end":640},{"start":640,"title":"Core AI Debugger","summary":"Introduction to Core AI Debugger \u2014 a standalone app for inspecting models on Apple platforms. Covers the navigator (PyTorch module hierarchy), structure viewer (operation graph), source viewer (original Python code), inspector (tensor details), and how to run a model on-device to inspect intermediate tensor outputs.","end":1167},{"start":1167,"title":"Advanced authoring","summary":"How advanced model authoring goes beyond end-to-end conversion \u2014 fusing multiple operations into a single kernel dispatch, and leveraging Core AI's pre-packaged fast kernels for heavy operations like Scaled Dot Product Attention.","end":1243},{"start":1243,"title":"Custom Metal kernels","summary":"How to embed custom Metal Shading Language kernels directly into a Core AI model asset \u2014 writing a PyTorch reference function alongside an MSL kernel, registering a TorchMetalKernel with TorchConverter, and shipping the kernel bundled inside the .aimodel file.","end":1381},{"start":1381,"title":"Model re-authoring","summary":"How to re-author a PyTorch model from scratch for power-efficient execution on iOS \u2014 demonstrated on SAM3 by splitting into three independent functions (image_encode, text_encode, detect), using convolutional projections and channels-first layouts, applying 4-bit palettization to the encoders, and achieving faster second inference by reusing cached image embeddings.","end":1726},{"start":1726,"title":"Next steps","summary":"Summary of the Core AI Python toolchain: convert with coreai-torch, optimize with coreai-opt, debug with Core AI Debugger, build on coreai-models examples, and use Core AI Skills in your coding agent.","end":1761}]},"related":{"activities":["wwdc2026-233","wwdc2026-232","wwdc2026-328"],"resources":[4292,4291,4282,4268,4267,4266]}},"wwdc2026-254":{"id":"wwdc2026-254","staticContentId":10777,"eventContentId":254,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/254","languageCode":"eng","description":"Bring the power of Apple Music into your app using MusicKit. We\u2019ll cover authorization, subscription-status checks, music selection, playback control, and cross-storefront song sharing. Learn how to use the new Music Picker to let people browse the Apple Music catalog and their personal libraries. We\u2019ll also break down the differences between SystemMusicPlayer and ApplicationMusicPlayer, and show you how to observe playback state. ","title":"Integrate MusicKit into your app","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":84,"topicIds":[99,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B8490021-03D2-483F-B1A9-A5018E2AE932","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/254\/5\/d4b2c60a-8a2a-41d1-a55a-0fd60d927798\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/254\/5\/d4b2c60a-8a2a-41d1-a55a-0fd60d927798\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/254\/5\/d4b2c60a-8a2a-41d1-a55a-0fd60d927798\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/254\/5\/d4b2c60a-8a2a-41d1-a55a-0fd60d927798\/downloads\/wwdc2026-254_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/254\/5\/d4b2c60a-8a2a-41d1-a55a-0fd60d927798\/downloads\/wwdc2026-254_sd.mp4","duration":1266,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"An introduction to MusicKit and an overview of how to build a music-enhanced workout app using Swift concurrency and SwiftUI.","end":131},{"start":131,"title":"Project setup and authorization","summary":"Learn how to configure your Xcode project with the necessary capabilities, request music library authorization, and present Apple Music subscription offers to users.","end":430},{"start":430,"title":"Music items and music picker","summary":"Explore the properties and relationships of MusicKit music items, and use the music picker view modifier to let users browse and select songs from the Apple Music catalog or their own library.","end":654},{"start":654,"title":"Music players and playback","summary":"Dive into using SystemMusicPlayer and ApplicationMusicPlayer. Discover how to set up playback queues, observe playback state, and build UI controls for playback in SwiftUI.","end":986},{"start":986,"title":"Catalog requests","summary":"Use structured catalog requests like MusicCatalogResourceRequest to fetch curated Apple Music content, and learn how to handle localization and content equivalency.","end":1211},{"start":1211,"title":"Next steps","summary":"A quick recap of MusicKit capabilities and pointers to related sessions for further learning.","end":1266}]},"related":{"activities":["wwdc2022-110347","wwdc2022-10148","wwdc2023-10149"],"resources":[4311,4120,1607]}},"wwdc2026-272":{"id":"wwdc2026-272","staticContentId":10797,"eventContentId":272,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-22T21:26:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/272","languageCode":"eng","description":"Discover how to incrementally adopt SwiftUI in your existing AppKit or UIKit app. We\u2019ll show you how to use the Observation framework to automatically update your views, integrate SwiftUI components into an existing view hierarchy, and bring gesture recognizers into SwiftUI. We\u2019ll also explore how to add complete SwiftUI scenes to your app without changing your overall architecture.","title":"Use SwiftUI with AppKit and UIKit","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["screenshots"],"primaryTopicID":100,"topicIds":[83,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E0471285-B32C-4B5B-9592-DDBF87A3699C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/272\/5\/e1e4aa9a-cbe2-4f83-9cea-3dcaae19afd6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/272\/5\/e1e4aa9a-cbe2-4f83-9cea-3dcaae19afd6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/272\/5\/e1e4aa9a-cbe2-4f83-9cea-3dcaae19afd6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/272\/5\/e1e4aa9a-cbe2-4f83-9cea-3dcaae19afd6\/downloads\/wwdc2026-272_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/272\/5\/e1e4aa9a-cbe2-4f83-9cea-3dcaae19afd6\/downloads\/wwdc2026-272_sd.mp4","duration":843,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"How SwiftUI is designed to work alongside existing AppKit and UIKit apps \u2014 already used in Logic Pro plugins, Xcode's Coding Assistant, and even AppKit controls like NSSlider, NSSwitch, and NSSegmentedControl. Previews the agenda using a sample lighting-control app: Observation in AppKit, hosting SwiftUI in AppKit, AppKit gestures in SwiftUI, SwiftUI in the main menu, and SwiftUI scenes in AppKit.","end":153},{"start":153,"title":"Observation in AppKit","summary":"Replace manual needsDisplay invalidation with automatic updates by adopting @Observable on your model. AppKit (and UIKit) automatically track property reads in draw, updateConstraints, layout, updateLayer, and their NSViewController equivalents \u2014 so dependent views redraw when the model changes. Back-deployable to macOS 15 \/ iOS 18 via NSObservationTrackingEnabled \/ UIObservationTrackingEnabled, and on by default with the 2026 releases.","end":341},{"start":341,"title":"Hosting SwiftUI in AppKit","summary":"When a new feature would require very different drawing or interaction code, it's a good moment to move to SwiftUI. Reimplement the color picker as a SwiftUI Canvas \u2014 an immediate-mode drawing API similar to drawRect, with withCGContext for reusing existing CoreGraphics code \u2014 then embed the SwiftUI view in the existing AppKit hierarchy with NSHostingView.","end":468},{"start":468,"title":"AppKit gestures in SwiftUI","summary":"Reuse an existing NSGestureRecognizer subclass directly in a SwiftUI view via the new NSGestureRecognizerRepresentable protocol. Implement makeNSGestureRecognizer and handleNSGestureRecognizerAction, then attach it with the standard .gesture modifier \u2014 shown adding a Force Click to reset brightness and saturation alongside an existing drag gesture.","end":556},{"start":556,"title":"SwiftUI in the main menu","summary":"Build a menu in SwiftUI as a regular View \u2014 Buttons with actions, keyboard shortcuts, and a palette-style Picker \u2014 then add it to the AppKit main menu using NSHostingMenu (an NSMenu subclass) wrapped in an NSMenuItem. Ensures features like the Force Click reset are also available to people on input devices that don't support force gestures.","end":690},{"start":690,"title":"SwiftUI scenes in AppKit","summary":"Use NSHostingSceneRepresentation to add complete SwiftUI scenes to an app with the AppKit lifecycle. Add a MenuBarExtra for quick light controls, and a Settings scene with a Toggle that inserts or removes the MenuBarExtra dynamically \u2014 all from your existing NSApplicationDelegate.","end":784},{"start":784,"title":"Next steps","summary":"Start using @Observable to keep models and NSViews in sync, consider SwiftUI for new views, reuse existing gestures via the representable protocol, and use SwiftUI for new scenes. There's no expectation that an app needs to be entirely SwiftUI to take advantage of it.","end":843}]},"related":{"activities":["wwdc2025-243","wwdc2021-10021","wwdc2026-322","wwdc2022-10072","wwdc2022-10075","wwdc2022-10061"],"resources":[4357,4356]}},"wwdc2026-303":{"id":"wwdc2026-303","staticContentId":10847,"eventContentId":303,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-06T11:22:53-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/303","languageCode":"eng","description":"Discover how to build a camera app that launches instantly so people never miss the perfect shot. Explore how to optimize the entire camera launch sequence \u2014 from app startup to first preview frame. Ensure your app has a polished camera experience by learning about new API\u2019s that deliver faster launches, and best practices for smooth preview rendering and maintaining sustainable performance.","title":"Build a responsive camera app that launches quickly","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":95,"topicIds":[84,95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"959D3659-4F6D-4E1C-B940-0303A2016467","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/303\/5\/fb6dc55a-c026-4ce1-9902-7a744fef4c99\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/303\/5\/fb6dc55a-c026-4ce1-9902-7a744fef4c99\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/303\/5\/fb6dc55a-c026-4ce1-9902-7a744fef4c99\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/303\/5\/fb6dc55a-c026-4ce1-9902-7a744fef4c99\/downloads\/wwdc2026-303_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/303\/5\/fb6dc55a-c026-4ce1-9902-7a744fef4c99\/downloads\/wwdc2026-303_sd.mp4","duration":1520,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Why a fast-appearing preview frame is the single biggest factor in a camera launch feeling responsive, and what the session covers \u2014 accelerating launch, rendering best practices, and capturing the moment without missing it.","end":122},{"start":122,"title":"Fast Launch","summary":"Learn how to minimize UI overhead and explore best practices for creating and configuring AVCaptureSession to get the camera preview on screen faster.","end":412},{"start":412,"title":"Adopt deferred start","summary":"Discover the deferred start API that allows you to defer the initialization of expensive capture outputs until after the preview is running, featuring both automatic and manual modes.","end":906},{"start":906,"title":"Steady preview","summary":"Explore best practices for rendering preview frames, comparing the simplicity of AVCaptureVideoPreviewLayer against the flexibility of AVCaptureVideoDataOutput.","end":1084},{"start":1084,"title":"Sustained performance","summary":"Learn how to assess hardware cost and adapt to system pressure using new APIs to maintain a smooth and responsive camera experience under demanding conditions.","end":1274},{"start":1274,"title":"Deterministic file writing","summary":"Adopt the AVProVideoStorage API to achieve sustained high-bandwidth input\/output required for high data-rate video captures like ProRes.","end":1520}]},"related":{"activities":["wwdc2026-304","wwdc2023-10105"],"resources":[4306,3989,227]}},"wwdc2026-400":{"id":"wwdc2026-400","staticContentId":11176,"eventContentId":400,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-12T07:29:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/400","languageCode":"eng","description":"Swift keeps getting better. Today we explore the latest language updates, what they unlock for your code, and why this is an exciting moment to be a Swift developer \u2014 with a special guest to help us go deeper.","title":"Dub Dub Daily: Day 5","originalPublishingDate":"2026-06-12T07:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","primaryTopicID":90,"topicIds":[90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B784C584-A047-47C4-ABD3-10BF8ABA74E2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/400\/2\/71024f51-e63d-4684-b97c-39b7b148238f\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/400\/2\/71024f51-e63d-4684-b97c-39b7b148238f\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/400\/2\/71024f51-e63d-4684-b97c-39b7b148238f\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/400\/2\/71024f51-e63d-4684-b97c-39b7b148238f\/downloads\/wwdc2026-400_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/400\/2\/71024f51-e63d-4684-b97c-39b7b148238f\/downloads\/wwdc2026-400_sd.mp4","duration":460,"availableAudioLanguageCodes":["eng"]}},"wwdc2026-251":{"id":"wwdc2026-251","staticContentId":10774,"eventContentId":251,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/251","languageCode":"eng","description":"Explore practical approaches to branding using typography, color, components, and interactions that balance the familiar with the unique.","title":"Communicate your brand identity on iOS","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6FEC9174-21F2-4CEC-9151-427D8CCB7470","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/251\/4\/52fb4c75-99ba-419f-90d6-bfef374ac966\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/251\/4\/52fb4c75-99ba-419f-90d6-bfef374ac966\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/251\/4\/52fb4c75-99ba-419f-90d6-bfef374ac966\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/251\/4\/52fb4c75-99ba-419f-90d6-bfef374ac966\/downloads\/wwdc2026-251_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/251\/4\/52fb4c75-99ba-419f-90d6-bfef374ac966\/downloads\/wwdc2026-251_sd.mp4","duration":1046,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Intro","summary":"An overview of how you can strike a balance between highlighting your brand while using familiar iOS patterns. Examples will cover 5 great apps that adapt their brand across the areas of components, content, color, typography and iconography. ","end":144},{"start":144,"title":"Components","summary":"With Liquid Glass in iOS 26, your app is represented in two distinct layers: the UI layer and the content layer. The content layer is the best place to express your unique brand identity awhile the UI layer should use standard components that people are already familiar with.","end":401},{"start":401,"title":"Content","summary":"Apps like Crumbl, Moonlitt, NYT Cooking, and Gentler Streak use full-bleed imagery, videos, words and animations to showcase their brand identity in their iOS apps.","end":709},{"start":709,"title":"Color","summary":"With iOS 26, we recommend moving brand color moments into the content area of your app and using it for a clear purpose: to indicate actions, status and feedback. Be mindful of how people customize their iPhones by supporting features like Dark Mode.","end":710},{"start":710,"title":"Typography","summary":"Typography is a great way to inject brand identity into an app. Support Dynamic Type settings when using custom fonts consider how apps like Gentler Streak are able to showcase their brand while using the default system fonts.","end":857},{"start":857,"title":"Iconography","summary":"Custom iconography is encouraged and looks great in components like tab bars and toolbars. Keep in mind platform conventions for certain actions differ across web and mobile platforms. SF Symbols has over 7,000 symbols you can use for free if you don't want to use custom icons.","end":1046}]},"related":{"resources":[3111]}},"wwdc2026-121":{"id":"wwdc2026-121","staticContentId":11252,"eventContentId":121,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-17T10:41:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/121","languageCode":"eng","description":"Introducing Siri AI in iOS 27, with more power than ever. Transform your images with next-generation AI. Create photorealistic imagery for wallpapers, Contact Posters, and backgrounds across the system in Image Playground. Use a more conversational Siri AI with natural language abilities to edit and write emails, texts, and documents. Keep your personal information safe with Siri AI and update compromised passwords with just a tap.","title":"Announcing Apple\u2019s next big step for Siri and iPhone","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["keynote","keynote 2026","recap"],"primaryTopicID":90,"topicIds":[90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"38B55087-BFD4-4BB1-ACCA-886082D37081","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/121\/1\/f1e6baa3-3c16-4944-abec-3525818a2702\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/121\/1\/f1e6baa3-3c16-4944-abec-3525818a2702\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/121\/1\/f1e6baa3-3c16-4944-abec-3525818a2702\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/121\/1\/f1e6baa3-3c16-4944-abec-3525818a2702\/downloads\/wwdc2026-121_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/121\/1\/f1e6baa3-3c16-4944-abec-3525818a2702\/downloads\/wwdc2026-121_sd.mp4","duration":91,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"]}},"wwdc2026-101":{"id":"wwdc2026-101","staticContentId":10994,"eventContentId":101,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-11T14:46:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/101","languageCode":"eng","description":"Don\u2019t miss the exciting reveal of the latest Apple software and technologies.","title":"Keynote","startTime":"2026-06-08T10:00:00-07:00","endTime":"2026-06-08T12:00:00-07:00","originalPublishingDate":"2026-06-08T10:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"FA3F83EF-A9BC-42AD-8790-C01F0F13A45A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/events-delivery.apple.com\/0601eknundukyswuegvjcidvurtztakr\/vod_main_vdhwwrygnmzydhppixlrqwduiqffztdw\/vod_main_vdhwwrygnmzydhppixlrqwduiqffztdw.m3u8","duration":4574,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["de","en","es","fr","ja","ko","pt-br","zh","zh-hk","zh-tw"],"chapters":[{"start":0,"title":"Introduction","end":304},{"start":304,"title":"Platform improvements","end":1016},{"start":1016,"title":"Trust and safety","end":1673},{"start":1673,"title":"Apple Intelligence and Siri","end":4574}]}},"wwdc2026-122":{"id":"wwdc2026-122","staticContentId":11177,"eventContentId":122,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-16T09:15:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/122","languageCode":"eng","description":"Catch up quickly on the newest advancements for your apps and games \u2014 all in five minutes.","title":"WWDC26 Platforms State of the Union Recap","originalPublishingDate":"2026-06-08T13:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","keywords":["recap","sotu","sotu 2026"],"primaryTopicID":90,"topicIds":[90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F45C6793-0CB4-424F-BF96-C36B61A6640F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/122\/3\/acc0a465-b6fa-446b-8f3f-dc122d862f47\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/122\/3\/acc0a465-b6fa-446b-8f3f-dc122d862f47\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/122\/3\/acc0a465-b6fa-446b-8f3f-dc122d862f47\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/122\/3\/acc0a465-b6fa-446b-8f3f-dc122d862f47\/downloads\/wwdc2026-122_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/122\/3\/acc0a465-b6fa-446b-8f3f-dc122d862f47\/downloads\/wwdc2026-122_sd.mp4","duration":272,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en"]}},"wwdc2026-250":{"id":"wwdc2026-250","staticContentId":10773,"eventContentId":250,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/250","languageCode":"eng","description":"Dive deep into fundamental design principles for Apple platforms.","title":"Principles of great design","originalPublishingDate":"2026-06-08T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":87,"topicIds":[82,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CA6CB08E-B5AA-4189-8721-BA9AFFAB2AD9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/250\/4\/ad804f32-2805-48aa-891c-8c742579acab\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/250\/4\/ad804f32-2805-48aa-891c-8c742579acab\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/250\/4\/ad804f32-2805-48aa-891c-8c742579acab\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/250\/4\/ad804f32-2805-48aa-891c-8c742579acab\/downloads\/wwdc2026-250_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/250\/4\/ad804f32-2805-48aa-891c-8c742579acab\/downloads\/wwdc2026-250_sd.mp4","duration":1036,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Intro","summary":"Design is more than aesthetics or behavior: it\u2019s making something with intention. Every feature asks for a person\u2019s time, attention, and trust, so choosing what not to build is just as important as what you do build.","end":68},{"start":68,"title":"Purpose","summary":"Purpose means designing experiences that genuinely serve people: ones that respect and adapt to their lives, are clear and considered, and at their best, a true joy to use. Before writing a line of code, ask whether what you\u2019re making has real purpose and delivers something people will truly value.","end":112},{"start":112,"title":"Agency","summary":"Agency means putting people in control. Let them explore at their own pace, avoid forcing them down predetermined paths, and build in forgiveness: easy undo and confirmation for destructive actions, so they feel confident and free to try things.","end":218},{"start":218,"title":"Responsibility","summary":"Acting responsibly means respecting privacy as a human right, asking only for what\u2019s necessary, and anticipating how features could cause harm. Safeguard people from bad outcomes, especially with AI, and remove features when the risks outweigh the value.","end":364},{"start":364,"title":"Familiarity","summary":"Familiarity lets people apply existing knowledge to your design. Use metaphors that aren\u2019t too literal or abstract, follow established conventions for common actions, and keep behavior consistent: things that look the same should work the same.","end":532},{"start":532,"title":"Flexibility","summary":"A flexible design adapts to the many different contexts, devices, and abilities of its users. Design for each platform\u2019s strengths, consider the full range of your audience, and let people personalize their experience when no single solution fits everyone.","end":673},{"start":673,"title":"Simplicity","summary":"Simplicity isn\u2019t minimalism: it\u2019s removing friction. Concise language, strong visual hierarchy, and clear affordances help people find what they need without effort. Every element should earn its place, and sometimes adding context makes an interface simpler.","end":822},{"start":822,"title":"Craft","summary":"Craft is the uncompromising attention to detail that builds trust. Beautiful typography, responsive animations, solid performance, and a commitment to iteration show people you care. Great design has longevity: keep evolving it as platforms and people\u2019s needs change.","end":947},{"start":947,"title":"Delight","summary":"Delight isn\u2019t confetti: it\u2019s the natural result of getting everything else right. Identify the emotion you want people to feel, then reinforce it through your design. When you combine all these principles with genuine care, you create something people truly love.","end":1036}]},"related":{"activities":["wwdc2017-802","wwdc2026-290"],"resources":[4159]}},"wwdc2026-358":{"id":"wwdc2026-358","staticContentId":10908,"eventContentId":358,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/358","languageCode":"eng","description":"Dive deeper into the techniques you can use to create compelling touch experiences for your games. We\u2019ll share expert insights from indie to AAA game development, explore best practices for intuitive touch controls, and show you how to take advantage of Apple technologies like Touch Controller framework and Metal for great performance. ","title":"Make your game great with touch","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7A9C7D51-DEF9-4C8E-A2B1-E771A34910A7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/358\/4\/fdd21d54-a233-49d4-8d00-4dc51284515d\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/358\/4\/fdd21d54-a233-49d4-8d00-4dc51284515d\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/358\/4\/fdd21d54-a233-49d4-8d00-4dc51284515d\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/358\/4\/fdd21d54-a233-49d4-8d00-4dc51284515d\/downloads\/wwdc2026-358_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/358\/4\/fdd21d54-a233-49d4-8d00-4dc51284515d\/downloads\/wwdc2026-358_sd.mp4","duration":1463,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"An overview of why great touch controls are essential for games on iOS and iPadOS, using Dredge by Black Salt Games as an example, and a preview of the four areas covered: setup, flexible layouts, fluid interactions, and player feedback.","end":102},{"start":102,"title":"Set up a touch controller","summary":"How the Touch Controller framework extends existing GCController support to touch input. Covers creating a TCTouchController from a descriptor, enabling it, and how it appears as a standard GCController object so existing game input code requires minimal changes.","end":292},{"start":292,"title":"Design flexible layouts","summary":"How to place touch controls comfortably across all iOS and iPadOS screen sizes using the framework's nine anchor points and section grouping. Covers reading UIKit safe area insets and strategies for positioning controls \u2014 near thumbs for frequent actions, top of screen for less critical ones \u2014 to avoid obscuring gameplay.","end":617},{"start":617,"title":"Design fluid interactions","summary":"How to make touch controls feel native rather than like a direct controller overlay. Covers contextual icons that reflect current game state, hiding unavailable controls, replacing complex overlays with direct touch input, full-screen thumbstick collider shapes for easier character movement, sprint detection via thumbstick tilt magnitude, and using TCTouchpad for smooth camera control.","end":1276},{"start":1276,"title":"Provide rich feedback","summary":"How to give players clear feedback during touch interactions using built-in press states, custom visual effects like a glowing thumbstick halo during sprint, and strategies for simplifying complex multi-finger actions like QTEs and aim-to-release power throws into single, intuitive controls.","end":1429},{"start":1429,"title":"Next steps","summary":"Guidance on getting started: design your touch controls with the Touch Controller framework, test on multiple device sizes, and iterate based on player feedback to make your game feel brand new on iPhone and iPad.","end":1463}]},"related":{"activities":["meet-with-apple-243","meet-with-apple-240","wwdc2026-8040"]}},"wwdc2026-243":{"id":"wwdc2026-243","staticContentId":10766,"eventContentId":243,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/243","languageCode":"eng","description":"Explore the enhanced FoundationModels instrument in Xcode to inspect behavior and optimize the performance of agentic flows. Learn how to inspect prompts, analyze latency, and trace control flow in advanced use cases that leverage multiple LanguageModelSessions and profiles.","title":"Debug and profile agentic app experiences with Instruments","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ai","debug","machine learning","xcode"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DB6B2AC7-AAD3-4257-A5BF-7F26B1979390","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/243\/4\/127c397a-8124-4f3d-ad18-ac2a1d275803\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/243\/4\/127c397a-8124-4f3d-ad18-ac2a1d275803\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/243\/4\/127c397a-8124-4f3d-ad18-ac2a1d275803\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/243\/4\/127c397a-8124-4f3d-ad18-ac2a1d275803\/downloads\/wwdc2026-243_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/243\/4\/127c397a-8124-4f3d-ad18-ac2a1d275803\/downloads\/wwdc2026-243_sd.mp4","duration":860,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Overview of how the Foundation Models Instruments template helps debug and profile agentic app experiences built with the Foundation Models framework, including Dynamic Instructions and tool call loops.","end":117},{"start":117,"title":"LLM app development mindset","summary":"The three challenges unique to LLM app development: probabilistic output (non-deterministic responses that break standard unit testing), model-to-model communication (coordinating data flow across multiple models), and observability (knowing where things went wrong in a multi-model pipeline).","end":239},{"start":239,"title":"Inspect and diagnose an agentic experience","summary":"Introduction to the craft companion demo app \u2014 a journaling app with an interactive brainstorming feature that uses two sets of Dynamic Instructions: one for idea generation and one for tutorial creation, both backed by the server model on Private Cloud Compute.","end":302},{"start":302,"title":"Recording a trace with Instruments","summary":"How to start profiling with the Foundation Models template in Instruments \u2014 selecting the template, recording a session, and an important note about sensitive prompt data in trace files.","end":364},{"start":364,"title":"Navigating the Instruments UI","summary":"A walkthrough of the Foundation Models instrument layout: tracks and lanes on the timeline (including the instructions lane and model inference lane with yellow\/orange bars), the detail view, and the inspector \u2014 and how to use the tree view to inspect sessions, requests, inferences, and tool calls.","end":727},{"start":727,"title":"Performance metrics","summary":"How to measure and optimize LLM experience performance using three key metrics: time-to-first-token (reduce by shortening prompts), tokens-per-second (benchmark across configurations), and total latency (reduce perceived wait with streaming).","end":784},{"start":784,"title":"Next steps","summary":"Summary of what was covered, requirements to get started (Xcode 27 and latest OS), and pointers to related sessions on the Evaluations Framework and Agentic App Experiences.","end":860}]},"related":{"activities":["wwdc2026-334","wwdc2026-339","wwdc2026-319","wwdc2026-241","wwdc2026-242"],"resources":[4135]}},"wwdc2026-111":{"id":"wwdc2026-111","staticContentId":10995,"eventContentId":111,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T12:07:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/111","languageCode":"eng","description":"Don\u2019t miss the exciting reveal of the latest Apple software and technologies.","title":"Keynote (ASL)","startTime":"2026-06-08T10:00:00-07:00","endTime":"2026-06-08T12:00:00-07:00","originalPublishingDate":"2026-06-08T10:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["asl"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"4495F26F-8BF1-479F-AD47-5D51F68AE656","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/events-delivery.apple.com\/0601eknundukyswuegvjcidvurtztakr\/vod_asl_xywfnqqbxvfzvwqytojhyuvrfwjxgkqr\/vod_asl_xywfnqqbxvfzvwqytojhyuvrfwjxgkqr.m3u8","duration":4574,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["de","en","es","fr","ja","ko","pt-br","zh","zh-hk","zh-tw"],"chapters":[{"start":0,"title":"Introduction","end":304},{"start":304,"title":"Platform improvements","end":1016},{"start":1016,"title":"Trust and safety","end":1673},{"start":1673,"title":"Apple Intelligence and Siri","end":4574}]}},"wwdc2026-399":{"id":"wwdc2026-399","staticContentId":11175,"eventContentId":399,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-11T07:07:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/399","languageCode":"eng","description":"Your tools just got a serious upgrade. We\u2019re covering Xcode and the developer toolchain designed to help you build faster and smarter \u2014 with a special guest who knows what it takes to make developers more productive.","title":"Dub Dub Daily: Day 4","originalPublishingDate":"2026-06-11T07:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","primaryTopicID":90,"topicIds":[90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"025970D1-7559-439E-BC0D-FB40E3F8BBB5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/399\/2\/3b82f5d9-fdd9-47cd-862b-8d6c6d9ffa02\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/399\/2\/3b82f5d9-fdd9-47cd-862b-8d6c6d9ffa02\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/399\/2\/3b82f5d9-fdd9-47cd-862b-8d6c6d9ffa02\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/399\/2\/3b82f5d9-fdd9-47cd-862b-8d6c6d9ffa02\/downloads\/wwdc2026-399_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/399\/2\/3b82f5d9-fdd9-47cd-862b-8d6c6d9ffa02\/downloads\/wwdc2026-399_sd.mp4","duration":397,"availableAudioLanguageCodes":["eng"]}},"wwdc2026-372":{"id":"wwdc2026-372","staticContentId":10929,"eventContentId":372,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/372","languageCode":"eng","description":"Craft a canvas-based application with PaperKit. Explore the new data model APIs that let you access, create, and modify markup elements. Learn how to add custom controls and annotations, and discover best practices for integrating these features into your app to build a fully featured creative canvas.","title":"Unwrap PaperKit","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["\ud83c\udf88","paper"],"primaryTopicID":83,"topicIds":[100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4C1F7C67-D2D9-437D-996E-09DE396732DC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/372\/4\/012a7de6-cf54-420f-aaf7-02ea568485bf\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/372\/4\/012a7de6-cf54-420f-aaf7-02ea568485bf\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/372\/4\/012a7de6-cf54-420f-aaf7-02ea568485bf\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/372\/4\/012a7de6-cf54-420f-aaf7-02ea568485bf\/downloads\/wwdc2026-372_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/372\/4\/012a7de6-cf54-420f-aaf7-02ea568485bf\/downloads\/wwdc2026-372_sd.mp4","duration":459,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Meet PaperKit, the canvas behind Notes, Preview, and Freeform, now open to your apps in iOS, macOS, and visionOS 27 \u2014 covering the data model, elements, and adornments.","end":82},{"start":82,"title":"Data model","summary":"PaperMarkup's new subelements property exposes every canvas element as a readable, writable ordered set, and allowedInteractions gives fine-grained control over what each element permits.","end":221},{"start":221,"title":"Elements","summary":"Each element has a concrete type \u2014 shapes, images, links, loupes, and pencil strokes \u2014 with its own properties, and PaperKit builds on PencilKit so Apple Pencil strokes become markup elements.","end":317},{"start":317,"title":"Adornments","summary":"Markup adornments are visual overlays anchored to canvas coordinates \u2014 ideal for buttons, annotations, and collaboration UI \u2014 that track zoom and scroll and stay separate from persisted markup.","end":431},{"start":431,"title":"Next steps","summary":"Building a fully interactive canvas experience with PaperKit \u2014 using the data model to read and modify canvas contents, and adding adornments for interactive overlays tailored to your app.","end":459}]},"related":{"activities":["wwdc2026-203","wwdc2026-375","wwdc2025-285"],"resources":[3972]}},"wwdc2026-382":{"id":"wwdc2026-382","staticContentId":10950,"eventContentId":382,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-17T10:10:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/382","languageCode":"eng","description":"Step inside Steve Jobs Theater to discover the latest Apple Intelligence and Xcode advancements. Learn how to accelerate your development with new agentic coding workflows in Xcode 27, and discover how App Intents enable Siri to understand context and take action inside your app. Find out how to ship intelligent features using the Foundation Models framework, deploy custom on-device models with Core AI, and scale your machine learning research and training using MLX. ","title":"Inside Apple Intelligence and Xcode: Special Presentation","originalPublishingDate":"2026-06-17T09:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":90,"topicIds":[94,88,90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1FAC8E79-5027-4CA4-A513-B764D15FC6B2","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/382\/1\/a1dfe905-059c-45b1-b109-e68230f76399\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/382\/1\/a1dfe905-059c-45b1-b109-e68230f76399\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/382\/1\/a1dfe905-059c-45b1-b109-e68230f76399\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/382\/1\/a1dfe905-059c-45b1-b109-e68230f76399\/downloads\/wwdc2026-382_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/382\/1\/a1dfe905-059c-45b1-b109-e68230f76399\/downloads\/wwdc2026-382_sd.mp4","duration":5272,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"],"chapters":[{"start":1,"title":"Welcome","summary":"Learn about the latest advancements in machine learning and intelligence, including agentic coding in Xcode 27, App Intents, the Foundation Models framework, Core AI, and MLX. ","end":450},{"start":450,"title":"Xcode 27","summary":"New agentic coding workflows act as a collaborator across your entire codebase, featuring capabilities for planning, building SwiftUI views, localizing string catalogs, and extending tools with plugins. ","end":1607},{"start":1607,"title":"App Intents","summary":"Model your app\u2019s data and capabilities as entities, and tap into powerful capabilities like entity annotations, interaction donations, and the semantic index so Siri can take action driven entirely by natural language. ","end":2604},{"start":2604,"title":"Foundation Models framework","summary":"Expanded APIs for integrating large language models directly into your apps, including support for multimodal image input, Private Cloud Compute, third-party models, and the new Evaluations framework. ","end":3680},{"start":3680,"title":"Core AI","summary":"The next evolution of on-device AI execution, covering its modern Swift API, Python conversion tools, Ahead-of-time compilation, and deep customization capabilities for optimizing performance on Apple silicon. ","end":4426},{"start":4426,"title":"MLX","summary":"Advanced machine learning and numerical computing on Apple silicon, featuring support for multiple programming languages and new distributed computing capabilities to scale massive workloads across multiple Macs. ","end":5161},{"start":5161,"title":"Next steps","summary":"Key takeaways and recommended next steps: explore over 100 sessions, join Group Labs online or in person, and utilize the new AI-powered search on the Apple Developer website. ","end":5272}]},"related":{"activities":["wwdc2026-259","wwdc2026-343","wwdc2026-241","wwdc2026-298","wwdc2026-324","wwdc2026-232"],"resources":[4338,4329,4266,4196,4060,2399]}},"wwdc2026-379":{"id":"wwdc2026-379","staticContentId":10943,"eventContentId":379,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-11T07:35:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/379","languageCode":"eng","description":"Uncover how Trust Insights can help protect people from social scams and coercion. Explore how this new framework uses privacy-preserving machine learning to detect when someone may be coached into risky actions. Find out how to integrate Trust Insights into your app, interpret its signals, and design thoughtful interventions that safeguard people while respecting their privacy.","title":"Meet Trust Insights","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["\ud83c\udf88"],"primaryTopicID":96,"topicIds":[89,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"91B79F23-C28F-4E46-A066-887CB2AD6EE2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/379\/4\/e12c4703-5c00-44f7-a5f8-80f6e5b7ebd5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/379\/4\/e12c4703-5c00-44f7-a5f8-80f6e5b7ebd5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/379\/4\/e12c4703-5c00-44f7-a5f8-80f6e5b7ebd5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/379\/4\/e12c4703-5c00-44f7-a5f8-80f6e5b7ebd5\/downloads\/wwdc2026-379_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/379\/4\/e12c4703-5c00-44f7-a5f8-80f6e5b7ebd5\/downloads\/wwdc2026-379_sd.mp4","duration":837,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Meet Trust Insights, a new iOS 27 framework that helps your app detect coercion and social engineering.","end":155},{"start":155,"title":"Generating insights","summary":"Integrating Trust Insights with its client-side Swift API \u2014 declaring the entitlement, building a parameter pack of requested insights, and using the InsightEvaluator with an operation category that determines which model logic applies.","end":410},{"start":410,"title":"Feedback requirements","summary":"The two required types of feedback that keep insights accurate \u2014 mandatory real-time consumption feedback reporting how your app responded, and offline feedback for transactions that later prove fraudulent.","end":565},{"start":565,"title":"Privacy","summary":"Understand how Trust Insights minimizes data, keeps signals on device, and gives users full control.","end":634},{"start":634,"title":"Best practices","summary":"Learn where Trust Insights adds the most value and how to combine it with your existing risk logic.","end":768},{"start":768,"title":"Next steps","summary":"Adopting Trust Insights \u2014 identify moments where it can work alongside your existing logic, follow the documentation and best practices, and register on Apple Business Register to learn about Partner Data Services.","end":837}]},"related":{"activities":["wwdc2026-201"],"resources":[4238]}},"wwdc2026-271":{"id":"wwdc2026-271","staticContentId":10796,"eventContentId":271,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/271","languageCode":"eng","description":"Follow along as we build a game of Solitaire to explore the latest drag-and-drop capabilities in SwiftUI. We\u2019ll show you how to use the new reordering API to let people arrange content, implement drag containers to move multiple items at once, and customize the drag-and-drop lifecycle to fit your app\u2019s rules. To get the most out of this session, watch \u201cMeet Transferable\u201d from WWDC22.","title":"Code-along: Build powerful drag and drop in SwiftUI","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["screenshots"],"primaryTopicID":100,"topicIds":[83,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D04863E4-782C-4492-9ECB-C4B34F76228C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/271\/5\/07f08d32-e28e-476f-8ebe-a3600b2e917c\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/271\/5\/07f08d32-e28e-476f-8ebe-a3600b2e917c\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/271\/5\/07f08d32-e28e-476f-8ebe-a3600b2e917c\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/271\/5\/07f08d32-e28e-476f-8ebe-a3600b2e917c\/downloads\/wwdc2026-271_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/271\/5\/07f08d32-e28e-476f-8ebe-a3600b2e917c\/downloads\/wwdc2026-271_sd.mp4","duration":921,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","tr","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"SwiftUI's expanded drag and drop in the 2027 releases \u2014 reorderable views, multi-item drags, and drag configuration \u2014 previewed through the Solitaire game used throughout the code-along.","end":102},{"start":102,"title":"Reordering","summary":"Adopt the new reorderable and reorderContainer modifiers to let people rearrange content with drag and drop. Demonstrated by enabling card reordering across all piles in a Solitaire app and excluding face-down cards from the interaction.","end":410},{"start":410,"title":"Drag multiple items","summary":"Use the drag container API to lift several items at once based on a selection. Customize how previews appear during the drag and at the drop destination with dragPreviewsFormation and dropPreviewsFormation \u2014 shown picking up and stacking multiple Solitaire cards.","end":599},{"start":599,"title":"Drag configuration","summary":"Express intent for how data transfers between a drag source and a drop destination. Use dragConfiguration to specify move (vs. copy) on the source, and dropConfiguration on the destination to have the final say \u2014 used to move a card from the deck into a pile without duplication.","end":869},{"start":869,"title":"Next steps","summary":"Recap: make your content reorderable, allow people to drag multiple items at once, and express intent with drag and drop configurations.","end":921}]},"related":{"activities":["wwdc2022-10062"],"resources":[4165,19]}},"wwdc2026-222":{"id":"wwdc2026-222","staticContentId":10733,"eventContentId":222,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/222","languageCode":"eng","description":"Find and fix performance problems faster than ever. Join us to explore how MetricKit equips you with vital performance metrics and actionable diagnostics to help you understand exactly where your app has opportunities for improvements. We\u2019ll also cover how to intersect your app\u2019s metrics and diagnostics by app state by using the StateReporting framework, providing you with the full picture to investigate optimizations in your app\u2019s experience.","title":"Meet the new MetricKit","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[88,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FD0DFE78-D395-4E3C-AC95-21DC3FF56483","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/222\/4\/86b76599-f095-4bd8-8004-f1dbd1bacb84\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/222\/4\/86b76599-f095-4bd8-8004-f1dbd1bacb84\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/222\/4\/86b76599-f095-4bd8-8004-f1dbd1bacb84\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/222\/4\/86b76599-f095-4bd8-8004-f1dbd1bacb84\/downloads\/wwdc2026-222_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/222\/4\/86b76599-f095-4bd8-8004-f1dbd1bacb84\/downloads\/wwdc2026-222_sd.mp4","duration":1063,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":1,"title":"Introduction","summary":"MetricKit is a framework that provides metrics and diagnostics for monitoring real-world app performance. In iOS 27, the framework has been rebuilt from the ground up with a new Swift-first API and new features including Metal frame rate metrics, memory exception diagnostics, and granular data with state reporting.","end":247},{"start":247,"title":"Metrics","summary":"MetricKit delivers daily reports containing performance metrics \u2014 including launch time, hangs, CPU, memory, organized into interval entries and metric groups. Metrics can be retrieved as Codable reports for server-side aggregation or inspected directly by filtering for specific groups and values.","end":433},{"start":433,"title":"Diagnostics","summary":"When an app encounters a crash, hang, or other failure, MetricKit captures and immediately delivers a diagnostic report containing a backtrace as well as metadata such as exception type and termination reason. Your service can symbolicate the backtrace using your app's symbols for further analysis. iOS 27 adds memory exception diagnostics and a new termination category field on crash diagnostics.","end":603},{"start":603,"title":"Context","summary":"The State Reporting framework lets apps report their active configuration or user flow as named domains and states, which then allows MetricKit to aggregate data separately for each state rather than blending them. Custom structured metadata can be attached to states using the @ReportableMetadata macro, and per-state metrics are surfaced as StateEntry values in the metric report.","end":1063}]},"related":{"activities":["wwdc2026-268","wwdc2026-388"],"resources":[4126,4125,4124,4123,733]}},"wwdc2026-241":{"id":"wwdc2026-241","staticContentId":10764,"eventContentId":241,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/241","languageCode":"eng","description":"Explore what\u2019s new in the Foundation Models framework. Learn how to access Private Cloud Compute, integrate third-party and open source models, and work with vision capabilities. Discover context management APIs, built-in semantic search, and powerful primitives for creating agentic experiences in your apps.","title":"What\u2019s new in the Foundation Models framework","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"keywords":["ai","machine learning","models","prompt","xcode"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"143DC470-4893-4DDE-AADA-2BEEFD879C9D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/241\/6\/900558cb-1997-490a-9aac-2461b209e578\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/241\/6\/900558cb-1997-490a-9aac-2461b209e578\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/241\/6\/900558cb-1997-490a-9aac-2461b209e578\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/241\/6\/900558cb-1997-490a-9aac-2461b209e578\/downloads\/wwdc2026-241_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/241\/6\/900558cb-1997-490a-9aac-2461b209e578\/downloads\/wwdc2026-241_sd.mp4","duration":1273,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Erik Hornberger and Zhen Li introduce this year's Foundation Models release, going open source with a new utilities package, and preview the agenda: model updates, system tools, dynamic profiles, evaluations, and tooling.","end":154},{"start":154,"title":"New on-device model","summary":"A rebuilt on-device model with better reasoning and tool calling, plus new APIs (from iOS 26.4) for inspecting context size and counting tokens, and refined guardrails that reduce false positives.","end":201},{"start":201,"title":"Vision: image understanding","summary":"The on-device model gains vision. Add image attachments to a prompt to ask about images, accepting UIImage, NSImage, CGImage, Core Image, CoreVideo pixel buffers, and file URLs at any size, though larger images cost more tokens.","end":260},{"start":260,"title":"Private Cloud Compute","summary":"Access Apple's server models via PrivateCloudComputeLanguageModel, a 32K context window with reasoning levels, with no account setup, auth, or API keys, fully private, and now available on watchOS 27.","end":406},{"start":406,"title":"Model abstraction layer","summary":"A new LanguageModel protocol lets local and server models back a LanguageModelSession. Existing models conform already, plus open-source CoreAILanguageModel and MLXLanguageModel for running local models on the Neural Engine and GPU.","end":452},{"start":452,"title":"Partner model integrations","summary":"Anthropic and Google publish Swift packages for their frontier models. Swap models via Swift Package Manager with everything downstream unchanged, handle auth and billing securely with OAuth and Keychain, and track per-token usage including cache and reasoning tokens.","end":580},{"start":580,"title":"System tools: Vision and Spotlight","summary":"New built-in tools: BarcodeReaderTool and OCRTool (Vision-backed) for reasoning over visual information, and a Spotlight-powered search tool enabling fully local Retrieval-Augmented Generation (RAG).","end":657},{"start":657,"title":"Dynamic Profiles for agentic apps","summary":"Dynamic Profiles, a declarative primitive for agentic experiences. Using the Crafts app, a single session swaps instructions and tools between modes (craft analysis vs. brainstorm) by conforming a struct to DynamicProfile.","end":826},{"start":826,"title":"Composing models and configurations","summary":"Use modifiers to vary the model and reasoning level per profile branch, for example SystemLanguageModel for quick analysis and Private Cloud Compute with deep reasoning for brainstorming, while preserving conversation history. A profile resolves to one active profile at a time.","end":930},{"start":930,"title":"Evaluations framework","summary":"A new Swift framework to measure the quality of intelligence features, quantifying accuracy as you tweak prompts so you can understand the statistical impact of changes and ship with confidence.","end":962},{"start":962,"title":"The fm command line tool","summary":"In macOS 27, the models come to the terminal. The fm CLI gives on-device and PCC access for everyday productivity: fm chat for interactive use and piping into shell scripts to summarize, extract, or generate content.","end":1033},{"start":1033,"title":"Foundation Models Python SDK","summary":"A Python SDK exposes the same on-device model as the Swift framework, checking availability and generating structured responses in a few lines, for data scientists and researchers in the Python ecosystem.","end":1075},{"start":1075,"title":"Open source and framework utilities","summary":"The Foundation Models framework utilities package offers building blocks (transcript management, a skill API, chat-completions interfacing), and the core framework is open-sourced to run wherever Swift runs, including Linux servers.","end":1164},{"start":1164,"title":"Next steps","summary":"Download the sample app, get familiar with dynamic profiles and the Evaluations framework, and watch the deep-dive sessions on PCC, evaluations, the Xcode instrument, and dynamic profiles.","end":1273}]},"related":{"resources":[4136,4134,4133,4130]}},"wwdc2026-253":{"id":"wwdc2026-253","staticContentId":10776,"eventContentId":253,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T14:33:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/253","languageCode":"eng","description":"Discover Music Understanding, a new framework that lets your app analyze audio across six dimensions, on device: key, rhythm, structure, pace, instrument activity, and loudness. And use the Music Understanding Lab sample app to visualize each result.","title":"Meet the Music Understanding framework","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"primaryTopicID":84,"topicIds":[94,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EC03E3EE-1850-48D0-98BF-C0FF2115F63A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/253\/5\/db1c3715-aaaf-42db-8e9e-66d2a0011430\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/253\/5\/db1c3715-aaaf-42db-8e9e-66d2a0011430\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/253\/5\/db1c3715-aaaf-42db-8e9e-66d2a0011430\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/253\/5\/db1c3715-aaaf-42db-8e9e-66d2a0011430\/downloads\/wwdc2026-253_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/253\/5\/db1c3715-aaaf-42db-8e9e-66d2a0011430\/downloads\/wwdc2026-253_sd.mp4","duration":1000,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","tr","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Discover how the Music Understanding framework brings on-device offline audio analysis to all Apple platforms.","end":99},{"start":99,"title":"Musical features","summary":"Explore the six areas of the framework's music analysis: key, rhythm, structure, pace, instrument activity, and loudness.","end":199},{"start":199,"title":"Framework integration","summary":"Learn how to initialize a MusicUnderstandingSession and begin analysis with an AVAsset or custom audio provider.","end":235},{"start":235,"title":"Music Understanding Lab","summary":"Walk through a sample app that visualizes all analysis types from the framework.","end":1000}]},"related":{"resources":[4203,4198]}},"wwdc2026-388":{"id":"wwdc2026-388","staticContentId":11001,"eventContentId":388,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/388","languageCode":"eng","description":"Track down hard-to-find game performance issues with powerful Metal tools. Discover how to collect rich performance data using Game Performance Overview in Instruments, run background traces with metalperftrace on macOS and Control Center on iOS, and use the new StateReporting API to correlate metrics directly to your game\u2019s runtime state. Turn hours of telemetry into clear, actionable insights.","title":"Find and fix performance issues in your Metal games","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":91,"topicIds":[88,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9405CFEF-CC5D-4594-AFDA-9C63482F2B83","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/388\/4\/682e727f-75f9-441f-81d9-2d6f38bde4b0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/388\/4\/682e727f-75f9-441f-81d9-2d6f38bde4b0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/388\/4\/682e727f-75f9-441f-81d9-2d6f38bde4b0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/388\/4\/682e727f-75f9-441f-81d9-2d6f38bde4b0\/downloads\/wwdc2026-388_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/388\/4\/682e727f-75f9-441f-81d9-2d6f38bde4b0\/downloads\/wwdc2026-388_sd.mp4","duration":1261,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Overview of the challenge of maintaining consistent frame rates in games across long play sessions, and a preview of the new tools and workflows for collecting, analyzing, and contextualizing Metal performance data.","end":111},{"start":111,"title":"Metal performance metrics","summary":"A tour of the Metal performance metrics available through tools like the Metal Performance HUD, covering FPS, GPU time, frame interval, layer sizes, composition mode, and MetalFX-related metrics.","end":212},{"start":212,"title":"Trace collection","summary":"How to collect performance traces using the Game Performance Overview template in Instruments for desk testing, and the new always-on system-level data collection on iOS and macOS that stores Metal performance metrics for days.","end":398},{"start":398,"title":"Analyze performance traces","summary":"How to analyze collected traces using the metalperftrace command-line tool on macOS \u2014 printing overviews, exporting JSON for scripting or AI agents \u2014 and how to open and visualize traces in Instruments to identify FPS drops and other anomalies.","end":608},{"start":608,"title":"Contextualize with StateReporting","summary":"Introduces the StateReporting API, which lets you describe your game's behavior and state over time using domains, states, and metadata. Learn how state transitions appear in the Metal Performance HUD, metalperftrace output, and Instruments tracks to make performance issues immediately actionable.","end":1068},{"start":1068,"title":"Collect field data with MetricKit","summary":"How to use MetricKit in macOS and iOS 27 to collect Metal frame rate data and other performance metrics in the field after your game ships, including per-state breakdowns using StateReporting domains.","end":1181},{"start":1181,"title":"Next steps","summary":"Key takeaways and recommended next steps: adopt StateReporting, try the new trace collection tools and metalperftrace CLI, and explore related Metal developer tools documentation.","end":1261}]},"related":{"activities":["tech-talks-111374"],"resources":[4188,4187,4126,42]}},"wwdc2026-326":{"id":"wwdc2026-326","staticContentId":10872,"eventContentId":326,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/326","languageCode":"eng","description":"Discover a curated collection of popular open-source models \u2014 including Qwen, Mistral, SAM3, and more \u2014 optimized for Apple silicon using the new Core AI Framework. Learn how to download, run, and benchmark models on your Mac, and integrate them into your app with just a few lines of code. Explore a new workflow for model compilation and on-device specialization to speed up first-time model load. Find out how to profile and optimize runtime performance with Core AI tools in Xcode.","title":"Integrate on-device AI models into your app using Core AI","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8115DC34-09C7-4B51-B54A-90EEC9A75CC4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/326\/5\/7ff038e2-12cb-4b92-9f49-1d051db7ce5d\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/326\/5\/7ff038e2-12cb-4b92-9f49-1d051db7ce5d\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/326\/5\/7ff038e2-12cb-4b92-9f49-1d051db7ce5d\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/326\/5\/7ff038e2-12cb-4b92-9f49-1d051db7ce5d\/downloads\/wwdc2026-326_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/326\/5\/7ff038e2-12cb-4b92-9f49-1d051db7ce5d\/downloads\/wwdc2026-326_sd.mp4","duration":1424,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Overview of Core AI \u2014 a new set of technologies that lets you bring advanced on-device AI capabilities to your apps with no server, no cost per token, and no cloud latency.","end":76},{"start":76,"title":"App concept: camera-based vocab learning","summary":"Introduction to the demo app \u2014 an iOS language-learning app where students point their camera at real-world objects to generate vocab cards with translations, example sentences, and segmented images, all running on-device.","end":172},{"start":172,"title":"Model discovery","summary":"How to define your app's AI requirements \u2014 content, language, and device constraints \u2014 and select the right models: SAM3 for text-prompted image segmentation and Qwen 0.6B (a 119-language reasoning model) for vocab card generation.","end":460},{"start":460,"title":"Getting models with the Core AI models repository","summary":"How to use the coreai-models GitHub repository to find popular models with ready-made export recipes \u2014 browsing the catalog, running the export script for SAM3 and Qwen, and getting optimized .aimodel files.","end":517},{"start":517,"title":"Integration","summary":"How to inspect .aimodel files in Xcode (size, platform targets, function signatures, tensor shapes), add the coreai-models Swift package, and select the CoreAILM and CoreAISegmentation libraries as app dependencies.","end":655},{"start":655,"title":"Writing the Swift integration code","summary":"How to write the Swift code to use both models \u2014 loading SAM3 and running text-prompted segmentation, loading Qwen with a single CoreAILanguageModel line, and using the familiar LanguageModelSession API from Foundation Models with structured @Generable output for typed vocab card fields.","end":785},{"start":785,"title":"Diagnosing model specialization latency","summary":"Using the new Core AI Instruments template to identify that first-run latency is caused by model specialization \u2014 the process that compiles a Core AI model for the specific device \u2014 and understanding when and how to handle it gracefully.","end":880},{"start":880,"title":"Deployment","summary":"How to design a deliberate deployment strategy: using a first-run experience to introduce the feature, keeping models out of the app bundle to avoid bloating update size for all users, and triggering on-demand model download via Background Assets only when the user opts in.","end":1020},{"start":1020,"title":"Ahead-of-time (AOT) compilation","summary":"How to use the coreai-build command to perform compilation ahead-of-time on your development machine \u2014 generating device-architecture-specific compiled model assets that dramatically reduce on-device specialization time during the first-run experience.","end":1083},{"start":1083,"title":"iOS demo","summary":"Live demo of the complete iOS experience: fast model preparation with AOT compilation, SAM3 segmenting real objects (rocks, wood, sunflower), and Qwen generating Mandarin vocab cards \u2014 with seamless subsequent inferences from the cached model.","end":1197},{"start":1197,"title":"Multiplatform","summary":"How the same Swift code runs on macOS with no changes \u2014 adding batch processing for folders of photos, stepping up to Qwen3 8B for higher-quality reasoning and pinyin generation, using longer context for curriculum generation, and a live macOS demo processing road trip photos into a full lesson plan.","end":1386},{"start":1386,"title":"Next steps","summary":"Summary: Core AI gives you everything you need to build private, multi-platform on-device AI experiences \u2014 no server, no cost per token, no cloud latency. ","end":1424}]},"related":{"activities":["wwdc2026-233","wwdc2026-232","wwdc2026-328"],"resources":[4292,4291,4282,4266,4265]}},"wwdc2026-220":{"id":"wwdc2026-220","staticContentId":10731,"eventContentId":220,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-12T19:43:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/220","languageCode":"eng","description":"Unlock the full potential of your app\u2019s interactive elements by making them accessible to everyone. We\u2019ll break down how people understand and use controls with VoiceOver and other assistive technologies, exploring a variety of input methods like actions, the passthrough gesture, and direct touch. Join us for an in-depth exploration of several example controls as we refine and elevate the accessibility experience in each one.","title":"Refine accessibility for custom controls","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":82,"topicIds":[100,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"987CC537-D3EE-4F1E-928B-4FBC2C3EB1DB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/220\/4\/945f8d34-8427-4476-ae75-34edc4a9c3f9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/220\/4\/945f8d34-8427-4476-ae75-34edc4a9c3f9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/220\/4\/945f8d34-8427-4476-ae75-34edc4a9c3f9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/220\/4\/945f8d34-8427-4476-ae75-34edc4a9c3f9\/downloads\/wwdc2026-220_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/220\/4\/945f8d34-8427-4476-ae75-34edc4a9c3f9\/downloads\/wwdc2026-220_sd.mp4","duration":985,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":1,"title":"Introduction","summary":"Why custom controls need accessibility support so everyone can use what your app was built to do, and what the session covers \u2014 guiding principles and how to apply them to complex controls.","end":62},{"start":62,"title":"Guiding principles","summary":"Create accessible custom controls by translating implicit visual cues into explicit information for assistive technologies. Apply labels, values, traits, and actions to ensure these controls are universally understood and actionable by everyone.\n","end":521},{"start":521,"title":"Complex controls","summary":"Complex controls, like multi-dimensional pads and highly interactive virtual surfaces, demand advanced accessibility techniques beyond basic labels and values. Implementing features like passthrough gestures, custom actions, and the Direct Touch API allows people to seamlessly navigate and interact with these interfaces.","end":985}]},"related":{"activities":["wwdc2024-10073"],"resources":[4158,4157,4156,569]}},"wwdc2026-284":{"id":"wwdc2026-284","staticContentId":10821,"eventContentId":284,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/284","languageCode":"eng","description":"Learn how to bring structured 3D models to life in visionOS. We\u2019ll cover USDZ preparation, show you how to manipulate individual entities within hierarchical assemblies, and inspect the internal components within a model with a cross-sectional plane. Create stunning exploded-view animations for design review and collaboration experiences on Apple Vision Pro.","title":"Collaborate on structured 3D models in visionOS","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["visionOS"],"keywords":["3d","3d content","3d model","design","hierarchical","hierarchy","review","shareplay","spatial computing","visionos"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7D73FCF9-CCA7-4A5E-A822-8413B3F6AAC5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/284\/4\/fa1d15b1-3f28-415a-907a-8ae1bb344494\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/284\/4\/fa1d15b1-3f28-415a-907a-8ae1bb344494\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/284\/4\/fa1d15b1-3f28-415a-907a-8ae1bb344494\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/284\/4\/fa1d15b1-3f28-415a-907a-8ae1bb344494\/downloads\/wwdc2026-284_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/284\/4\/fa1d15b1-3f28-415a-907a-8ae1bb344494\/downloads\/wwdc2026-284_sd.mp4","duration":1516,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"An overview of building collaborative spatial experiences on Apple Vision Pro, including real-time manipulation of rich 3D assemblies, interactive clipping, and automatic expansion of sub-assemblies.","end":175},{"start":175,"title":"Asset preparation","summary":"Learn the key requirements for preparing 3D assets for spatial computing, including preserving a deep, nested hierarchy in your USDZ exports so that individual parts remain independently selectable and manipulable at runtime.","end":305},{"start":305,"title":"Manipulating the hierarchy","summary":"See how to use ManipulationComponent and InputTargetComponent to make an entire assembly \u2014 or each of its sub-entities individually \u2014 interactive. Covers the openAssembly() and closeAssembly() patterns and the releaseBehavior setting.","end":495},{"start":495,"title":"Interactive clipping","summary":"Explore ClippingComponent, a new RealityKit capability in visionOS 26 that lets people see through complex assemblies. Covers the three-state clipping machine (.off, .on, .editing), coordinate frame transformations, and how drag gestures update clipping plane bounds.","end":1096},{"start":1096,"title":"Autoexpansion","summary":"Understand how to automatically expand an assembly's sub-components along the most meaningful axis using volume-weighted variance. Covers the math behind choosing the expansion axis and assembling FromToBy animations to move parts into position.","end":1450},{"start":1450,"title":"Next steps","summary":"Key takeaways and pointers to the Model Manipulator sample project, related sessions on the spatial preview framework, and recommended background on vector math and linear algebra.","end":1516}]},"related":{"activities":["wwdc2025-318","wwdc2025-274","wwdc2025-287","wwdc2026-282","wwdc2026-283","wwdc2024-10186"],"resources":[4269]}},"wwdc2026-206":{"id":"wwdc2026-206","staticContentId":10716,"eventContentId":206,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/206","languageCode":"eng","description":"Discover the latest updates to declarative device management, Apple Business, and Apple School Manager. Explore how these advancements help you streamline deployment, strengthen security, and improve the experience for people using your managed devices. Whether you\u2019re building device management solutions or managing enterprise fleets, you\u2019ll learn practical ways to take advantage of these new capabilities.","title":"What\u2019s new in managing Apple devices","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["enterprise"],"primaryTopicID":89,"topicIds":[86,89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"96EF4394-DD3B-4CF0-AB1D-1B3329ED0628","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/206\/4\/e49f983e-700d-4d52-ae6b-a0fa1ea89fd0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/206\/4\/e49f983e-700d-4d52-ae6b-a0fa1ea89fd0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/206\/4\/e49f983e-700d-4d52-ae6b-a0fa1ea89fd0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/206\/4\/e49f983e-700d-4d52-ae6b-a0fa1ea89fd0\/downloads\/wwdc2026-206_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/206\/4\/e49f983e-700d-4d52-ae6b-a0fa1ea89fd0\/downloads\/wwdc2026-206_sd.mp4","duration":1382,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"An overview of what's new across Apple services, declarative device management, app management, identity integrations, and education technologies.","end":41},{"start":41,"title":"Apple services","summary":"Apple Business, a new all-in-one platform now available in over 200 countries, with new APIs for Blueprints, configurations, users, and audit events, plus a volume licensing mechanism for App Store subscriptions.","end":154},{"start":154,"title":"Device management","summary":"Declarative management as the new standard, including a managed migration feature that moves data to a new Mac while preserving enrollment and settings.","end":573},{"start":573,"title":"App management","summary":"Declarative app configuration comes to macOS 27 with hardware-bound keys and Managed Device Attestation, package file cleanup on removal, and new privacy settings controls.","end":896},{"start":896,"title":"Identity Integrations","summary":"Platform SSO enhancements on macOS 27, including a new login and unlock experience and the option for administrators to require Touch ID as a built-in second factor.","end":1186},{"start":1186,"title":"Education","summary":"Authenticated Guest Mode comes to Shared iPad, and a new guided browsing feature in the Classroom app lets teachers lock students to specific websites or a single tab.","end":1382}]},"related":{"activities":["wwdc2026-391","wwdc2026-201","wwdc2026-230"]}},"wwdc2026-339":{"id":"wwdc2026-339","staticContentId":10886,"eventContentId":339,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/339","languageCode":"eng","description":"Extend the Foundation Models framework by implementing a LanguageModelExecutor for new models. Explore how to interface with the LanguageModelSession\u2019s transcript, manage session state effectively, and optimize KV cache utilization. Find out how to support custom segment types and unlock advanced capabilities for your generative AI features.","title":"Bring an LLM provider to the Foundation Models framework","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["ai","machine learning"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D9376DDA-DFF2-4347-984B-08875E34E198","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/339\/4\/334f1ee9-4263-4c86-9b10-632f0f2edab1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/339\/4\/334f1ee9-4263-4c86-9b10-632f0f2edab1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/339\/4\/334f1ee9-4263-4c86-9b10-632f0f2edab1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/339\/4\/334f1ee9-4263-4c86-9b10-632f0f2edab1\/downloads\/wwdc2026-339_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/339\/4\/334f1ee9-4263-4c86-9b10-632f0f2edab1\/downloads\/wwdc2026-339_sd.mp4","duration":1241,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Overview of the Foundation Models framework opening to nearly any LLM. Covers improvements to the on-device System Language Model, three new model options (Private Cloud Compute, Core AI, and MLX), upcoming Anthropic and Google partner integrations, and a code preview showing how any model can be swapped into a LanguageModelSession using the same Swift API.","end":217},{"start":217,"title":"Packaging","summary":"How to package your LLM provider as a Swift package \u2014 configuring Package.swift with the right platform targets (iOS, macOS, visionOS, watchOS, and Linux), being deliberate about dependencies to minimize shipped bytes, and publishing a release via a git tag that developers can paste directly into Xcode.","end":288},{"start":288,"title":"Protocol","summary":"The two core protocol types bridging your model to the framework: LanguageModel (declares capabilities and provides a Configuration) and LanguageModelExecutor (handles prewarm, translates Transcript entries to your inference engine's native format, applies ContextOptions and GenerationOptions, and streams responses with metadata-first ordering). Covers executor caching by configuration and KV cache state reuse across calls, plus how to approximate unsupported options or throw LanguageModelError when needed.","end":890},{"start":890,"title":"Authentication","summary":"Best practices for credential handling \u2014 designing initializers that guide developers toward secure usage rather than plain API key strings, persisting tokens securely via Keychain, and using App Attest for device attestation to verify devices, catch tampered builds, and protect cloud-based language model services.","end":951},{"start":951,"title":"Customization","summary":"How to differentiate your model package beyond the protocol fundamentals \u2014 attaching custom response metadata (e.g., tokensPerSecond, timeToFirstToken), defining custom segment types for new input and output modalities (audio, video, and beyond), and implementing server-side tools (web search, code execution, image generation) at three levels of visibility: privately grounded, metadata-enriched, or fully surfaced through custom segments.","end":1187},{"start":1187,"title":"Next steps","summary":"Privacy considerations when choosing or shipping a model package \u2014 on-device versus cloud-based models have very different characteristics and users deserve to know which they're getting. Pointers to companion sessions on Core AI model integration, Private Cloud Compute, and building agentic app experiences on top of the new model ecosystem.","end":1241}]},"related":{"activities":["wwdc2026-334","wwdc2026-319","wwdc2026-241","wwdc2026-242"],"resources":[4196,4195,4194]}},"wwdc2026-338":{"id":"wwdc2026-338","staticContentId":10885,"eventContentId":338,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/338","languageCode":"eng","description":"Go behind the scenes of live Apple Immersive Video production. Discover how to package immersive video, spatial audio, and scene metadata for transport over IP networks using the SMPTE 2110 standard. Harness Apple\u2019s Immersive Media Support, Video Toolbox, and AVFoundation frameworks to power real-time Apple Immersive Video workflows. To get the most out of this session, watch \u201cLearn about Apple Immersive Video technologies\u201d from WWDC25.","title":"Build live production tools for Apple Immersive Video","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["macOS","visionOS"],"primaryTopicID":84,"topicIds":[85,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"35625D58-1655-4389-A419-FE757D9C60E6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/338\/5\/4549be24-44c7-4214-ab9b-f21f9ed04691\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/338\/5\/4549be24-44c7-4214-ab9b-f21f9ed04691\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/338\/5\/4549be24-44c7-4214-ab9b-f21f9ed04691\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/338\/5\/4549be24-44c7-4214-ab9b-f21f9ed04691\/downloads\/wwdc2026-338_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/338\/5\/4549be24-44c7-4214-ab9b-f21f9ed04691\/downloads\/wwdc2026-338_sd.mp4","duration":983,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Apple Immersive Video live streaming transports fans to sports, music, and entertainment events on Apple Vision Pro \u2014 illustrated by courtside LA Lakers games delivered live through the Spectrum SportsNet and NBA apps.","end":128},{"start":128,"title":"Live production overview","summary":"A high-level overview of the fundamental components and creative tools that make up a modern live production pipeline, from cameras and graphics to video switchers and audio consoles.","end":316},{"start":316,"title":"What makes immersive live different","summary":"Discover the unique scale and fidelity required for delivering Apple Immersive Video, including massive video resolutions, high frame rates, and rich Apple Spatial Audio Format (ASAF) mixes.","end":425},{"start":425,"title":"Immersive live format","summary":"Learn about the core formats powering live immersive workflows, including streaming ProRes, uncompressed PCM audio, and per-frame JSON metadata.","end":549},{"start":549,"title":"Real-time media transport","summary":"Explore how live immersive feeds are transported between devices in real time over IP using the SMPTE 2110 industry standard.","end":685},{"start":685,"title":"Recording and playback","summary":"Learn how live streams are recorded to disk and played back using AVAssetWriter and the Immersive Media Support framework.","end":983}]},"related":{"activities":["wwdc2025-403","wwdc2025-296","wwdc2020-10090"],"resources":[4303,4302,4301,4300,3927]}},"wwdc2026-204":{"id":"wwdc2026-204","staticContentId":10714,"eventContentId":204,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-14T08:39:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/204","languageCode":"eng","description":"Explore what\u2019s new in WebKit \u2014 from Grid Lanes and Customizable Select, to HTML Model and Immersive Environments, and the latest for Web Extensions. You\u2019ll also discover the work behind over 1,000 browser engine improvements that make the web more reliable.","title":"What\u2019s new in WebKit for Safari 27","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"primaryTopicID":98,"topicIds":[100,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7B6AD059-151A-42A9-8AF0-8EE38C463919","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/204\/5\/0226f57f-eb7b-4c8d-91cb-0ac8f245d88b\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/204\/5\/0226f57f-eb7b-4c8d-91cb-0ac8f245d88b\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/204\/5\/0226f57f-eb7b-4c8d-91cb-0ac8f245d88b\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/204\/5\/0226f57f-eb7b-4c8d-91cb-0ac8f245d88b\/downloads\/wwdc2026-204_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/204\/5\/0226f57f-eb7b-4c8d-91cb-0ac8f245d88b\/downloads\/wwdc2026-204_sd.mp4","duration":992,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"See what Safari 27 brings to the web platform including a focus on the quality and a quick tour of new features.","end":67},{"start":67,"title":"A year of quality improvements","summary":"Learn how the WebKit team prioritized quality this year, shipping over 1,100 fixes and improvements. Covers five themes: compatibility (illustrated by an emoji input bug), rebuilding foundations like block-in-inline layout, going deep on areas like SVG, aligning with the latest web standards, and improving how features integrate together.","end":546},{"start":546,"title":"CSS Grid Lanes","summary":"Create masonry-style layouts in pure CSS with Grid Lanes, shipped in Safari 26.4. See examples of what\u2019s possible. ","end":606},{"start":606,"title":"Customizable Select","summary":"Style the &lt;select&gt; element to match your design while keeping built-in form control accessibility. Learn about appearance: base-select, the new pseudo-elements, and adding HTML.","end":684},{"start":684,"title":"HTML Model element","summary":"Embed 3D models into a web page using the HTML <model> element, now coming to iOS, iPadOS, and macOS in Safari 27. Learn what can be accomplished with HTML attributes, JavaScript, and AR Quick Look.","end":771},{"start":771,"title":"Immersive Website Environments","summary":"In visionOS 27, the <model> element can launch into a full immersive environment using a new Immersive API modeled on the Fullscreen API. See use cases like previewing an immersive game or viewing a theater from your seat.","end":818},{"start":818,"title":"Web Extensions","summary":"Today, you can build one cross-browser web extension and distribute it everywhere, including to Safari users. It\u2019s now easier than ever with Safari Web Extension Packager. Submit via App Store Connect from any browser on any operating system \u2014 no Mac or Xcode required.","end":918},{"start":918,"title":"MapKit JS","summary":"Embed privacy-preserving interactive maps on your website with MapKit JS, which works across all browsers and operating systems.","end":940},{"start":940,"title":"Next steps","summary":"Visit webkit.org for the latest Safari release information, watch related WWDC sessions to go deeper on specific topics, and file issues at bugs.webkit.org.","end":992}]},"related":{"activities":["wwdc2026-314","wwdc2026-315","wwdc2026-215","wwdc2026-320","wwdc2026-216"],"resources":[4259,4189,3601,2267,774,765]}},"wwdc2026-357":{"id":"wwdc2026-357","staticContentId":10907,"eventContentId":357,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T11:40:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/357","languageCode":"eng","description":"Kickstart your game\u2019s journey to Apple platforms with new agentic skills in Game Porting Toolkit 4 that can dramatically accelerate the process of porting your game. Explore how to work alongside your AI coding assistant to adopt Metal 4, integrate MetalFX, and tune your game for Apple hardware. Find out how agents can autonomously troubleshoot GPU rendering issues using Metal debugging tools, empowering you to focus on what matters most.","title":"Speedrun your game port with agentic coding","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":91,"topicIds":[94,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"579CF3F6-DD41-4DE2-B8E1-A4FCB9EC4E40","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/357\/5\/5cfd0ceb-598f-4535-9abc-12e22a778326\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/357\/5\/5cfd0ceb-598f-4535-9abc-12e22a778326\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/357\/5\/5cfd0ceb-598f-4535-9abc-12e22a778326\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/357\/5\/5cfd0ceb-598f-4535-9abc-12e22a778326\/downloads\/wwdc2026-357_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/357\/5\/5cfd0ceb-598f-4535-9abc-12e22a778326\/downloads\/wwdc2026-357_sd.mp4","duration":1680,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","pt-BR","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"An overview of how Game Porting Toolkit 4 introduces agentic skills \u2014 expert skills and workflow skills \u2014 that give a coding agent the domain knowledge to accelerate porting a game to Apple platforms.","end":66},{"start":66,"title":"Porting assistant workflow","summary":"How the porting assistant orchestrates the full porting process across three stages: Discover (scanning the codebase and capturing reference frames from the evaluation environment), Plan (defining milestone goals collaboratively), and Execute-and-Validate (running the agent with structured validation checklists that check app launch, Metal API correctness, screen captures, anti-pattern review, and memory issues).","end":385},{"start":385,"title":"Windowing and frame pacing","summary":"How the window, Metal swap chain, presenting drawables, and metal-cpp expert skills guide the agent to implement a correct render loop using Metal Display Link, handle lifecycle events, configure the layer for games, leverage direct-to-display presentation for lower latency, and manage drawable lifetimes to avoid stuttering.","end":508},{"start":508,"title":"Scene rendering with Metal 4","summary":"How the GPU resources, shader pipeline, Metal Shader Converter, and synchronization expert skills guide the agent through three milestones: GPU resource management (storage modes, residency sets, constant buffer allocation), shader pipeline setup (argument buffer offsets, descriptor table encoding, root signature translation), and command encoding with Metal 4's explicit barrier model mapping D3D12 states to producer-consumer synchronization.","end":916},{"start":916,"title":"Debugging with GPU command-line tools","summary":"How the new gpucapture and gpudebug command-line tools on macOS 27 enable fully autonomous agent-driven GPU debugging. The agent captures a frame trace, inspects pipeline state, textures, and dispatch dimensions \u2014 all without requiring manual Xcode interaction \u2014 allowing it to identify and fix rendering issues autonomously.","end":1149},{"start":1149,"title":"Game controllers and MetalFX","summary":"How the game controller expert skill ports from Windows XInput to GCController with correct discovery, dynamic button layout querying, and connect\/disconnect handling. Then how the MetalFX upscaling and frame interpolation skills handle jitter configuration, motion vector conventions, mip bias, history reprojection, and the dedicated present thread \u2014 with new Metal HUD debugging overlays in macOS 27 to validate and tune the integration.","end":1511},{"start":1511,"title":"Next steps","summary":"How to get started: download and install the Game Porting Toolkit 4 skills from the GitHub repository, invoke the porting assistant on your codebase, and let it guide you through a structured porting plan with clear milestones.","end":1680}]},"related":{"activities":["wwdc2025-211","wwdc2026-8037","wwdc2026-8038","wwdc2026-8040"],"resources":[4354,3773]}},"wwdc2026-321":{"id":"wwdc2026-321","staticContentId":10867,"eventContentId":321,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/321","languageCode":"eng","description":"Discover the inner workings of lazy stacks in SwiftUI. We\u2019ll explore how LazyVStack and LazyHStack estimate sizes, lazily load subviews, and prefetch content to deliver smooth scrolling experiences. We\u2019ll also cover advanced performance optimizations, state management best practices, and tips for precise programmatic scrolling. To get the most out of this session, we recommend basic familiarity with SwiftUI layout using stacks.","title":"Dive into lazy stacks and scrolling with SwiftUI","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["screenshots"],"primaryTopicID":100,"topicIds":[87,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"38C23CB0-099A-46BA-A383-F9D2E4126790","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/321\/5\/78830752-d07d-4d89-aeab-94405c084de9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/321\/5\/78830752-d07d-4d89-aeab-94405c084de9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/321\/5\/78830752-d07d-4d89-aeab-94405c084de9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/321\/5\/78830752-d07d-4d89-aeab-94405c084de9\/downloads\/wwdc2026-321_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/321\/5\/78830752-d07d-4d89-aeab-94405c084de9\/downloads\/wwdc2026-321_sd.mp4","duration":1270,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Rens Breur gives an introduction to lazy stacks, an essential SwiftUI component for long and custom scrolling content.","end":84},{"start":84,"title":"Layout","summary":"How LazyVStack and LazyHStack lay out their subviews: only visible views are added, and the full size of lazy stacks is estimated. See how the lazy stack handles these estimated sizes, how the estimations can change, and how it coordinates the estimated content offset with the embedding ScrollView. Lazy stacks can also be composed to create more complex layouts.","end":553},{"start":553,"title":"Subview loading","summary":"How view structs are resolved into the individual subviews that the lazy stack sees \u2014 the 1-to-1 mapping you might expect isn't always what happens. A view's body can resolve to multiple subviews or to a dynamic number of subviews, which has consequences for what the lazy stack keeps alive.","end":795},{"start":795,"title":"Prefetching","summary":"Lazy stacks prefetch subviews before they scroll on screen, performing partial render work to avoid hitches. To take advantage of this, don't delay lazy stack subview set-up to onAppear. Lazy stack subviews are kept around a little longer after they are scrolled out of screen but are removed eventually. Move state that must survive being scrolled off screen into model objects or bindings from outer views.","end":1060},{"start":1060,"title":"Programmatic scrolling","summary":"Using a ScrollPosition binding to scroll to a target view works even when the target is off-screen, with the lazy stack estimating its position. Same pitfalls apply: dynamic subview counts in a ForEach hurt scroll performance, and layout passes driven by onAppear or onGeometryChange make scrolling less smooth. Sometimes a custom Layout is the better solution.","end":1195},{"start":1195,"title":"Next steps","summary":"Avoid absolute content size and offset with lazy stacks, don't filter data with conditional view content in leaf views, set up views in init rather than onAppear, and keep important state outside view structs that may scroll off screen.","end":1270}]},"related":{"activities":["wwdc2026-271","wwdc2020-10031","wwdc2022-10056"],"resources":[4139]}},"wwdc2026-312":{"id":"wwdc2026-312","staticContentId":10858,"eventContentId":312,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/312","languageCode":"eng","description":"Get a first look at Now Playing \u2014 a Swift framework that connects your app\u2019s media playback to system surfaces like the Lock Screen, Control Center, Dynamic Island, and CarPlay. Discover how to publish playback state and respond to commands using its observable API. Explore remote playback sessions, a new capability that lets your app represent media playing on external devices and bring full playback controls to those same system surfaces.","title":"Meet the Now Playing framework","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"keywords":["\ud83e\uddc0"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D82B6768-D2D9-48C5-939F-5D6C877394E4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/312\/5\/3f128d25-f1c6-49d3-a9c0-0bdc22af5f95\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/312\/5\/3f128d25-f1c6-49d3-a9c0-0bdc22af5f95\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/312\/5\/3f128d25-f1c6-49d3-a9c0-0bdc22af5f95\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/312\/5\/3f128d25-f1c6-49d3-a9c0-0bdc22af5f95\/downloads\/wwdc2026-312_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/312\/5\/3f128d25-f1c6-49d3-a9c0-0bdc22af5f95\/downloads\/wwdc2026-312_sd.mp4","duration":756,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Discover the Now Playing system experience, available across all Apple platforms. It allows apps to surface currently playing media info on system surfaces like the Lock Screen, Dynamic Island, and CarPlay.","end":68},{"start":68,"title":"Media sessions","summary":"Learn how to use the media sessions API to bring audio or video from your app into the system's Now Playing experience by adopting the MediaSessionRepresentable protocol.","end":303},{"start":303,"title":"Remote media sessions","summary":"Discover how to extend playback control to devices like smart speakers by adopting RemoteMediaSessionRepresentable and utilizing Apple Push Notification service (APNs).","end":631},{"start":631,"title":"Media sharing extensions","summary":"Find out how Media Sharing Extensions simplify routing media from iPhone to other devices by leveraging the system device picker without needing to embed additional SDKs.","end":756}]},"related":{"resources":[4296,4295,4294,4258]}},"wwdc2026-226":{"id":"wwdc2026-226","staticContentId":10737,"eventContentId":226,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-09T19:14:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/226","languageCode":"eng","description":"LiveCommunicationKit transforms your real-time communication apps into integrated experiences. We\u2019ll show you how to deliver a rich, native conversation UI that puts your app right where people need it: from a full-screen presentation on the Lock Screen to seamless multitasking with the Dynamic Island. Join us as we step through integrating the framework for incoming, outgoing, and group conversations.","title":"Create live communication experiences","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"primaryTopicID":83,"topicIds":[101,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A5894C93-994B-4C32-815C-C92B69DF7BE3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/226\/4\/f8343d5b-0c78-4396-be05-956666fb4ae0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/226\/4\/f8343d5b-0c78-4396-be05-956666fb4ae0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/226\/4\/f8343d5b-0c78-4396-be05-956666fb4ae0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/226\/4\/f8343d5b-0c78-4396-be05-956666fb4ae0\/downloads\/wwdc2026-226_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/226\/4\/f8343d5b-0c78-4396-be05-956666fb4ae0\/downloads\/wwdc2026-226_sd.mp4","duration":1038,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":1,"title":"Introduction","summary":"LiveCommunicationKit is the modern way to build live conversation experiences that integrate with the system. Conversations in LiveCommunicationKit are built upon fundamental elements, such as handles, display names, and capabilities, that configure the interface, as well as a single ConversationManager object to manage the full lifecycle.","end":476},{"start":476,"title":"Incoming conversations","summary":"Incoming conversations rely on the ConversationManager class where you configure properties like ringtones, group limits, and supported handles. Use PushKit to deliver an incoming conversation to a device, then report it to the ConversationManager.","end":689},{"start":689,"title":"Outgoing conversations","summary":"Start outgoing conversations initiated within the app by performing a StartConversationAction. This allows your app's ConversationManager delegate to handle the entire process, using the same unified action-handling logic for actions started by in-app or system UI.","end":798},{"start":798,"title":"Groups","summary":"Track the full list of invited members in addition to the currently active remote members so the interface stays perfectly in sync as people join or drop off. Advanced call management is handled through delegate actions and supports merging and unmerging calls as needed.","end":1038}]},"related":{"activities":["wwdc2022-10117","wwdc2025-244"],"resources":[4154,4153,4152]}},"wwdc2026-256":{"id":"wwdc2026-256","staticContentId":10779,"eventContentId":256,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/256","languageCode":"eng","description":"Make your video content more accessible with generated subtitles \u2014 a powerful new feature that can transcribe spoken audio or translate subtitles from another language, using on-device models. Explore caption style preview, which lets people customize and preview subtitle styles during playback, and dive into implementation details for AVKit, AVPlayerLayer, and the Media Accessibility framework.","title":"Discover generated subtitles and subtitle styles","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":84,"topicIds":[82,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DB9E9A19-6ABF-4C34-B025-C8BC1D6B71B9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/256\/4\/d28efb5e-5550-468d-b1d1-caec51ce55e6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/256\/4\/d28efb5e-5550-468d-b1d1-caec51ce55e6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/256\/4\/d28efb5e-5550-468d-b1d1-caec51ce55e6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/256\/4\/d28efb5e-5550-468d-b1d1-caec51ce55e6\/downloads\/wwdc2026-256_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/256\/4\/d28efb5e-5550-468d-b1d1-caec51ce55e6\/downloads\/wwdc2026-256_sd.mp4","duration":660,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Why people rely on subtitles for accessibility and comprehension, and what the session covers \u2014 how Apple's on-device AI-generated subtitles appear in your app, the subtitle style preview feature, and how media assets are authored.","end":70},{"start":70,"title":"Media authoring","summary":"An overview of the traditional media authoring process, including how video, audio, and manually created subtitles are combined into the final media package.","end":134},{"start":134,"title":"Subtitle generation methods","summary":"Discover the two use cases for on-device generated subtitles: speech transcription from source audio, and language translation from existing subtitles.","end":183},{"start":183,"title":"Availability and support","summary":"The playback scenarios where generated subtitles work automatically \u2014 HTTP Live Streaming, video on demand, and file-based content \u2014 and the supported devices and languages, including English subtitles and translation into multiple languages.","end":271},{"start":271,"title":"Presenting subtitles in your app","summary":"Explore options for providing a subtitle selection UI during video playback using AVPlayerViewController, AVPlayerView, and custom controls.","end":339},{"start":339,"title":"Subtitle style preview","summary":"Explore how to implement a subtitle style preview using AVPlayerLayer and AVCaptionRenderer, allowing users to customize their viewing experience.","end":535},{"start":535,"title":"Demo","summary":"A walkthrough of both features together \u2014 switching a camping video to generated Italian subtitles marked with a sparkle, then customizing the subtitle style for readability.","end":620},{"start":620,"title":"Next steps","summary":"Review best practices for integrating generated subtitles and style previews into your app to improve accessibility.","end":660}]},"related":{"resources":[3899]}},"wwdc2026-370":{"id":"wwdc2026-370","staticContentId":10925,"eventContentId":370,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/370","languageCode":"eng","description":"Discover how to combine the convenience of built-in text views with the control of TextKit. We\u2019ll show you how new APIs make it easy to extend UITextView and NSTextView with custom behaviors like line numbers and collapsible sections. We\u2019ll also explore the TextKit architecture and walk through new caching and reuse policies for text attachments. To get the most out of this session, watch \u201cMeet TextKit 2\u201d from WWDC21 and \u201cWhat\u2019s New in TextKit and text views\u201d from WWDC22.","title":"Elevate your app\u2019s text experience with TextKit","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["screenshots"],"primaryTopicID":100,"topicIds":[83,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B1DA4D8C-91B9-4DD8-BBF2-54198643B1DE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/370\/5\/f61dbe38-7302-451a-b3ab-9851d5746315\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/370\/5\/f61dbe38-7302-451a-b3ab-9851d5746315\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/370\/5\/f61dbe38-7302-451a-b3ab-9851d5746315\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/370\/5\/f61dbe38-7302-451a-b3ab-9851d5746315\/downloads\/wwdc2026-370_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/370\/5\/f61dbe38-7302-451a-b3ab-9851d5746315\/downloads\/wwdc2026-370_sd.mp4","duration":1426,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"TextKit and the tension between using framework text views versus building custom ones. TextKit is Apple's text engine powering text controls in SwiftUI, UIKit, and AppKit.","end":189},{"start":189,"title":"TextKit architecture","summary":"Walk through TextKit's four-layer architecture: text storage, layout, viewport, and view. See how NSTextContentStorage breaks an attributed string into NSTextParagraph elements, how NSTextLayoutManager produces immutable NSTextLayoutFragments, and how NSTextViewportLayoutController coordinates with the text view to efficiently render only the paragraphs visible in the viewport.","end":557},{"start":557,"title":"What's new in TextKit","summary":"Meet the new NSTextViewportRenderingSurface protocol \u2014 a common abstraction for views or layers that draw layout fragments \u2014 and NSTextViewportRenderingSurfaceKey, which uniquely identifies surfaces across viewport layout cycles Use the new delegate methods to assign and query rendering surfaces during the viewport layout process.","end":687},{"start":687,"title":"Extending framework text views","summary":"UITextView and NSTextView now publicly conform to NSTextViewportLayoutControllerDelegate, so you can subclass and override willLayout, configureRenderingSurface, and didLayout to extend their behavior. Use a SwiftUI ViewRepresentable to bring these text views into a SwiftUI app.","end":778},{"start":778,"title":"Example: Code editor with line numbers","summary":"Build a code-editor experience by subclassing UITextView and overriding the viewport controller delegate methods. Calculate the starting line number with enumerateTextElements, capture each layout fragment's bounds in configureRenderingSurface, and pass the results to a container view that draws line numbers alongside the text.","end":1072},{"start":1072,"title":"Example: Collapsible recipe sections","summary":"Modify layout for multiple paragraphs by conforming to NSTextContentStorageDelegate. Use textContentManager(_:shouldEnumerate:) to skip layout for collapsed paragraphs, track collapsed paragraph offsets in state, and toggle them in response to user taps \u2014 collapsing each multi-paragraph recipe down to just its heading.","end":1196},{"start":1196,"title":"Text attachments and view provider reuse","summary":"Text attachments use the same TextKit architecture as regular text, with NSTextAttachmentViewProvider supplying the view. New in 2027: register a reuse policy with UITextView using register(_:forTextAttachmentViewProviderType:). Use onEditingInlineParagraphs to preserve view providers across edits and onScrollingOutOfViewport to cache surfaces when they scroll off screen.","end":1380},{"start":1380,"title":"Next steps","summary":"Kickstart your app with UITextView, NSTextView, or TextEditor; extend them via the viewport controller delegate hooks; or use TextKit directly to build fully custom rendering. Download the sample app to explore each example.","end":1426}]},"related":{"activities":["wwdc2021-10061","wwdc2022-10090","wwdc2026-219"],"resources":[4137,1720]}},"wwdc2026-393":{"id":"wwdc2026-393","staticContentId":11016,"eventContentId":393,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/393","languageCode":"eng","description":"Discover how to build rich interactivity and stunning visual effects entirely within Reality Composer Pro using its powerful suite of graph-based tools. Learn to craft dynamic materials with Shader Graph, blend skeletal animations with Animation Graph, and simulate particle effects with Compute Graph. Go further by wiring up app interactivity with Script Graph, coordinating scene events with Sequencer, and designing intelligent NPC behaviors with Behavior Trees \u2014 all without leaving the editor.","title":"Supercharge your spatial workflows with Reality Composer Pro 3","originalPublishingDate":"2026-06-08T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"keywords":["3d","3d content","animation","augmented reality","behavior tree","compute graph","environment","game","navigation","navigation mesh","particle effects","reality","reality composer pro","realitykit","scene","script graph","shader graph","spatial computing","usdz","visionos"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9E605738-E929-4041-B39D-6604DDC3001B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/393\/4\/e68b947f-f7f3-49b5-b959-7a70fd9899c3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/393\/4\/e68b947f-f7f3-49b5-b959-7a70fd9899c3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/393\/4\/e68b947f-f7f3-49b5-b959-7a70fd9899c3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/393\/4\/e68b947f-f7f3-49b5-b959-7a70fd9899c3\/downloads\/wwdc2026-393_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/393\/4\/e68b947f-f7f3-49b5-b959-7a70fd9899c3\/downloads\/wwdc2026-393_sd.mp4","duration":1312,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Overview of the visual, node-based tools in Reality Composer Pro 3 \u2014 Animation Graph, Behavior Tree, Script Graph, Navigation Mesh, Compute Graph, and Shader Graph \u2014 and how they combine to build an interactive spatial scene without code.","end":130},{"start":130,"title":"Animation Graph","summary":"Learn how to use Animation Graph to blend character animations at runtime. Covers building a State Machine with Idle and Walk states, defining transition conditions, configuring runtime parameters, and connecting Animation Clip nodes to drive smooth character movement.","end":381},{"start":381,"title":"Behavior Tree","summary":"Explore how Behavior Trees author autonomous, multi-step character routines directly in Reality Composer Pro. Covers Composite nodes (Sequence, Selector, Parallel), built-in Action nodes (Move To, Rotate To Face, Wait, Parameter Setter), and how to compose a full patrol-and-react routine for the alchemist character.","end":682},{"start":682,"title":"Script Graph","summary":"See how Script Graph adds event-driven interactivity to a scene without writing code. Covers using On Initialize and On Tap nodes, connecting subgraphs to set Behavior Tree parameters, and using Live Preview on Apple Vision Pro to test and iterate on behavior in real time.","end":886},{"start":886,"title":"Navigation Mesh","summary":"Discover how the Navigation Mesh component enables characters to pathfind around obstacles automatically. Covers configuring the bounding box for mesh generation, defining off-mesh connections for non-contiguous surfaces like ladders, and tuning generation parameters such as cell size for mesh accuracy.","end":1028},{"start":1028,"title":"Compute Graph","summary":"Build GPU-driven particle simulations with Compute Graph, a visual node-based tool backed by Metal. Walks through the four phases of a Compute Graph \u2014 Emitter, Initialize, Simulate, and Output \u2014 showing how to create a realistic smoke effect for a cauldron with custom spawn shapes, velocity, lifetime, color shifts, and Shader Graph materials.","end":1183},{"start":1183,"title":"Shader Graph enhancements","summary":"Survey the new Shader Graph surface capabilities in Reality Composer Pro 3, including RealityKit PBR Surface 2 with sheen and subsurface scattering, the Hair Surface shader for realistic strand lighting, and new portal-rendering support.","end":1272},{"start":1272,"title":"Next steps","summary":"Summary of the visual tools covered in the session and encouragement to download Reality Composer Pro 3. Links to related sessions: Design No-Code Games with Reality Composer Pro 3 and Explore Advances in RealityKit.","end":1312}]},"related":{"activities":["wwdc2026-281","wwdc2026-279","wwdc2026-252","wwdc2026-280","wwdc2023-10202","wwdc2026-287"]}},"wwdc2026-285":{"id":"wwdc2026-285","staticContentId":10822,"eventContentId":285,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/285","languageCode":"eng","description":"Dive into the latest advances in Universal Scene Description (USD) support on Apple platforms, including Swift-based USDKit, the new spatial preview API, and enhanced spatial web capabilities. Discover how the latest updates to the OpenUSD standard add support for accessibility, Gaussian splats, and compressed geometry. We\u2019ll also walk through the expanded USD editing and rendering tools in Preview for Mac, showing you how to leverage these capabilities in your own apps.","title":"Discover USDKit and what\u2019s new in OpenUSD","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"keywords":["3d","3d content","3d model","augmented reality","spatial computing","usd","usda","usdc","usdz","visionos"],"primaryTopicID":91,"topicIds":[85,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DF2DDED0-77C4-4C32-A8AB-C84061372BBE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/285\/4\/335150b6-c2b8-4711-a632-45a34d449eac\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/285\/4\/335150b6-c2b8-4711-a632-45a34d449eac\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/285\/4\/335150b6-c2b8-4711-a632-45a34d449eac\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/285\/4\/335150b6-c2b8-4711-a632-45a34d449eac\/downloads\/wwdc2026-285_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/285\/4\/335150b6-c2b8-4711-a632-45a34d449eac\/downloads\/wwdc2026-285_sd.mp4","duration":873,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":7,"title":"Introduction","summary":"Frames USD as the backbone of Apple's spatial experiences and outlines the topics covered: foundational USD updates, the new USDKit framework, and how they enable rich 3D experiences across Apple platforms.","end":53},{"start":53,"title":"OpenUSD: Industry Foundation and New Standards","summary":"Apple's evolving role in the OpenUSD ecosystem: updates to OpenUSD, MaterialX, and OpenVDB across all platforms; Apple's membership in the Academy Software Foundation and Alliance for OpenUSD; and the release of the first formal USD core specification.","end":171},{"start":171,"title":"Gaussian Splats and Particle Fields","summary":"Introduces a new USD primitive type \u2014 Particle Fields \u2014 co-developed with NVIDIA, Adobe, and Pixar through the Alliance for OpenUSD, enabling Gaussian Splats to be represented natively in USD and composited alongside traditional 3D data.","end":227},{"start":227,"title":"Introducing USDKit","summary":"A high-level overview of USDKit, the new first-party Swift framework that brings USD support to Apple apps with built-in RealityKit and Spatial Preview integration, designed to be approachable for both USD veterans and Swift developers new to 3D.","end":246},{"start":246,"title":"3D Editing in Preview and New Renderers","summary":"Preview on Mac gains essential 3D editing capabilities: direct scene manipulation, property and lighting editing, hierarchy browsing, and asset conversion \u2014 all backed by a choice of three renderers: RealityKit, Storm, and a new high-fidelity Raytracer. All three support OpenPBR materials.","end":342},{"start":342,"title":"Spatial Preview: Live Collaboration Between Mac and Vision Pro","summary":"The new Spatial Preview framework on macOS 27 creates a live link between Preview on Mac and Quick Look on Vision Pro, enabling real-time spatial review and SharePlay collaboration. Developers can integrate the same workflow into their own Mac apps.","end":385},{"start":385,"title":"USD on the Web: The Safari Model Tag","summary":"Safari's new Model tag brings interactive 3D USD content to web pages on macOS and iOS, with full spatial breakout on visionOS \u2014 making USD as native to the web as images and video.","end":417},{"start":417,"title":"USDKit: Key Concepts and Swift API Walkthrough","summary":"A walkthrough of core USD concepts \u2014 Layers, Composition, Stages, Prims, Schemas, Attributes, and Metadata \u2014 followed by a practical Swift code example: opening a stage, traversing the hierarchy, adding a referenced asset via composition, and repositioning it with transform operations.","end":605},{"start":605,"title":"Accessibility Metadata in USD","summary":"Apple has driven standardization of accessibility metadata directly in USD, defining how assistive labels and descriptions are authored on 3D objects. The API is supported in Blender and Maya, and the USDKit walkthrough shows how to apply the AccessibilityAPI schema and set label and description attributes.","end":679},{"start":679,"title":"Asset Compression: Mesh and Texture","summary":"Introduces state-of-the-art mesh compression (up to 90% reduction) developed with the Alliance for Open Media, combined with existing AVIF texture compression \u2014 achieving 7\u00d7 smaller assets on average. Demonstrated via USDKit's exportPackage API, Preview's UI, and the usdcrush command-line tool.","end":756},{"start":756,"title":"Integration Paths: USDKit, SwiftUSD, and OpenUSD","summary":"Outlines the three integration paths: USDKit for Apple platform app developers; SwiftUSD via Swift Package Manager for advanced or open-source Swift workflows; and OpenUSD as an embeddable C++ framework for cross-platform codebases. All share the same USD foundation, ensuring file interoperability.","end":804},{"start":804,"title":"Next steps","summary":"Recap of the session's key announcements \u2014 3D editing in Preview, Spatial Preview collaboration, the Safari Model tag, and USDKit \u2014 with pointers to related sessions on Spatial Preview, USD on the web, RealityKit and Reality Composer Pro.","end":873}]},"related":{"activities":["wwdc2026-282"]}},"wwdc2026-281":{"id":"wwdc2026-281","staticContentId":10818,"eventContentId":281,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-15T09:51:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/281","languageCode":"eng","description":"Discover how Reality Composer Pro 3 empowers you to build bigger, more ambitious spatial projects. Learn about creating project-specific plugins that let you edit custom components, run custom systems, and build your own ScriptGraph nodes\u2014giving you complete control over your spatial authoring workflow.","title":"Extend Reality Composer Pro 3 functionality with Xcode","originalPublishingDate":"2026-06-08T14:00:00-07:00","platforms":["visionOS"],"keywords":["3d","game","plugin","reality composer pro","realitykit","scene","scripting","spatial computing","swift","visionos","xcode"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2E6661B8-97AA-4532-865A-AEB3C8E1ABF0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/281\/6\/1aef704f-ccc6-4c1d-b7b7-94da42d29609\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/281\/6\/1aef704f-ccc6-4c1d-b7b7-94da42d29609\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/281\/6\/1aef704f-ccc6-4c1d-b7b7-94da42d29609\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/281\/6\/1aef704f-ccc6-4c1d-b7b7-94da42d29609\/downloads\/wwdc2026-281_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/281\/6\/1aef704f-ccc6-4c1d-b7b7-94da42d29609\/downloads\/wwdc2026-281_sd.mp4","duration":1322,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"An overview of the Reality Composer Pro 3 plugin system, showing how Xcode and the editor share a project to let engineers and artists collaborate \u2014 with custom components, systems, animation actions, and Script Graph nodes all running live inside the editor.","end":120},{"start":120,"title":"Extending the editor","summary":"Learn how the Reality Composer Pro 3 plugin system works: how the editor and Xcode share a single git repository, how custom Swift code is compiled into a dynamic library, and how the editor loads and trusts plugins at runtime.","end":291},{"start":291,"title":"Custom components and systems","summary":"Build a Cauldron component and CauldronSystem using RealityKit, expose them to the editor via a RealityComposerProPlugin, and see the water level property update in real time as artists adjust values in the inspector.","end":632},{"start":632,"title":"Controlling the water surface","summary":"Extend the Cauldron component with vortex shader properties and update the system to drive a ShaderGraphMaterial at runtime, enabling artists to control vortex depth and rotation speed directly from the Reality Composer Pro 3 inspector.","end":799},{"start":799,"title":"Custom animation actions","summary":"Implement the EntityAction protocol to create a SetWaterLevelAction that animates the cauldron water level on the sequencer timeline, subscribe to animation update events to interpolate the level, and register the action with the editor plugin.","end":1032},{"start":1032,"title":"Custom Script Graph nodes","summary":"Use the @Scriptable macro to expose a custom component to Reality Composer Pro 3 Script Graphs, register a scripting module in the plugin setup, and see the generated nodes appear in the Script Graph editor for no-code artist workflows.","end":1276},{"start":1276,"title":"Next steps","summary":"Recap of the plugin capabilities covered \u2014 custom components, systems, animation actions, and Script Graph nodes \u2014 with recommendations to explore the Explore Advances in RealityKit and Supercharge Your Spatial Workflows sessions.","end":1322}]},"related":{"activities":["wwdc2026-279","wwdc2026-252","wwdc2026-280","wwdc2026-393"]}},"wwdc2026-344":{"id":"wwdc2026-344","staticContentId":10892,"eventContentId":344,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/344","languageCode":"eng","description":"Dive deep into an Xcode project showing how you can make your app available to Siri. Learn how to adopt App Schemas to let people ask questions about calendar events and take natural language actions like scheduling. Discover best practices for making content available in the Spotlight semantic index and providing context for on-screen awareness. ","title":"Code-along: Make your app available to Siri","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ai","app intents","machine learning","siri","xcode"],"primaryTopicID":94,"topicIds":[83,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D122F80D-402A-4918-96C6-2726EF89F2AF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/344\/4\/ee45cb19-e252-41f4-a2e0-e9b59238c7aa\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/344\/4\/ee45cb19-e252-41f4-a2e0-e9b59238c7aa\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/344\/4\/ee45cb19-e252-41f4-a2e0-e9b59238c7aa\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/344\/4\/ee45cb19-e252-41f4-a2e0-e9b59238c7aa\/downloads\/wwdc2026-344_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/344\/4\/ee45cb19-e252-41f4-a2e0-e9b59238c7aa\/downloads\/wwdc2026-344_sd.mp4","duration":1460,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Justin Kang previews the goal: take an existing app and make it available to Siri. A picnic scenario shows Siri searching events, updating times with confirmation, texting attendees, and answering questions, all through conversation.","end":103},{"start":103,"title":"App Schemas and the plan","summary":"Apps integrate with Apple Intelligence through App Intents, and App Schemas describe content and actions in terms Siri already understands, no training phrases or NLP. Schemas are organized into domains (here, the calendar domain). Introduces the CometCal sample app and the two goals: understand content, and perform actions.","end":224},{"start":224,"title":"Build the CalendarEntity","summary":"Create a schematized @AppEntity from the calendar_calendar snippet, set the id to UUID, conform to IndexedEntity, wire a @Dependency and @MainActor query (EnumerableEntityQuery with allEntities()), set a display representation, and donate to Spotlight via indexAppEntities and deleteAppEntities.","end":480},{"start":480,"title":"Build the AttendeeEntity","summary":"Built from calendar_attendee, but conforming to TransientAppEntity instead of IndexedEntity, attendees are accessed only through their event, so they need no identifier, query, or index. Introduces the IntentPerson type and two schematized @AppEnums (calendar_attendeeStatus, calendar_attendeeType).","end":630},{"start":630,"title":"Build the EventEntity","summary":"The central IndexedEntity (from calendar_event), where the semantic index shines for title and note-content questions. Composes the CalendarEntity and [AttendeeEntity], handles recurrence (Calendar.RecurrenceRule), union values for location and alarms, and event status\/span enums.","end":874},{"start":874,"title":"Open events with OpenIntent","summary":"A small OpenEventIntent conforming to the system.open schema takes an EventEntity and tells the NavigationManager to navigate to it, so tapping an event in Spotlight or Siri opens straight to its detail view.","end":930},{"start":930,"title":"Onscreen awareness","summary":"Two view modifiers connect the screen to entities: .appEntityIdentifier on the event list and .userActivity (with an EntityIdentifier) on the detail view, letting Siri resolve \"this event\" or \"that third event\" without naming the title.","end":1038},{"start":1038,"title":"Create events with Siri","summary":"Build CreateEventIntent from calendar_createEvent: fill in parameter types, add a @MainActor @Dependency, and in perform() resolve the schema parameters (location union value, recurrence) into the data layer and return an EventEntity. Siri handles language, clarification, and confirmation.","end":1164},{"start":1164,"title":"Update events","summary":"UpdateEventIntent (calendar_updateEvent) mostly mirrors create, but parameters are optional. The key subtlety: an IntentParameter's valueState distinguishes .set with a value (change it), .set with nil (explicitly clear it), and .unset (not part of the request).","end":1290},{"start":1290,"title":"Custom snippet views","summary":"Replace Siri's default result card by adding ShowsSnippetView to the intent's return type and returning a custom SwiftUI EventSnippetView, bringing the app's visual personality (cosmic gradient, star icon) into Siri.","end":1350},{"start":1350,"title":"Delete events","summary":"DeleteEventIntent is the simplest, just the event plus an optional span for recurring events, and Siri automatically handles confirmation and disambiguation before deleting.","end":1415},{"start":1415,"title":"Next steps","summary":"Download the CometCal sample, browse the App Intents documentation for all schemas and domains, write tests with AppIntentsTesting, and watch \"Explore advanced App Intents features for Siri and Apple Intelligence.\"","end":1460}]},"related":{"activities":["wwdc2026-240","wwdc2026-343","wwdc2026-295"],"resources":[4229,4225,4224,4223,4219,4218,4217,4216,4213]}},"wwdc2026-389":{"id":"wwdc2026-389","staticContentId":11002,"eventContentId":389,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/389","languageCode":"eng","description":"Meet container machines, a new tool included in Container that offers a lightweight persistent Linux environment on Mac. Explore how container machines work and how the design of Containerization allows for a performant and seamless experience when developing for Linux on macOS.","title":"Discover container machines","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":88,"topicIds":[99,101,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AEE249BB-D25A-467C-8EEE-9632CD2D6E78","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/389\/4\/8dd035e7-0481-4028-b4bd-e91ba3634198\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/389\/4\/8dd035e7-0481-4028-b4bd-e91ba3634198\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/389\/4\/8dd035e7-0481-4028-b4bd-e91ba3634198\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/389\/4\/8dd035e7-0481-4028-b4bd-e91ba3634198\/downloads\/wwdc2026-389_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/389\/4\/8dd035e7-0481-4028-b4bd-e91ba3634198\/downloads\/wwdc2026-389_sd.mp4","duration":667,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Introduces Container machine, a new feature built on the Containerization framework that provides a fast, lightweight, and persistent Linux environment seamlessly integrated with macOS.","end":79},{"start":79,"title":"Containerization","summary":"Reviews the open-source Containerization Swift framework \u2014 its architecture, VM-based isolation, sub-second start times, and the companion container CLI tool.","end":134},{"start":134,"title":"Design principles","summary":"Outlines the four principles that shaped Container machine: fast and lightweight, simple to create and operate, persistent across sessions, and a seamless extension of macOS.","end":216},{"start":216,"title":"Container machine","summary":"Explores how Container machine builds on Containerization with OCI image support, first-class integration into the container tool, stateful persistence, and automatic user and filesystem mirroring.","end":276},{"start":276,"title":"Demo","summary":"Demonstrates creating and running a Container machine, executing commands with automatic user and directory mirroring, and building and testing a Vapor web server from macOS using Xcode, Icon Composer, and Safari.","end":633},{"start":633,"title":"Next steps","summary":"Recaps Container machine key strengths and encourages viewers to download the latest container 1.0 release from GitHub to try it in their workflow.","end":667}]},"related":{"activities":["wwdc2025-346"],"resources":[4076,4075]}},"wwdc2026-216":{"id":"wwdc2026-216","staticContentId":10727,"eventContentId":216,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/216","languageCode":"eng","description":"Get started with Safari web extensions by building and testing one from the ground up \u2014 no Xcode required. Explore how content blocking, page modification, native messaging, and the permissions mode work together to create a powerful, privacy-preserving browsing experience across platforms. ","title":"Create web extensions for Safari","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"keywords":["app store connect","css","html","javascript","json","safari","web extensions"],"primaryTopicID":98,"topicIds":[86,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BBA8470C-BB0C-4ED2-84F5-8580CBF3A326","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/216\/5\/4fceecc8-1e28-465c-b894-fd0d03067c18\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/216\/5\/4fceecc8-1e28-465c-b894-fd0d03067c18\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/216\/5\/4fceecc8-1e28-465c-b894-fd0d03067c18\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/216\/5\/4fceecc8-1e28-465c-b894-fd0d03067c18\/downloads\/wwdc2026-216_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/216\/5\/4fceecc8-1e28-465c-b894-fd0d03067c18\/downloads\/wwdc2026-216_sd.mp4","duration":1602,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn how Safari web extensions \u2014 built with HTML, CSS, and JavaScript and packaged inside an app \u2014 can run across iOS, iPadOS, macOS, and visionOS. Preview the distraction-blocker extension built throughout the session, which offers a 10-minute light mode and a full redirect mode.","end":203},{"start":203,"title":"Get started","summary":"Set up an extension from scratch by writing a manifest.json file, then add a popup UI so the extension is reachable from Safari's toolbar. The same project runs unchanged across every Apple platform that ships Safari.","end":443},{"start":443,"title":"Block content","summary":"Use the declarativeNetRequest API to block, modify, and redirect network requests, and declare the host permissions \u2014 including optional host permissions \u2014 that let users grant access on the sites where the extension should run.","end":880},{"start":880,"title":"Modify webpages","summary":"Inject content into pages with content scripts to render a countdown timer on distracting sites. Register scripts dynamically with the scripting API and persist user preferences and per-host state using the storage API and a background service worker.","end":1193},{"start":1193,"title":"Package and distribute","summary":"Submit a Safari web extension to the App Store using App Store Connect, and share beta builds with testers through TestFlight.","end":1353},{"start":1353,"title":"Communicate with your app","summary":"Generate an Xcode project with the Safari Web Extension Packager, then use native messaging to pass requests between the JavaScript extension and its containing app \u2014 unlocking platform features like Local Authentication that aren't available to web APIs.","end":1564},{"start":1564,"title":"Next steps","summary":"Download the sample project, explore the cross-browser WebExtensions documentation on MDN, and file feedback through Feedback Assistant or bugs.webkit.org.","end":1602}]},"related":{"activities":["wwdc2026-204"],"resources":[4190,4189,3601,765,738]}},"wwdc2026-347":{"id":"wwdc2026-347","staticContentId":10897,"eventContentId":347,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/347","languageCode":"eng","description":"Explore how to evaluate threats from indirect prompt injection, such as data exfiltration and unintended actions. Discover system safeguards and security best practices for using App Intents and the Foundation Models framework, including mitigations such as user confirmations, secure prompt design, and authentication.","title":"Secure your app: mitigate risks to agentic features","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":96,"topicIds":[94,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3A2D4F2E-8749-4804-A302-8DB52F08BBC1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/347\/4\/07cdbfeb-280a-49e3-aeba-c18fbb0d32b4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/347\/4\/07cdbfeb-280a-49e3-aeba-c18fbb0d32b4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/347\/4\/07cdbfeb-280a-49e3-aeba-c18fbb0d32b4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/347\/4\/07cdbfeb-280a-49e3-aeba-c18fbb0d32b4\/downloads\/wwdc2026-347_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/347\/4\/07cdbfeb-280a-49e3-aeba-c18fbb0d32b4\/downloads\/wwdc2026-347_sd.mp4","duration":1512,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Agentic features introduce new security risks. We cover how to identify those risks and introduce techniques and APIs to protect your users.","end":126},{"start":126,"title":"Risks","summary":"Understand new risks that come with using agentic systems in your app.","end":392},{"start":392,"title":"Threat modeling","summary":"A threat-modeling exercise for your app can help identify which context sources are untrusted and which actions are potentially risky.","end":716},{"start":716,"title":"Implementing mitigations","summary":"Learn about concrete tools that you can use to secure your agentic app.","end":723},{"start":723,"title":"Foundation Models","summary":"If you use the Foundation Models framework, learn how to inject security checkpoints into your agent execution.","end":1075},{"start":1075,"title":"App Intents","summary":"Learn about security mitigations available when integrating with Apple Intelligence using App Intents.","end":1512}]},"related":{"activities":["wwdc2025-248","wwdc2020-10189","wwdc2026-242","wwdc2026-240","wwdc2026-343"],"resources":[75]}},"wwdc2026-305":{"id":"wwdc2026-305","staticContentId":10849,"eventContentId":305,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/305","languageCode":"eng","description":"Harness the power of version 9 of the Core Image RAW processing APIs to dramatically improve image quality in your apps, with improved sharpness and more defined color, while using the Apple Neural Engine for optimal performance. Take advantage of the CIRAWFilter API to let your users edit RAW photos by changing exposure, noise reduction, sharpness, contrast and more. And explore new CIImageProcessor APIs that optimize performance by giving you precise control over tile sizing and buffer management.","title":"Enhance RAW image processing with Core Image","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"primaryTopicID":95,"topicIds":[95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B58A8547-5E9A-45C2-9208-4F86A4D3DA51","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/305\/5\/d8d5f3ce-0ff1-45a3-a630-436743477c62\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/305\/5\/d8d5f3ce-0ff1-45a3-a630-436743477c62\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/305\/5\/d8d5f3ce-0ff1-45a3-a630-436743477c62\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/305\/5\/d8d5f3ce-0ff1-45a3-a630-436743477c62\/downloads\/wwdc2026-305_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/305\/5\/d8d5f3ce-0ff1-45a3-a630-436743477c62\/downloads\/wwdc2026-305_sd.mp4","duration":988,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Enhancements to Core Image and its support for RAW image files across Apple platforms.","end":52},{"start":52,"title":"How Core Image supports RAW","summary":"An overview of the RAW processing stages, including demosaic, denoising, convolution, and color adjustments, and their support in Apple's operating systems and developer frameworks.","end":168},{"start":168,"title":"The evolution of RAW support","summary":"A look at how Apple's RAW processing pipeline has evolved across nine versions, now supporting 784 camera models.","end":213},{"start":213,"title":"RAW 9 overview","summary":"Explore the new RAW 9 processing pipeline, which leverages a Core ML model to significantly improve demosaic and denoise for the highest image quality.\n","end":236},{"start":236,"title":"RAW 9 quality improvements","summary":"A side-by-side comparison of RAW 8 and RAW 9 demonstrating significant improvements in sharpness, color accuracy, and noise reduction.\n","end":350},{"start":350,"title":"Enable and edit RAW 9 with CIRAWFilter API","summary":"How to opt in to RAW 9 using CIRAWFilter's decoderVersion property, check which camera models are supported, and use the CIRAWFilter editing properties to give people full control over how their RAW images appear.","end":513},{"start":513,"title":"RAW 9 performance overview","summary":"Best practices for optimizing performance when using RAW 9.","end":559},{"start":559,"title":"Interactive editing","summary":"Best practices for rendering a RAW file repeatedly at screen resolution, including using the scaleFactor property, enabling cacheIntermediates, the Extended Virtual Addressing entitlement, and rendering to Metal-backed MTKViews.","end":652},{"start":652,"title":"Exporting to other formats","summary":"Best practices for exporting multiple RAW files to HEIF or JPEG at full resolution, including disabling cacheIntermediates, tuning the memoryLimit option, and using Core Image's heifRepresentation and jpegRepresentation methods.","end":710},{"start":710,"title":"New CIImageProcessor features","summary":"Discover new API features added to CIImageProcessor, including explicit output tile sizes and temporary buffers.","end":988}]},"related":{"activities":["wwdc2021-10160","wwdc2022-10114"],"resources":[4263]}},"wwdc2026-234":{"id":"wwdc2026-234","staticContentId":10757,"eventContentId":234,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/234","languageCode":"eng","description":"Learn how you can create photoreal visionOS environments for your apps, websites, and SharePlay experiences. Discover the design principles that make environments feel truly immersive and find out how you can create or capture reference materials, prepare high-fidelity CG assets, and craft real-time effects such as motion and lighting.","title":"Design immersive environments for visionOS apps and the spatial web","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["visionOS"],"keywords":["environment","environments","spatial design"],"primaryTopicID":87,"topicIds":[94,91,85,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0BDEE063-38E4-4DFC-B55F-B68D8948B1C0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/234\/4\/88f2dbdd-e1b1-4b50-9fa0-69a32ac768b2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/234\/4\/88f2dbdd-e1b1-4b50-9fa0-69a32ac768b2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/234\/4\/88f2dbdd-e1b1-4b50-9fa0-69a32ac768b2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/234\/4\/88f2dbdd-e1b1-4b50-9fa0-69a32ac768b2\/downloads\/wwdc2026-234_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/234\/4\/88f2dbdd-e1b1-4b50-9fa0-69a32ac768b2\/downloads\/wwdc2026-234_sd.mp4","duration":958,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Get an overview of immersive environments for visionOS and how they differ from panoramas and flat media. Learn how you can design your own photorealistic natural landscapes for your apps and the spatial web.","end":77},{"start":77,"title":"Pre-production","summary":"Time to get started with pre-production. Michael shares common questions you can ask yourself to identify the kind of environment you want to create. Learn how to scout local and faraway locations, identify items you might want to omit, and plan for the production stage.","end":307},{"start":307,"title":"Production","summary":"Discover how you can capture high-quality photography on location that you can use during the 3D asset creation process. Michael shares tips and tricks for capturing great primary source content and secondary photography, whether you're operating on your own or have a team and advanced resources at your disposal.","end":521},{"start":521,"title":"Post-production","summary":"Find out how to process your source material into a high-resolution panorama, clean up your images, and start designing your 3D asset. Learn about common items you might want to remove from your initial content. Discover how to maintain photorealistic quality in your 3D content. And find out how to incorporate motion and Spatial Audio into your scene. ","end":907},{"start":907,"title":"Next steps","summary":"As you start to design your own environments, make intentional choices and create compositions that work for your apps and experiences. And don't forget to integrate sound and motion!","end":958}]}},"wwdc2026-309":{"id":"wwdc2026-309","staticContentId":10855,"eventContentId":309,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/309","languageCode":"eng","description":"Discover how you can use the power of Retention Messaging to reach subscribers before they cancel. Learn how to configure this feature in App Store Connect and add subscription offers, as well as leverage the Retention Messaging API to deliver real-time messaging and alternative options that encourage people to stay subscribed to your app or game.","title":"Explore Retention Messaging in App Store Connect","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","tvOS","visionOS"],"primaryTopicID":86,"topicIds":[83,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7BD89666-6EB4-4B09-8F19-F498637C1709","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/309\/4\/afa0aec8-f216-43ed-bcb1-1a3742e49dac\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/309\/4\/afa0aec8-f216-43ed-bcb1-1a3742e49dac\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/309\/4\/afa0aec8-f216-43ed-bcb1-1a3742e49dac\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/309\/4\/afa0aec8-f216-43ed-bcb1-1a3742e49dac\/downloads\/wwdc2026-309_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/309\/4\/afa0aec8-f216-43ed-bcb1-1a3742e49dac\/downloads\/wwdc2026-309_sd.mp4","duration":910,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Retention Messaging allows you to reach your subscribers when they are about to cancel you subscription, offering you an opportunity to save your subscribers at this critical moment.","end":158},{"start":158,"title":"Retention Messaging in App Store Connect","summary":"Retention Messaging in App Store Connect allows you to set up retention messages that are automatically delivered to your customers when they are about to cancel a subscription. You can use Asset Library and retention offers to add value to your retention messages.","end":398},{"start":398,"title":"Real-time Retention Messaging","summary":"Use real-time Retention Messaging and the Retention Messaging API to reach out to your customers in real time when they are about to cancel their subscriptions. The App Store will make a server-to-server call to your configured endpoint to get your real-time message preference.","end":706},{"start":706,"title":"Retention Messaging comparison","summary":"Compare Retention Messaging in App Store Connect and real-time Retention Messaging to determine which is the right fit for your app.","end":910}]},"related":{"activities":["wwdc2026-205","wwdc2026-210"],"resources":[4212,4208,4176]}},"wwdc2026-369":{"id":"wwdc2026-369","staticContentId":10919,"eventContentId":369,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T16:33:51-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/369","languageCode":"eng","description":"Get started with Channel Sounding to bring distance and direction awareness to your Bluetooth accessories. Dive into the new Nearby Interaction and Core Bluetooth APIs, and walk through the accessory-side changes you\u2019ll need. Optimize power consumption while ensuring a smooth, responsive experience.","title":"Find your accessory with Bluetooth Channel Sounding","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BAAB9EB5-235D-43BA-B6A6-1F0069A149F5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/369\/4\/fea90204-fd38-4da4-b9e7-5dce37bc87d8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/369\/4\/fea90204-fd38-4da4-b9e7-5dce37bc87d8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/369\/4\/fea90204-fd38-4da4-b9e7-5dce37bc87d8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/369\/4\/fea90204-fd38-4da4-b9e7-5dce37bc87d8\/downloads\/wwdc2026-369_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/369\/4\/fea90204-fd38-4da4-b9e7-5dce37bc87d8\/downloads\/wwdc2026-369_sd.mp4","duration":492,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Discover the three aspects of Bluetooth Channel Sounding that will be discussed in this video.","end":50},{"start":50,"title":"Overview","summary":"Find inspiration for using Bluetooth Channel Sounding.","end":197},{"start":197,"title":"Core Bluetooth API","summary":"Learn how to get distance with the Core Bluetooth API.","end":274},{"start":274,"title":"Nearby Interaction API","summary":"Get distance and direction with the Nearby Interaction API.","end":425},{"start":425,"title":"Hardware tips","summary":"Understand the hardware requirements for Bluetooth Channel Sounding.","end":492}]},"related":{"activities":["wwdc2024-10203","wwdc2021-10165","wwdc2026-8130","wwdc2026-8131"],"resources":[4345,3737,775,172]}},"wwdc2026-328":{"id":"wwdc2026-328","staticContentId":10874,"eventContentId":328,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/328","languageCode":"eng","description":"Bring NumPy-style computing natively to Swift with MLX Swift. Discover how to eliminate cross-language friction in your machine learning workflows by handling image processing, tensor operations, and neural network training in a single, type-safe environment. Explore the APIs that let you leverage GPU acceleration while enjoying the compiler, tooling, and debugging experience you already know.","title":"Explore numerical computing in Swift with MLX","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":99,"topicIds":[94,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2CCCA608-911B-4487-9AF4-0A9F66847D78","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/328\/5\/51d0ab0a-f401-4514-9f04-6b211897d3e8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/328\/5\/51d0ab0a-f401-4514-9f04-6b211897d3e8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/328\/5\/51d0ab0a-f401-4514-9f04-6b211897d3e8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/328\/5\/51d0ab0a-f401-4514-9f04-6b211897d3e8\/downloads\/wwdc2026-328_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/328\/5\/51d0ab0a-f401-4514-9f04-6b211897d3e8\/downloads\/wwdc2026-328_sd.mp4","duration":871,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"What numerical computing is and its applications \u2014 from simulations in chemistry, biology, and physics to signal processing, rendering, fractals, and machine learning training via gradient descent.","end":57},{"start":57,"title":"MLX Swift and the Apple ecosystem","summary":"Where MLX Swift fits among Apple's existing numerical computing frameworks (Accelerate, BNNS, Metal Performance Shaders, Swift Numerics) \u2014 and why to choose MLX Swift when your primary goal is writing mathematical code that looks like the math, with automatic GPU execution and automatic differentiation.","end":184},{"start":184,"title":"MLX Swift","summary":"Core MLX Swift concepts \u2014 n-dimensional arrays as the central abstraction (similar to NumPy), lazy evaluation that builds a compute graph before executing, and a walkthrough of the power iteration algorithm showing how operations like matmul, norm, and transpose map directly to mathematical notation.","end":268},{"start":268,"title":"Mandelbrot","summary":"Computing the Mandelbrot fractal as a showcase for array computing \u2014 comparing a scalar-at-a-time plain Swift implementation against an MLX Swift version that applies z = z\u00b2 + c across the entire grid of complex numbers at once, running on the GPU with up to 10x speedup in fewer lines of code.","end":394},{"start":394,"title":"Heat distribution","summary":"Finding steady-state temperature in a room using Jacobi iteration \u2014 modeling heat as a 2D grid, implementing the four-neighbor stencil as a single conv2d call, and applying boundary conditions with an elementwise ternary. A convolution as physics.","end":492},{"start":492,"title":"Faster convergence with SOR","summary":"How Successive Over-Relaxation (SOR) reaches steady state in N iterations versus N\u00b2 for Jacobi \u2014 using an omega parameter to overshoot updates, a red\/black checkerboard pattern to simulate in-place updates, and a side-by-side comparison showing SOR completing 100x faster with the same minimal code.","end":617},{"start":617,"title":"Curve fitting","summary":"How automatic differentiation flips forward computation \u2014 given data points and a parametric function (a quadratic), using MLX's grad to derive gradients automatically and running a gradient descent loop to fit the curve without writing a single derivative by hand.","end":737},{"start":737,"title":"The full MLX toolkit and ecosystem","summary":"Overview of MLX's complete numerical computing toolkit \u2014 linear algebra, FFTs, n-dimensional convolutions, reductions, scans, indexing, random number generation, optimizers (SGD, Adam, RMSprop) \u2014 and the Swift ecosystem of packages including mlx-swift, mlx-swift-lm, and mlx-swift-examples.","end":827},{"start":827,"title":"Next steps","summary":"How to get started with mlx-swift and mlx-swift-examples (LLM integration, stable diffusion, model training, and session examples), MLX's multi-language support (Swift, Python, C++, C).","end":871}]},"related":{"activities":["wwdc2026-233","wwdc2026-232","wwdc2025-315","wwdc2025-298"],"resources":[4194,4070,4069,4068,4067,4066,4065,4060]}},"wwdc2026-207":{"id":"wwdc2026-207","staticContentId":10717,"eventContentId":207,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/207","languageCode":"eng","description":"HealthKit makes it easier to provide workout insights \u2014 like heart rate and cycling power zones \u2014 in your app. Learn to leverage the built-in, personalized zones or create custom ones. Discover how to use the current zone and time spent in each zone to provide meaningful guidance during and after workouts.","title":"Deliver workout insights with HealthKit workout zones","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","visionOS","watchOS"],"primaryTopicID":92,"topicIds":[100,92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8DB078C5-365C-4584-85B4-F6F97EACBC68","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/207\/5\/8627c1d4-7a34-46f2-8491-f0d1c138edd1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/207\/5\/8627c1d4-7a34-46f2-8491-f0d1c138edd1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/207\/5\/8627c1d4-7a34-46f2-8491-f0d1c138edd1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/207\/5\/8627c1d4-7a34-46f2-8491-f0d1c138edd1\/downloads\/wwdc2026-207_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/207\/5\/8627c1d4-7a34-46f2-8491-f0d1c138edd1\/downloads\/wwdc2026-207_sd.mp4","duration":735,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":1,"title":"Introduction","summary":"Workout zones turn biometric data into actionable training guidance, helping people understand their effort and intensity in a workout. In iOS and watchOS 27, heart rate and cycling power zone support is built directly into HealthKit, providing a new way to help people train smarter.","end":137},{"start":137,"title":"Accessing workout zones","summary":"Use the zoneGroupsByType dictionary on a completed HKWorkout or HKWorkoutActivity to access the zones for a particular HKQuantityType, like heart rate. Explore the HKWorkoutConfiguration (describing the quantity type, source, and contiguous zone boundaries) and an array of zone durations which represents the time spent in each zone during the workout. This data can be used to provide meaningful insights, like rendering a post-workout zone chart or classifying effort.","end":379},{"start":379,"title":"Live zone updates","summary":"To receive real-time notifications when someone's heart rate changes into a new zone during a workout, adopt the didUpdateWorkoutZone method on HKLiveWorkoutDelegate. Each update includes the current and previous zone, the cumulative zone data with running totals for the workout, and a timestamp of the last processed sample. Use these zone updates to provide timely guidance in a workout, like highlight the active zone and send an alert if someone drifts from their target zones.","end":491},{"start":491,"title":"Preferred zones","summary":"HealthKit uses the preferred zone thresholds from Health Settings by default, which can either be automatically calculated from user metrics like age and resting heart rate, or then be manually configured. These settings sync across devices. Before starting a workout that will consider zones information, query for a preferred zone configuration on HKHealthStore or HKWorkoutBuilder to confirm one has been set.","end":540},{"start":540,"title":"Custom zones","summary":"When your app uses a proprietary zone model, rather than the preferred zones from Health Settings, configure each workout with a custom HKWorkoutZoneConfiguration. Create the configuration and supply it to the HKWorkoutBuilder before calling beginCollection. Custom configurations are scoped to individual workouts and not persisted by HealthKit.","end":735}]},"related":{"resources":[4343,4170]}},"wwdc2026-223":{"id":"wwdc2026-223","staticContentId":10734,"eventContentId":223,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/223","languageCode":"eng","description":"Elevate your app experience with Live Activities. Explore many of the places where Live Activities appear, including a new style in the Dynamic Island that delivers more information when iPhone is used in landscape. Learn how to tailor your Live Activity for each space, structure your content and data, and drive real time updates from start to finish using ActivityKit and push notifications.","title":"Live Activities essentials","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"88E22B76-610C-4EBC-8E36-16E02B76781B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/223\/4\/9098c495-ea8b-44f9-b852-f6eb64840161\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/223\/4\/9098c495-ea8b-44f9-b852-f6eb64840161\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/223\/4\/9098c495-ea8b-44f9-b852-f6eb64840161\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/223\/4\/9098c495-ea8b-44f9-b852-f6eb64840161\/downloads\/wwdc2026-223_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/223\/4\/9098c495-ea8b-44f9-b852-f6eb64840161\/downloads\/wwdc2026-223_sd.mp4","duration":916,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":1,"title":"Introduction","summary":"Live Activities keep people up-to-date about ongoing tasks or events with progressing information over time, appearing on the Lock Screen, in the Dynamic Island, on Apple Watch, and on the CarPlay Dashboard.","end":113},{"start":113,"title":"Create and update","summary":"Start by defining an efficient data model using ActivityAttributes for static data and ContentState for dynamic data. Construct tailored UI for each presentation and manage the activity's lifecycle locally via ActivityKit or remotely using push notifications.\n","end":591},{"start":591,"title":"Optimize","summary":"Refine the Live Activity experience by adapting layouts to accommodate specific constraints, such as limited width in the Dynamic Island in landscape, or adopting the small activity family for Apple Watch. Integrate App Intents to let people perform quick, contextual actions.","end":916}]},"related":{"activities":["wwdc2023-10194","wwdc2024-10150","wwdc2024-10068"],"resources":[2968,2961,2959]}},"wwdc2026-277":{"id":"wwdc2026-277","staticContentId":10804,"eventContentId":277,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-15T09:47:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/277","languageCode":"eng","description":"Widgets highlight your app\u2019s most important content across the system, providing people with another opportunity to engage. Discover the different types of widgets and explore the qualities that make them memorable. Learn how to create widgets, keep them up to date, and offer ways for people to customize them through App Intents and dynamic styling.","title":"WidgetKit foundations","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C841E94B-3DBA-464C-A751-43F15ADC12A5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/277\/4\/e9dd0c7d-3a2e-4cf3-9e65-c9cba19d3616\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/277\/4\/e9dd0c7d-3a2e-4cf3-9e65-c9cba19d3616\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/277\/4\/e9dd0c7d-3a2e-4cf3-9e65-c9cba19d3616\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/277\/4\/e9dd0c7d-3a2e-4cf3-9e65-c9cba19d3616\/downloads\/wwdc2026-277_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/277\/4\/e9dd0c7d-3a2e-4cf3-9e65-c9cba19d3616\/downloads\/wwdc2026-277_sd.mp4","duration":1220,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":1,"title":"Introduction","summary":"Widgets highlight your app's most important content across the system. The best widgets are glanceable, relevant, and personalizable. Learn how to build your first widget and keep it up to date, extending the reach of your app across platforms with WidgetKit and SwiftUI.","end":63},{"start":63,"title":"Fundamentals","summary":"Widgets should be glanceable, relevant, and personalizable. They are built by creating a widget extension that exposes a timeline of TimelineEntry values. Each TimelineEntry provides the data to render a SwiftUI view at a particular moment in time. Learn how to define a widget with a StaticConfiguration or AppIntentConfiguration, build a quality TimelineProvider, and select a timeline reload policy to keep your widget up to date. Discover the various sizes and placements for widgets with .supportedFamilies \u2014 including the new systemExtraLargePortrait family coming to macOS, iOS, and iPadOS 27.","end":795},{"start":795,"title":"Integrate with your app","summary":"WidgetKit offers three key integration points to tighten the connection between a widget and your app. Deep links route taps directly to specific content in your app. Configurable widgets let people personalize widget content. Interactive elements that let people perform the most important actions from within your app using App Intents.","end":1024},{"start":1024,"title":"Adapt with the system","summary":"Widgets are dynamic and adapt with the system appearance modes like full color, tinted, and clear. SwiftUI handles most of the adaptation automatically, though you can customize the behavior of particular Views with the .widgetAccentedRenderingMode(.fullColor) modifier. Learn techniques to test your widgets for considerations with appearance modes and budgeted reloads.","end":1220}]},"related":{"activities":["wwdc2021-10048","wwdc2026-223","wwdc2023-10103","wwdc2023-10028","wwdc2025-278"]}},"wwdc2026-314":{"id":"wwdc2026-314","staticContentId":10860,"eventContentId":314,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/314","languageCode":"eng","description":"Build adaptive web layouts that embrace content of all shapes and sizes. Explore how Grid Lanes lets you arrange differently-shaped elements into clean, flexible designs with simple CSS. And find out how flow-tolerance helps you refine accessibility while keeping your layouts malleable.","title":"Learn CSS Grid Lanes","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"primaryTopicID":98,"topicIds":[87,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BCF0085A-A832-4B9D-9296-073D6F166EF8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/314\/4\/72928edd-5728-4010-b8f0-27f1a7bdec8c\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/314\/4\/72928edd-5728-4010-b8f0-27f1a7bdec8c\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/314\/4\/72928edd-5728-4010-b8f0-27f1a7bdec8c\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/314\/4\/72928edd-5728-4010-b8f0-27f1a7bdec8c\/downloads\/wwdc2026-314_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/314\/4\/72928edd-5728-4010-b8f0-27f1a7bdec8c\/downloads\/wwdc2026-314_sd.mp4","duration":625,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about CSS Grid Lanes, a new layout mode for masonry-style \"waterfall\" and \"brick wall\" design patterns in just a few lines of CSS, available now in Safari 26.4.","end":95},{"start":95,"title":"CSS Flexbox and Grid","summary":"Understand what a layout mode actually does and see why Flexbox and Grid fall short for content with mixed aspect ratios, where stretching, zooming, and cropping all distort your design.","end":165},{"start":165,"title":"CSS Grid Lanes","summary":"Learn how Grid Lanes fits between Grid and Flexbox, structuring one axis while leaving the other free so items pack tightly without distortion. Each item lands in whichever column leaves it closest to the top, and the same rules apply to images, text, or any other content.","end":235},{"start":235,"title":"Build a Grid Lanes container","summary":"Build your first Grid Lanes layout in three lines of CSS: `display: grid-lanes`, `grid-template-columns` with `fr` units to divide available space into fractions, and `gap` to space items apart.","end":271},{"start":271,"title":"Implement brick variation","summary":"Flip the layout 90 degrees by swapping `grid-template-columns` for `grid-template-rows` to flow items horizontally into a brick-wall layout. Grid Lanes structures one direction at a time \u2014 pick columns or rows, not both.","end":289},{"start":289,"title":"Experiment with different layouts","summary":"Use the full power of CSS track sizing inside Grid Lanes: unequal column widths, `auto-fill` with `minmax()` to let the browser choose how many columns fit, and repeating patterns of narrow and wide columns.","end":340},{"start":340,"title":"Control individual items","summary":"Shape individual items using familiar Grid properties \u2014 `grid-column: span 2` to stretch an item across columns, explicit column placement (rows are still chosen for you), and `grid-template-columns: subgrid` to align nested content with the parent layout.","end":425},{"start":425,"title":"Flow Tolerance","summary":"Discover why the shortest-column rule can produce visually pleasing layouts that confuse keyboard users when DOM order and visual order diverge. The `flow-tolerance` property loosens the rule so items prefer to fill earlier columns when heights are similar, with a default of `1em` you can tune to your content.","end":526},{"start":526,"title":"Web Inspector","summary":"Debug Grid Lanes layouts visually with Safari Web Inspector. Turn on the overlay to see column and row lines, gaps, and order numbers projected over each item \u2014 useful when tuning `flow-tolerance` or diagnosing surprising placements.","end":560},{"start":560,"title":"Next steps","summary":"Explore the WebKit team's Grid Lanes Field Guide for interactive demos, try Grid Lanes in your own projects (available in Safari 26.4), and share feedback with the team. To see what else is coming to Safari, watch \"What's new in WebKit for Safari 27.\"","end":625}]},"related":{"activities":["wwdc2026-204","wwdc2026-315"],"resources":[4259,3601,765]}},"wwdc2026-203":{"id":"wwdc2026-203","staticContentId":10705,"eventContentId":203,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-22T15:00:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/203","languageCode":"eng","description":"Unlock handwriting recognition in your apps using the same powerful technology behind Apple apps like Freeform and Notes. Discover how to use handwriting recognition across a wide range of alphabets and languages, and explore new capabilities for integrating PencilKit into a wider variety of apps.","title":"Read between the strokes with PencilKit","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["\ud83c\udf88","pencil"],"primaryTopicID":83,"topicIds":[100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6ED9BC5C-E7FF-430B-9BAF-AA46710565A4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/203\/4\/eb979cd5-af5b-4091-87ec-4839e8d131b9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/203\/4\/eb979cd5-af5b-4091-87ec-4839e8d131b9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/203\/4\/eb979cd5-af5b-4091-87ec-4839e8d131b9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/203\/4\/eb979cd5-af5b-4091-87ec-4839e8d131b9\/downloads\/wwdc2026-203_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/203\/4\/eb979cd5-af5b-4091-87ec-4839e8d131b9\/downloads\/wwdc2026-203_sd.mp4","duration":910,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Meet the PencilKit APIs behind handwriting in Notes and Freeform, now available to your apps in iOS 27.","end":205},{"start":205,"title":"Handwriting recognition","summary":"Use the stroke recognizer API for on-device text recognition, indexing, search, and accessibility.","end":518},{"start":518,"title":"Path conversion","summary":"Converting PKStrokePath to and from B\u00e9zier paths without losing fidelity, so apps that store strokes as B\u00e9zier can build PKDrawings and use handwriting recognition on any canvas, not just PKCanvasView.","end":621},{"start":621,"title":"Improved model access","summary":"Deeper access to the drawing model in iOS 27 \u2014 stable Identifiable stroke IDs that survive edits and undo, controllable canvas selection with a change delegate, and adjustable wet-ink render groups.","end":685},{"start":685,"title":"Stroke slicing","summary":"Two ways to slice strokes \u2014 programmatic erasing that cuts one stroke into independent strokes, and substroke extraction with parametric ranges \u2014 along with performance considerations for complex drawings.","end":828},{"start":828,"title":"Next steps","summary":"Ways to put these APIs to work: adopt PKStrokeRecognizer for handwriting recognition, convert existing B\u00e9zier paths, track strokes with stable identity, and use stroke slicing for erasing and animation.","end":910}]},"related":{"activities":["wwdc2026-372","wwdc2025-285","wwdc2020-10148"],"resources":[4358,4246,4245,4242,4234]}},"wwdc2026-261":{"id":"wwdc2026-261","staticContentId":10784,"eventContentId":261,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-28T08:35:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/261","languageCode":"eng","description":"Discover the latest updates to Xcode Cloud that quickly get you started building and delivering your apps. Learn essential Xcode Cloud concepts, set up cloud build and tests simply by connecting your source repository, and configure for app distribution when you\u2019re ready to ship. Find out how webhooks and management tools extends Xcode Cloud\u2019s capabilities, supporting your most advanced workflows.","title":"Build, deliver, and automate with Xcode Cloud","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5508012F-736F-4E13-9CF1-21836F33F540","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/261\/7\/35c49f2b-3f0a-4956-826b-d54d9fed678e\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/261\/7\/35c49f2b-3f0a-4956-826b-d54d9fed678e\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/261\/7\/35c49f2b-3f0a-4956-826b-d54d9fed678e\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/261\/7\/35c49f2b-3f0a-4956-826b-d54d9fed678e\/downloads\/wwdc2026-261_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/261\/7\/35c49f2b-3f0a-4956-826b-d54d9fed678e\/downloads\/wwdc2026-261_sd.mp4","duration":829,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"An overview of what's new in Xcode Cloud this year and what the session covers: essential concepts, getting started, distribution, and workflow automation.","end":73},{"start":73,"title":"Essential concepts","summary":"Xcode Cloud builds and tests your app in the cloud in parallel across multiple devices and OS versions, catching bugs and performance issues before they reach customers, and delivers builds to TestFlight and the App Store.","end":127},{"start":127,"title":"Getting started","summary":"Onboard an iOS and macOS app to Xcode Cloud using the onboarding assistant, connect your source repository, and start your first build.","end":402},{"start":402,"title":"Distribution","summary":"Set up TestFlight distribution for your apps by creating an app record on App Store Connect and configuring a distribution workflow directly from Xcode.","end":561},{"start":561,"title":"Webhooks","summary":"Configure webhooks to receive build event payloads and integrate Xcode Cloud into custom dashboards and automation services.","end":682},{"start":682,"title":"Additional repositories","summary":"Add additional Git repositories to your Xcode Cloud product so builds have access to shared dependencies like frameworks split into separate repos.","end":780},{"start":780,"title":"Next steps","summary":"Resources for going further with Xcode Cloud, including sessions on practical workflows, extending automations, and simplifying distribution.","end":829}]},"related":{"activities":["tech-talks-111369","wwdc2023-10278","wwdc2024-10200","wwdc2023-10224","wwdc2026-258"],"resources":[4363,4362]}},"wwdc2026-265":{"id":"wwdc2026-265","staticContentId":10788,"eventContentId":265,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-09T10:01:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/265","languageCode":"eng","description":"Build engaging live experiences with gRPC in your Swift app and backend. gRPC is an open-source RPC framework designed for high-performance, bidirectional streaming APIs. Explore how the gRPC Swift package provides a modern, safe runtime built with Swift concurrency. Learn how integrated tools streamline your workflow and help you deliver real-time features with ease.","title":"Build real-time apps and services with gRPC and Swift","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DA63EA1B-0D4F-4E91-8CEC-831AF871B3FB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/265\/4\/05249c6d-4136-4164-a8d0-5db0bbb22c7f\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/265\/4\/05249c6d-4136-4164-a8d0-5db0bbb22c7f\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/265\/4\/05249c6d-4136-4164-a8d0-5db0bbb22c7f\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/265\/4\/05249c6d-4136-4164-a8d0-5db0bbb22c7f\/downloads\/wwdc2026-265_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/265\/4\/05249c6d-4136-4164-a8d0-5db0bbb22c7f\/downloads\/wwdc2026-265_sd.mp4","duration":1465,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Why hand-crafting networking code is error-prone, and how generating code from a service specification saves time and eliminates mistakes \u2014 setting up gRPC Swift as the approach for real-time experiences.","end":99},{"start":99,"title":"Meet gRPC","summary":"gRPC is explained as a CNCF-standard remote procedure call framework that uses Protocol Buffers to define APIs as typed functions rather than HTTP endpoints.","end":133},{"start":133,"title":"App overview and demo setup","summary":"A go-karting iOS app demo is introduced, showing how gRPC will replace static mock data with live server-fetched content.","end":210},{"start":210,"title":"Defining the ListRaces RPC","summary":"The ListRaces RPC and its request\/response messages are defined in a .proto file, covering fields, field numbers, types, and Protobuf Well Known Types.","end":270},{"start":270,"title":"Setting up Xcode to generate gRPC code","summary":"The grpc-swift-nio-transport and grpc-swift-protobuf packages are added to the Xcode project, and the GRPCProtobufGenerator build plugin is configured to auto-generate Swift code from the proto file.","end":470},{"start":470,"title":"Managing the gRPC client lifecycle","summary":"A shared ClientManager is introduced to reuse connections across views and disconnect the client when the app enters the background, reducing unnecessary latency.","end":576},{"start":576,"title":"Protobuf message format and binary efficiency","summary":"The Protobuf binary serialization format is explained \u2014 using field numbers instead of names makes messages roughly half the size of equivalent JSON, benefiting mobile apps and service-to-service communication.","end":753},{"start":753,"title":"Implementing a bidirectional streaming RPC","summary":"The FollowRace bidirectional streaming RPC is defined, implemented on the Swift server using async sequences and task groups, and wired up in the iOS app to stream live kart positions and standings.","end":1211},{"start":1211,"title":"Deploying the service","summary":"The Swift server is containerised and deployed, then the app is updated to connect over TLS to the live production service.","end":1391},{"start":1391,"title":"Next steps","summary":"Recap of the full gRPC workflow, with pointers to prototype your own integrations, explore the open-source GitHub repository, and contribute to the project.","end":1465}]},"related":{"activities":["wwdc2023-10171","wwdc2024-10216","wwdc2025-346"],"resources":[4287,4286,4285,4284,3585,2405]}},"wwdc2026-230":{"id":"wwdc2026-230","staticContentId":10753,"eventContentId":230,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/230","languageCode":"eng","description":"Explore the Automatic Assessment Configuration framework on macOS to deliver secure tests for education apps. Learn how to leverage new APIs to create a secure, configurable testing environment that incorporates more system-level features on Mac. Find out how built-in system prechecks and accessibility controls make it easier than ever to deliver a reliable exam experience.","title":"What\u2019s new in assessment on macOS","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["\ud83c\udf88"],"primaryTopicID":89,"topicIds":[83,89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C2759447-7176-46AB-A593-46A22248D05C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/230\/4\/03914f48-0bbe-4f2d-bb09-3ae676579cf2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/230\/4\/03914f48-0bbe-4f2d-bb09-3ae676579cf2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/230\/4\/03914f48-0bbe-4f2d-bb09-3ae676579cf2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/230\/4\/03914f48-0bbe-4f2d-bb09-3ae676579cf2\/downloads\/wwdc2026-230_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/230\/4\/03914f48-0bbe-4f2d-bb09-3ae676579cf2\/downloads\/wwdc2026-230_sd.mp4","duration":841,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"An overview of the Automatic Assessment Configuration framework in macOS 27, which creates a locked-down testing environment, and a preview of the five areas covered.","end":94},{"start":94,"title":"Precondition checks","summary":"Require a hardened device before an exam starts \u2014 System Integrity Protection, MDM enrollment, a single signed-in standard account, and disabled Lockdown Mode and iCloud Private Relay.","end":180},{"start":180,"title":"Accessibility restrictions","summary":"Control which built-in accessibility features stay available during a session, allowing approved accommodations like Switch Control while restricting features that accept user-generated content.","end":273},{"start":273,"title":"System experience customization","summary":"Tailor how students interact with macOS during an assessment by customizing the Menu Bar and its items, the Dock, input technologies like Dictation and AutoFill, and Finder access.","end":556},{"start":556,"title":"Application launch restrictions","summary":"Restrict which processes run during an assessment to your app and allowlisted participants, and block Shortcuts and Automator script execution to protect the testing environment.","end":651},{"start":651,"title":"Best practices","summary":"Recommendations for adopting the framework: rely on its APIs rather than building equivalents, restrict only the minimum required, treat accessibility as a requirement, and register for session transition callbacks.","end":755},{"start":755,"title":"Next steps","summary":"Ways to take your assessment app further \u2014 validate device integrity with pre-checks, enable accessibility for an equitable experience, customize the system experience, block non-essential processes, and test with real exam workflows.","end":841}]},"related":{"activities":["wwdc2026-201"],"resources":[777]}},"wwdc2026-324":{"id":"wwdc2026-324","staticContentId":10870,"eventContentId":324,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/324","languageCode":"eng","description":"Discover Core AI, Apple\u2019s new framework for on-device AI model deployment. Tour the ecosystem, from Python libraries for converting, authoring, and optimizing models, to a Swift API for simple plug-and-play inference and advanced use cases with strict latency and memory requirements. Explore the new Core AI models repository with ready-to-run examples for popular architectures. See how deep Xcode integration, including ahead-of-time model compilation, streamlines the workflow so you can deliver smarter, more responsive app experiences.","title":"Meet Core AI","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C263A47D-C4FE-4EF1-9EA5-CA4B9ADF6022","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/324\/4\/3b67b624-4060-495f-9ba7-659805ee6b88\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/324\/4\/3b67b624-4060-495f-9ba7-659805ee6b88\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/324\/4\/3b67b624-4060-495f-9ba7-659805ee6b88\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/324\/4\/3b67b624-4060-495f-9ba7-659805ee6b88\/downloads\/wwdc2026-324_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/324\/4\/3b67b624-4060-495f-9ba7-659805ee6b88\/downloads\/wwdc2026-324_sd.mp4","duration":1243,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Introduction to Core AI and an overview of what the session covers: model conversion, app integration, performance optimization, and additional features.","end":33},{"start":33,"title":"What is Core AI","summary":"Core AI is the inference framework powering on-device Apple Intelligence, now available to developers. It covers the full model deployment lifecycle, leverages all of Apple Silicon (CPU, GPU, ANE), and comes with a modern Swift API, Python tooling, and a dedicated developer toolchain.","end":297},{"start":297,"title":"Model conversion","summary":"How to convert a PyTorch model to the Core AI format using the coreai-torch Python package \u2014 including exporting with torch.export, specifying dynamic shapes, running the converter, and verifying numerical correctness of the converted model.","end":376},{"start":376,"title":"App integration","summary":"How to load and run a Core AI model in your app using the CoreAI Swift framework \u2014 inspecting the model in Xcode's model viewer, initializing an AIModel, preparing inputs as NDArrays, running inference, and extracting outputs.","end":648},{"start":648,"title":"Profiling with Instruments","summary":"How to use the new Core AI instrument in Xcode to profile model latency and identify performance bottlenecks, such as growing inference times caused by quadratic complexity in transformer models.","end":675},{"start":675,"title":"Optimizing performance","summary":"How to eliminate inference slowdowns by adding a key-value cache as a stateful input to your model \u2014 authoring the cache in PyTorch, re-converting with state_names, and updating your app to pass MutableViews of the cache buffers at inference time.","end":853},{"start":853,"title":"Additional features","summary":"A tour of Core AI tools not used in the demo: the rich Python authoring experience, the Core AI Debugger for numeric debugging of converted models, and the Core AI debug gauge in Xcode for streaming activity monitoring.","end":934},{"start":934,"title":"Specialization","summary":"How Core AI specializes models for the target device \u2014 what happens during specialization, how to manage it with programmatic cache access and SpecializationOptions, and how ahead-of-time (AOT) compilation can shift work off the user's device.","end":1207},{"start":1207,"title":"Next steps","summary":"Summary of Core AI's capabilities: on-device inference across all Apple Silicon, Python tooling integration, and debugging tools \u2014 with an invitation to explore the Core AI Models repository.","end":1243}]},"related":{"activities":["wwdc2026-326","wwdc2026-325","wwdc2026-330"],"resources":[4292,4291,4282,4266,4265,4264]}},"wwdc2026-378":{"id":"wwdc2026-378","staticContentId":10940,"eventContentId":378,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/378","languageCode":"eng","description":"Unlock native Apple In-App Purchases for your Unity game with the new StoreKit plug-in. Reduce download sizes with the new Background Assets plug-in, which delivers language-specific asset packs so each player gets just what they need. Plus, a new Steam Asset Converter helps you migrate existing builds.","title":"Unlock in-game content with StoreKit and Background Assets","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":86,"topicIds":[83,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"924455F5-86D6-4FFB-A8A1-8E03E47900FB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/378\/6\/16c93f95-21e8-4f7f-bb96-2b3c682fa6c7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/378\/6\/16c93f95-21e8-4f7f-bb96-2b3c682fa6c7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/378\/6\/16c93f95-21e8-4f7f-bb96-2b3c682fa6c7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/378\/6\/16c93f95-21e8-4f7f-bb96-2b3c682fa6c7\/downloads\/wwdc2026-378_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/378\/6\/16c93f95-21e8-4f7f-bb96-2b3c682fa6c7\/downloads\/wwdc2026-378_sd.mp4","duration":599,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":1,"title":"Introduction","summary":"New tools for building games on Apple platforms: updates to Background Assets, new Unity plug-ins for In-App Purchase, and ways to enhance your presence on the App Store and Apple Games app.","end":33},{"start":33,"title":"Background Assets","summary":"Apple-Hosted Managed Background Assets save players time and storage by downloading asset packs only when needed. Now with Apple-hosting, up to 200 GB per app is included in the Developer Program.","end":95},{"start":95,"title":"Localized asset packs","summary":"Localized asset packs greatly reduce the size of assets that players need to download by allowing the system to identify the player\u2019s preferred language selected in Settings and only deliver assets for your game in that language. ","end":194},{"start":194,"title":"Convert Steam depots to asset packs","summary":"Learn how to bring your Steam depots into asset pack manifests and asset pack archives to ship along with your game on Apple platforms.","end":255},{"start":255,"title":"Unity plug-ins","summary":"Two new Apple Unity plug-ins: Background Assets and StoreKit expose C# APIs that bridge to the native frameworks. Build and test with Xcode 27, Python 3, and Unity 2022 LTS or later.","end":352},{"start":352,"title":"StoreKit and Background Assets sample code","summary":"Examples of how to use the C# version of the native StoreKit and Background Assets APIs in your game.","end":505},{"start":505,"title":"Game presence","summary":"Make your game stand out with new visuals for your product page header and search results.","end":550},{"start":550,"title":"Next steps","summary":"Ways to go further \u2014 upload localized asset packs in App Store Connect to reduce app size, adopt new Unity plug-ins, and highlight features with new image and video assets in the App Store and Apple Games app.","end":599}]},"related":{"activities":["meet-with-apple-239","wwdc2022-10065","wwdc2025-325","wwdc2026-205"],"resources":[2431,2356,53]}},"wwdc2026-319":{"id":"wwdc2026-319","staticContentId":10865,"eventContentId":319,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/319","languageCode":"eng","description":"Private Cloud Compute lets you access powerful, frontier-class models while protecting user privacy. Explore how it works and how to access it using the Foundation Models framework. Discover best practices for checking availability and handling graceful fallbacks in your apps.","title":"Build with the new Apple Foundation Model on Private Cloud Compute","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["ai","machine learning","xcode"],"primaryTopicID":94,"topicIds":[101,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A18699C7-80CC-4411-8F63-9B4569F66F9E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/319\/4\/1a3ac4f6-73d2-4a24-9e5d-0cfd56564f42\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/319\/4\/1a3ac4f6-73d2-4a24-9e5d-0cfd56564f42\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/319\/4\/1a3ac4f6-73d2-4a24-9e5d-0cfd56564f42\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/319\/4\/1a3ac4f6-73d2-4a24-9e5d-0cfd56564f42\/downloads\/wwdc2026-319_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/319\/4\/1a3ac4f6-73d2-4a24-9e5d-0cfd56564f42\/downloads\/wwdc2026-319_sd.mp4","duration":658,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Access to a new server LLM via Private Cloud Compute. The on-device model also improves this year (image input, better instruction following and tool calling), but PCC enables more complex features: reasoning over large input, many tool calls with large outputs, even from watchOS.","end":83},{"start":83,"title":"What is Private Cloud Compute","summary":"PCC delivers a powerful server model without compromising privacy: data is never stored, used only for the request, and independently verified. It's integrated with the OS and iCloud, so there's no authentication or API keys, no token cost to developers, a daily per-user limit (higher with iCloud+), and eligibility for apps under 2M downloads.","end":163},{"start":163,"title":"Integrating PCC with Foundation Models","summary":"Prompting the on-device model takes three lines; switching to the PCC server model changes just one. The unified Swift API means Generable structured output and tool calling work identically, so you can switch models without rewriting code, and should check the availability API for non-Apple Intelligence devices.","end":240},{"start":240,"title":"Deciding between on-device and PCC","summary":"Both offer privacy, but the on-device model works offline with no request limits and a 4K context, while PCC needs a connection, has a daily limit, offers a 32K context, and supports reasoning.","end":272},{"start":272,"title":"Reasoning levels and context size","summary":"Reasoning lets the model think before responding by generating extra transcript text, at three levels (light, moderate, deep). Set it on respond, observe the transcript to show progress, and remember reasoning consumes tokens against the context limit, now readable via the contextSize property.","end":375},{"start":375,"title":"Evaluating and combining models","summary":"Choose models and reasoning levels based on data, not vibes; the updated on-device model may surprise you. Use the new Evaluations framework (see \"Meet the Evaluations framework\") and combine on-device and server models together (see \"Build agentic app experiences with Foundation Models\").","end":430},{"start":430,"title":"Handling usage limits","summary":"Handle the per-user iCloud quota gracefully: check isLimitReached on the model's quotaUsage and show persistent, actionable UI (such as a disabled button with an upgrade option) rather than an alert. Detect the approaching-limit case too, and use Xcode's Simulate Apple Foundation Models Availability debug option to test both states.","end":615},{"start":615,"title":"Next steps","summary":"Apply for the server model on the developer website, and explore related content: \"What's new in the Foundation Models framework\" for an overview and \"Debug and profile agentic app experiences with Instruments\" for runtime behavior.","end":658}]},"related":{"resources":[4130]}},"wwdc2026-213":{"id":"wwdc2026-213","staticContentId":10723,"eventContentId":213,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:43-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/213","languageCode":"eng","description":"Find out how Xcode and coding agents help you translate String Catalogs using the context of your app. We\u2019ll walk through strategies for reviewing translated output and iterating on your localizations, so you can deliver a tailored experience to people around the world.","title":"Translate your app using agents in Xcode","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["\ud83c\udf41","l10n"],"primaryTopicID":88,"topicIds":[94,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2405BAD8-8AD7-4013-A59C-3E45060FB76A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/213\/4\/be1ee662-a447-4df4-89a5-5411447c0eeb\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/213\/4\/be1ee662-a447-4df4-89a5-5411447c0eeb\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/213\/4\/be1ee662-a447-4df4-89a5-5411447c0eeb\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/213\/4\/be1ee662-a447-4df4-89a5-5411447c0eeb\/downloads\/wwdc2026-213_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/213\/4\/be1ee662-a447-4df4-89a5-5411447c0eeb\/downloads\/wwdc2026-213_sd.mp4","duration":892,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Translate your app using agents in Xcode. Xcode considers the context of strings used in your app and includes that in the feed to translation agents.","end":109},{"start":109,"title":"Add translations","summary":"Ask an agent to translate your app, then watch as Xcode prepares the project, builds all targets to discover strings, and populates translated String Catalogs.","end":491},{"start":491,"title":"Review and iterate","summary":"See how to review the outcome of translations, identify UI truncation issues, and iterate on the localization of your app.","end":662},{"start":662,"title":"Best practices","summary":"Ensure user-facing strings are localizable and help guide translation agents with glossaries or custom terminology rules.","end":892}]},"related":{"activities":["wwdc2024-10185","wwdc2022-10107","tech-talks-110343","wwdc2025-225","wwdc2026-259"],"resources":[4211,1353]}},"wwdc2026-282":{"id":"wwdc2026-282","staticContentId":10819,"eventContentId":282,"eventId":"wwdc2026","contentUpdatedAt":"2026-08-10T11:44:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/282","languageCode":"eng","description":"Check out how the new Spatial Preview framework brings content from your Mac directly into visionOS. Discover how to build dynamic workflows with live-syncing and bidirectional editing across both platforms. Learn about the SpatialPreview API, device discovery, 2D and 3D session integration, and new Quick Look capabilities to elevate your Mac apps spatially.","title":"Discover the Spatial Preview framework","originalPublishingDate":"2026-06-08T14:00:00-07:00","platforms":["macOS","visionOS"],"keywords":["3d","3d content","document preview","mac virtual display","quick look","shareplay","spatial computing","spatial preview","usd","usdkit","usdz","visionos"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"93ACC9CD-47AA-4E37-9F81-F3D4B053E42E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/282\/5\/958c34c9-f20e-4c6d-826a-eeed7ce7ba9e\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/282\/5\/958c34c9-f20e-4c6d-826a-eeed7ce7ba9e\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/282\/5\/958c34c9-f20e-4c6d-826a-eeed7ce7ba9e\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/282\/5\/958c34c9-f20e-4c6d-826a-eeed7ce7ba9e\/downloads\/wwdc2026-282_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/282\/5\/958c34c9-f20e-4c6d-826a-eeed7ce7ba9e\/downloads\/wwdc2026-282_sd.mp4","duration":885,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","tr","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"The Spatial Preview framework, which lets developers extend content from Mac into visionOS using Mac Virtual Display. Previews what the session covers: an overview of the framework, document preview, and USD preview for live 3D workflows.","end":157},{"start":157,"title":"Learn about Spatial Preview","summary":"Explores the core components of the Spatial Preview framework: selecting a spatial endpoint, creating a preview session, and launching Quick Look on visionOS. Covers the two session types\u2014Document Preview Session and USD Preview Session\u2014and explains that no visionOS code is required.","end":210},{"start":210,"title":"Document Preview","summary":"Walks through using DocumentPreviewSession to send files like Apple Immersive Video frames from a Mac app to visionOS. Covers obtaining a Mac Virtual Display endpoint with ConnectedSpatialEndpointObserver, starting a session, providing content URLs, integrating SpatialPreviewDevicePicker in SwiftUI, and using updateContents to build a gallery experience that reuses the same scene.","end":396},{"start":396,"title":"USD Preview","summary":"Shows how to share and live-edit USD content from a Mac app on visionOS using USDPreviewSession with a USDKit stage. Covers selecting a device, opening a USD stage, starting the session, and handling unshareable assets via the optimization parameter.","end":556},{"start":556,"title":"Editing Features","summary":"Covers the rich set of Quick Look editing features available through USD Preview: USD layout variants, annotation authoring with AppleTextAnnotation, object manipulation with spatialEditable metadata, and session options including playback events and progress monitoring via ProgressReporter.","end":808},{"start":808,"title":"Next steps","summary":"Summarizes how to get started with Spatial Preview using USDKit Swift APIs and bridging for existing USD apps. Encourages developers to explore Document Preview Session, USD Preview Session, live editing, SharePlay collaboration, and the full suite of asset review tools.","end":885}]},"related":{"activities":["wwdc2026-284","wwdc2026-285","wwdc2022-10129"],"resources":[4349,4348,4341,4310]}},"wwdc2026-275":{"id":"wwdc2026-275","staticContentId":10800,"eventContentId":275,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/275","languageCode":"eng","description":"Experience SwiftData in action as we add persistence to an existing app. We\u2019ll show you how to define your data models and seamlessly integrate persistent data with SwiftUI. You\u2019ll also learn foundational skills for managing your app\u2019s state using this expressive, declarative API.","title":"Code-along: Add persistence with SwiftData","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["screenshots"],"primaryTopicID":83,"topicIds":[99,100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D0451223-784B-41F9-A19D-EF9BC8D0FBAD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/275\/4\/7c64f887-3c3c-4bdf-8472-72d6b96f8e3d\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/275\/4\/7c64f887-3c3c-4bdf-8472-72d6b96f8e3d\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/275\/4\/7c64f887-3c3c-4bdf-8472-72d6b96f8e3d\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/275\/4\/7c64f887-3c3c-4bdf-8472-72d6b96f8e3d\/downloads\/wwdc2026-275_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/275\/4\/7c64f887-3c3c-4bdf-8472-72d6b96f8e3d\/downloads\/wwdc2026-275_sd.mp4","duration":1355,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"An introduction to the Wishlist sample app and the three steps for adopting SwiftData: identifying relevant state, defining schemas, and defining model relationships.","end":65},{"start":65,"title":"Identify relevant state","summary":"Identify the data types and variables in Wishlist \u2014 trip collections, goal statuses, and the DataSource \u2014 that will become SwiftData models connected through a ModelContext.","end":197},{"start":197,"title":"Define your schemas","summary":"Convert Activity, Trip, and Goal into @Model types. Covers handling property observers with the @Model macro, refactoring the Goal enumeration into a class hierarchy using inheritance with TripGoal and ActivityGoal subclasses, and inlining thumbnail data.","end":581},{"start":581,"title":"Define model relationships","summary":"Declare to-many relationships between Trip and Activity using the @Relationship macro, remove the now-redundant DataSource and TripEditModel helpers, and attach the modelContainer scene modifier to complete the model layer.","end":813},{"start":813,"title":"Update the view layer","summary":"Replace environment DataSource properties with @Query macros and targeted FetchDescriptor predicates in each subview. Covers autosave, surfacing runtime errors with SwiftUI view modifiers, and re-enabling dateEdited property observers using the new withContinuousObservation API.","end":1307},{"start":1307,"title":"Next steps","summary":"Key takeaways: design a schema that fits your data model, balance memory and disk usage with targeted queries, and plan for interoperability and extensibility as your app evolves.","end":1355}]},"related":{"activities":["wwdc2025-291","wwdc2026-274"],"resources":[4141,3085]}},"wwdc2026-240":{"id":"wwdc2026-240","staticContentId":10763,"eventContentId":240,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:43-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/240","languageCode":"eng","description":"Bring your app\u2019s content and actions to Siri with App Intents. Model your data using App Entities, adopt App Schemas to enable powerful system actions, and support natural language interactions powered by Apple Intelligence. Explore how to enable semantic search, perform actions across apps, and create contextual experiences using onscreen awareness and content transfer. Find out best practices and testing tools to build fast, reliable Siri experiences.","title":"Build intelligent Siri experiences with App Schemas","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["ai","app intents","machine learning","siri","spotlight","xcode"],"primaryTopicID":94,"topicIds":[83,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CAF3A339-4121-4E23-93E9-2CD25F0E3A69","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/240\/4\/d46aac11-3990-42cd-bb33-4ce5e958b902\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/240\/4\/d46aac11-3990-42cd-bb33-4ce5e958b902\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/240\/4\/d46aac11-3990-42cd-bb33-4ce5e958b902\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/240\/4\/d46aac11-3990-42cd-bb33-4ce5e958b902\/downloads\/wwdc2026-240_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/240\/4\/d46aac11-3990-42cd-bb33-4ce5e958b902\/downloads\/wwdc2026-240_sd.mp4","duration":1643,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"How App Intents bring your app to Siri, made more capable, contextual, and personal by Apple Intelligence in the 27 releases. Previews the agenda: what's new, contributing content, making actions available, working across apps, and best practices.","end":66},{"start":66,"title":"What's new in Siri","summary":"Siri gains three capabilities built on App Intents: accessing your app's entities, taking action through your intents, and understanding onscreen context. Introduces the UnicornChat sample app used throughout the session.","end":246},{"start":246,"title":"Contributing content with App Entities","summary":"Model your app's content as App Entities (what a thing is, how it's identified, and which properties matter), then conform them to an App Schema so Siri understands the category of content.","end":381},{"start":381,"title":"Entity resolution and IndexedEntity","summary":"How Siri resolves spoken references to real entities. Adopt IndexedEntity for semantic search and content Q&A over indexed content, using indexingKey to mark searchable properties, or EntityStringQuery when data can't be indexed ahead of time.","end":589},{"start":589,"title":"Making actions available","summary":"App Intents expose actions across Shortcuts, Spotlight, and Widgets. Conforming intents to App Schemas, and grouping them into App Schema domains, makes those actions executable by Siri through natural language.","end":723},{"start":723,"title":"Adopting a schema domain in UnicornChat","summary":"End-to-end walkthrough of adopting the Messages domain's sendMessage schema: mapping schema parameters onto UnicornChat's messaging flow and returning the sent message as an entity, so Siri can send messages without opening the app.","end":939},{"start":939,"title":"Moving content across apps","summary":"Export entities with Transferable and IntentValueRepresentation so other apps can act on them. On import, use IntentValueQuery to match existing content or IntentValueRepresentation(importing:) to create something new.","end":960},{"start":960,"title":"Working across apps: onscreen awareness","summary":"Requests that span apps rely on onscreen awareness. Connect views to App Entities, via NSUserActivity for a single primary item or view annotations for multiple visible items, so Siri can resolve references like \"this\" and \"that.\"","end":1269},{"start":1269,"title":"Best practices","summary":"Design for complete Siri conversations by adopting full schema sets. Xcode surfaces missing related schemas (for example draftMessage alongside sendMessage) at build time with Fix-Its.","end":1458},{"start":1458,"title":"Testing your integration","summary":"Validate progressively: App Intents Testing for business logic in isolation, then the Shortcuts app for intent shape, Spotlight for content indexing, and finally Siri for the full end-to-end experience.","end":1581},{"start":1581,"title":"Next steps","summary":"Model and index entities, adopt the App Schema domains matching your app, enable content transfer with Transferable, and test early with Shortcuts, Spotlight, and Siri.","end":1643}]},"related":{"activities":["wwdc2026-344","wwdc2026-343","wwdc2026-295"],"resources":[4228,4225,4223,4219,4218,4217,4214,4213]}},"wwdc2026-269":{"id":"wwdc2026-269","staticContentId":10794,"eventContentId":269,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-23T11:22:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/269","languageCode":"eng","description":"Explore the latest additions to SwiftUI and discover how they can improve your apps. We\u2019ll introduce a new Document protocol with direct disk access and snapshot-based diffing for building high-performance apps; new APIs for reordering content in lists, grids, and sections; and toolbar enhancements including visibility priority and auto-minimizing behavior. We\u2019ll also cover expanded presentation APIs \u2014 including swipe actions on any view \u2014 plus AsyncImage caching improvements and lazy state initialization for Observable types.","title":"What\u2019s new in SwiftUI","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["screenshots"],"primaryTopicID":100,"topicIds":[83,87,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"ADB00267-2D63-4EBA-B0E7-E2CEBD981FB7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/269\/4\/9215cf93-1308-4706-91e8-34d4e40939d1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/269\/4\/9215cf93-1308-4706-91e8-34d4e40939d1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/269\/4\/9215cf93-1308-4706-91e8-34d4e40939d1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/269\/4\/9215cf93-1308-4706-91e8-34d4e40939d1\/downloads\/wwdc2026-269_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/269\/4\/9215cf93-1308-4706-91e8-34d4e40939d1\/downloads\/wwdc2026-269_sd.mp4","duration":1695,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"This video covers the refreshed Liquid Glass look and feel, new document-based app APIs, presentation and interaction improvements, and data flow and performance enhancements.","end":132},{"start":132,"title":"Refreshed look and feel","summary":"Apps automatically adopt the updated Liquid Glass appearance on 2027 OS releases without code changes. Covers interactive Liquid Glass elements, the inactive window appearance on iPadOS, toolbar customization with overflow menus and pinned placements, minimize-on-scroll behavior, and guidance for building resizable apps using size classes.","end":486},{"start":486,"title":"Document-based apps","summary":"Expanded document APIs for SwiftUI apps, including the new DocumentCreationSource API for custom new-document flows, performance improvements for reading and writing large documents, and first-class support for direct document URL access via the FileDocument and ReferenceFileDocument protocols.","end":918},{"start":918,"title":"Presentation and interaction","summary":"New reorderable container APIs let users drag to reorder items in any container \u2014 List, LazyVGrid, and on watchOS for the first time. Also covers swipe actions on arbitrary views beyond List, and item binding-driven confirmation dialogs.","end":1198},{"start":1198,"title":"Data flow and performance","summary":"AsyncImage now supports standard HTTP caching by default, with new APIs for custom URLRequest and URLSession configurations. The @State property wrapper is converted to a macro, making class initialization lazy to prevent redundant allocations \u2014 back-ported to iOS 17, macOS 14, and aligned releases.","end":1645},{"start":1645,"title":"Next steps","summary":"Key takeaways and recommended next steps: build in Xcode 27 to see the updated Liquid Glass look in your app, adopt the new Document APIs for document-based apps, and explore the SwiftUI agent skills.","end":1695}]},"related":{"activities":["wwdc2026-278","wwdc2026-271"],"resources":[4361,4360,4359,4350,4184,4183,1749]}},"wwdc2026-334":{"id":"wwdc2026-334","staticContentId":10880,"eventContentId":334,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/334","languageCode":"eng","description":"Explore all the new ways to leverage Apple Foundation Models on macOS. The Foundation Models SDK for Python lets you integrate with popular tooling and evaluation packages in the Python ecosystem. Find out how to use the brand new fm command introduced in macOS 27 to streamline scripting, automate model workflows, and accelerate your development process.","title":"Build AI-powered scripts with the fm CLI and Python SDK","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["macOS"],"keywords":["ai","machine learning"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2914D984-CF26-4959-BF82-420FD8FCA1E6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/334\/4\/65b71eea-f323-4f86-9096-889b6da91bdd\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/334\/4\/65b71eea-f323-4f86-9096-889b6da91bdd\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/334\/4\/65b71eea-f323-4f86-9096-889b6da91bdd\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/334\/4\/65b71eea-f323-4f86-9096-889b6da91bdd\/downloads\/wwdc2026-334_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/334\/4\/65b71eea-f323-4f86-9096-889b6da91bdd\/downloads\/wwdc2026-334_sd.mp4","duration":996,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Overview of the Foundation Models Framework \u2014 guided generation, tool calling, and new macOS 27 features like image inputs and server model access.","end":82},{"start":82,"title":"Introducing the fm CLI and Python SDK","summary":"Two new ways to access Apple Foundation Models on macOS: the fm command line tool (pre-installed with macOS 27 for terminal-based prompting and automation) and the Foundation Models SDK for Python (for ML engineers who work more in Python than Swift).","end":203},{"start":203,"title":"Command line tool","summary":"How to use the fm command line tool \u2014 browsing available commands, starting an interactive conversation with fm chat, switching between the on-device and Private Cloud Compute models, and saving sessions to resume later.","end":302},{"start":302,"title":"fm respond and structured output","summary":"How to use fm respond for inline scripting \u2014 passing prompts and getting responses as terminal output, using the model and image options, and combining fm schema object with the schema option to produce structured JSON outputs.","end":371},{"start":371,"title":"Automating file management with fm","summary":"A practical automation demo: using fm in a shell script to intelligently sort a messy presentation folder \u2014 prompting the model with a file list to classify drafts versus finals, generating structured JSON output, and routing files to backup and archive accordingly.","end":532},{"start":532,"title":"Python SDK","summary":"Introduction to the Foundation Models SDK for Python \u2014 installation requirements (Python 3.10+, Xcode, Apple Silicon), core features mirroring the Swift framework (text and image inputs, streaming, tool calling, guided generation), and its value for ML engineers and rapid prototyping.","end":582},{"start":582,"title":"Prompting, tool calling and guided generation","summary":"How to use the Python SDK in a grocery app prototype \u2014 creating a LanguageModelSession, calling session.respond with a prompt, exposing tools for the model to fetch order history, and using the fm.generable decorator for structured output into a typed ItemsSuggestion object.","end":644},{"start":644,"title":"Building an evaluation pipeline in Python","summary":"A case study using the Python SDK with Jupyter, Pandas, and matplotlib to evaluate three prompt implementations for a cart completion feature \u2014 generating outputs with the on-device model, scoring them with a server judge model on criteria like excess items, missing items, and hallucinations, and visualizing results to guide prompt iteration.","end":920},{"start":920,"title":"Next steps","summary":"Summary of the new macOS tools and next steps: explore fm in Terminal, visit the Python SDK GitHub for example snippets, and build an evaluation pipeline to measure and improve prompt quality.","end":996}]},"related":{"activities":["wwdc2026-339","wwdc2026-319","wwdc2026-241","wwdc2026-242"],"resources":[4279,4278]}},"wwdc2026-279":{"id":"wwdc2026-279","staticContentId":10816,"eventContentId":279,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/279","languageCode":"eng","description":"Discover the latest advancements in RealityKit designed to make your apps and games more immersive and realistic than ever. Explore powerful new capabilities including interactive cloth simulations, NavMesh pathfinding, mixed reality lighting, and customizable reverb meshes for enhanced spatial audio. Elevate your visual fidelity with improved shadows, character rendering enhancements, and support for Gaussian splatting.","title":"Explore advances in RealityKit","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"keywords":["3d content","games","gaussian splatting","reality composer pro","realitykit","realitykit audio","spatial computing","visionos"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BF3749B5-B679-419D-AF2D-0BB86E576B4E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/279\/4\/ab575725-be7d-4348-a3ae-6595ef4070c4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/279\/4\/ab575725-be7d-4348-a3ae-6595ef4070c4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/279\/4\/ab575725-be7d-4348-a3ae-6595ef4070c4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/279\/4\/ab575725-be7d-4348-a3ae-6595ef4070c4\/downloads\/wwdc2026-279_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/279\/4\/ab575725-be7d-4348-a3ae-6595ef4070c4\/downloads\/wwdc2026-279_sd.mp4","duration":1431,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Overview of the new RealityKit features introduced this year, including lighting and shadows, navigation mesh, cloth simulation, performance tools, 3D Gaussian splats, and immersive audio.","end":120},{"start":120,"title":"Lighting and shadows","summary":"Explore RealityKit's updated lighting and shadow capabilities, including lightmap support for indirect lighting and ambient occlusion, soft shadows for dynamic lights, projective textures, and physical space lighting that lets virtual lights interact with real-world environments.","end":464},{"start":464,"title":"Navigation mesh","summary":"Learn how to use RealityKit's navigation mesh to define traversable paths for characters and NPCs. Covers NavigationMeshResource, NavigationComponent, NavigationController, and how to query and iterate path nodes asynchronously.","end":661},{"start":661,"title":"Cloth simulation","summary":"Discover how to add realistic cloth simulation to your scenes using ClothBodyComponent, ClothColliderComponent, and cloth mesh resources. Includes how to pin cloth vertices to anchor points using kinematic motion types.","end":822},{"start":822,"title":"Performance","summary":"Cover performance optimization techniques, including mesh level of detail (LOD) using LevelOfDetailComponent with camera-distance and screen-area algorithms, and how to monitor and respond to device thermal state changes.","end":1029},{"start":1029,"title":"3D Gaussian splats","summary":"Learn how to render high-fidelity real-world captures using RealityKit's 3D Gaussian splat support. Covers how to construct a GaussianSplatResource from position, scale, rotation, opacity, and spherical harmonics buffers, and attach it via GaussianSplatComponent.","end":1148},{"start":1148,"title":"Immersive audio","summary":"Explore RealityKit's immersive audio features for Apple Vision Pro, including custom reverb meshes that model the acoustic properties of virtual and real environments. Covers ReverbMeshResource, built-in preset materials, and creating custom materials with absorption and scattering coefficients.","end":1362},{"start":1362,"title":"Next steps","summary":"Recap of session topics and pointers to related sessions, sample code, and documentation to explore more of what RealityKit has to offer this year.","end":1431}]},"related":{"activities":["wwdc2026-280","wwdc2026-393","wwdc2026-252","wwdc2026-281"],"resources":[4129,4128]}},"wwdc2026-292":{"id":"wwdc2026-292","staticContentId":10836,"eventContentId":292,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/292","languageCode":"eng","description":"Explore new patterns and best practices when implementing search in your app. Discover how search plays a key role in helping people find and navigate content, and find out how to integrate search across different navigation models and Apple platforms.","title":"Design intuitive search experiences","originalPublishingDate":"2026-06-08T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["design","liquid glass","navigation","search","sidebar","tab bar","toolbar"],"primaryTopicID":87,"topicIds":[90,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5614F523-C21B-4ADC-AF14-0417BC34EA15","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/292\/5\/05adbfdf-d9ba-4a6d-8d2f-f43593907f55\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/292\/5\/05adbfdf-d9ba-4a6d-8d2f-f43593907f55\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/292\/5\/05adbfdf-d9ba-4a6d-8d2f-f43593907f55\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/292\/5\/05adbfdf-d9ba-4a6d-8d2f-f43593907f55\/downloads\/wwdc2026-292_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/292\/5\/05adbfdf-d9ba-4a6d-8d2f-f43593907f55\/downloads\/wwdc2026-292_sd.mp4","duration":977,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Overview on search, one of the most important tools for helping people find, navigate, and discover content in your app.","end":99},{"start":99,"title":"Search field","summary":"Learn the core elements of the search field component.","end":172},{"start":172,"title":"Patterns and placement","summary":"Explore the full range of search placement options across iOS, iPadOS, and macOS.","end":630},{"start":630,"title":"Best practices","summary":"Learn techniques to make search feel effortless, such as presenting recent searches, suggestions, and filters.","end":920},{"start":920,"title":"Next steps","summary":"Key takeaways and resources for designing better search experiences in your app.","end":977}]},"related":{"activities":["wwdc2025-356","wwdc2025-219","wwdc2025-359"]}},"wwdc2026-259":{"id":"wwdc2026-259","staticContentId":10782,"eventContentId":259,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:45-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/259","languageCode":"eng","description":"Learn how you can use coding agents in Xcode in your development process. We\u2019ll explore multiple ways of working with agents with tips to take you from creating an initial prototype to polishing a refined app. Discover how Xcode\u2019s coding assistant adapts to help you stay engaged with the creative work that makes coding fun, whether you\u2019re building an app solo or working with a team.","title":"Xcode, agents, and you","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E55F4892-E3CC-490A-89C8-54F57F06999E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/259\/4\/f4d40bb5-32db-418f-8a6e-396c77044afb\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/259\/4\/f4d40bb5-32db-418f-8a6e-396c77044afb\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/259\/4\/f4d40bb5-32db-418f-8a6e-396c77044afb\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/259\/4\/f4d40bb5-32db-418f-8a6e-396c77044afb\/downloads\/wwdc2026-259_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/259\/4\/f4d40bb5-32db-418f-8a6e-396c77044afb\/downloads\/wwdc2026-259_sd.mp4","duration":1443,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"An overview of coding agents in Xcode 27, and what you'll learn in this session: how to explore a codebase, plan and build features, refine with visual design, and orchestrate multi-step tasks using agents.","end":74},{"start":74,"title":"Meet the app","summary":"Maxwell and Devin introduce the workout tracking app they're building together \u2014 a starting point for exploring how agents support each phase of development.","end":126},{"start":126,"title":"Explore","summary":"Learn how agents in Xcode help you get up to speed on a new project. Use a walkthrough to understand data models and view hierarchies, leverage Apple Document Search for accurate framework knowledge, and capture what you learn as reusable architecture documents.","end":458},{"start":458,"title":"Build","summary":"Use plan mode to design an architecture before writing any code, communicate requirements in real time using queued messages, and rely on Xcode's build, preview, and test tools to validate new features as they're implemented.","end":824},{"start":824,"title":"Refine","summary":"Iterate on visual design using Swift Charts with realistic previews. Use image attachments to convey design intent, and inline annotations to direct targeted changes right from your source code \u2014 keeping creative direction in your hands throughout.","end":1105},{"start":1105,"title":"Orchestrate","summary":"Describe high-level goals like localization and accessibility, and let Xcode discover the right tools and coordinate sub-agents to accomplish them in parallel \u2014 delivering results quickly.","end":1329},{"start":1329,"title":"Next steps","summary":"Key takeaways and links to related sessions on UI prototyping with agents and translating apps with agents in Xcode.","end":1443}]},"related":{"activities":["wwdc2026-227","wwdc2026-213"],"resources":[4116]}},"wwdc2026-290":{"id":"wwdc2026-290","staticContentId":10829,"eventContentId":290,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/290","languageCode":"eng","description":"The names of your products, features, and labels can determine how people understand and navigate your app. Explore the principles behind thoughtful naming in app design, examine the patterns used across Apple apps, and learn how to make naming decisions with intention.","title":"Craft clear names for features and labels in your app","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0D5455B4-E5C7-4D30-918C-06AD589E3C6D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/290\/4\/6a4ef6cd-2a95-432c-aac9-315cb3cb7ff6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/290\/4\/6a4ef6cd-2a95-432c-aac9-315cb3cb7ff6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/290\/4\/6a4ef6cd-2a95-432c-aac9-315cb3cb7ff6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/290\/4\/6a4ef6cd-2a95-432c-aac9-315cb3cb7ff6\/downloads\/wwdc2026-290_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/290\/4\/6a4ef6cd-2a95-432c-aac9-315cb3cb7ff6\/downloads\/wwdc2026-290_sd.mp4","duration":904,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"One of the most powerful tools you have for creating it can also be easy to overlook \u2014 the name you give things. From hero features to menus, settings, and tab bars, every naming choice shapes how someone experiences your app. This session covers three tools to make those choices well: criteria, process, and evaluation.","end":78},{"start":78,"title":"Criteria","summary":"Great names share three qualities: they belong in the app, set the right expectation, and work everywhere. This chapter explores each criterion through real examples in Apple apps showing how clarity and trust are built one name at a time.","end":325},{"start":325,"title":"Process","summary":"Start by identifying your audience. An example exercise demonstrates how the \u201cthink,\u201d \u201cfeel,\u201d and \u201cdo\u201d framework can be used to spark ideas for names in your app.","end":634},{"start":634,"title":"Evaluation","summary":"Review your ideas for names against the criteria. Not every name needs to check every box. Instead, the context of the feature should guide which criteria matter most. Good names set the pattern for everything that follows, and helps people navigate your app with ease and delight.","end":904}]},"related":{"activities":["wwdc2026-250"],"resources":[3718]}},"wwdc2026-278":{"id":"wwdc2026-278","staticContentId":10813,"eventContentId":278,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:45-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/278","languageCode":"eng","description":"Discover the latest updates to UIKit. Learn how to update your iPhone app layouts to work great when resized with iPhone Mirroring and on iPad. Explore new APIs for tab and navigation bars, find out how to prepare your app for new Apple Intelligence capabilities, and get introduced to a skill for your coding agent of choice that helps modernize your codebase.","title":"Modernize your UIKit app","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"keywords":["\u26a1\ufe0f"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3205DE04-E8DD-4208-BC7D-494D1AC4D24D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/278\/4\/8c3f2e61-52d3-4915-9543-96e2f13adc8b\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/278\/4\/8c3f2e61-52d3-4915-9543-96e2f13adc8b\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/278\/4\/8c3f2e61-52d3-4915-9543-96e2f13adc8b\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/278\/4\/8c3f2e61-52d3-4915-9543-96e2f13adc8b\/downloads\/wwdc2026-278_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/278\/4\/8c3f2e61-52d3-4915-9543-96e2f13adc8b\/downloads\/wwdc2026-278_sd.mp4","duration":963,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"A modern UIKit app dynamically adjusts to the environment it runs in. iOS 27 introduces new requirements and APIs to help you get there. Discover new APIs in tab bars, navigation bars, and menus; Apple Intelligence support; and a new skill that helps an agent handle much of this modernization work automatically.","end":34},{"start":34,"title":"App adaptivity","summary":"iPhone apps are now fully resizable in iPhone Mirroring on Mac and when running on iPad. Your app needs to dynamically adjust to any available scene size at runtime. The four areas to audit are scene lifecycle adoption, main screen references, user interface idiom checks, and interface orientation checks.","end":130},{"start":130,"title":"Legacy API: App lifecycle","summary":"UIScene lifecycle is now required when building with the latest SDKs; apps without it will no longer launch. If you haven't migrated from app lifecycle yet, start here.","end":171},{"start":171,"title":"Legacy API: Main screen","summary":"UIScreen.main always refers to the device's main screen, but in resizable environments your scene may be running on a different screen entirely. Replace it with screen references from the window scene, trait collections for scale, and effective geometry for available space.","end":346},{"start":346,"title":"Full-screen mode for games","summary":"UIRequiresFullscreen is now honored on iPhone in resizable environments, enabling discrete resizing that respects your supported interface orientations so games always render at full quality.","end":377},{"start":377,"title":"Legacy API: User interface idiom","summary":"The user interface idiom trait is no longer meaningful for layout. An iPhone app running on iPad stays in the phone idiom but is fully resizable. Use size classes instead.","end":410},{"start":410,"title":"Legacy API: Interface orientation","summary":"Supported interface orientations are treated as a preference only and are ignored in resizable environments, including iPhone Mirroring which always reports portrait. Replace orientation checks with size classes.","end":475},{"start":475,"title":"UIView Body protocols for motion & location","summary":"UIView now conforms to the new Body protocols from CoreMotion and CoreLocation in iOS 27, making it straightforward to keep motion and location data in the correct coordinate space regardless of interface orientation.","end":499},{"start":499,"title":"Test your resizable iPhone app","summary":"Xcode 27's Device Hub app and Xcode Previews let you freely drag the edges of the simulator to test any screen size without needing multiple devices. Test with real devices for iPhone Mirroring and iPad.","end":558},{"start":558,"title":"Tab bars and sidebars","summary":"iPhone apps can now opt into a sidebar layout by setting tabBarController.sidebar.preferredPlacement to .sidebar, with the system deciding when there's enough space to show it. Check tabBarController.sidebar.isAvailable to determine if the system can show the sidebar, and use tabBarController.prominentTabIdentifier to pin any tab so it stays visible even when the tab bar collapses during scroll.","end":652},{"start":652,"title":"Navigation bars","summary":"Navigation bars can now slide away during scroll to give people more room. The system determines when this happens by default; override it with barMinimizationBehavior. The .automatic scroll edge effect style has new visuals; apps that previously overrode it to .soft should re-evaluate their design.","end":757},{"start":757,"title":"Menus","summary":"Menu element images may no longer appear by default in some contexts like menu bars on iPadOS and macOS. Use preferredImageVisibility to override this behavior where needed.","end":781},{"start":781,"title":"Integrate with Apple Intelligence","summary":"Menus automatically display an Ask Siri button when there's content relevant for Siri. If your app supports drag and drop, Siri can load resources from your drag handlers. Drag sessions can be initiated without a user gesture, so avoid triggering animations or presenting modal UI from sessionWillBegin.","end":847},{"start":847,"title":"Agentic coding","summary":"Xcode 27's app modernization skill can automatically convert mainScreen calls, replace orientation checks with size class checks, and migrate your app to scene lifecycle. Skills can also be exported for use in other tools.","end":932},{"start":932,"title":"Next steps","summary":"Build with the iOS 27 SDK, test in Device Hub and iPhone Mirroring on macOS 27, identify flexibility gaps in your app, and try the agentic modernization skill.","end":963}]},"related":{"activities":["wwdc2025-282","wwdc2024-10147","wwdc2026-260","wwdc2026-343"],"resources":[4256,4255,4249,4248,4192,3824,3700]}},"wwdc2026-227":{"id":"wwdc2026-227","staticContentId":10738,"eventContentId":227,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:45-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/227","languageCode":"eng","description":"Learn how to prototype your app using agents in Xcode. Explore techniques for using AI to prototype interactions, iterate on layouts, and generate creative solutions to design challenges. You\u2019ll learn how to evaluate ideas critically and refine them into polished, people-centered experiences for your app.","title":"Create UI prototypes using agents in Xcode","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["animation","coding agents","design","prototyping","swiftui","xcode","xcode previews"],"primaryTopicID":87,"topicIds":[94,88,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B8C03E29-6A50-4550-B592-3E1FD6C3C5C8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/227\/4\/f96c1da6-a49b-4d9a-8612-340d198d201b\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/227\/4\/f96c1da6-a49b-4d9a-8612-340d198d201b\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/227\/4\/f96c1da6-a49b-4d9a-8612-340d198d201b\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/227\/4\/f96c1da6-a49b-4d9a-8612-340d198d201b\/downloads\/wwdc2026-227_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/227\/4\/f96c1da6-a49b-4d9a-8612-340d198d201b\/downloads\/wwdc2026-227_sd.mp4","duration":1091,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Why intentional prototyping matters for standing out, and what the session covers \u2014 using Xcode coding agents and previews to find creative starting points, bring in real content, and tune key moments and interactions.","end":176},{"start":176,"title":"Exploring UI possibilities","summary":"Craft prompts that generate multiple UI variations at once and remix the most promising elements into refined iterations.","end":451},{"start":451,"title":"Making your app feel lived in","summary":"Use agents to populate prototypes with realistic sample data and cover edge cases, including empty states, long text, and unbounded lists.","end":679},{"start":679,"title":"Tuning key moments","summary":"Explore techniques for refining the dynamic elements of your prototype and build custom tuning panels to adjust animation parameters in real time.","end":1051},{"start":1051,"title":"Next steps","summary":"The throughline of the session \u2014 treating agents as collaborators rather than designers, with your judgment as the key to finding the best experience \u2014 and a pointer to \"Xcode, agents, and you.\"","end":1091}]},"related":{"activities":["wwdc2026-259"]}},"wwdc2026-212":{"id":"wwdc2026-212","staticContentId":10722,"eventContentId":212,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/212","languageCode":"eng","description":"Explore new features for your CarPlay audio, navigation, voice-based conversational apps, and more. Discover how to create CarPlay video apps so people can browse and watch their favorite videos in supported vehicles when parked. Learn how to integrate thumbnails, media information, and voice controls in your CarPlay app.","title":"Rev up your CarPlay app","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS"],"keywords":["\ud83d\ude97","\ud83d\ude99","car","instrument cluster"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"41F1B2C2-AA24-42B1-87CA-03BC7E635CC4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/212\/4\/c594f5de-1012-4f5a-bad4-95ca200f5f58\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/212\/4\/c594f5de-1012-4f5a-bad4-95ca200f5f58\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/212\/4\/c594f5de-1012-4f5a-bad4-95ca200f5f58\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/212\/4\/c594f5de-1012-4f5a-bad4-95ca200f5f58\/downloads\/wwdc2026-212_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/212\/4\/c594f5de-1012-4f5a-bad4-95ca200f5f58\/downloads\/wwdc2026-212_sd.mp4","duration":980,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"CarPlay is the smarter, safer way to use your iPhone in the car. iOS 27 brings new capabilities to all categories of CarPlay apps.","end":42},{"start":42,"title":"Apps in CarPlay","summary":"CarPlay supports a range of app categories, including Live Activities and widgets from any app, and new this year, voice-based conversational apps and video browsing in supported cars.","end":171},{"start":171,"title":"CarPlay framework","summary":"iOS 27 introduces enhancements for lists, a MiniPlayer for now playing, and a new presentation style for voice control.","end":714},{"start":714,"title":"Navigation apps","summary":"Navigation apps have more control over the primary interface area of the Map template and Route sharing coordinates your app\u2019s routing with the vehicle.","end":919},{"start":919,"title":"CarPlay Simulator","summary":"CarPlay Simulator makes testing your CarPlay app as easy as connecting to your Mac.","end":980}]},"related":{"activities":["wwdc2025-216"],"resources":[509]}},"wwdc2026-242":{"id":"wwdc2026-242","staticContentId":10765,"eventContentId":242,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/242","languageCode":"eng","description":"Learn how to take your intelligence features further with Foundation Models framework primitives for dynamic context and agentic workflows. We\u2019ll walk through engineering shared context, setting up privacy boundaries, and managing key value caching. Discover how to orchestrate smooth handoffs between local and server models.\n","title":"Build agentic app experiences with the Foundation Models framework","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["ai","machine learning","xcode"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A5CE0D3F-999F-4926-8EA3-8C9722481512","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/242\/4\/7f05515d-be1a-43a0-9962-a1f77f115666\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/242\/4\/7f05515d-be1a-43a0-9962-a1f77f115666\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/242\/4\/7f05515d-be1a-43a0-9962-a1f77f115666\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/242\/4\/7f05515d-be1a-43a0-9962-a1f77f115666\/downloads\/wwdc2026-242_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/242\/4\/7f05515d-be1a-43a0-9962-a1f77f115666\/downloads\/wwdc2026-242_sd.mp4","duration":1303,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Erik Hornberger and Oliver O'Neill introduce Dynamic Profiles and the problems they solve, context management and model boundaries, plus the new open-source Foundation Models framework utilities package. Agenda: dynamic profiles, orchestration patterns, performance and accuracy.","end":167},{"start":167,"title":"The example app and agents","summary":"Introduces the Origami craft app with three phases (brainstorming, planning, reviewing) that share context but have different priorities. Each phase becomes an agent: a configuration with its own model, instructions, and tools.","end":227},{"start":227,"title":"Declaring a dynamic profile","summary":"A DynamicProfile declares individual Profiles representing a configuration or agent. Build the brainstorming profile from an Observable orchestrator, instructions, and tools, conditionally adding capabilities for origami projects.","end":285},{"start":285,"title":"Dynamic instructions","summary":"DynamicInstructions groups related instructions and tools into a single reusable, composable component. Nesting one inside another concatenates their instructions and tools, such as an OrigamiExpert reused wherever needed.","end":336},{"start":336,"title":"Configuring models per phase","summary":"Assign different models and options per profile: Private Cloud Compute with temperature and deep reasoningLevel for brainstorming and planning, and SystemLanguageModel for reviewing. The profile body is re-evaluated on each prompt, swapping the session's persona by mode.","end":441},{"start":441,"title":"Transcript management and history transforms","summary":"Trim or redact the transcript to stay within context limits, keep the model focused, or protect privacy. historyTransform applies stateless, per-request transforms over the history window (such as dropping tool calls) without mutating the session.","end":530},{"start":530,"title":"Custom modifiers","summary":"Custom modifiers hide transform complexity \u2014 a type conforming to DynamicProfileModifier, exposed through a DynamicProfile extension for reuse across profiles, alongside the ready-made history-management modifiers in the utilities package.","end":579},{"start":579,"title":"Lifecycle modifiers and session properties","summary":"onResponse and other lifecycle modifiers run imperative code at session boundaries to update UI, profile state, or history. Session properties (the built-in history, plus custom @SessionPropertyEntry values) share state across tools and profiles, for example storing a conversation summary.","end":772},{"start":772,"title":"Orchestration: baton-pass","summary":"A collaboration pattern: multiple profiles share the full transcript, and a tool toggles which profile is active. The profile that receives the baton produces the final response.","end":846},{"start":846,"title":"Orchestration: phone-a-friend and skills","summary":"A consultation pattern: a tool spawns a short-lived child session with an isolated transcript, and the parent profile always gives the final answer. Also notes the Skills pattern in the utilities package for procedural context loading.","end":918},{"start":918,"title":"Tool calling mode","summary":"Control when tools run via allowed, disallowed, or required (as a profile modifier or generation option). When required, the model loops, so ensure an exit condition by conditionalizing the mode or using a final-answer tool that throws to break out.","end":1032},{"start":1032,"title":"Transcript error handling","summary":"By default a thrown tool error or cancellation reverts the transcript; the new transcriptErrorHandlingPolicy (.revertTranscript or .preserveTranscript) keeps it. With preserve, the now-mutable transcript is yours to fix, only when isResponding is false.","end":1107},{"start":1107,"title":"Performance, accuracy, and evaluations","summary":"Transcript mutations can invalidate key-value caches and raise latency; appending preserves them. Rewriting history can also confuse the model, so measure with the Foundation Models Instrument and quantify changes with the Evaluations framework.","end":1284},{"start":1284,"title":"Next steps","summary":"Where to go next \u2014 try the sample app, explore the Foundation Models framework utilities, and measure performance with Private Cloud Compute and the revamped Xcode instrument.","end":1303}]},"related":{"resources":[4133]}},"wwdc2026-237":{"id":"wwdc2026-237","staticContentId":10760,"eventContentId":237,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/237","languageCode":"eng","description":"Unlock powerful image understanding with the latest Vision framework and Foundation Models framework updates. The new tap-to-segment request lets you segment images in new ways, and Vision now supports watchOS. Combine the new image support in Apple Foundation Model together with OCR, barcode scanning and your own tools to deliver LLM-powered visual understanding in your app.","title":"What\u2019s new in image understanding","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"keywords":["ai","machine learning &amp; vision"],"primaryTopicID":94,"topicIds":[83,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"39F59BD2-A229-4383-BE14-F6D47FE01BA9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/237\/6\/a3bdea1e-5c1d-44bc-8c21-9e1958774bd3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/237\/6\/a3bdea1e-5c1d-44bc-8c21-9e1958774bd3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/237\/6\/a3bdea1e-5c1d-44bc-8c21-9e1958774bd3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/237\/6\/a3bdea1e-5c1d-44bc-8c21-9e1958774bd3\/downloads\/wwdc2026-237_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/237\/6\/a3bdea1e-5c1d-44bc-8c21-9e1958774bd3\/downloads\/wwdc2026-237_sd.mp4","duration":946,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","tr","vi","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"An overview of the new image understanding capabilities in Vision and Foundation Models this year: the tap-to-segment API, image inputs for large language models, image-based tool calling, and Vision on watchOS.","end":96},{"start":96,"title":"Segment images with tap-to-segment","summary":"How to use Vision's new tap-to-segment API to interactively isolate any object in an image using point taps, lasso strokes, or combinations. Covers the ImageRequestHandler setup, normalized coordinate system, lasso stroke width best practices, and the on-device model download requirement.","end":350},{"start":350,"title":"Image inputs for Foundation Models","summary":"How to pass images directly to large language models using the Foundation Models framework for tasks like caption generation, scene understanding, recipe creation, and interior design suggestions. Includes a comparison of when to use Vision versus Foundation Models for image analysis.","end":477},{"start":477,"title":"Image-based tool calling","summary":"How to extend LLM capabilities with tool calling that accepts image arguments. Covers defining tools conforming to the Tool protocol with image parameters, accessing image references via session history transcripts, and using built-in Vision tools \u2014 including the barcode reader and saliency tool \u2014 to give models capabilities they cannot perform on their own.","end":789},{"start":789,"title":"Vision on watchOS","summary":"How to use Vision on watchOS to enhance watch apps. Demonstrates using saliency analysis to automatically identify and crop the subject of interest from wildlife photos, so the most relevant part of an image is always displayed in the compact watch UI.","end":879},{"start":879,"title":"Next steps","summary":"A recap of all four new image understanding capabilities and links to downloadable sample apps for tap-to-segment and watchOS Vision from the Apple Developer website.","end":946}]},"related":{"activities":["wwdc2025-301","wwdc2024-10163","wwdc2026-241"],"resources":[4254,4171]}},"wwdc2026-283":{"id":"wwdc2026-283","staticContentId":10820,"eventContentId":283,"eventId":"wwdc2026","contentUpdatedAt":"2026-07-06T11:45:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/283","languageCode":"eng","description":"Find out how visionOS is advancing object tracking and spatial accessory input. Discover new ways to track moving and handheld objects, allowing you to bridge the physical and digital worlds. Learn about new supported classes of spatial accessories and what is needed to build your own custom accessories to enable unique interaction models in your apps.","title":"Explore enhancements to visionOS object tracking","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","visionOS"],"keywords":["3d","3d content","anchor entity","object","object tracking","spatial accessories","spatial computing","visionos"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B848A625-87FA-482E-8B16-E46BF838343A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/283\/4\/22b92960-c65b-450f-b42c-6d6bff64a9b4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/283\/4\/22b92960-c65b-450f-b42c-6d6bff64a9b4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/283\/4\/22b92960-c65b-450f-b42c-6d6bff64a9b4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/283\/4\/22b92960-c65b-450f-b42c-6d6bff64a9b4\/downloads\/wwdc2026-283_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/283\/4\/22b92960-c65b-450f-b42c-6d6bff64a9b4\/downloads\/wwdc2026-283_sd.mp4","duration":845,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Overview of the new visionOS object tracking enhancements, including high-frame-rate tracking of handheld objects and the expansion of spatial accessories to third-party developers.","end":140},{"start":140,"title":"Object tracking","summary":"A recap of the object tracking API introduced in visionOS 2.0 and what's new in visionOS 27: tracking objects in motion, training extended models in Create ML, metric-space poses, and iOS support.","end":440},{"start":440,"title":"Spatial accessories","summary":"Introduction to spatial accessories \u2014 electronic devices with an LED constellation, IMU, and Bluetooth that Vision Pro tracks in real time. Covers the first generation of accessories and the expansion to custom third-party hardware in visionOS 27.","end":467},{"start":467,"title":"Creating a spatial accessory","summary":"Design considerations, hardware requirements, and the validation workflow for building your own spatial accessory, including how to use the debug tool in Simulator and generate a reference accessory bundle.","end":708},{"start":708,"title":"Plug-and-play accessories","summary":"Off-the-shelf reference hardware from manufacturers like DFRobot and MikroE that can be used immediately for testing or integrated into your visionOS app without custom hardware development.","end":742},{"start":742,"title":"Implementing in your app","summary":"How to discover and connect a spatial accessory using the GCSpatialAccessory class and AccessoryTrackingProvider APIs, including how to hot-swap accessories without interrupting your ARKit session.","end":783},{"start":783,"title":"Next steps","summary":"Key takeaways on choosing the right tracking approach, and links to related sessions including Explore object tracking for visionOS and Explore spatial accessory input on visionOS.","end":845}]},"related":{"activities":["wwdc2024-10101","wwdc2025-289"],"resources":[4317,4206,4205,4204,3837]}},"wwdc2026-274":{"id":"wwdc2026-274","staticContentId":10799,"eventContentId":274,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-10T12:14:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/274","languageCode":"eng","description":"Discover the latest enhancements to SwiftData. We\u2019ll show you how to persist custom and third-party types using Codable, and group fetched data into sections in your SwiftUI app. We\u2019ll also explore how to observe data store changes anywhere else using ResultsObserver and HistoryObserver, giving you the flexibility to drive powerful state objects and react precisely to model updates.","title":"What\u2019s new in SwiftData","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["screenshots"],"primaryTopicID":83,"topicIds":[99,100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B6304B6A-FBC9-4B76-ADA3-0EB8A43E9F9D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/274\/4\/87fb1efb-9956-414e-8c99-f2579fe86da2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/274\/4\/87fb1efb-9956-414e-8c99-f2579fe86da2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/274\/4\/87fb1efb-9956-414e-8c99-f2579fe86da2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/274\/4\/87fb1efb-9956-414e-8c99-f2579fe86da2\/downloads\/wwdc2026-274_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/274\/4\/87fb1efb-9956-414e-8c99-f2579fe86da2\/downloads\/wwdc2026-274_sd.mp4","duration":773,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"What's new in SwiftData for Apple's 2027 releases, with a preview of the agenda: sectioning fetches, using custom types, and observing data stores.","end":53},{"start":53,"title":"Sectioning your fetches","summary":"Use @Query's new sectionBy: parameter to group results by a key path. Access the underlying query via the underscore-prefixed name to iterate sections, each with an id and a collection of models \u2014 demonstrated by grouping trips by destination in SampleTrips.","end":176},{"start":176,"title":"Using custom types","summary":"Store types SwiftData can't model natively \u2014 like MKMapItem.Identifier \u2014 by marking properties with @Attribute(.codable). Treat codable as an escape hatch for external types, not types you own; modeling your own types as @Model or supported value types unlocks filtering, sorting, and migration.","end":386},{"start":386,"title":"Observing data stores with ResultsObserver","summary":"The new ResultsObserver brings Query-style fetching to non-SwiftUI code. Combine it with withContinuousObservation(didSet:) to react to model changes anywhere in your app \u2014 shown updating map camera bounds as trips change.","end":581},{"start":581,"title":"Observing history with HistoryObserver","summary":"HistoryObserver exposes a single observable eventCounter that ticks when new persistent-history transactions arrive. Pair it with ModelContext.fetchHistory() to filter by model type or transaction author \u2014 ideal for syncing changes to an external server.","end":740},{"start":740,"title":"Next steps","summary":"Recap: section your fetches, adopt codable types, react to data changes with ResultsObserver, and observe history with HistoryObserver.","end":773}]},"related":{"activities":["wwdc2026-275","wwdc2024-10075"],"resources":[3085,3084]}},"wwdc2026-210":{"id":"wwdc2026-210","staticContentId":10720,"eventContentId":210,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:43-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/210","languageCode":"eng","description":"Discover how monthly subscriptions with a 12-month commitment give people a more affordable option to pay for your subscription and secure a longer-term commitment. Explore how to configure and test this new payment option using App Store Connect, StoreKit APIs, Xcode testing, and more. Plus, learn about improvements to offer code redemption APIs, and enhancements to the App Review submission experience.","title":"What\u2019s new in Apple In-App Purchase","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":86,"topicIds":[83,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"60AD843F-4A38-4D0D-A6EA-4B9C8F85495A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/210\/4\/f029ab19-6670-48c6-b9b1-88ac6692cdda\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/210\/4\/f029ab19-6670-48c6-b9b1-88ac6692cdda\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/210\/4\/f029ab19-6670-48c6-b9b1-88ac6692cdda\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/210\/4\/f029ab19-6670-48c6-b9b1-88ac6692cdda\/downloads\/wwdc2026-210_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/210\/4\/f029ab19-6670-48c6-b9b1-88ac6692cdda\/downloads\/wwdc2026-210_sd.mp4","duration":806,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","vi","zh","zh-TW"],"chapters":[{"start":1,"title":"Introduction","summary":"Learn how to merchandise products and grow your business with expanded subscription pricing options, updates to the offer code redemption API, and an enhanced App Store Connect submission experience.","end":51},{"start":51,"title":"Overview of monthly subscriptions with a 12-month commitment","summary":"Monthly subscriptions with a 12-month commitment is a new pricing option that lets customers pay monthly for an annual subscription; can be added to new or existing one-year subscriptions in App Store Connect to reach a wider customer base.","end":102},{"start":102,"title":"Set up in App Store Connect","summary":"Configure monthly subscriptions with a 12-month commitment in App Store Connect. Set up pricing, offers, and availability.","end":148},{"start":148,"title":"Merchandise with StoreKit","summary":"Learn how SKDemo merchandises monthly subscriptions with a 12-month commitment using StoreKit and learn how to test with StoreKit Testing in Xcode.","end":415},{"start":415,"title":"Monitor subscriptions with App Store Server APIs","summary":"New fields in App Store Server APIs to manage the subscription lifecycle of monthly subscriptions with a 12-month commitment.","end":530},{"start":530,"title":"Bundles and Suites","summary":"Offering subscription Bundles and Suites is another way to provide customers with more value in their subscriptions across apps.","end":566},{"start":566,"title":"Offer code redemption","summary":"The offer code redemption API is extended to take in a set of RedeemOption values and returns a VerificationResult.","end":635},{"start":635,"title":"Enhanced submission experience","summary":"When you\u2019re ready to submit an app to the App Store, you can utilize our enhanced submission experience for In-App Purchases in App Store Connect.","end":758},{"start":758,"title":"Next steps","summary":"Utilize the new features; adopt the expanded subscription pricing, update offer code redemption call sites, test in Xcode 27 and sandbox, and submit through the enhanced App Review experience.","end":806}]},"related":{"activities":["wwdc2022-10043","wwdc2023-10013","wwdc2023-10140","wwdc2024-10110","wwdc2026-309"],"resources":[4210,4209,4208,4207,3810,1696]}},"wwdc2026-221":{"id":"wwdc2026-221","staticContentId":10732,"eventContentId":221,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/221","languageCode":"eng","description":"Dynamic Type empowers people to comfortably read and interact with your app by letting them choose the text size that works best for them. You\u2019ll learn how to get your app ready for Dynamic Type on tvOS through practical techniques for implementing font scaling and adapting your layouts for larger content. You\u2019ll also discover how to optimize your media-focused interfaces like grids and carousels, ensuring a great experience for everyone who relies on different text sizes.","title":"Prepare your tvOS apps for Dynamic Type","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["tvOS"],"primaryTopicID":82,"topicIds":[84,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6C8D6D48-BE25-43D4-9505-DF8F36667FEE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/221\/5\/ada10ebd-34f8-4f57-92b5-4b3cd6281267\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/221\/5\/ada10ebd-34f8-4f57-92b5-4b3cd6281267\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/221\/5\/ada10ebd-34f8-4f57-92b5-4b3cd6281267\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/221\/5\/ada10ebd-34f8-4f57-92b5-4b3cd6281267\/downloads\/wwdc2026-221_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/221\/5\/ada10ebd-34f8-4f57-92b5-4b3cd6281267\/downloads\/wwdc2026-221_sd.mp4","duration":608,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":1,"title":"Introduction","summary":"Large Text support is now available system-wide on tvOS 27, allowing apps to automatically scale text to match someone's needs and preferences. By supporting Dynamic Type, your app can adapt its layout and display its accessibility support in its Accessibility Nutrition Labels.","end":166},{"start":166,"title":"Identify common issues","summary":"When accommodating larger text, avoid fixed font sizes and rigid constraints that prevent text from scaling and cause truncation or clipping. Ensure all UI elements are flexible and responsive rather than relying on hardcoded values that break layouts at larger sizes.","end":373},{"start":373,"title":"Adapt your layout","summary":"Find and replace hardcoded sizes with standard text styles to allow interfaces to grow. In cases where standard scaling isn't enough, adapt your view's layout dynamically\u2014such as reducing the number of columns in a grid\u2014by checking the current `dynamicTypeSize` environment value.","end":608}]},"related":{"activities":["wwdc2024-10074"],"resources":[4237,2215]}},"wwdc2026-297":{"id":"wwdc2026-297","staticContentId":10841,"eventContentId":297,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/297","languageCode":"eng","description":"Gain insight on how visual intelligence can transform content discovery in your app. Explore how to define entities, process images, and handle multiple result types effectively. Learn best practices for optimizing speed and relevance, and discover how intents enable direct actions like opening or playing content with a single tap.","title":"Best practices for integrating visual intelligence in your app","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ai","intelligence","machine learning","visual","xcode"],"primaryTopicID":94,"topicIds":[83,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1C6147F7-86A2-4FA4-B225-41750B2AB798","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/297\/5\/25343020-b502-4808-967a-6f6460789dc2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/297\/5\/25343020-b502-4808-967a-6f6460789dc2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/297\/5\/25343020-b502-4808-967a-6f6460789dc2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/297\/5\/25343020-b502-4808-967a-6f6460789dc2\/downloads\/wwdc2026-297_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/297\/5\/25343020-b502-4808-967a-6f6460789dc2\/downloads\/wwdc2026-297_sd.mp4","duration":1065,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":7,"title":"Introduction","summary":"Visual Intelligence integration and what's new in iOS 26, iPadOS, and macOS, using a sample music-discovery app built throughout the session. Outlines the agenda: defining content, implementing a query, cross-platform adoption, and system store integrations.","end":122},{"start":122,"title":"Defining your content","summary":"Model your app's content as an AppEntity so Visual Intelligence can display it in search results. Covers the entity's DisplayRepresentation (title, subtitle, thumbnail) and best practices around concise identifying text and thumbnail-sized images.","end":303},{"start":303,"title":"Implementing a query","summary":"IntentValueQuery returns results from a SemanticContentDescriptor's pixel buffer \u2014 using the Vision framework's GenerateImageFeaturePrintRequest for on-device image similarity, with pre-computed feature prints and distance thresholds to keep results fast.","end":498},{"start":498,"title":"Opening results","summary":"Implement an OpenIntent to take people straight to the selected content. Keep it lightweight since it runs as the app foregrounds, and reuse an existing OpenIntent rather than creating one specific to Visual Intelligence.","end":603},{"start":603,"title":"Mac and iPad adoption","summary":"The same entities, query, and OpenIntent carry over to iPadOS and macOS with minimal changes. Account for platform differences such as camera versus screenshot input and the much larger pixel buffers on Mac that may need resizing.","end":747},{"start":747,"title":"Returning multiple result types","summary":"The @UnionValue type returns more than one entity type from a single query \u2014 here albums plus nearby concerts \u2014 encouraging you to derive related content rather than only matching pixels.","end":776},{"start":776,"title":"Continuing search in your app","summary":"The semanticContentSearch schema lets people continue into your full in-app search \u2014 pre-populating results from the captured context so they land on filters, categories, and deeper content.","end":867},{"start":867,"title":"System store integrations","summary":"Visual Intelligence can also write data your app reads back via system stores: events through EventKit (EKEventStore), contacts via CNContactStore, and medical-device readings via HealthKit (HKHealthStore). Observe store-change notifications so captured data appears automatically.","end":1036},{"start":1036,"title":"Next steps","summary":"Recaps the two integration points, Image Search and system stores, across iOS, iPadOS, and macOS. Points to documentation and related App Intents and Vision sessions.","end":1065}]},"related":{"resources":[4233,4232]}},"wwdc2026-201":{"id":"wwdc2026-201","staticContentId":10703,"eventContentId":201,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/201","languageCode":"eng","description":"Harness App Attest to protect your app from unauthorized modification and fraud. Uncover how attackers exploit modified apps to spoof data and bypass security checks, and how App Attest defends against these threats. Learn to generate and manage App Attest keys bound to the Secure Enclave, validate attestations and assertions, and use the fraud metric to detect abuse. Discover best practices across all Apple platforms, including new signals in iOS 27 to strengthen your validation.","title":"Secure your apps with App Attest","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["\ud83c\udf88","fraud","mitigate"],"primaryTopicID":96,"topicIds":[83,86,89,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"313C1FC0-99A6-4DDB-8464-B000A86777D7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/201\/4\/d3eb2e5b-5104-4aee-a754-9985008a5b06\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/201\/4\/d3eb2e5b-5104-4aee-a754-9985008a5b06\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/201\/4\/d3eb2e5b-5104-4aee-a754-9985008a5b06\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/201\/4\/d3eb2e5b-5104-4aee-a754-9985008a5b06\/downloads\/wwdc2026-201_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/201\/4\/d3eb2e5b-5104-4aee-a754-9985008a5b06\/downloads\/wwdc2026-201_sd.mp4","duration":1202,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"The threats App Attest is designed to address \u2014 modified copies of your app sending valid-looking requests to your server, such as falsified quiz submissions or injected game cheats.","end":95},{"start":95,"title":"Protections","summary":"Verify genuine Apple hardware, detect app modifications, and secure payloads with assertions.","end":244},{"start":244,"title":"Availability","summary":"Where App Attest is available, now including macOS 27 and all major platforms though not every app extension type, and how to gate usage with the isSupported API and treat unexpected unsupported responses as a fraud signal.","end":302},{"start":302,"title":"Key generation","summary":"Create a Secure Enclave\u2013bound key ID and store it in the keychain.","end":372},{"start":372,"title":"Attestation","summary":"Request and validate attestations, including the macOS key access control property and new authenticator-data extensions.","end":730},{"start":730,"title":"Assertion","summary":"Sign payloads with attested keys and validate the assertion counter on your server.","end":898},{"start":898,"title":"Common pitfalls","summary":"Handle new keys for existing users, degrade gracefully on rejection, and assess risk before blocking.","end":987},{"start":987,"title":"Fraud metric","summary":"The receipt-based fraud metric \u2014 an approximate 30-day count of unique attested keys on a device \u2014 and how it fits a risk profile to spot a compromised device acting as a broker.","end":1147},{"start":1147,"title":"Next steps","summary":"Steps to adopt App Attest: rebuild against the latest SDKs, identify flows that benefit from attestations and assertions, set up your server to validate and track them, and fold the fraud metric into your risk pipeline.","end":1202}]},"related":{"resources":[4244,4243,1632]}},"wwdc2026-315":{"id":"wwdc2026-315","staticContentId":10861,"eventContentId":315,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-15T14:31:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/315","languageCode":"eng","description":"Learn how to unlock full control of styling select menus on the web. The HTML select element is getting a major upgrade with a new CSS appearance value, and new pseudo-elements. Discover how the select options can contain rich content with new possibilities in HTML. Build selects that match your design system, while keeping all the accessibility and robustness of the default element.","title":"Rediscover the HTML select element","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"primaryTopicID":98,"topicIds":[87,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7D51DC07-CC99-4746-A430-23A18DB65994","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/315\/4\/f3bd9835-9ced-4f6a-a0f1-655000972674\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/315\/4\/f3bd9835-9ced-4f6a-a0f1-655000972674\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/315\/4\/f3bd9835-9ced-4f6a-a0f1-655000972674\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/315\/4\/f3bd9835-9ced-4f6a-a0f1-655000972674\/downloads\/wwdc2026-315_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/315\/4\/f3bd9835-9ced-4f6a-a0f1-655000972674\/downloads\/wwdc2026-315_sd.mp4","duration":570,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","summary":"Introducing Customizable Select, a way to fully style the HTML Select Element in CSS while keeping its built-in accessibility, available in Safari 27 and Chrome 135. Follow along as a \"Sort by\" menu and a category picker are built to fit right into a photographer's portfolio site.","end":152},{"start":152,"title":"Style the select button","summary":"Apply `appearance: base-select` to opt into the new styling model, then customize the button with familiar CSS \u2014 fonts, background, border, and padding. Use the new `::picker-icon` pseudo-element to swap the dropdown arrow, and the `:open` pseudo-class to change colors when the menu is showing.","end":227},{"start":227,"title":"Customize the drop-down","summary":"Style the menu itself by applying `appearance: base-select` to the `::picker(select)` pseudo-element. Adjust spacing, borders, and box-shadow, emphasize the active option with the `:checked` pseudo-class, and replace the default checkmark using `::checkmark`.","end":300},{"start":300,"title":"Go beyond text options","summary":"Place rich content like SVG icons, images, or labels directly inside <option> elements to build visually richer menus. Then break out of the default vertical list with a grid layout using `grid-template` and `gap`, while preserving accessibility \u2014 including handling alt text so screen readers don't double-announce labels.","end":410},{"start":410,"title":"The selectedcontent element","summary":"Replace the built-in select button by placing a <button> element as the first child of <select>, and use the new <selectedcontent> element inside it to mirror the rich content of the currently selected option \u2014 making the chosen icon and label visible in the button itself.","end":466},{"start":466,"title":"Fallback for unsupported browsers","summary":"Browsers that don't support customizable select fall back to the native popup automatically \u2014 progressive enhancement just works because you're still using a semantic <select>. Users keep all the built-in accessibility either way.","end":529},{"start":529,"title":"Next steps","summary":"Try the demo on webkit.org, experiment with customizable select in your own projects, and test against assistive tools and non-supporting browsers. To see the Grid Lanes layout used to display the photos, watch \"Learn CSS Grid Lanes.\"","end":570}]},"related":{"activities":["wwdc2026-314","wwdc2026-204"],"resources":[4355,4339,4259,3601,765]}},"wwdc2026-356":{"id":"wwdc2026-356","staticContentId":10906,"eventContentId":356,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/356","languageCode":"eng","description":"Go behind the scenes and learn from CD PROJEKT RED how Cyberpunk 2077 came to Mac, setting a new standard for AAA gaming on macOS. Explore how the team leveraged Apple\u2019s robust hardware, software, and development tools to bring this high-fidelity experience to life. Learn how you can apply similar techniques to your games. Find out how the innovative \u2018For this Mac\u2019 preset automatically optimizes graphical settings to balance visual fidelity and frame rate across the Mac lineup.","title":"Bringing Cyberpunk 2077 to Mac","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":91,"topicIds":[94,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"47BE2F6C-78E8-4AF4-9318-9FF3EDB1A049","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/356\/5\/d3ce460b-554d-4760-ae03-072c5acf42aa\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/356\/5\/d3ce460b-554d-4760-ae03-072c5acf42aa\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/356\/5\/d3ce460b-554d-4760-ae03-072c5acf42aa\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/356\/5\/d3ce460b-554d-4760-ae03-072c5acf42aa\/downloads\/wwdc2026-356_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/356\/5\/d3ce460b-554d-4760-ae03-072c5acf42aa\/downloads\/wwdc2026-356_sd.mp4","duration":1674,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Garrett Austin (Apple Game Performance) introduces guest Pawe\u0142 Sasko (Associate Game Director, CD PROJEKT RED) to share how Cyberpunk 2077: Ultimate Edition was brought to Mac with great performance across a wide range of devices.","end":44},{"start":44,"title":"What is Cyberpunk 2077","summary":"An overview of the game \u2014 an open-world RPG set in Night City \u2014 and why it remains an industry benchmark: dense scene complexity and streaming, realistic lighting and materials, and demanding ray tracing and path tracing modes.","end":177},{"start":177,"title":"Why bring it to Mac","summary":"The motivation for the port: CD PROJEKT RED's long history on Apple platforms, Apple silicon hardware maturing enough to hit a serious quality bar, and the opportunity to reach more players.","end":225},{"start":225,"title":"How we brought it to Mac","summary":"Defining what \"doing it properly\" means via a three-part quality bar \u2014 visual fidelity, stable performance, and native feel \u2014 then executing the port: native builds, an adapted data pipeline, an architecture bridge, Metal Shader Converter, the native Metal rendering foundation, and MetalFX Upscaling for scalable performance.","end":290},{"start":290,"title":"Game Porting Toolkit evaluation","summary":"Using Apple's Game Porting Toolkit to evaluate the Windows build in a translated environment before writing code \u2014 gauging feasibility, gathering CPU\/GPU pressure signals, and identifying focus areas using profiling data, Metal HUD, and per-thread breakdowns to build a production roadmap.","end":785},{"start":785,"title":"What we did to stand out","summary":"Turning the working build into a first-launch experience that feels native to macOS \u2014 adopting platform features across windowing and app switching, input devices, display, audio, and cloud saves.","end":796},{"start":796,"title":"\"For this Mac\" preset","summary":"A device-based graphics preset that detects each Mac's hardware and auto-configures optimal settings \u2014 target FPS, MetalFX with Dynamic Resolution Scaling, resolution bounds, V-Sync, and HDR \u2014 tuned per device and demoed live in Dogtown.","end":1619},{"start":1619,"title":"Next steps","summary":"Recommended actions: try the Game Porting Toolkit evaluation environment, analyze performance with Metal HUD, plan a great first-launch experience, and explore the related \"Speedrun your game port with agentic coding\" and \"Find and fix performance issues in your Metal games\" sessions.","end":1674}]},"related":{"activities":["wwdc2026-357","wwdc2026-388","wwdc2026-8037","wwdc2026-8040","wwdc2026-8038"],"resources":[4308,4307,3773]}},"wwdc2026-330":{"id":"wwdc2026-330","staticContentId":10876,"eventContentId":330,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:48-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/330","languageCode":"eng","description":"Unlock powerful machine learning performance with the Metal Tensor API and Metal Performance Primitives (MPP) Tensor Ops library. Discover how to create portable operations that take advantage of Neural Accelerators in Apple M5 and A19 GPUs. Learn to build custom machine learning kernels for your Core AI applications, and find out how to work effectively with quantized data formats and GPU memory optimization.","title":"Optimize custom machine learning operations with Metal tensors","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":94,"topicIds":[91,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BEDC701E-B6AE-4C61-816A-CDE387439709","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/330\/4\/0ff2c290-e47b-4d88-8a8f-0634e11506a4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/330\/4\/0ff2c290-e47b-4d88-8a8f-0634e11506a4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/330\/4\/0ff2c290-e47b-4d88-8a8f-0634e11506a4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/330\/4\/0ff2c290-e47b-4d88-8a8f-0634e11506a4\/downloads\/wwdc2026-330_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/330\/4\/0ff2c290-e47b-4d88-8a8f-0634e11506a4\/downloads\/wwdc2026-330_sd.mp4","duration":973,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Overview of how Metal tensors and TensorOps enable you to write optimized custom ML kernels on Apple Silicon.","end":21},{"start":21,"title":"Apple's ML software stack","summary":"A tour of Apple's ML software stack, from high-level frameworks like Core AI and MLX down to Metal Performance Shaders, Metal Performance Primitives, and the TensorOps library \u2014 and why you might want to work at the Metal level.","end":145},{"start":145,"title":"Managing quantized data","summary":"How quantization reduces memory bandwidth requirements for large models, and the new quantized data types natively supported by TensorOps, including MX scaling formats.","end":263},{"start":263,"title":"Multi-plane tensors","summary":"How a single MTLTensor object can now represent both quantized element data and scale factors as separate planes, and how to configure multi-plane tensor descriptors in your Metal shaders.","end":317},{"start":317,"title":"Quantized matrix multiplication","summary":"How to extend a tiled matrix multiplication kernel to support quantized inputs, including binding scales planes, using inline tensors, slicing with threadgroup IDs, and handling custom dequantization formats.","end":571},{"start":571,"title":"Building advanced ops","summary":"How to implement Flash Attention with TensorOps, covering custom SIMD group mappings, cooperative tensors, row reductions, SoftMax, and the new API for passing cooperative tensors directly as matrix multiplication inputs \u2014 eliminating the threadgroup memory round-trip.","end":815},{"start":815,"title":"Integrating custom ops into Core AI","summary":"How to integrate a custom Metal TensorOps kernel into a Core AI application, using Core AI's Python tools to convert PyTorch models and plug in custom Metal operations.","end":925},{"start":925,"title":"Next steps","summary":"A summary of the TensorOps features covered \u2014 quantized types, multi-plane tensors, Flash Attention, and Core AI integration \u2014 with pointers to sample code and related sessions on Core AI and Metal.","end":973}]},"related":{"activities":["tech-talks-111432","wwdc2025-262"],"resources":[4281,4280,4119,56]}},"wwdc2026-260":{"id":"wwdc2026-260","staticContentId":10783,"eventContentId":260,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/260","languageCode":"eng","description":"Learn how Device Hub can accelerate your development workflows. We\u2019ll take a tour of its features and show you how to diagnose and reproduce issues quickly with devices and simulators.","title":"Get the most out of Device Hub","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"82CD90BA-9D3F-440C-8B26-83DFBA6177C6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/260\/4\/87d4b48f-1dfb-413f-a4f8-44d80b0f3432\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/260\/4\/87d4b48f-1dfb-413f-a4f8-44d80b0f3432\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/260\/4\/87d4b48f-1dfb-413f-a4f8-44d80b0f3432\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/260\/4\/87d4b48f-1dfb-413f-a4f8-44d80b0f3432\/downloads\/wwdc2026-260_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/260\/4\/87d4b48f-1dfb-413f-a4f8-44d80b0f3432\/downloads\/wwdc2026-260_sd.mp4","duration":1029,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es-419","fr","ja","ko","pt-BR","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"An overview of Device Hub, a new app shipping with Xcode 27 for working with devices and simulators.","end":64},{"start":64,"title":"Device Hub overview","summary":"A tour of Device Hub's two modes \u2014 compact and full window \u2014 and how it provides a consistent experience across both real devices and simulators.","end":180},{"start":180,"title":"Control","summary":"Use the canvas to interact with your devices directly, with live display, touch input, hardware controls, zoom, resize mode, and keyboard capture.","end":279},{"start":279,"title":"Organize","summary":"Manage your full device and simulator inventory from the sidebar, using filters, sorting, grouping, and compact windows to keep track of your devices.","end":364},{"start":364,"title":"Configure","summary":"Use the five inspector panels to configure appearance, simulate conditions like location, view diagnostics, manage device info, install and manage apps, and handle configuration and provisioning profiles.","end":488},{"start":488,"title":"Reproducing a bug","summary":"See Device Hub in action as one developer pairs devices, installs a logging profile, captures diagnostics, and shares app data \u2014 then another uses a simulator to reproduce the bug by mirroring the device's configuration.","end":952},{"start":952,"title":"devicectl","summary":"Use the devicectl command-line tool for managing devices, installing apps, capturing diagnostics, and integrating into scripts and CI workflows.","end":990},{"start":990,"title":"Next steps","summary":"Resources for exploring Device Hub further, including the devicectl documentation, related sessions on simulator and UIKit resizability, and Device Hub documentation.","end":1029}]},"related":{"activities":["wwdc2026-278","wwdc2019-418","wwdc2026-258"],"resources":[4340]}},"wwdc2026-335":{"id":"wwdc2026-335","staticContentId":10881,"eventContentId":335,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/335","languageCode":"eng","description":"Learn comparative evaluation techniques to guide your prompt engineering and select the right model for your app. Explore how to baseline performance, expand your evaluation strategy, and convert results to JSON for integration with other tools. Discover when to apply different prompting strategies and how to iteratively refine prompts for best results.","title":"Improve your prompts by hill-climbing with Evaluations","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["ai","machine learning","testing","xcode"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"17040501-9FD2-4087-B6F6-502AC4913052","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/335\/4\/a464d330-6aa2-456d-9a07-eae997aef08c\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/335\/4\/a464d330-6aa2-456d-9a07-eae997aef08c\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/335\/4\/a464d330-6aa2-456d-9a07-eae997aef08c\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/335\/4\/a464d330-6aa2-456d-9a07-eae997aef08c\/downloads\/wwdc2026-335_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/335\/4\/a464d330-6aa2-456d-9a07-eae997aef08c\/downloads\/wwdc2026-335_sd.mp4","duration":1601,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Hill-climbing \u2014 iteratively improving an intelligence feature using evaluation scores as a guide (develop, run, analyze) \u2014 framed around bringing scientific thinking to that loop. Assumes you've already built an evaluation pipeline (see \"Meet the Evaluations framework\").","end":162},{"start":162,"title":"BookTracker's tagging problem","summary":"Revisits BookTracker, whose tag generator produces tags that miss key themes or reflect the reader's feelings rather than the book. The existing evaluation judges tag quality via score dimensions (Relevance, Usefulness) and a ModelJudgeEvaluator.","end":327},{"start":327,"title":"Analyzing the evaluation results","summary":"Adds two reviews to the dataset, runs the evaluation (Swift Testing #expect), and uses the Xcode evaluation report and assistant editor to compare generated tags against expected ones, revealing the human and model judge disagree on usefulness.","end":506},{"start":506,"title":"Drift between judge and human","summary":"That disagreement is drift, the divergence between a model judge's ratings and an expert's. As the dataset grows, drift widens, making it hard to trust the evaluation, so the judge must be aligned to expert opinion.","end":577},{"start":577,"title":"Measuring drift with Cohen's kappa","summary":"Accuracy alone misleads on unevenly-distributed scores (a high-scoring judge looks aligned by luck). Cohen's kappa coefficient measures true alignment by subtracting the chance of random agreement from accuracy and normalizing, a robust drift metric.","end":746},{"start":746,"title":"Building a judge alignment evaluation","summary":"Builds an evaluation comparing the presenter's ratings to the judge's over a shared dataset: extract summary\/tag pairs from the prior run's attachment, add human ratings, reuse the same ModelJudgeEvaluator as subject, and aggregate Cohen's kappa (plus mean and standard deviation), targeting an alignment of 0.6.","end":916},{"start":916,"title":"Analyzing alignment failures","summary":"The alignment test fails. Drilling into the report (for example Frankenstein, The Ramakien) shows the judge rating overly-specific or off-theme tags too highly, the judge's prompt lacks the context to tell a good tag from a bad one.","end":1036},{"start":1036,"title":"Comparative evaluation: control vs experimental","summary":"Xcode 27 can compare two evaluations like a controlled experiment: a baseline (control) prompt versus an experimental prompt that adds app context plus examples of good and bad tags. Running both shows relevance improved while usefulness dropped, a tradeoff to weigh.","end":1152},{"start":1152,"title":"Refining the scoring dimensions","summary":"Keeping the prompt change, the side-by-side comparison view reveals the judge grading usefulness too harshly. Applying the new prompt to the baseline to isolate one variable, the ScoreDimension descriptions are sharpened (emphasizing genre tags; being critical of overly-specific ones), improving both scores.","end":1283},{"start":1283,"title":"Adding few-shot examples to the judge","summary":"Still short of the goal, the judge prompt is grounded with the feature's purpose and a few worked examples of how the presenter rates, deliberately few to avoid overfitting the alignment score. Scores finally exceed expectations, so the judge is trusted and the loop exits.","end":1418},{"start":1418,"title":"Going beyond prompts: adding a tool","summary":"Hill-climbing isn't only prompts: to give the on-device tag model more context, a BookLookupTool supplies the title and author. BookTaggingService gains a tools parameter (defaulting empty), and a second evaluation compares the feature with versus without the tool, the tool version scores better, though the small 13-sample dataset and unobserved tool calls point to \"Create robust evaluations for agentic apps.\"","end":1637},{"start":1637,"title":"Next steps","summary":"Think like a scientist (one change at a time), invest the time (failed experiments still inform), be creative (instructions, tools, models, datasets, aggregations, and evaluators are all fair game), and watch for drift. Download the Book Tracker sample and review the documentation.","end":1601}]},"related":{"resources":[4283,4149,4148]}},"wwdc2026-267":{"id":"wwdc2026-267","staticContentId":10790,"eventContentId":267,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:39-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/267","languageCode":"eng","description":"Learn how to fearlessly adopt Swift Testing alongside your XCTests using test framework interoperability. Discover best practices and patterns for incrementally introducing advanced testing features that accelerate development and increase coverage.","title":"Migrate to Swift Testing","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C676C339-A581-4697-A6E5-F2170BEA2082","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/267\/4\/d54e4861-10d9-4d4d-9952-3fe311cd2dc4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/267\/4\/d54e4861-10d9-4d4d-9952-3fe311cd2dc4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/267\/4\/d54e4861-10d9-4d4d-9952-3fe311cd2dc4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/267\/4\/d54e4861-10d9-4d4d-9952-3fe311cd2dc4\/downloads\/wwdc2026-267_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/267\/4\/d54e4861-10d9-4d4d-9952-3fe311cd2dc4\/downloads\/wwdc2026-267_sd.mp4","duration":1285,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh","zh-TW"],"chapters":[{"start":7,"title":"Introduction","summary":"How to fearlessly migrate from XCTest to Swift Testing using the new interoperability feature.","end":68},{"start":68,"title":"Swift Testing basics","summary":"A quick review of core Swift Testing building blocks \u2014 the @Test macro, #expect, and how they compare to XCTest assertions.","end":170},{"start":170,"title":"Migration strategy","summary":"Covers the recommended incremental approach: leave existing XCTests in place, and start writing new tests in Swift Testing right away.","end":348},{"start":348,"title":"Test framework interoperability","summary":"Introduces the interoperability feature that lets you safely call XCTest or Swift Testing API from within a test belonging to the other framework.","end":463},{"start":463,"title":"Interoperability modes","summary":"Walks through the four interoperability modes \u2014 Limited, Complete, Strict, and None \u2014 and how to configure them in Xcode Test Plans and Swift packages.","end":782},{"start":782,"title":"Common migration patterns","summary":"Covers practical patterns you will encounter during migration, including replacing XCTSkip with Test.cancel or traits, and continueAfterFailure with #require.","end":934},{"start":934,"title":"Parameterized tests","summary":"Shows how to replace loop-based XCTest cases with Swift Testing parameterized tests for faster parallel execution and clearer failure reporting.","end":1082},{"start":1082,"title":"Exit tests","summary":"Demonstrates how to use Swift Testing exit tests to cover code paths that call preconditionFailure or crash, running them safely in a child process.","end":1204},{"start":1204,"title":"Next steps","summary":"Recaps the migration path, highlights Swift Testing open-source availability and cross-platform support, and encourages community participation.","end":1285}]},"related":{"activities":["wwdc2026-262","wwdc2024-10179","wwdc2024-10195"]}},"wwdc2026-224":{"id":"wwdc2026-224","staticContentId":10735,"eventContentId":224,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/224","languageCode":"eng","description":"Bring powerful new capabilities in macOS 27 to your Virtualization app. Discover how to automate the setup of macOS guests through user account setup on first boot. We\u2019ll explore advanced workflows that involve passthrough of USB accessories to virtual machines, as well as custom network topologies and port forwarding. You\u2019ll also learn about recent improvements that can enrich the experience of running your app\u2019s virtual machines.","title":"Expand the capabilities of your Virtualization app","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9D60815C-2B24-4679-AA1C-249A1EF62F47","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/224\/5\/33a91529-8caf-409e-9c54-1b8952744651\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/224\/5\/33a91529-8caf-409e-9c54-1b8952744651\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/224\/5\/33a91529-8caf-409e-9c54-1b8952744651\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/224\/5\/33a91529-8caf-409e-9c54-1b8952744651\/downloads\/wwdc2026-224_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/224\/5\/33a91529-8caf-409e-9c54-1b8952744651\/downloads\/wwdc2026-224_sd.mp4","duration":1229,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":1,"title":"Introduction","summary":"The advanced Virtualization capabilities ahead \u2014 automating Virtual Mac setup, attaching USB devices with the Accessory Access framework, configuring advanced networking, creating disk images with DiskImageKit, and building custom Virtio devices.","end":64},{"start":64,"title":"macOS guest provisioning","summary":"Automate the provisioning of user accounts in Setup Assistant for virtual Macs. Use the VZMacGuestProvisioningOptions API to set credentials and enable features like auto-login and SSH on first boot.","end":274},{"start":274,"title":"Accessory Access","summary":"Pass through USB accessories directly into virtual machines using the Accessory Access framework. This approach gives people explicit control over which physical devices, such as external drives, are passed through to the virtual machine.","end":506},{"start":506,"title":"Advanced network topologies","summary":"Configure complex network topologies by integrating the vmnet framework with Virtualization. You can create custom network architectures that define exactly how multiple virtual machines interact with each other and the host.","end":695},{"start":695,"title":"DiskImageKit","summary":"DiskImageKit is a new framework in macOS 27 designed for managing high-performance, space-efficient disk images. You can use layered disk images, including base layers, cache layers, and overlay layers, to share data efficiently across multiple virtual machines.","end":957},{"start":957,"title":"Custom Virtio","summary":"Define and implement custom paravirtualized devices using the industry-standard Virtio protocol. By using the VZCustomVirtioDevice API, you can enable specialized, high-performance communication between the host and custom drivers running in the virtual machine.","end":1229}]},"related":{"activities":["wwdc2026-389"],"resources":[4236,4235,4155,4122,2436]}},"wwdc2026-289":{"id":"wwdc2026-289","staticContentId":10828,"eventContentId":289,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/289","languageCode":"eng","description":"Bring your AppKit app up to date with modern macOS conventions. Dive into handling input with control events and gesture recognizers, moving beyond traditional tracking loops. Enhance keyboard navigation in your app, implement graceful state restoration after restarts, and take advantage of new corner concentricity APIs that let your interface blend seamlessly with the macOS aesthetic.","title":"Modernize your AppKit app","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["macOS"],"keywords":["\u26a1\ufe0f"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C850D704-5B9D-4C53-9822-41DF2F770ABC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/289\/5\/6a2a7cfa-56a1-4cbb-ae54-1f229e1708ae\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/289\/5\/6a2a7cfa-56a1-4cbb-ae54-1f229e1708ae\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/289\/5\/6a2a7cfa-56a1-4cbb-ae54-1f229e1708ae\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/289\/5\/6a2a7cfa-56a1-4cbb-ae54-1f229e1708ae\/downloads\/wwdc2026-289_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/289\/5\/6a2a7cfa-56a1-4cbb-ae54-1f229e1708ae\/downloads\/wwdc2026-289_sd.mp4","duration":1081,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"A modern app takes advantage of how AppKit interfaces with Mac so that its form and function feel in harmony with the rest of the system. That harmony shows up in precision input, continuity across launches, and look and feel.","end":66},{"start":66,"title":"Modern input","summary":"Precision input devices have been at the heart of the Mac since the very beginning. Learn modern APIs for handling mouse events, keyboard navigation, and status items.","end":87},{"start":87,"title":"Modern event handling with gesture recognizers","summary":"Gesture recognizers are the modern way to handle mouse events in AppKit. mouseDown: overrides and tracking loops must be replaced with modern APIs.","end":145},{"start":145,"title":"Selection, context menus, and drag and drop","summary":"AppKit has dedicated view-based APIs for the most common mouseDown: use cases: observe selected on collection and table types for selection, use menuForEvent: or .menu for context menus, and use modern pasteboard delegate methods for drag and drop.","end":232},{"start":232,"title":"Text selection in custom views","summary":"NSTextSelectionManager brings classic macOS text selection behaviors to any view outside of NSTextView. Attach it to a view to get bidirectional selection, drag and drop, and toggling.","end":266},{"start":266,"title":"Control events and gesture recognizers","summary":"Control events let you react to user-driven tracking state changes on standard controls. For custom interactions, use NSGestureRecognizer.","end":351},{"start":351,"title":"Keyboard navigation and status items","summary":"Enable autorecalculatesKeyViewLoop on your window to keep Tab navigation correct as views change. For status items with custom UI, use the expanded interface session API so AppKit can manage keyboard focus correctly.","end":537},{"start":537,"title":"Continuity across launches","summary":"A great Mac app seamlessly quits and quickly restores. Learn how to handle graceful app termination and state restoration using NSWindowRestoration.","end":548},{"start":548,"title":"Graceful app termination","summary":"Apps should quit without blocking, especially during system reboots. Set preventsApplicationTerminationWhenModal to false on any sheet or modal that does not strictly require user intervention.","end":595},{"start":595,"title":"State restoration","summary":"Use NSWindowRestoration to save and recover your app's UI across launches, so it picks up exactly where people left off.","end":849},{"start":849,"title":"Design updates","summary":"There's one more area where your app and the Mac meet: the UI. Learn about Liquid Glass updates in macOS 27 and the new concentricity API.","end":864},{"start":864,"title":"Liquid Glass updates in macOS 27","summary":"Liquid Glass continues to evolve in macOS 27, and many updates apply automatically. Sidebars, scroll edge effects, and toolbar items all receive refinements, and a new interactive glass effect gives controls a physical sense of response when clicked.","end":941},{"start":941,"title":"Concentricity","summary":"The NSViewCornerConfiguration API lets views near a container's corners automatically match the container's corner radius using .containerConcentric, so views adapt to the shape of their container instead of feeling at odds with the rest of the window.","end":1019},{"start":1019,"title":"Next steps","summary":"Prioritize gesture recognizers and view-based APIs over mouseDown:, ensure your app is fully keyboard-navigable, make quit and relaunch feel seamless, and adopt concentricity in your view hierarchies.","end":1081}]},"related":{"activities":["wwdc2026-272","wwdc2026-8072"],"resources":[4252,4251,4250,4247,4193]}},"wwdc2026-322":{"id":"wwdc2026-322","staticContentId":10868,"eventContentId":322,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/322","languageCode":"eng","description":"Discover how to craft rich, custom experiences by creatively composing SwiftUI layout and graphics APIs. We\u2019ll show you how to break down complex designs and use a creative pipeline to chain simple building blocks together. Learn how to draw with layer shaders, animate with timelines, and anchor views with alignment guides.","title":"Compose advanced graphics effects with SwiftUI","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["screenshots"],"primaryTopicID":100,"topicIds":[87,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7080A50A-4B3A-45CF-B858-C0C3EDB70808","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/322\/4\/db4c622a-2091-45ef-a024-df317a5b55a5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/322\/4\/db4c622a-2091-45ef-a024-df317a5b55a5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/322\/4\/db4c622a-2091-45ef-a024-df317a5b55a5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/322\/4\/db4c622a-2091-45ef-a024-df317a5b55a5\/downloads\/wwdc2026-322_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/322\/4\/db4c622a-2091-45ef-a024-df317a5b55a5\/downloads\/wwdc2026-322_sd.mp4","duration":1075,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"A way of thinking about advanced graphics and layout in SwiftUI as a creative pipeline \u2014 a series of stages that take data in, transform it, and pass it along.","end":100},{"start":100,"title":"Design breakdown","summary":"Take a finished design and decompose it into pipeline stages. Working from a podcast app's existing UI \u2014 cover art, playback info, transcript text \u2014 see how each piece can be transformed and connected: a shader pipe converts cover art into a visualizer, a time pipe drives motion, and another time pipe syncs transcript scrolling.","end":251},{"start":251,"title":"Cover art and shader effects","summary":"Soften the cover art with a blur, then layer on shader effects. Learn how shaders run per pixel on the GPU and how SwiftUI exposes them through three modifiers \u2014 color, distortion, and layer effects \u2014 each with different inputs and trade-offs. Build a layer-effect 'background warp' shader that samples a noise texture for organic, per-pixel offsets.","end":667},{"start":667,"title":"Driving animation with time","summary":"Shaders are stateless \u2014 for animation, time has to come from outside. Use TimelineView to fire every frame with a timestamp, pass it into the shader, and watch the warp pattern flow as time advances.","end":720},{"start":720,"title":"Time-synced transcript view","summary":"Build the foreground transcript using Text views in a LazyVStack inside a ScrollView. Use the playback timestamp to highlight the current line and fade the rest, then use onChange to scroll the current line to center as playback progresses.","end":798},{"start":798,"title":"Floating timestamps with alignment guides","summary":"Position a small timestamp on the edge of the current line without resorting to manual offsets. Walk through how SwiftUI's alignment system pins views together at their alignment points, then use alignmentGuide to override an alignment semantically \u2014 moving the subview's bottom guide to its top edge so it floats neatly outside its container.","end":976},{"start":976,"title":"Creative pipelines","summary":"Step back and see the pattern: each stage's output becomes the next stage's input. The same approach extends beyond this podcast app \u2014 swap audio for gyroscope data, a twist shader for a ripple, or a scroll view for a freeform canvas \u2014 to compose your own advanced effects.","end":1033},{"start":1033,"title":"Next steps","summary":"Download the sample project, experiment with the shader, and look for opportunities in your own app where a small visual effect could make a big difference.","end":1075}]},"related":{"activities":["wwdc2024-10151"],"resources":[4166,4140,4138]}},"wwdc2026-252":{"id":"wwdc2026-252","staticContentId":10775,"eventContentId":252,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:35:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/252","languageCode":"eng","description":"Discover how you can use ScriptGraph in Reality Composer Pro 3 to create no-code 3D content for your apps and games. Learn how to take advantage of visual nodes to build animations, create interactive moments, and incorporate SwiftUI elements to add speech bubbles and other UI to your experience.","title":"Design no-code games with Reality Composer Pro 3","originalPublishingDate":"2026-06-08T14:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","visionOS"],"keywords":["apple vision pro","game design","reality composer pro","realitykit","squirrel game","visionos","visionos games","vision pro"],"primaryTopicID":87,"topicIds":[88,91,85,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DABC6BCF-5A35-4B9C-9217-200576EAD404","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/252\/6\/572c2388-69f6-4e57-9eba-c71b65f5f6ed\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/252\/6\/572c2388-69f6-4e57-9eba-c71b65f5f6ed\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/252\/6\/572c2388-69f6-4e57-9eba-c71b65f5f6ed\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/252\/6\/572c2388-69f6-4e57-9eba-c71b65f5f6ed\/downloads\/wwdc2026-252_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2026\/252\/6\/572c2388-69f6-4e57-9eba-c71b65f5f6ed\/downloads\/wwdc2026-252_sd.mp4","duration":1133,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh","zh-TW"],"chapters":[{"start":0,"title":"Introduction","summary":"Discover how Reality Composer Pro 3 helps designers prototype and build games without writing a single line of code.","end":62},{"start":62,"title":"Meet ScriptGraph","summary":"Get to know Reality Composer Pro 3's node-based scripting, ScriptGraph, and find out how it can help you quickly mock up ideas and build games through event-driven logic. Learn about some of the nodes available, and discover how you can review and iterate on your gameplay directly in Reality Composer Pro.","end":110},{"start":110,"title":"A wish...","summary":"Saschka explains his visionOS game concept. He's going to use ScriptGraph to wake a sleeping squirrel, steal its nut, and use the nut to guide the squirrel home to its nest before winter falls.","end":156},{"start":156,"title":"Build the game","summary":"Learn how to build gameplay elements in Reality Composer Pro. Saschka demonstrates how to add components to an entity and incorporate game logic using ScriptGraph. Find out how to create and link nodes, iterate, and preview interactions inside Reality Composer Pro (and, coming later this year, directly on Vision Pro). ","end":676},{"start":676,"title":"Advanced techniques","summary":"Time to unleash the full capabilities of Reality Composer Pro and ScriptGraph. Learn how to organize nodes into subgraphs, and create prototyped subgraphs that you can re-use in your other graphs. Saschka also demonstrates how to create custom events and use them within a ScriptGraph, build multiple ScriptGraphs that interact, and change materials on an entity to have characters react after interactions. And find out how to incorporate pieces of SwiftUI code to incorporate elements like character speech bubbles into your project.","end":1112},{"start":1112,"title":"Next steps","summary":"Download Reality Composer Pro 3 to get started with designing your own no-code games, and check out a sample project that includes the game from this session.","end":1133}]},"related":{"activities":["wwdc2026-280","wwdc2026-393","wwdc2026-281","wwdc2026-279","wwdc2026-8068","wwdc2026-393","wwdc2026-281","wwdc2026-8068"]}},"meet-with-apple-231":{"id":"meet-with-apple-231","staticContentId":10646,"eventContentId":231,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-08T11:06:41-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/231","languageCode":"eng","description":"Learn how to approach large-scale live events for Apple Immersive Video. This session covers the importance of access, mapping stage layouts, placing cameras effectively, and analyzing previous performances to anticipate the show. Using the Apple Immersive title \"Metallica\" as an example, you\u2019ll also see how pre-vis in Apple Vision Pro and stabilized capture systems help capture dynamic performances while maintaining comfort.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 2.\u201d Watch the full video for more insights and related sessions.","title":"Capturing live events for Apple Immersive Video: Learnings from \"Metallica\"","originalPublishingDate":"2025-12-08T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"747565AC-FABB-4AC1-A5DA-E2B09EA4CF9D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/231\/1\/f20e3df5-73dc-4ab8-a3b2-804f9a533067\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/231\/1\/f20e3df5-73dc-4ab8-a3b2-804f9a533067\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/231\/1\/f20e3df5-73dc-4ab8-a3b2-804f9a533067\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/231\/1\/f20e3df5-73dc-4ab8-a3b2-804f9a533067\/downloads\/meet-with-apple-231_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/231\/1\/f20e3df5-73dc-4ab8-a3b2-804f9a533067\/downloads\/meet-with-apple-231_sd.mp4","duration":592,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-271":{"id":"meet-with-apple-271","staticContentId":10807,"eventContentId":271,"eventId":"meet-with-apple","contentUpdatedAt":"2026-08-14T14:18:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/271","languageCode":"eng","description":"Explore the core concepts of layout in SwiftUI. Find out how to build flexible, dynamic views that work seamlessly with the system, and discover essential debugging techniques to streamline your workflow.\n\nThis session was originally presented as part of the Meet with Apple activity \"SwiftUI foundations: Build great apps with SwiftUI\u201d. Watch the full video for more insights and related sessions.","title":"A guide to layout in SwiftUI","originalPublishingDate":"2026-02-10T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6BA7FFE7-8AFF-46ED-AA84-F7A6DFD2476D","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/271\/1\/65817d04-6e9d-43f6-87bc-ede2c6789d12\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/271\/1\/65817d04-6e9d-43f6-87bc-ede2c6789d12\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/271\/1\/65817d04-6e9d-43f6-87bc-ede2c6789d12\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/271\/1\/65817d04-6e9d-43f6-87bc-ede2c6789d12\/downloads\/meet-with-apple-271_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/271\/1\/65817d04-6e9d-43f6-87bc-ede2c6789d12\/downloads\/meet-with-apple-271_sd.mp4","duration":1392,"availableAudioLanguageCodes":["eng"]}},"meet-with-apple-274":{"id":"meet-with-apple-274","staticContentId":10810,"eventContentId":274,"eventId":"meet-with-apple","contentUpdatedAt":"2026-08-14T14:18:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/274","languageCode":"eng","description":"Go behind the scenes with AllTrails CTO James Graham to learn how his team brought SwiftUI into their UIKit app. Explore strategies for incremental adoption that let you build new features faster while maintaining your existing codebase. And find out how SwiftUI\u2019s full interoperability with UIKit makes it a practical choice for your app.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cSwiftUI foundations: Build great apps with SwiftUI\u201d. Watch the full video for more insights and related sessions.\n","title":"AllTrails: Momentum without a rewrite","originalPublishingDate":"2026-02-12T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","watchOS"],"primaryTopicID":100,"topicIds":[87,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F21FBF53-947E-464F-997C-7A2A0005A57C","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/274\/1\/88e971b6-f4e6-4b4d-a97d-c183fa75f5e5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/274\/1\/88e971b6-f4e6-4b4d-a97d-c183fa75f5e5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/274\/1\/88e971b6-f4e6-4b4d-a97d-c183fa75f5e5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/274\/1\/88e971b6-f4e6-4b4d-a97d-c183fa75f5e5\/downloads\/meet-with-apple-274_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/274\/1\/88e971b6-f4e6-4b4d-a97d-c183fa75f5e5\/downloads\/meet-with-apple-274_sd.mp4","duration":854,"availableAudioLanguageCodes":["eng"]}},"meet-with-apple-224":{"id":"meet-with-apple-224","staticContentId":10639,"eventContentId":224,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-03T12:40:48-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/224","languageCode":"eng","description":"Learn how to prepare for and execute a successful Apple Immersive Video shoot. This session covers equipment setup, power and media management, spatial audio capture, and on-set monitoring approaches. You\u2019ll also explore ground and aerial rig options, along with best practices for reviewing dailies on Apple Vision Pro before wrapping production.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 2.\u201d Watch the full video for more insights and related sessions.","title":"An introduction to capturing Apple Immersive Video","originalPublishingDate":"2025-12-03T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"10385855-E433-4127-BADC-09EE2580D02A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/224\/1\/65d24106-1115-4c8e-9902-f11cd041f9cb\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/224\/1\/65d24106-1115-4c8e-9902-f11cd041f9cb\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/224\/1\/65d24106-1115-4c8e-9902-f11cd041f9cb\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/224\/1\/65d24106-1115-4c8e-9902-f11cd041f9cb\/downloads\/meet-with-apple-224_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/224\/1\/65d24106-1115-4c8e-9902-f11cd041f9cb\/downloads\/meet-with-apple-224_sd.mp4","duration":571,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-285":{"id":"meet-with-apple-285","staticContentId":11367,"eventContentId":285,"eventId":"meet-with-apple","contentUpdatedAt":"2026-10-13T17:34:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/285","languageCode":"eng","description":"Connect with Apple engineers and designers online to ask questions, get advice, and follow the discussion about creating and updating apps for iPhone Duo. In this one-hour event, you\u2019ll learn how to adapt your layouts across displays and poses, work with the hinge, support Split View multitasking, and build great camera experiences.","title":"iPhone Duo Group Lab","originalPublishingDate":"2026-09-17T00:00:00-07:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS"],"primaryTopicID":100,"topicIds":[87,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DAF8CC20-102C-4ED7-A2BA-A14041265977","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/285\/1\/6cf9d4ff-878a-4a6c-92ca-50bdc7cd0b98\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/285\/1\/6cf9d4ff-878a-4a6c-92ca-50bdc7cd0b98\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/285\/1\/6cf9d4ff-878a-4a6c-92ca-50bdc7cd0b98\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/285\/1\/6cf9d4ff-878a-4a6c-92ca-50bdc7cd0b98\/downloads\/meet-with-apple-285_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/285\/1\/6cf9d4ff-878a-4a6c-92ca-50bdc7cd0b98\/downloads\/meet-with-apple-285_sd.mp4","duration":3568,"availableAudioLanguageCodes":["eng"]}},"meet-with-apple-286":{"id":"meet-with-apple-286","staticContentId":11368,"eventContentId":286,"eventId":"meet-with-apple","contentUpdatedAt":"2026-10-13T17:33:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/286","languageCode":"eng","description":"Connect with Apple engineers and designers online to ask questions, get advice, and follow the discussion about creating and updating apps for iPhone Duo. In this one-hour event, you\u2019ll learn how to adapt your layouts across displays and poses, work with the hinge, support Split View multitasking, and build great camera experiences.","title":"iPhone Duo Group Lab","originalPublishingDate":"2026-09-17T00:00:00-07:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS"],"primaryTopicID":100,"topicIds":[87,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"08EED68C-0F03-4AD4-83C8-480C948AC58D","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/286\/1\/52b673d3-155a-4dde-a391-958ea2858597\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/286\/1\/52b673d3-155a-4dde-a391-958ea2858597\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/286\/1\/52b673d3-155a-4dde-a391-958ea2858597\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/286\/1\/52b673d3-155a-4dde-a391-958ea2858597\/downloads\/meet-with-apple-286_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/286\/1\/52b673d3-155a-4dde-a391-958ea2858597\/downloads\/meet-with-apple-286_sd.mp4","duration":3689,"availableAudioLanguageCodes":["eng"]}},"meet-with-apple-225":{"id":"meet-with-apple-225","staticContentId":10640,"eventContentId":225,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-04T14:02:28-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/225","languageCode":"eng","description":"Follow a step-by-step walkthrough of Spatial Audio workflows designed for Apple Immersive Video. Topics include capturing ambisonic beds and close-miked sources, building layers during sound editorial, and mixing directly in headphones to ensure accurate spatial alignment. The session highlights why reviewing mixes on Apple Vision Pro is essential for maintaining immersion.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 2.\u201d Watch the full video for more insights and related sessions.","title":"Spatial Audio workflows for Apple Immersive Video","originalPublishingDate":"2025-12-04T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[84,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"070154B8-2D04-41FF-A8E2-A2F4178557B0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/225\/1\/c4b49657-8392-4342-9e57-43c74e39cbaa\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/225\/1\/c4b49657-8392-4342-9e57-43c74e39cbaa\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/225\/1\/c4b49657-8392-4342-9e57-43c74e39cbaa\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/225\/1\/c4b49657-8392-4342-9e57-43c74e39cbaa\/downloads\/meet-with-apple-225_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/225\/1\/c4b49657-8392-4342-9e57-43c74e39cbaa\/downloads\/meet-with-apple-225_sd.mp4","duration":823,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-240":{"id":"meet-with-apple-240","staticContentId":10664,"eventContentId":240,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-12T11:59:15-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/240","languageCode":"eng","description":"Explore the frameworks and technologies that can help you deliver great player experiences across the Apple ecosystem. Learn how to use frameworks like GameSave and MetalFX, and tools like Game Mode and Managed Background Assets, to boost performance, streamline launches, and create seamless gameplay on Apple devices.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cPress Start: Game development on Apple platforms.\u201d Watch the full video for more insights and related sessions.","title":"Level up with Apple game technologies","originalPublishingDate":"2025-12-12T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DB36A05C-7EA6-4F48-BF07-B1562EE764DA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/240\/2\/b3ec888c-8046-4ed6-a6a0-d6e384975b0e\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/240\/2\/b3ec888c-8046-4ed6-a6a0-d6e384975b0e\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/240\/2\/b3ec888c-8046-4ed6-a6a0-d6e384975b0e\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/240\/2\/b3ec888c-8046-4ed6-a6a0-d6e384975b0e\/downloads\/meet-with-apple-240_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/240\/2\/b3ec888c-8046-4ed6-a6a0-d6e384975b0e\/downloads\/meet-with-apple-240_sd.mp4","duration":1157,"availableAudioLanguageCodes":["eng"]},"related":{"resources":[3773,3698,1726]}},"meet-with-apple-273":{"id":"meet-with-apple-273","staticContentId":10809,"eventContentId":273,"eventId":"meet-with-apple","contentUpdatedAt":"2026-08-14T14:18:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/273","languageCode":"eng","description":"Learn the tools and techniques for managing data flow in SwiftUI. Discover how to model your data with property wrappers, leverage the power of @Observable, and implement persistence in your app.\n\nThis session was originally presented as part of the Meet with Apple activity \"SwiftUI foundations: Build great apps with SwiftUI\u201d. Watch the full video for more insights and related sessions.","title":"Flow data through SwiftUI","originalPublishingDate":"2026-02-10T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BD30F884-A8A2-4835-9A17-9951C17F0B80","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/273\/1\/2f8c8e42-0659-49de-be10-5532668956e9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/273\/1\/2f8c8e42-0659-49de-be10-5532668956e9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/273\/1\/2f8c8e42-0659-49de-be10-5532668956e9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/273\/1\/2f8c8e42-0659-49de-be10-5532668956e9\/downloads\/meet-with-apple-273_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/273\/1\/2f8c8e42-0659-49de-be10-5532668956e9\/downloads\/meet-with-apple-273_sd.mp4","duration":1745,"availableAudioLanguageCodes":["eng"]}},"meet-with-apple-269":{"id":"meet-with-apple-269","staticContentId":10805,"eventContentId":269,"eventId":"meet-with-apple","contentUpdatedAt":"2026-08-14T14:19:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/269","languageCode":"eng","description":"Explore essential SwiftUI concepts in this video recorded live in Cupertino. Learn the different contextual meanings of \u201cView\u201d and how to think about them in your app. Discover the advantages of built-in views and how to customize your own. And understand how to structure your code with dependencies to work seamlessly with the system.\n\nThis session was originally presented as part of the Meet with Apple activity \"SwiftUI foundations: Build great apps with SwiftUI\u201d. Watch the full video for more insights and related sessions.","title":"SwiftUI essentials","originalPublishingDate":"2026-02-10T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8521E094-23CA-432E-BFF6-CC108A5462CB","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/269\/1\/82396296-5bc5-458e-8af4-277c5fc823e1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/269\/1\/82396296-5bc5-458e-8af4-277c5fc823e1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/269\/1\/82396296-5bc5-458e-8af4-277c5fc823e1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/269\/1\/82396296-5bc5-458e-8af4-277c5fc823e1\/downloads\/meet-with-apple-269_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/269\/1\/82396296-5bc5-458e-8af4-277c5fc823e1\/downloads\/meet-with-apple-269_sd.mp4","duration":1630,"availableAudioLanguageCodes":["eng"]}},"meet-with-apple-272":{"id":"meet-with-apple-272","staticContentId":10808,"eventContentId":272,"eventId":"meet-with-apple","contentUpdatedAt":"2026-08-14T14:18:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/272","languageCode":"eng","description":"Explore the foundational concepts of motion in SwiftUI, such as built-in transitions, special effects, and custom phase animations. Discover how to express your app\u2019s unique personality.\n\nThis session was originally presented as part of the Meet with Apple activity \"SwiftUI foundations: Build great apps with SwiftUI\u201d. Watch the full video for more insights and related sessions.","title":"SwiftUI in motion","originalPublishingDate":"2026-02-10T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3C786DF8-84FA-4A94-9127-BFCC76D22CD7","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/272\/1\/fd9ee96b-408d-44a1-a8fe-5ffc327541ae\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/272\/1\/fd9ee96b-408d-44a1-a8fe-5ffc327541ae\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/272\/1\/fd9ee96b-408d-44a1-a8fe-5ffc327541ae\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/272\/1\/fd9ee96b-408d-44a1-a8fe-5ffc327541ae\/downloads\/meet-with-apple-272_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/272\/1\/fd9ee96b-408d-44a1-a8fe-5ffc327541ae\/downloads\/meet-with-apple-272_sd.mp4","duration":1813,"availableAudioLanguageCodes":["eng"]}},"meet-with-apple-270":{"id":"meet-with-apple-270","staticContentId":10806,"eventContentId":270,"eventId":"meet-with-apple","contentUpdatedAt":"2026-08-14T14:18:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/270","languageCode":"eng","description":"Explore the foundational concepts of design with SwiftUI. Find out how system components can make your app shine on all platforms while expressing your personality.\n\nThis session was originally presented as part of the Meet with Apple activity \"SwiftUI foundations: Build great apps with SwiftUI\u201d. Watch the full video for more insights and related sessions.","title":"Design with SwiftUI","originalPublishingDate":"2026-02-10T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","primaryTopicID":100,"topicIds":[87,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2C17FB29-AB59-46C5-9C62-E4773D822796","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/270\/1\/51bc2dba-d635-4dbb-a92b-acc8258c6ffa\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/270\/1\/51bc2dba-d635-4dbb-a92b-acc8258c6ffa\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/270\/1\/51bc2dba-d635-4dbb-a92b-acc8258c6ffa\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/270\/1\/51bc2dba-d635-4dbb-a92b-acc8258c6ffa\/downloads\/meet-with-apple-270_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/270\/1\/51bc2dba-d635-4dbb-a92b-acc8258c6ffa\/downloads\/meet-with-apple-270_sd.mp4","duration":1513,"availableAudioLanguageCodes":["eng"]}},"meet-with-apple-223":{"id":"meet-with-apple-223","staticContentId":10638,"eventContentId":223,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-03T12:40:45-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/223","languageCode":"eng","description":"Discover how Apple Spatial Audio Format (ASAF) brings together Higher Order Ambisonics and object-based audio to create spatial precision that complements Apple Immersive Video. This session also introduces APAC, a highly efficient codec designed to play back high-resolution ASAF mixes at low bitrates while maintaining immersive detail and clarity.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 2.\u201d Watch the full video for more insights and related sessions.","title":"Meet Apple Spatial Audio Format and APAC","originalPublishingDate":"2025-12-03T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[84,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4BD11196-0C8F-4F61-A774-3BD085DC1B5B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/223\/1\/1142e962-66e6-45bf-9e14-cd1f3ef95148\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/223\/1\/1142e962-66e6-45bf-9e14-cd1f3ef95148\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/223\/1\/1142e962-66e6-45bf-9e14-cd1f3ef95148\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/223\/1\/1142e962-66e6-45bf-9e14-cd1f3ef95148\/downloads\/meet-with-apple-223_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/223\/1\/1142e962-66e6-45bf-9e14-cd1f3ef95148\/downloads\/meet-with-apple-223_sd.mp4","duration":1090,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-279":{"id":"meet-with-apple-279","staticContentId":11304,"eventContentId":279,"eventId":"meet-with-apple","contentUpdatedAt":"2026-08-28T14:48:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/279","languageCode":"eng","description":"Learn how Memory Integrity Enforcement and Pointer Authentication work together to defend your app against memory corruption. Find out how the type-aware secure allocator leverages Memory Tagging Extensions to prevent exploitation, and how to adapt allocator wrappers and object pools to preserve hardware protections. Plus, explore how to enable Pointer Authentication in Xcode with arm64e to maintain control flow integrity.\n\nThis session was originally presented as part of the Meet with Apple event \u201cFortify your app: Essential strategies to strengthen security.\u201d Watch the full video for more insights and related sessions.","title":"Adopt Memory Integrity Enforcement and Pointer Authentication","originalPublishingDate":"2026-03-06T10:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E1DE26DE-EB20-47A1-9AC3-600F146BCA7F","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/279\/1\/502c1b1a-a921-4b8a-93dc-82ecd3b69c8d\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/279\/1\/502c1b1a-a921-4b8a-93dc-82ecd3b69c8d\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/279\/1\/502c1b1a-a921-4b8a-93dc-82ecd3b69c8d\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/279\/1\/502c1b1a-a921-4b8a-93dc-82ecd3b69c8d\/downloads\/meet-with-apple-279_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/279\/1\/502c1b1a-a921-4b8a-93dc-82ecd3b69c8d\/downloads\/meet-with-apple-279_sd.mp4","duration":2899,"availableAudioLanguageCodes":["eng"]}},"meet-with-apple-282":{"id":"meet-with-apple-282","staticContentId":11307,"eventContentId":282,"eventId":"meet-with-apple","contentUpdatedAt":"2026-08-28T14:30:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/282","languageCode":"eng","description":"Discover how Address Sanitizer and Thread Sanitizer can help you catch hidden memory corruption and concurrency issues. Learn how Address Sanitizer detects buffer overflows and use-after-free errors across Swift, C, C++, and Objective-C with byte-level precision. Explore how Thread Sanitizer uncovers elusive data races, and how to configure both tools in your automated test plans.\n\nThis session was originally presented as part of the Meet with Apple event \u201cFortify your app: Essential strategies to strengthen security.\u201d Watch the full video for more insights and related sessions.","title":"Find security bugs with Sanitizers","originalPublishingDate":"2026-03-06T10:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"357DD907-1E93-43BC-B0CB-8746965B927F","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/282\/1\/06aaf8a2-c48b-4679-b994-571b20303118\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/282\/1\/06aaf8a2-c48b-4679-b994-571b20303118\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/282\/1\/06aaf8a2-c48b-4679-b994-571b20303118\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/282\/1\/06aaf8a2-c48b-4679-b994-571b20303118\/downloads\/meet-with-apple-282_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/282\/1\/06aaf8a2-c48b-4679-b994-571b20303118\/downloads\/meet-with-apple-282_sd.mp4","duration":824,"availableAudioLanguageCodes":["eng"]}},"meet-with-apple-280":{"id":"meet-with-apple-280","staticContentId":11305,"eventContentId":280,"eventId":"meet-with-apple","contentUpdatedAt":"2026-08-28T14:54:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/280","languageCode":"eng","description":"Discover how bounds safety technologies in Xcode eliminate entire classes of out-of-bounds vulnerabilities in your existing C and C++ codebases. Learn how to use the C bounds safety extension with annotations like __counted_by to enforce bounds checking without breaking ABI compatibility. And explore how to enable C++ Safe Buffers and the hardened C++ Standard Library to protect production apps with minimal performance overhead.\n\nThis session was originally presented as part of the Meet with Apple event \u201cFortify your app: Essential strategies to strengthen security.\u201d Watch the full video for more insights and related sessions.","title":"Eliminate bounds safety vulnerabilities in C and C++","originalPublishingDate":"2026-03-06T10:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2233C0BA-A7CC-4BD3-8DDB-4BD4295BA380","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/280\/1\/9a3695fa-ec84-452f-a5d5-948b638b8068\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/280\/1\/9a3695fa-ec84-452f-a5d5-948b638b8068\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/280\/1\/9a3695fa-ec84-452f-a5d5-948b638b8068\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/280\/1\/9a3695fa-ec84-452f-a5d5-948b638b8068\/downloads\/meet-with-apple-280_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/280\/1\/9a3695fa-ec84-452f-a5d5-948b638b8068\/downloads\/meet-with-apple-280_sd.mp4","duration":2592,"availableAudioLanguageCodes":["eng"]}},"meet-with-apple-249":{"id":"meet-with-apple-249","staticContentId":10673,"eventContentId":249,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-17T12:28:50-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/249","languageCode":"eng","description":"Learn more about what the App Store editorial team considers when curating games to feature across the App Store and Apple Games app, including gameplay design, artistic and technical quality, and accessibility. Plus, find out how to use the Featuring Nominations tool in App Store Connect to submit your games, updates, and in-game events for editorial consideration.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cPress Start: Game development on Apple platforms.\u201d Watch the full video for more insights and related sessions.","title":"Explore game curation and featuring on the App Store","originalPublishingDate":"2025-12-17T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"40F901D2-8FFE-44FD-9902-BA40C21543D7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/249\/1\/10379f4f-69df-474a-b6bb-112c27acf46b\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/249\/1\/10379f4f-69df-474a-b6bb-112c27acf46b\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/249\/1\/10379f4f-69df-474a-b6bb-112c27acf46b\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/249\/1\/10379f4f-69df-474a-b6bb-112c27acf46b\/downloads\/meet-with-apple-249_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/249\/1\/10379f4f-69df-474a-b6bb-112c27acf46b\/downloads\/meet-with-apple-249_sd.mp4","duration":976,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-246","meet-with-apple-248"],"resources":[2330,2327,2326]}},"meet-with-apple-218":{"id":"meet-with-apple-218","staticContentId":10633,"eventContentId":218,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-01T10:47:51-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/218","languageCode":"eng","description":"Learn the foundations for creating compelling and powerful stories when creating Apple Immersive Video and spatial video experiences. Discover techniques for establishing presence, building authenticity, working with proximity, and creating connection.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 1.\u201d Watch the full video for more insights and related sessions.","title":"Create stories with immersive video and audio","originalPublishingDate":"2025-12-01T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8CD91468-5C39-4731-B911-B0C10FBB6445","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/218\/2\/77cdb954-0e8c-474f-9fe9-4c1d5b6e8a3a\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/218\/2\/77cdb954-0e8c-474f-9fe9-4c1d5b6e8a3a\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/218\/2\/77cdb954-0e8c-474f-9fe9-4c1d5b6e8a3a\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/218\/2\/77cdb954-0e8c-474f-9fe9-4c1d5b6e8a3a\/downloads\/meet-with-apple-218_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/218\/2\/77cdb954-0e8c-474f-9fe9-4c1d5b6e8a3a\/downloads\/meet-with-apple-218_sd.mp4","duration":3542,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-216":{"id":"meet-with-apple-216","staticContentId":10631,"eventContentId":216,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-01T10:47:01-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/216","languageCode":"eng","description":"Get to know the different types of media you can make for apps, games, and experiences in visionOS. Learn about updates for 2D and 3D video, spatial video, and more immersive media formats like 180, 360, Wide FOV, and Apple Immersive Video.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 1.\u201d Watch the full video for more insights and related sessions.","title":"What\u2019s new in immersive media for visionOS","originalPublishingDate":"2025-12-01T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3296C835-37F9-4674-A25A-7BBABF6475D3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/216\/2\/1f699e3f-5c9a-45e8-aaf0-843079181a9f\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/216\/2\/1f699e3f-5c9a-45e8-aaf0-843079181a9f\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/216\/2\/1f699e3f-5c9a-45e8-aaf0-843079181a9f\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/216\/2\/1f699e3f-5c9a-45e8-aaf0-843079181a9f\/downloads\/meet-with-apple-216_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/216\/2\/1f699e3f-5c9a-45e8-aaf0-843079181a9f\/downloads\/meet-with-apple-216_sd.mp4","duration":1392,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-220":{"id":"meet-with-apple-220","staticContentId":10635,"eventContentId":220,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-02T10:58:25-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/220","languageCode":"eng","description":"Learn how you can build experiences for visionOS. Explore how native Apple frameworks like SwiftUI and RealityKit can help you build compelling stories and games. Find out how Reality Composer Pro can help you bring in 3D assets, create compelling environments, and build fluid animations.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 1.\u201d Watch the full video for more insights and related sessions.","title":"Build spatial experiences with RealityKit","originalPublishingDate":"2025-12-02T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8133A897-E4DF-4633-9387-4B89572C6E16","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/220\/2\/f4ea117d-9b87-4bb5-897e-98ff99b47117\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/220\/2\/f4ea117d-9b87-4bb5-897e-98ff99b47117\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/220\/2\/f4ea117d-9b87-4bb5-897e-98ff99b47117\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/220\/2\/f4ea117d-9b87-4bb5-897e-98ff99b47117\/downloads\/meet-with-apple-220_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/220\/2\/f4ea117d-9b87-4bb5-897e-98ff99b47117\/downloads\/meet-with-apple-220_sd.mp4","duration":2454,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-229":{"id":"meet-with-apple-229","staticContentId":10644,"eventContentId":229,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-05T11:11:02-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/229","languageCode":"eng","description":"See how immersive previsualization elevates planning for Apple Immersive Video productions. This session demonstrates how CG tools helped test framing, movement, motion comfort, and VFX concepts in advance, which enabled alignment across teams and supported confident creative decisions for The Weeknd\u2019s \u201cOpen Hearts\" music video.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 2.\u201d Watch the full video for more insights and related sessions.","title":"Previsualization for Apple Immersive: Learnings from \u201cOpen Hearts\u201d by The Weeknd","originalPublishingDate":"2025-12-05T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B210801F-4748-4B6E-AEB8-1AE5FB58FDE4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/229\/1\/97d433da-d2d6-463c-bea3-75f748215e09\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/229\/1\/97d433da-d2d6-463c-bea3-75f748215e09\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/229\/1\/97d433da-d2d6-463c-bea3-75f748215e09\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/229\/1\/97d433da-d2d6-463c-bea3-75f748215e09\/downloads\/meet-with-apple-229_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/229\/1\/97d433da-d2d6-463c-bea3-75f748215e09\/downloads\/meet-with-apple-229_sd.mp4","duration":797,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-226":{"id":"meet-with-apple-226","staticContentId":10641,"eventContentId":226,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-04T14:02:40-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/226","languageCode":"eng","description":"See how Blackmagic Design supports Apple Immersive Video through an end-to-end workflow, from the URSA Cine Immersive camera to immersive tools in DaVinci Resolve Studio 20. Learn how features support reviewing preview content on Apple Vision Pro, mixing in Spatial Audio, managing camera motion data, and delivery of final bundles using purpose-built presets.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 2.\u201d Watch the full video for more insights and related sessions.","title":"Apple Immersive Video-enabled workflows | Blackmagic Design","originalPublishingDate":"2025-12-04T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[84,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"121148B3-A12B-4F08-82F0-FE2C9CA07292","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/226\/1\/5c551e7c-0dd3-4456-80e5-c54c9ef59a99\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/226\/1\/5c551e7c-0dd3-4456-80e5-c54c9ef59a99\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/226\/1\/5c551e7c-0dd3-4456-80e5-c54c9ef59a99\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/226\/1\/5c551e7c-0dd3-4456-80e5-c54c9ef59a99\/downloads\/meet-with-apple-226_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/226\/1\/5c551e7c-0dd3-4456-80e5-c54c9ef59a99\/downloads\/meet-with-apple-226_sd.mp4","duration":660,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-230":{"id":"meet-with-apple-230","staticContentId":10645,"eventContentId":230,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-05T11:17:09-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/230","languageCode":"eng","description":"Gain insight into how to produce scripted immersive content with Apple Immersive Video. Explore how expanded production development, camera testing, pre-vis, and crew preparation contribute to a smoother production. The session also highlights how the format\u2019s acuity influences set design and lighting, and why reviewing footage on Apple Vision Pro is critical for evaluating detail and viewer comfort.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 2.\u201d Watch the full video for more insights and related sessions.","title":"Production expectations for Apple Immersive Video: Learnings from \u201cSubmerged\u201d","originalPublishingDate":"2025-12-05T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4A6DDA2B-17AE-448A-97E5-EAB6073F249B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/230\/1\/69ce1cee-a571-40fc-b42e-7545ce712d2e\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/230\/1\/69ce1cee-a571-40fc-b42e-7545ce712d2e\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/230\/1\/69ce1cee-a571-40fc-b42e-7545ce712d2e\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/230\/1\/69ce1cee-a571-40fc-b42e-7545ce712d2e\/downloads\/meet-with-apple-230_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/230\/1\/69ce1cee-a571-40fc-b42e-7545ce712d2e\/downloads\/meet-with-apple-230_sd.mp4","duration":712,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-234":{"id":"meet-with-apple-234","staticContentId":10649,"eventContentId":234,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-09T13:25:12-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/234","languageCode":"eng","description":"Join Clara and Ben from Main Course Films to discover how you can approach your editorial process when working with Apple Immersive Video. Learn about engaging with proxy workflows for efficient editing, as well as considerations in shot choice, sequencing, and sound design.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 2.\u201d Watch the full video for more insights and related sessions.","title":"Hands-on experience with editing for Apple Immersive Video","originalPublishingDate":"2025-12-09T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7C046D3E-E78C-49DF-8383-2105167B0F2B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/234\/1\/d649f4d2-8f92-4c0f-a7e8-a9a8acb8a522\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/234\/1\/d649f4d2-8f92-4c0f-a7e8-a9a8acb8a522\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/234\/1\/d649f4d2-8f92-4c0f-a7e8-a9a8acb8a522\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/234\/1\/d649f4d2-8f92-4c0f-a7e8-a9a8acb8a522\/downloads\/meet-with-apple-234_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/234\/1\/d649f4d2-8f92-4c0f-a7e8-a9a8acb8a522\/downloads\/meet-with-apple-234_sd.mp4","duration":2212,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-235":{"id":"meet-with-apple-235","staticContentId":10650,"eventContentId":235,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-09T13:25:01-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/235","languageCode":"eng","description":"Join Matt DeJohn from Blackmagic Design to discover how you can approach visual effects for your Apple Immersive Video projects. Working in Fusion, you\u2019ll learn about stereoscopic title placement, simple patching, and advanced workflows, like stabilization.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 2.\u201d Watch the full video for more insights and related sessions.","title":"Hands-on experience with visual effects for Apple Immersive Video","originalPublishingDate":"2025-12-09T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E0327E57-A722-431A-BA2D-DC60CEC89954","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/235\/1\/6945f3cf-51a6-4755-be33-93cc377f7967\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/235\/1\/6945f3cf-51a6-4755-be33-93cc377f7967\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/235\/1\/6945f3cf-51a6-4755-be33-93cc377f7967\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/235\/1\/6945f3cf-51a6-4755-be33-93cc377f7967\/downloads\/meet-with-apple-235_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/235\/1\/6945f3cf-51a6-4755-be33-93cc377f7967\/downloads\/meet-with-apple-235_sd.mp4","duration":2551,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-217":{"id":"meet-with-apple-217","staticContentId":10632,"eventContentId":217,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-01T10:47:21-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/217","languageCode":"eng","description":"Discover the latest updates to visionOS 26 that can help you build stunning interactive moments for your apps, games, and experiences.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 1.\u201d Watch the full video for more insights and related sessions.","title":"What\u2019s new in interactive media for visionOS","originalPublishingDate":"2025-12-01T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"827A2AF8-07B1-42B1-9368-1018BE61C432","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/217\/2\/1a830746-c9b0-4bfa-a0ac-0f55e1cf5d86\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/217\/2\/1a830746-c9b0-4bfa-a0ac-0f55e1cf5d86\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/217\/2\/1a830746-c9b0-4bfa-a0ac-0f55e1cf5d86\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/217\/2\/1a830746-c9b0-4bfa-a0ac-0f55e1cf5d86\/downloads\/meet-with-apple-217_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/217\/2\/1a830746-c9b0-4bfa-a0ac-0f55e1cf5d86\/downloads\/meet-with-apple-217_sd.mp4","duration":1509,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-221":{"id":"meet-with-apple-221","staticContentId":10636,"eventContentId":221,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-02T10:48:25-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/221","languageCode":"eng","description":"Learn how to build media apps, games, and experiences for visionOS that can be shared with others using SharePlay and FaceTime. Learn how to work with spatial Personas, enable simultaneous playback, hand off virtual objects, place people in scenes, and help people connect with local and faraway participants. And find out how you can combine these APIs as we prototype an all-new shared experience for visionOS.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 1.\u201d Watch the full video for more insights and related sessions.","title":"Build shared experiences for visionOS","originalPublishingDate":"2025-12-02T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"991FFE8A-E0E2-46EF-9D67-016CA47154A4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/221\/2\/1598d736-2906-4446-b80e-38c602d26c4e\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/221\/2\/1598d736-2906-4446-b80e-38c602d26c4e\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/221\/2\/1598d736-2906-4446-b80e-38c602d26c4e\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/221\/2\/1598d736-2906-4446-b80e-38c602d26c4e\/downloads\/meet-with-apple-221_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/221\/2\/1598d736-2906-4446-b80e-38c602d26c4e\/downloads\/meet-with-apple-221_sd.mp4","duration":2210,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-222":{"id":"meet-with-apple-222","staticContentId":10637,"eventContentId":222,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-03T12:40:42-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/222","languageCode":"eng","description":"Explore the foundations of the Apple Immersive Video format and learn how the system is engineered to preserve fidelity, presence of space, and world scale. This session introduces acuity targets, acquisition requirements, AIV file format structures, and foveation techniques. This session also focuses on the role of AIV specific metadata such as ILPD and motion comfort data in creating and playing back amazing AIV experiences.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 2.\u201d Watch the full video for more insights and related sessions.","title":"Meet the Apple Immersive Video format","originalPublishingDate":"2025-12-03T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E0E624C1-C550-4C6D-8BCD-B6E98D93DA9E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/222\/1\/1a04848a-e08b-4ff3-ac50-0b76e6cc4da3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/222\/1\/1a04848a-e08b-4ff3-ac50-0b76e6cc4da3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/222\/1\/1a04848a-e08b-4ff3-ac50-0b76e6cc4da3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/222\/1\/1a04848a-e08b-4ff3-ac50-0b76e6cc4da3\/downloads\/meet-with-apple-222_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/222\/1\/1a04848a-e08b-4ff3-ac50-0b76e6cc4da3\/downloads\/meet-with-apple-222_sd.mp4","duration":1140,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-232":{"id":"meet-with-apple-232","staticContentId":10647,"eventContentId":232,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-08T11:06:56-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/232","languageCode":"eng","description":"Discover techniques on how to craft compelling, unscripted immersive stories. This session explores how to create natural, grounded framing, choose viewer-comfortable distances and heights, and use spatial audio to guide attention. You\u2019ll also learn why building trust with subjects is essential, especially when immersive shots are longer and place people at the heart of the experience.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 2.\u201d Watch the full video for more insights and related sessions.","title":"The power of simplicity: Lessons from unscripted Apple Immersive titles","originalPublishingDate":"2025-12-08T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"59F41387-EA27-4101-B6FB-7BAFFD74E58E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/232\/1\/03617d14-8e1c-4838-9217-675550ba1b76\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/232\/1\/03617d14-8e1c-4838-9217-675550ba1b76\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/232\/1\/03617d14-8e1c-4838-9217-675550ba1b76\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/232\/1\/03617d14-8e1c-4838-9217-675550ba1b76\/downloads\/meet-with-apple-232_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/232\/1\/03617d14-8e1c-4838-9217-675550ba1b76\/downloads\/meet-with-apple-232_sd.mp4","duration":1080,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-239":{"id":"meet-with-apple-239","staticContentId":10663,"eventContentId":239,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-12T11:58:44-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/239","languageCode":"eng","description":"Explore key strategies for bringing existing games to the unified Apple ecosystem, whether you\u2019re creating in engines or porting custom PC titles with the Game Porting Toolkit. Learn how you can leverage Apple tools, frameworks, and open-source Unity plug-ins to optimize performance, integrate native features, and reach players across iPhone, iPad, Mac, and Apple Vision Pro.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cPress Start: Game development on Apple platforms.\u201d Watch the full video for more insights and related sessions.","title":"Chart your game's course to Apple platforms","originalPublishingDate":"2025-12-12T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9FFC7234-4B7C-49AE-AB85-4609BA5B2930","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/239\/2\/f166d1f9-6cd8-4676-ad1c-80826d50b120\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/239\/2\/f166d1f9-6cd8-4676-ad1c-80826d50b120\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/239\/2\/f166d1f9-6cd8-4676-ad1c-80826d50b120\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/239\/2\/f166d1f9-6cd8-4676-ad1c-80826d50b120\/downloads\/meet-with-apple-239_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/239\/2\/f166d1f9-6cd8-4676-ad1c-80826d50b120\/downloads\/meet-with-apple-239_sd.mp4","duration":1106,"availableAudioLanguageCodes":["eng"]},"related":{"resources":[3773,3698,2431,1726]}},"meet-with-apple-227":{"id":"meet-with-apple-227","staticContentId":10642,"eventContentId":227,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-04T14:02:52-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/227","languageCode":"eng","description":"Learn how Colorfront streamlines Apple Immersive Video dailies and mastering using On Set Dailies (OSD) and Transcoder. This session walks through Apple Silicon-optimized performance, distributed rendering features, and how to handle metadata. You\u2019ll also explore a new integration with the MainConcept immersive encoding library that enhances final delivery efficiency and quality.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 2.\u201d Watch the full video for more insights and related sessions.","title":"Dailies and mastering for Apple Immersive Video | Colorfront","originalPublishingDate":"2025-12-04T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[84,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"61E2B337-134C-46D0-B11E-FCFFBDB03CAD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/227\/1\/e8011a77-af80-4b38-a731-cecc108c0411\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/227\/1\/e8011a77-af80-4b38-a731-cecc108c0411\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/227\/1\/e8011a77-af80-4b38-a731-cecc108c0411\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/227\/1\/e8011a77-af80-4b38-a731-cecc108c0411\/downloads\/meet-with-apple-227_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/227\/1\/e8011a77-af80-4b38-a731-cecc108c0411\/downloads\/meet-with-apple-227_sd.mp4","duration":619,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-245":{"id":"meet-with-apple-245","staticContentId":10669,"eventContentId":245,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-16T14:05:33-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/245","languageCode":"eng","description":"Join Nathaniel Ellingson from Apple\u2019s Developer Ecosystem team to learn how to bring your game into the spatial computing era. Find out how Apple Vision Pro\u2019s precise hand tracking, spatial accessories, ultra-high resolution displays, and native frameworks like RealityKit and Metal empower creators to craft immersive and visually stunning gaming experiences.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cPress Start: Game development on Apple platforms.\u201d Watch the full video for more insights and related sessions.","title":"Transform your game with Apple Vision Pro","originalPublishingDate":"2025-12-16T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","visionOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A7DD9702-DEE1-4AA3-B16E-D941BB2DC04A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/245\/1\/b0e93054-4b16-4d29-b360-84051e6c97fd\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/245\/1\/b0e93054-4b16-4d29-b360-84051e6c97fd\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/245\/1\/b0e93054-4b16-4d29-b360-84051e6c97fd\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/245\/1\/b0e93054-4b16-4d29-b360-84051e6c97fd\/downloads\/meet-with-apple-245_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/245\/1\/b0e93054-4b16-4d29-b360-84051e6c97fd\/downloads\/meet-with-apple-245_sd.mp4","duration":1653,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"]},"related":{"activities":["wwdc2025-317","wwdc2024-10093","wwdc2024-10094"]}},"meet-with-apple-219":{"id":"meet-with-apple-219","staticContentId":10634,"eventContentId":219,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-02T10:48:20-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/219","languageCode":"eng","description":"Discover design fundamentals and best practices for making immersive and interactive media apps, games, and experiences in visionOS. Find out how to use immersion and interaction within your experiences, build spatial interfaces that support your storytelling, and enrich your content with immersive soundscapes.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 1.\u201d Watch the full video for more insights and related sessions.","title":"Design immersive and interactive experiences","originalPublishingDate":"2025-12-02T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"707105DF-7A6D-4E1E-80B0-164DE7F96B39","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/219\/2\/f7b7e9a1-d726-478c-9f7a-1540a0898b48\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/219\/2\/f7b7e9a1-d726-478c-9f7a-1540a0898b48\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/219\/2\/f7b7e9a1-d726-478c-9f7a-1540a0898b48\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/219\/2\/f7b7e9a1-d726-478c-9f7a-1540a0898b48\/downloads\/meet-with-apple-219_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/219\/2\/f7b7e9a1-d726-478c-9f7a-1540a0898b48\/downloads\/meet-with-apple-219_sd.mp4","duration":4016,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-228":{"id":"meet-with-apple-228","staticContentId":10643,"eventContentId":228,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-05T11:15:47-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/228","languageCode":"eng","description":"Explore how to host and distribute Apple Immersive Video through SpatialGen\u2019s platform. You'll learn about automating MV-HEVC and HLS stream creation, FairPlay DRM support, and generating stream links compatible with Apple platforms and Vision Pro apps.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 2.\u201d Watch the full video for more insights and related sessions.","title":"Hosting and distributing Apple Immersive Video | SpatialGen","originalPublishingDate":"2025-12-05T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A71C5756-233F-4537-BF4B-BD8D5A6C6D3C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/228\/1\/994898ce-77c5-4930-8689-4eb5fe4d375c\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/228\/1\/994898ce-77c5-4930-8689-4eb5fe4d375c\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/228\/1\/994898ce-77c5-4930-8689-4eb5fe4d375c\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/228\/1\/994898ce-77c5-4930-8689-4eb5fe4d375c\/downloads\/meet-with-apple-228_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/228\/1\/994898ce-77c5-4930-8689-4eb5fe4d375c\/downloads\/meet-with-apple-228_sd.mp4","duration":465,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-241":{"id":"meet-with-apple-241","staticContentId":10665,"eventContentId":241,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-15T12:51:05-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/241","languageCode":"eng","description":"Learn how to port your existing Windows and console games to Apple silicon devices using tools like Metal and the Game Porting Toolkit. Explore the techniques that can help you accelerate and streamline your porting workflows, and get your game running across the entire Mac lineup.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cPress Start: Game development on Apple platforms.\u201d Watch the full video for more insights and related sessions.","title":"Bring your PC and console games to Mac","originalPublishingDate":"2025-12-15T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F95A28BF-4081-430E-A8C0-6EDBA1839657","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/241\/2\/5357eb92-faad-4544-b3fa-4b3b2ee8e39a\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/241\/2\/5357eb92-faad-4544-b3fa-4b3b2ee8e39a\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/241\/2\/5357eb92-faad-4544-b3fa-4b3b2ee8e39a\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/241\/2\/5357eb92-faad-4544-b3fa-4b3b2ee8e39a\/downloads\/meet-with-apple-241_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/241\/2\/5357eb92-faad-4544-b3fa-4b3b2ee8e39a\/downloads\/meet-with-apple-241_sd.mp4","duration":1193,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2025-205","wwdc2025-211","wwdc2025-254"],"resources":[3130,38]}},"meet-with-apple-247":{"id":"meet-with-apple-247","staticContentId":10671,"eventContentId":247,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-17T12:28:01-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/247","languageCode":"eng","description":"Find out firsthand how Black Salt Games rebuilt their indie hit DREDGE from the inside out, redesigning the game\u2019s UI, controls, and flow to make it feel truly native on iPhone, iPad, and Mac. Plus, learn how business strategies like Universal App support, long runway pre-orders, and \u201cTry before you buy\u201d powered the game\u2019s premium mobile launch.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cPress Start: Game development on Apple platforms.\u201d Watch the full video for more insights and related sessions.","title":"Discover how DREDGE was reimagined for Apple platforms | Black Salt Games","originalPublishingDate":"2025-12-17T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6144E084-73A3-4C3D-8889-77A4AECDF851","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/247\/1\/2b3d1a33-7a54-43f1-9eb5-a37bed7d0c1d\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/247\/1\/2b3d1a33-7a54-43f1-9eb5-a37bed7d0c1d\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/247\/1\/2b3d1a33-7a54-43f1-9eb5-a37bed7d0c1d\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/247\/1\/2b3d1a33-7a54-43f1-9eb5-a37bed7d0c1d\/downloads\/meet-with-apple-247_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/247\/1\/2b3d1a33-7a54-43f1-9eb5-a37bed7d0c1d\/downloads\/meet-with-apple-247_sd.mp4","duration":872,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-249","meet-with-apple-246"]}},"meet-with-apple-236":{"id":"meet-with-apple-236","staticContentId":10651,"eventContentId":236,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-09T13:25:19-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/236","languageCode":"eng","description":"Join David Lebolt from Blackmagic Design to discover how to work with Apple Spatial Audio Format using Fairlight tools. Learn how to setup your session as well as mix, spatialize, and deliver audio correctly with APAC codecs.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 2.\u201d Watch the full video for more insights and related sessions.","title":"Hands-on experience with Spatial Audio for Apple Immersive Video","originalPublishingDate":"2025-12-09T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B885C85F-9E33-4B0D-824C-58DF51D0787E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/236\/3\/b3b9141f-229e-4586-a364-c470f2f9d2bf\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/236\/3\/b3b9141f-229e-4586-a364-c470f2f9d2bf\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/236\/3\/b3b9141f-229e-4586-a364-c470f2f9d2bf\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/236\/3\/b3b9141f-229e-4586-a364-c470f2f9d2bf\/downloads\/meet-with-apple-236_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/236\/3\/b3b9141f-229e-4586-a364-c470f2f9d2bf\/downloads\/meet-with-apple-236_sd.mp4","duration":1509,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-206":{"id":"meet-with-apple-206","staticContentId":10599,"eventContentId":206,"eventId":"meet-with-apple","contentUpdatedAt":"2025-10-24T14:42:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/206","languageCode":"eng","description":"Discover Memory Integrity Enforcement (MIE), a new security technology where hardware, the operating system, and the compiler work together to prevent access to invalid memory, safely aborting program execution before vulnerabilities can be exploited. Find out how MIE makes it far more difficult for attackers to take advantage of memory corruption bugs. Learn how to adopt MIE in your app to protect people and their data, while also rooting out hard-to-find memory issues in your code base.","title":"Secure your app with Memory Integrity Enforcement","originalPublishingDate":"2025-09-29T08:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["corruption","dangling pointer","memory","memory tagging extension","mie","mte","security","tagging","use-after-free"],"primaryTopicID":96,"topicIds":[88,99,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1909DE99-B2A2-4147-80C5-ADB39353E0B1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/206\/5\/83750d91-e7ae-4960-afe0-f81661b11bce\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/206\/5\/83750d91-e7ae-4960-afe0-f81661b11bce\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/206\/5\/83750d91-e7ae-4960-afe0-f81661b11bce\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/206\/5\/83750d91-e7ae-4960-afe0-f81661b11bce\/downloads\/meet-with-apple-206_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/206\/5\/83750d91-e7ae-4960-afe0-f81661b11bce\/downloads\/meet-with-apple-206_sd.mp4","duration":741,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"],"chapters":[{"start":5,"title":"Intro","end":89},{"start":89,"title":"Memory overflow and use-after-free vulnerabilities","end":188},{"start":188,"title":"Memory Integrity Enforcement","end":282},{"start":282,"title":"Demo: Memory corruption use-after-free bug","end":352},{"start":352,"title":"Enable Hardware Memory Tagging","end":380},{"start":380,"title":"Demo: Hardware Memory Tagging interrupts exploit attempt","end":404},{"start":404,"title":"Additional configuration options","end":445},{"start":445,"title":"Demo: Fixing memory corruption bug","end":572},{"start":572,"title":"Additional considerations","end":610},{"start":610,"title":"Tag bits in pointers","end":630},{"start":630,"title":"Hashing, comparison, and arithmetic of pointer values","end":662},{"start":662,"title":"Soft Mode","end":691},{"start":691,"title":"Next steps","end":741}]},"related":{"activities":["wwdc2015-413"],"resources":[4106,3976]}},"meet-with-apple-263":{"id":"meet-with-apple-263","staticContentId":10697,"eventContentId":263,"eventId":"meet-with-apple","contentUpdatedAt":"2026-01-22T16:30:49-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/263","languageCode":"eng","description":"Submissions for the Swift Student Challenge will be open February 6-28. Get ready with this online session, where you\u2019ll explore app development resources with an Apple expert, get inspiration from previous winners, and spark ideas for building your own app playground. This session is conducted in English and intended for students and educators.","title":"Get ready for the Swift Student Challenge","originalPublishingDate":"2026-01-22T00:00:00-08:00","publishingExpiryDate":"2036-01-22T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":100,"topicIds":[89,90,99,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"761F6879-CFE1-42BC-812A-263F3AAE98AB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/263\/2\/743b4ac5-d569-4711-91b4-ca2c449b0cf1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/263\/2\/743b4ac5-d569-4711-91b4-ca2c449b0cf1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/263\/2\/743b4ac5-d569-4711-91b4-ca2c449b0cf1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/263\/2\/743b4ac5-d569-4711-91b4-ca2c449b0cf1\/downloads\/meet-with-apple-263_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/263\/2\/743b4ac5-d569-4711-91b4-ca2c449b0cf1\/downloads\/meet-with-apple-263_sd.mp4","duration":2879,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"]},"related":{"resources":[4114,4113,3111]}},"meet-with-apple-233":{"id":"meet-with-apple-233","staticContentId":10648,"eventContentId":233,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-08T11:07:19-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/233","languageCode":"eng","description":"Learn how to protect presence throughout post production for Apple Immersive Video. The session covers how to review dailies on Apple Vision Pro, use editorial transitions to reset depth, maintain accurate spatial cues in audio, ensure proper 3D behavior for VFX, reduce visual noise, and grade toward an idealized yet natural look.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cCreate immersive media experiences for visionOS - Day 2.\u201d Watch the full video for more insights and related sessions.","title":"Preserving presence for Apple Immersive Video: Learnings from post production","originalPublishingDate":"2025-12-08T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0B5503F0-57B2-49B1-8B70-B150F2FCA893","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/233\/1\/aaf692df-d837-4b7a-a1ad-659c7009ebd1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/233\/1\/aaf692df-d837-4b7a-a1ad-659c7009ebd1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/233\/1\/aaf692df-d837-4b7a-a1ad-659c7009ebd1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/233\/1\/aaf692df-d837-4b7a-a1ad-659c7009ebd1\/downloads\/meet-with-apple-233_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/233\/1\/aaf692df-d837-4b7a-a1ad-659c7009ebd1\/downloads\/meet-with-apple-233_sd.mp4","duration":877,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-209","meet-with-apple-210"]}},"meet-with-apple-255":{"id":"meet-with-apple-255","staticContentId":10680,"eventContentId":255,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-18T14:22:00-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/255","languageCode":"eng","description":"Find out how Slack reimagined their app experience for the new design and Liquid Glass. In this session, Jaime DeLanghe and Akshay Bakshi share how Slack's product philosophy, design strategy, and strategic integration of native controls deliver a more delightful and efficient user experience.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cShowcase: Learn how apps are integrating the new design and Liquid Glass\u201d Watch the full video for more insights and related sessions.","title":"Liquid Glass showcase: Slack","originalPublishingDate":"2025-12-18T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3B4CFEE0-C3A7-45EB-9ADF-9880F33CF4A1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/255\/2\/8ce95088-de50-4de3-b636-179a2696a45e\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/255\/2\/8ce95088-de50-4de3-b636-179a2696a45e\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/255\/2\/8ce95088-de50-4de3-b636-179a2696a45e\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/255\/2\/8ce95088-de50-4de3-b636-179a2696a45e\/downloads\/meet-with-apple-255_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/255\/2\/8ce95088-de50-4de3-b636-179a2696a45e\/downloads\/meet-with-apple-255_sd.mp4","duration":748,"availableAudioLanguageCodes":["eng"]}},"meet-with-apple-238":{"id":"meet-with-apple-238","staticContentId":10662,"eventContentId":238,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-12T11:57:56-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/238","languageCode":"eng","description":"Discover how the unified architecture across Apple platforms makes it faster and easier to build, scale, and deliver high-performance games across every device. Learn how tools like Metal 4, the Game Porting Toolkit, and the Apple Games app help developers reach players on more than 2 billion active devices worldwide.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cPress Start: Game development on Apple platforms.\u201d Watch the full video for more insights and related sessions.","title":"Discover game development on Apple platforms","originalPublishingDate":"2025-12-12T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"099BED24-DDFA-4875-BF58-3FB8A3303116","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/238\/2\/2085163a-47e4-4075-a678-368a0fe49728\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/238\/2\/2085163a-47e4-4075-a678-368a0fe49728\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/238\/2\/2085163a-47e4-4075-a678-368a0fe49728\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/238\/2\/2085163a-47e4-4075-a678-368a0fe49728\/downloads\/meet-with-apple-238_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/238\/2\/2085163a-47e4-4075-a678-368a0fe49728\/downloads\/meet-with-apple-238_sd.mp4","duration":855,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"]},"related":{"activities":["meet-with-apple-249","meet-with-apple-248","meet-with-apple-241","meet-with-apple-247","meet-with-apple-243","meet-with-apple-239","meet-with-apple-242","meet-with-apple-245","meet-with-apple-246","meet-with-apple-240","meet-with-apple-244"]}},"meet-with-apple-242":{"id":"meet-with-apple-242","staticContentId":10666,"eventContentId":242,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-15T12:51:08-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/242","languageCode":"eng","description":"Discover the Apple tools and technologies you can use to optimize game performance and power usage on iPhone and iPad. Learn how to use the Metal Performance HUD, Instruments, and Metal debugger to identify bottlenecks, improve efficiency, and scale your game across Apple devices.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cPress Start: Game development on Apple platforms.\u201d Watch the full video for more insights and related sessions.","title":"Explore power, performance, and scale for games on iPhone and iPad","originalPublishingDate":"2025-12-15T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CFF61B10-1B56-4802-88DC-903D1880B90B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/242\/2\/8815931a-275a-4692-9d12-78581be0ea37\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/242\/2\/8815931a-275a-4692-9d12-78581be0ea37\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/242\/2\/8815931a-275a-4692-9d12-78581be0ea37\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/242\/2\/8815931a-275a-4692-9d12-78581be0ea37\/downloads\/meet-with-apple-242_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/242\/2\/8815931a-275a-4692-9d12-78581be0ea37\/downloads\/meet-with-apple-242_sd.mp4","duration":943,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-241"],"resources":[3130]}},"meet-with-apple-243":{"id":"meet-with-apple-243","staticContentId":10667,"eventContentId":243,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-15T12:51:10-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/243","languageCode":"eng","description":"Get practical guidance from Apple Design team member Dylan Edwards about adapting console and PC game interfaces to iPhone and iPad. Learn how to create flexible layouts, maximize the full screen, maintain legibility, and design intuitive and responsive touch controls that make handheld gaming feel natural.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cPress Start: Game development on Apple platforms.\u201d Watch the full video for more insights and related sessions.","title":"Design great interfaces for handheld games","originalPublishingDate":"2025-12-15T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DDB6EF9B-1858-430A-8CE1-F71EDC709E4B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/243\/2\/d40ce656-fd6d-43e8-a636-d4aa405bae4c\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/243\/2\/d40ce656-fd6d-43e8-a636-d4aa405bae4c\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/243\/2\/d40ce656-fd6d-43e8-a636-d4aa405bae4c\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/243\/2\/d40ce656-fd6d-43e8-a636-d4aa405bae4c\/downloads\/meet-with-apple-243_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/243\/2\/d40ce656-fd6d-43e8-a636-d4aa405bae4c\/downloads\/meet-with-apple-243_sd.mp4","duration":1199,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2024-10085"],"resources":[3698,3679]}},"meet-with-apple-246":{"id":"meet-with-apple-246","staticContentId":10670,"eventContentId":246,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-16T14:05:18-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/246","languageCode":"eng","description":"Learn how game developers can find success with paid and premium titles across the Apple ecosystem. Find out how tools and strategies like pre-order, Universal Purchase, and Game Center can help you optimize discovery, engagement, and revenue while reaching hundreds of millions of players worldwide.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cPress Start: Game development on Apple platforms.\u201d Watch the full video for more insights and related sessions.","title":"Unlock success with premium games on the App Store","originalPublishingDate":"2025-12-16T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0948FDAF-20FF-4E26-8F14-C66F08F7E552","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/246\/1\/d9114703-5663-458d-8586-2c4202258ed8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/246\/1\/d9114703-5663-458d-8586-2c4202258ed8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/246\/1\/d9114703-5663-458d-8586-2c4202258ed8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/246\/1\/d9114703-5663-458d-8586-2c4202258ed8\/downloads\/meet-with-apple-246_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/246\/1\/d9114703-5663-458d-8586-2c4202258ed8\/downloads\/meet-with-apple-246_sd.mp4","duration":784,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"]},"related":{"activities":["meet-with-apple-249"],"resources":[2330,2328]}},"meet-with-apple-244":{"id":"meet-with-apple-244","staticContentId":10668,"eventContentId":244,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-16T14:05:22-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/244","languageCode":"eng","description":"Take a peek into Apple Arcade, which curates and supports a global catalog of over 250 ad-free games, offering fun, safe, and high-quality experiences for players across Apple devices. Explore Arcade\u2019s unique developer partnerships, funding model, and creative support system, which helps everyone from indie creators to major franchises bring their games from concept to catalog.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cPress Start: Game development on Apple platforms.\u201d Watch the full video for more insights and related sessions.","title":"Apple Arcade: From concept to catalog","originalPublishingDate":"2025-12-16T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C469AD54-C882-469E-83BA-84D8B0AD229A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/244\/1\/55012318-c1a2-43e0-bfa2-e7daed834301\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/244\/1\/55012318-c1a2-43e0-bfa2-e7daed834301\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/244\/1\/55012318-c1a2-43e0-bfa2-e7daed834301\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/244\/1\/55012318-c1a2-43e0-bfa2-e7daed834301\/downloads\/meet-with-apple-244_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/244\/1\/55012318-c1a2-43e0-bfa2-e7daed834301\/downloads\/meet-with-apple-244_sd.mp4","duration":383,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"]},"related":{"resources":[4112]}},"meet-with-apple-248":{"id":"meet-with-apple-248","staticContentId":10672,"eventContentId":248,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-17T12:28:24-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/248","languageCode":"eng","description":"The Apple Games app is an all-in-one gaming destination designed to help players jump back into their games, find their next favorite, and have even more fun with friends across iPhone, iPad, and Mac. Learn how the Games app can help you boost engagement and visibility through features like achievements, leaderboards, challenges, and activities.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cPress Start: Game development on Apple platforms.\u201d Watch the full video for more insights and related sessions.","title":"Boost discoverability and engagement with the Apple Games app","originalPublishingDate":"2025-12-17T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4E37DA41-0D36-4F04-A88E-E2E7662D12A4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/248\/1\/c1b13791-7a5a-4e95-a298-8fa8022d848c\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/248\/1\/c1b13791-7a5a-4e95-a298-8fa8022d848c\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/248\/1\/c1b13791-7a5a-4e95-a298-8fa8022d848c\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/248\/1\/c1b13791-7a5a-4e95-a298-8fa8022d848c\/downloads\/meet-with-apple-248_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/248\/1\/c1b13791-7a5a-4e95-a298-8fa8022d848c\/downloads\/meet-with-apple-248_sd.mp4","duration":936,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["meet-with-apple-246","meet-with-apple-249"],"resources":[4093]}},"meet-with-apple-257":{"id":"meet-with-apple-257","staticContentId":10682,"eventContentId":257,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-18T14:23:46-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/257","languageCode":"eng","description":"In this session, you'll learn how indie developer Tucker MacDonald updated his tide and marine weather app for the new design system and extended his designs and custom elements across iOS, iPadOS, watchOS, and macOS.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cShowcase: Learn how apps are integrating the new design and Liquid Glass\u201d Watch the full video for more insights and related sessions.","title":"Liquid Glass showcase: Tide Guide","originalPublishingDate":"2025-12-18T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"57B27208-EBC0-4B24-A488-C25AFA0156F0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/257\/2\/818a9ed2-8061-447f-bd8b-945da553a045\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/257\/2\/818a9ed2-8061-447f-bd8b-945da553a045\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/257\/2\/818a9ed2-8061-447f-bd8b-945da553a045\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/257\/2\/818a9ed2-8061-447f-bd8b-945da553a045\/downloads\/meet-with-apple-257_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/257\/2\/818a9ed2-8061-447f-bd8b-945da553a045\/downloads\/meet-with-apple-257_sd.mp4","duration":652,"availableAudioLanguageCodes":["eng"]}},"meet-with-apple-256":{"id":"meet-with-apple-256","staticContentId":10681,"eventContentId":256,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-18T14:23:00-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/256","languageCode":"eng","description":"CNN's investment in SwiftUI has enabled their engineering teams to quickly adopt the new design and Liquid Glass. In this video, Kevin Long, Director of Mobile Apps at CNN, shares the benefits of building native experiences while highlighting his team's key engineering learnings.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cShowcase: Learn how apps are integrating the new design and Liquid Glass\u201d Watch the full video for more insights and related sessions.","title":"Liquid Glass showcase: CNN","originalPublishingDate":"2025-12-19T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"28A009D0-78F1-4A25-82A5-5B5E347E452F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/256\/2\/f3a49cd4-5348-4e00-82e2-23c11f8df883\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/256\/2\/f3a49cd4-5348-4e00-82e2-23c11f8df883\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/256\/2\/f3a49cd4-5348-4e00-82e2-23c11f8df883\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/256\/2\/f3a49cd4-5348-4e00-82e2-23c11f8df883\/downloads\/meet-with-apple-256_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/256\/2\/f3a49cd4-5348-4e00-82e2-23c11f8df883\/downloads\/meet-with-apple-256_sd.mp4","duration":564,"availableAudioLanguageCodes":["eng"]}},"meet-with-apple-281":{"id":"meet-with-apple-281","staticContentId":11306,"eventContentId":281,"eventId":"meet-with-apple","contentUpdatedAt":"2026-08-28T14:30:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/281","languageCode":"eng","description":"Learn how to build memory-safe software and eliminate vulnerability classes by writing security-critical code in Swift. Explore how Swift guarantees safety across bounds, lifetimes, types, initialization, and concurrency. Discover high-performance primitives like Span and non-copyable types, find out how to audit unsafe constructs with Strict Memory Safety, and walk through incrementally migrating existing C modules.\n\nThis session was originally presented as part of the Meet with Apple event \u201cFortify your app: Essential strategies to strengthen security.\u201d Watch the full video for more insights and related sessions.","title":"Write security-sensitive code in Swift","originalPublishingDate":"2026-03-06T10:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9EFDA9A1-6D3C-4F80-BA0B-04E4402D45D2","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/281\/1\/ca9eaf3a-c470-4fc4-acb3-b41df1efc564\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/281\/1\/ca9eaf3a-c470-4fc4-acb3-b41df1efc564\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/281\/1\/ca9eaf3a-c470-4fc4-acb3-b41df1efc564\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/281\/1\/ca9eaf3a-c470-4fc4-acb3-b41df1efc564\/downloads\/meet-with-apple-281_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/281\/1\/ca9eaf3a-c470-4fc4-acb3-b41df1efc564\/downloads\/meet-with-apple-281_sd.mp4","duration":2491,"availableAudioLanguageCodes":["eng"]}},"meet-with-apple-278":{"id":"meet-with-apple-278","staticContentId":11303,"eventContentId":278,"eventId":"meet-with-apple","contentUpdatedAt":"2026-08-28T14:31:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/278","languageCode":"eng","description":"Learn how Enhanced Security in Xcode provides powerful tools to protect your apps from memory safety vulnerabilities. Explore how Apple applies defensive strategies across our platforms, including attack surface reduction, hardware mitigations, and containment with Enhanced Security Extensions. Discover how to enable these capabilities in your Xcode projects and establish an effective security engineering strategy.\n\nThis session was originally presented as part of the Meet with Apple event \u201cFortify your app: Essential strategies to strengthen security.\u201d Watch the full video for more insights and related sessions.","title":"Protect your app with Enhanced Security","originalPublishingDate":"2026-03-06T10:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B6D6FF98-0C4C-4E82-B204-901B6B848C7F","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/278\/1\/583f7f1a-6310-4cd4-b9bf-14e487c77e1d\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/278\/1\/583f7f1a-6310-4cd4-b9bf-14e487c77e1d\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/278\/1\/583f7f1a-6310-4cd4-b9bf-14e487c77e1d\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/278\/1\/583f7f1a-6310-4cd4-b9bf-14e487c77e1d\/downloads\/meet-with-apple-278_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/278\/1\/583f7f1a-6310-4cd4-b9bf-14e487c77e1d\/downloads\/meet-with-apple-278_sd.mp4","duration":2921,"availableAudioLanguageCodes":["eng"]}},"meet-with-apple-254":{"id":"meet-with-apple-254","staticContentId":10679,"eventContentId":254,"eventId":"meet-with-apple","contentUpdatedAt":"2025-12-18T14:21:03-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/meet-with-apple\/254","languageCode":"eng","description":"Learn how LTK evolved their app for iOS 26 and Liquid Glass. In this video, Jeseka Hahn, VP of Product Design, explains how her team created alignment while boosting engagement and efficiency.\n\nThis session was originally presented as part of the Meet with Apple activity \u201cShowcase: Learn how apps are integrating the new design and Liquid Glass\u201d Watch the full video for more insights and related sessions.","title":"Liquid Glass showcase: LTK","originalPublishingDate":"2025-12-18T00:00:00-08:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CD7839E6-1C00-4B8F-8C04-103BE765FDD2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/254\/3\/58a8e309-f6a9-4f30-a0b4-ad188d036f66\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/254\/3\/58a8e309-f6a9-4f30-a0b4-ad188d036f66\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/254\/3\/58a8e309-f6a9-4f30-a0b4-ad188d036f66\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/254\/3\/58a8e309-f6a9-4f30-a0b4-ad188d036f66\/downloads\/meet-with-apple-254_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/meet-with-apple\/2025\/254\/3\/58a8e309-f6a9-4f30-a0b4-ad188d036f66\/downloads\/meet-with-apple-254_sd.mp4","duration":573,"availableAudioLanguageCodes":["eng"]}},"tech-talks-111432":{"id":"tech-talks-111432","staticContentId":10698,"eventContentId":111432,"eventId":"tech-talks","contentUpdatedAt":"2026-03-20T14:39:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111432","languageCode":"eng","description":"Discover how to take advantage of the M5 and A19 GPUs to accelerate machine learning. Find out how to use the Neural Accelerators inside each GPU core to perform accelerated tensor and matrix operations for AI training and inference, and learn how to optimize performance using the Metal debugger and Metal system trace.","title":"Accelerate your machine learning workloads with the M5 and A19 GPUs","originalPublishingDate":"2026-03-20T00:00:00-07:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","macOS"],"primaryTopicID":94,"topicIds":[91,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B9F8C474-6F5E-4A36-B8B8-A3286D8DD8E3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111432\/5\/630efa61-e3e0-4023-bfc4-02755ff7fc0c\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111432\/5\/630efa61-e3e0-4023-bfc4-02755ff7fc0c\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111432\/5\/630efa61-e3e0-4023-bfc4-02755ff7fc0c\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111432\/5\/630efa61-e3e0-4023-bfc4-02755ff7fc0c\/downloads\/tech-talks-111432_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111432\/5\/630efa61-e3e0-4023-bfc4-02755ff7fc0c\/downloads\/tech-talks-111432_sd.mp4","duration":2066,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["tech-talks-111431","tech-talks-111375","wwdc2025-262"],"resources":[4119]}},"tech-talks-203":{"id":"tech-talks-203","staticContentId":1992,"eventContentId":203,"eventId":"tech-talks","contentUpdatedAt":"2025-04-07T12:33:43-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/203","languageCode":"eng","description":"Apple Watch Series 3 makes it easier to stay connected, even when away from your phone. Learn how to keep your app responsive over cellular connections using URLSession. Find out how to optimize your Watch app networking code to ensure that your app is always up to date and ready for use. Discover how to leverage Core Motion data from the new barometric altimeter for displaying relative altitude changes.","title":"Updating for Apple Watch Series 3","originalPublishingDate":"2017-09-12T10:00:00-07:00","platforms":["watchOS"],"keywords":["\ud83e\udd43","\u231a\ufe0f","cmaltimeter"],"primaryTopicID":101,"topicIds":[92,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6ABFFAFE-966E-4DB6-A625-4F4F39E30BE9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/203fq5xdc4lg5\/updating_for_apple_watch_series_3\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/203fq5xdc4lg5\/updating_for_apple_watch_series_3\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/203fq5xdc4lg5\/updating_for_apple_watch_series_3\/updating_for_apple_watch_series_3_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/203fq5xdc4lg5\/updating_for_apple_watch_series_3\/updating_for_apple_watch_series_3_sd.mp4","duration":742,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2018-206","wwdc2018-504","wwdc2018-2030","wwdc2018-2250","wwdc2018-2310","wwdc2018-2380","wwdc2017-704","wwdc2017-709"],"resources":[138,137,77]}},"tech-talks-110353":{"id":"tech-talks-110353","staticContentId":7694,"eventContentId":110353,"eventId":"tech-talks","contentUpdatedAt":"2023-06-02T22:12:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110353","languageCode":"eng","description":"MapKit JS provides a JavaScript API to embed interactive Apple Maps directly into your webpages or apps across different platforms and operating systems, including iOS and Android. Learn about the latest features to help improve load performance and make your web and native apps more responsive and faster \u2014 all while giving you more control.","title":"Meet high-performance MapKit JS","originalPublishingDate":"2022-12-01T10:00:00-08:00","publishingExpiryDate":"2032-12-01T10:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":93,"topicIds":[93],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7F51F7FA-F3D0-4A0D-AA9C-09C388E84ABC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110353\/3\/97DDB596-8118-4331-901D-C5569A4C792B\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110353\/3\/97DDB596-8118-4331-901D-C5569A4C792B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110353\/3\/97DDB596-8118-4331-901D-C5569A4C792B\/downloads\/tech-talks-110353_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110353\/3\/97DDB596-8118-4331-901D-C5569A4C792B\/downloads\/tech-talks-110353_sd.mp4","duration":543,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","kor","zho"]},"related":{"resources":[2267]}},"tech-talks-501":{"id":"tech-talks-501","staticContentId":1995,"eventContentId":501,"eventId":"tech-talks","contentUpdatedAt":"2023-05-23T07:20:39-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/501","languageCode":"eng","description":"4K and HDR technologies enable the creation of amazing cinematic video experiences and stunning picture quality. Learn about how to support these new formats, and how to properly author your playlists to enable playback of these types of streams.","title":"Authoring 4K and HDR HLS Streams","originalPublishingDate":"2017-09-12T10:00:00-07:00","platforms":["iOS","iPadOS","tvOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3208A701-A6F9-4EC2-8B3B-8797D237DA31","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/501n21xhva8lv\/authoring_4k_and_hdr_hls_streams\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/501n21xhva8lv\/authoring_4k_and_hdr_hls_streams\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/501n21xhva8lv\/authoring_4k_and_hdr_hls_streams\/authoring_4k_and_hdr_hls_streams_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/501n21xhva8lv\/authoring_4k_and_hdr_hls_streams\/authoring_4k_and_hdr_hls_streams_sd.mp4","duration":225,"availableAudioLanguageCodes":["en","eng","zho"],"availableSubtitleLanguageCodes":["eng","zho"]},"related":{"activities":["wwdc2021-10161","wwdc2018-502","tech-talks-202","tech-talks-502","tech-talks-503","wwdc2017-504","wwdc2017-514","wwdc2017-515","wwdc2016-510"],"resources":[175]}},"tech-talks-10887":{"id":"tech-talks-10887","staticContentId":6110,"eventContentId":10887,"eventId":"tech-talks","contentUpdatedAt":"2024-12-05T12:56:28-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10887","languageCode":"eng","description":"Discover how you can use StoreKit 2, App Store Server API, and App Store Server Notifications to create great in-app purchase experiences for your customers and offer support and refunds. We\u2019ll explore implementation approaches, provide best practices and take you through customer management and managing refunds.","title":"Support customers with StoreKit 2 and App Store Server API","originalPublishingDate":"2021-12-07T10:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["app store server api","storekit","storekit 2"],"primaryTopicID":86,"topicIds":[88,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"62363246-8E87-4528-8808-1CE04F277E48","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10887\/4\/EB88AACE-281A-4A82-99A8-A333E927A842\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10887\/4\/EB88AACE-281A-4A82-99A8-A333E927A842\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10887\/4\/EB88AACE-281A-4A82-99A8-A333E927A842\/downloads\/tech-talks-10887_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10887\/4\/EB88AACE-281A-4A82-99A8-A333E927A842\/downloads\/tech-talks-10887_sd.mp4","duration":2438,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["wwdc2022-10040","wwdc2022-110404"],"resources":[1637,1636,1512,797,492,491,448]}},"tech-talks-10580":{"id":"tech-talks-10580","staticContentId":5056,"eventContentId":10580,"eventId":"tech-talks","contentUpdatedAt":"2026-06-07T13:02:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10580","languageCode":"eng","description":"Discover how you can take advantage of Metal compute on the latest MacBook Pro. Learn the fundamental principles of high-performance Metal compute and find out how you can take advantage of the framework to create better workflows for your development process and even better apps for creative pros.","title":"Metal Compute on MacBook Pro","originalPublishingDate":"2021-12-07T10:00:00-08:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["macOS"],"keywords":["apple silicon","cuda","metal","metal shading language","metal tools","opencl","performance","proapps","tips and tricks"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"678B489B-4551-4BA3-8B2D-62C215671633","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10580\/3\/8702685B-149D-4D98-B6E6-D2FFC774C89E\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10580\/3\/8702685B-149D-4D98-B6E6-D2FFC774C89E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10580\/3\/8702685B-149D-4D98-B6E6-D2FFC774C89E\/downloads\/tech-talks-10580_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10580\/3\/8702685B-149D-4D98-B6E6-D2FFC774C89E\/downloads\/tech-talks-10580_sd.mp4","duration":1424,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["wwdc2022-10159"]}},"tech-talks-10856":{"id":"tech-talks-10856","staticContentId":4668,"eventContentId":10856,"eventId":"tech-talks","contentUpdatedAt":"2025-12-23T13:03:33-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10856","languageCode":"eng","description":"Discover how to render smoother animations in your app by troubleshooting the commit phase of your render loop. Dive into the mechanics of this phase, and learn how to use Instruments to uncover the source of hitches in your app, eliminate them, and avoid them outright.","title":"Find and fix hitches in the commit phase","originalPublishingDate":"2020-12-21T00:00:00-08:00","publishingExpiryDate":"2026-12-21T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["animation hitches","commit phase","hitches","xcode"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2FD04FE8-3E40-45F1-8554-AED983111101","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10856\/2\/86C7A188-6C2F-4FEE-9B4B-FED223560B9A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10856\/2\/86C7A188-6C2F-4FEE-9B4B-FED223560B9A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10856\/2\/86C7A188-6C2F-4FEE-9B4B-FED223560B9A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10856\/2\/86C7A188-6C2F-4FEE-9B4B-FED223560B9A\/downloads\/tech-talks-10856_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10856\/2\/86C7A188-6C2F-4FEE-9B4B-FED223560B9A\/downloads\/tech-talks-10856_sd.mp4","duration":682,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["tech-talks-10855"]}},"tech-talks-110343":{"id":"tech-talks-110343","staticContentId":7498,"eventContentId":110343,"eventId":"tech-talks","contentUpdatedAt":"2024-07-10T15:24:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110343","languageCode":"eng","description":"Discover how you can use TestFlight to improve your app experience and ready it for release on the App Store. We\u2019ll take you through an overview of TestFlight, including how to invite testers and provide information to them about testing. We\u2019ll also provide best practices for receiving feedback and explore how you can get the most out of the testing process.","title":"Get started with TestFlight","originalPublishingDate":"2022-12-01T10:00:00-08:00","publishingExpiryDate":"2032-12-01T10:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F7562135-E9C7-47D6-8C1E-FD7F6E566200","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110343\/6\/658F020E-F5F9-47B3-A67E-6EB7BBF329FE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110343\/6\/658F020E-F5F9-47B3-A67E-6EB7BBF329FE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110343\/6\/658F020E-F5F9-47B3-A67E-6EB7BBF329FE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110343\/6\/658F020E-F5F9-47B3-A67E-6EB7BBF329FE\/downloads\/tech-talks-110343_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110343\/6\/658F020E-F5F9-47B3-A67E-6EB7BBF329FE\/downloads\/tech-talks-110343_sd.mp4","duration":1440,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10012","wwdc2023-10142","wwdc2021-10170","wwdc2021-10203","wwdc2021-10204","wwdc2021-10268"],"resources":[3002,3001,246]}},"tech-talks-10001":{"id":"tech-talks-10001","staticContentId":3828,"eventContentId":10001,"eventId":"tech-talks","contentUpdatedAt":"2023-12-07T22:20:13-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10001","languageCode":"eng","description":"Take advantage of the Metal Counters API for GPU profiling in macOS Big Sur and iOS 14. This API provides access at runtime to low-level GPU profiling information, which was previously available only through offline tools in Xcode and Instruments. Metal Counters accelerate the optimization process by giving you access to important GPU information, helping you fine-tune your app's performance to create faster and more fluid apps and gaming experiences. Learn to collect and parse these low-level GPU timestamps and use the in-depth information to help with performance tuning in Metal.","title":"Explore Live GPU Profiling with Metal Counters","originalPublishingDate":"2020-10-21T10:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C3384EC3-A91B-4696-A9AB-1F9E121230D3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10001\/3\/B2344663-580B-4B92-AB59-E198E39B8F0F\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10001\/3\/B2344663-580B-4B92-AB59-E198E39B8F0F\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10001\/3\/B2344663-580B-4B92-AB59-E198E39B8F0F\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10001\/3\/B2344663-580B-4B92-AB59-E198E39B8F0F\/downloads\/tech-talks-10001_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10001\/3\/B2344663-580B-4B92-AB59-E198E39B8F0F\/downloads\/tech-talks-10001_sd.mp4","duration":806,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"]}},"tech-talks-608":{"id":"tech-talks-608","staticContentId":3312,"eventContentId":608,"eventId":"tech-talks","contentUpdatedAt":"2025-09-09T12:11:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/608","languageCode":"eng","description":"Metal brings powerful API features and GPU-driven capabilities to A13 Bionic including sparse textures, vertex amplification, Tier 2 argument buffers, ASTC HDR, and more. Understand the architectural improvements of the Apple-designed A13 Bionic and learn how the latest Metal enhancements advance the state of the art for modern apps and games.","title":"Metal Enhancements for A13 Bionic","originalPublishingDate":"2019-09-10T00:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B92871DB-EA66-4239-974B-50495907812D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20190910\/608hjakbtjbxcvt53sft\/metal_enhancements_for_a13_bionic\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20190910\/608hjakbtjbxcvt53sft\/metal_enhancements_for_a13_bionic\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/20190910\/608hjakbtjbxcvt53sft\/metal_enhancements_for_a13_bionic\/metal_enhancements_for_a13_bionic.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20190910\/608hjakbtjbxcvt53sft\/metal_enhancements_for_a13_bionic\/metal_enhancements_for_a13_bionic_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20190910\/608hjakbtjbxcvt53sft\/metal_enhancements_for_a13_bionic\/metal_enhancements_for_a13_bionic_hd.mp4","duration":2148,"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["wwdc2021-10161","wwdc2020-10602","wwdc2019-601","tech-talks-602","tech-talks-10858"],"resources":[647]}},"tech-talks-605":{"id":"tech-talks-605","staticContentId":2009,"eventContentId":605,"eventId":"tech-talks","contentUpdatedAt":"2025-09-09T13:10:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/605","languageCode":"eng","description":"Raster order groups allow Metal 2 apps to precisely control the order of parallel fragment shader threads accessing the same pixel coordinates. Learn how A11 extends raster order groups with support for multiple groups and adds new capabilities for accessing threadgroup memory. See how you can improve the performance of single pass deferred shading and order independent transparency.","title":"Metal 2 on A11 - Raster Order Groups","originalPublishingDate":"2017-09-12T10:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5DBB1B5B-E889-4F00-BAFE-7397903C7CD2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/605nglqckpcsi\/metal_raster_order_groups\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/605nglqckpcsi\/metal_raster_order_groups\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/605nglqckpcsi\/metal_raster_order_groups\/metal_raster_order_groups_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/605nglqckpcsi\/metal_raster_order_groups\/metal_raster_order_groups_sd.mp4","duration":656,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["tech-talks-602","tech-talks-603","tech-talks-604","tech-talks-606","wwdc2017-601"],"resources":[268,266,264]}},"tech-talks-603":{"id":"tech-talks-603","staticContentId":2007,"eventContentId":603,"eventId":"tech-talks","contentUpdatedAt":"2023-03-22T21:35:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/603","languageCode":"eng","description":"Imageblocks enable Metal 2 apps to define and manipulate custom per-pixel data structures in the high-bandwidth tile memory of the A11 GPU. Learn how imageblocks can pass data between the fragment and tile stages of a render pass and unlock sophisticated rendering techniques such as approximate order-independent transparency.","title":"Metal 2 on A11 - Imageblocks","originalPublishingDate":"2017-09-12T10:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"86529923-4AAF-43AB-9F97-6385A402DA09","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/603lp0b4npn5r\/metal_threadgroup_image_blocks\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/603lp0b4npn5r\/metal_threadgroup_image_blocks\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/603lp0b4npn5r\/metal_threadgroup_image_blocks\/metal_threadgroup_image_blocks_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/603lp0b4npn5r\/metal_threadgroup_image_blocks\/metal_threadgroup_image_blocks_sd.mp4","duration":628,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["tech-talks-602","tech-talks-604","tech-talks-605","tech-talks-606","wwdc2017-601"],"resources":[268,265,264]}},"tech-talks-111386":{"id":"tech-talks-111386","staticContentId":9148,"eventContentId":111386,"eventId":"tech-talks","contentUpdatedAt":"2024-02-14T18:09:08-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111386","languageCode":"eng","description":"Learn how to minimize churn and win back subscribers on the App Store. Explore App Store data, review different types of subscriber churn, discover tools you can use to enhance your retention efforts, and learn implementation best practices.","title":"Improve your subscriber retention with App Store features","originalPublishingDate":"2024-02-14T15:00:00-08:00","publishingExpiryDate":"2034-02-14T15:00:00-08:00","primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CCFAE884-B64F-4062-AF4E-05A3148BB4DF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111386\/2\/7E5193EB-C506-450C-9475-0A311E73EAC4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111386\/2\/7E5193EB-C506-450C-9475-0A311E73EAC4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111386\/2\/7E5193EB-C506-450C-9475-0A311E73EAC4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111386\/2\/7E5193EB-C506-450C-9475-0A311E73EAC4\/downloads\/tech-talks-111386_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111386\/2\/7E5193EB-C506-450C-9475-0A311E73EAC4\/downloads\/tech-talks-111386_sd.mp4","duration":1918}},"tech-talks-208":{"id":"tech-talks-208","staticContentId":2577,"eventContentId":208,"eventId":"tech-talks","contentUpdatedAt":"2025-01-08T17:55:55-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/208","languageCode":"eng","description":"Complications allow people to quickly glance and stay connected with your app on the watch face throughout their day. The new Infograph and Infograph Modular watch faces on Apple Watch Series 4 allow all new ways to create engaging, full-color complications. Learn about the new complication families and how to create complications that take advantage of the incredible new display of Apple Watch Series 4.","title":"Developing Complications for Apple Watch Series 4","originalPublishingDate":"2018-09-12T11:00:00-07:00","platforms":["watchOS"],"keywords":["\ud83e\udd43","\u231a\ufe0f","50","bezel","circular","clock kit","rectangular","timeline"],"primaryTopicID":83,"topicIds":[100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"131B130A-B9C9-43A7-B4C8-69BE182EF972","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/208ktg0b9qmeyaik\/developing_complications_for_apple_watch_series_4\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/208ktg0b9qmeyaik\/developing_complications_for_apple_watch_series_4\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/208ktg0b9qmeyaik\/developing_complications_for_apple_watch_series_4\/developing_complications_for_apple_watch_series_4.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/208ktg0b9qmeyaik\/developing_complications_for_apple_watch_series_4\/developing_complications_for_apple_watch_series_4_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/208ktg0b9qmeyaik\/developing_complications_for_apple_watch_series_4\/developing_complications_for_apple_watch_series_4_sd.mp4","duration":713,"availableAudioLanguageCodes":["en","eng","zho"],"availableSubtitleLanguageCodes":["eng","zho"]},"related":{"activities":["wwdc2019-253","wwdc2018-206","tech-talks-802","wwdc2015-209"],"resources":[430,83,14,5]}},"tech-talks-10884":{"id":"tech-talks-10884","staticContentId":5989,"eventContentId":10884,"eventId":"tech-talks","contentUpdatedAt":"2024-05-09T17:22:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10884","languageCode":"eng","description":"Apple Watch Series 7 introduces new device sizes and a display that features a subtle wraparound effect. Learn how you can adapt your watchOS app design to look great on all screen sizes: We'll show you how to take advantage of a larger content area, create clearer hierarchy using color and typography, and improve glanceability in your app by creating better navigation.","title":"Meet Apple Watch Series 7","originalPublishingDate":"2021-10-29T00:00:00-07:00","platforms":["watchOS"],"keywords":["\u231a\ufe0f","always-on","scenepadding","watchos 8"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"28E0A4FA-A670-46EA-BDC6-41AFF8270950","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10884\/5\/8CE65AF6-A55C-479D-B91B-7A94D31B38EC\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10884\/5\/8CE65AF6-A55C-479D-B91B-7A94D31B38EC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10884\/5\/8CE65AF6-A55C-479D-B91B-7A94D31B38EC\/downloads\/tech-talks-10884_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10884\/5\/8CE65AF6-A55C-479D-B91B-7A94D31B38EC\/downloads\/tech-talks-10884_sd.mp4","duration":911,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]}},"tech-talks-504":{"id":"tech-talks-504","staticContentId":2880,"eventContentId":504,"eventId":"tech-talks","contentUpdatedAt":"2021-09-13T07:34:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/504","languageCode":"eng","description":"Learn about the Apple TV Distribution Program and the engineering requirements and business benefits that come with enrollment. Familiarize yourself with the authentication context, VideoSubscriberAccount framework, and the Set Top Box APIs.","title":"Apple TV Distribution Program Overview","originalPublishingDate":"2019-05-10T00:00:00-07:00","platforms":["tvOS"],"keywords":["apple tv","apple tv app","apple tv distribution program","apple tv set top box","authentication","authentication context","set top box","set top box api","set top box apis","set top box authentication overview","single sign on","sso","stb","stb api","tv","\uf8fftv","video subscriber account","video subscriber account framework","vsa","zero sign on","zso"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6A4BD921-3402-4C41-9C9A-BAB233F70F1A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/Apple_TV_Set_Top_Box_Authentication_Overview_AD\/Apple_TV_Set_Top_Box_Authentication_Overview_AD\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/Apple_TV_Set_Top_Box_Authentication_Overview_AD\/Apple_TV_Set_Top_Box_Authentication_Overview_AD\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/Apple_TV_Set_Top_Box_Authentication_Overview_AD\/Apple_TV_Set_Top_Box_Authentication_Overview_AD\/Apple_TV_Set_Top_Box_Authentication_Overview_AD_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/Apple_TV_Set_Top_Box_Authentication_Overview_AD\/Apple_TV_Set_Top_Box_Authentication_Overview_AD\/Apple_TV_Set_Top_Box_Authentication_Overview_AD_sd.mp4","duration":249,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["tech-talks-505","tech-talks-506","tech-talks-507","tech-talks-508","tech-talks-509"],"resources":[467]}},"tech-talks-402":{"id":"tech-talks-402","staticContentId":1989,"eventContentId":402,"eventId":"tech-talks","contentUpdatedAt":"2024-05-09T17:20:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/402","languageCode":"eng","description":"With Web Inspector, you can debug web content on several Apple platforms, including tvOS. This video introduces you to Web Inspector's powerful debugging capabilities, and takes you through the features designed to accelerate debugging of TVML content in your tvOS app.","title":"Using Web Inspector with tvOS Apps","originalPublishingDate":"2017-12-21T10:00:00-08:00","platforms":["macOS","tvOS"],"primaryTopicID":88,"topicIds":[98,100,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C16E8A0B-4FC0-4BC5-962A-4A8E3C157F72","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/using_web_inspector_with_tvos_apps\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/using_web_inspector_with_tvos_apps\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/using_web_inspector_with_tvos_apps\/using_web_inspector_with_tvos_apps_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/using_web_inspector_with_tvos_apps\/using_web_inspector_with_tvos_apps_sd.mp4","duration":241,"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["tech-talks-401","wwdc2017-202"]}},"tech-talks-703":{"id":"tech-talks-703","staticContentId":2582,"eventContentId":703,"eventId":"tech-talks","contentUpdatedAt":"2024-05-09T17:20:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/703","languageCode":"eng","description":"The General Data Protection Regulation (GDPR) is a European Union regulation that requires developers to give users visibility and control over the personal data you store on their behalf. Learn how to use new and existing CloudKit APIs to build privacy into your apps and make sure customers can exercise their GDPR rights.","title":"GDPR & CloudKit","originalPublishingDate":"2018-09-12T11:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[101,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BE5A6639-6F93-4E1C-8D06-1B8ACBCB7447","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/703j00nzmafjd72j\/gdpr_and_cloudkit\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/703j00nzmafjd72j\/gdpr_and_cloudkit\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/703j00nzmafjd72j\/gdpr_and_cloudkit\/gdpr_and_cloudkit_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/703j00nzmafjd72j\/gdpr_and_cloudkit\/gdpr_and_cloudkit_sd.mp4","duration":812,"availableAudioLanguageCodes":["en","eng","zho"],"availableSubtitleLanguageCodes":["eng","zho"]},"related":{"resources":[447]}},"tech-talks-604":{"id":"tech-talks-604","staticContentId":2008,"eventContentId":604,"eventId":"tech-talks","contentUpdatedAt":"2023-03-22T21:35:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/604","languageCode":"eng","description":"Tile shading is a new Metal 2 pipeline stage allowing apps to combine rendering and compute operations into a single render pass while sharing imageblock data and threadgroup memory. Understand how to create a tile shading pipeline, and see how it leverages the high-bandwidth tile memory of the A11 GPU.","title":"Metal 2 on A11 - Tile Shading","originalPublishingDate":"2017-09-12T10:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D110AF1E-6FC6-4679-A814-74E48AC94DA8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/604c7y7cq00ft\/metal_tile_shaders\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/604c7y7cq00ft\/metal_tile_shaders\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/604c7y7cq00ft\/metal_tile_shaders\/metal_tile_shaders_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/604c7y7cq00ft\/metal_tile_shaders\/metal_tile_shaders_sd.mp4","duration":584,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["tech-talks-602","tech-talks-603","tech-talks-605","tech-talks-606","wwdc2017-601"],"resources":[268,265,264]}},"tech-talks-502":{"id":"tech-talks-502","staticContentId":1994,"eventContentId":502,"eventId":"tech-talks","contentUpdatedAt":"2021-09-13T07:34:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/502","languageCode":"eng","description":"Dolby Vision and HDR10 enable amazing new video viewing experiences with a wider color gamut and deeper contrast. Learn how this new technology works, and what the differences are between Dolby Vision and HDR10.","title":"An Introduction to HDR Video","originalPublishingDate":"2017-09-12T10:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4D622721-6AD8-41EE-A543-4175174F3923","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/502bbcn7dmn9r\/an_introduction_to_hdr_video\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/502bbcn7dmn9r\/an_introduction_to_hdr_video\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/502bbcn7dmn9r\/an_introduction_to_hdr_video\/an_introduction_to_hdr_video_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/502bbcn7dmn9r\/an_introduction_to_hdr_video\/an_introduction_to_hdr_video_sd.mp4","duration":398,"availableAudioLanguageCodes":["en","eng","zho"],"availableSubtitleLanguageCodes":["eng","zho"]},"related":{"activities":["wwdc2021-10161","tech-talks-202","tech-talks-501"]}},"tech-talks-110361":{"id":"tech-talks-110361","staticContentId":8029,"eventContentId":110361,"eventId":"tech-talks","contentUpdatedAt":"2023-06-02T22:12:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110361","languageCode":"eng","description":"Discover how you can maximize the effectiveness of your custom product pages on the App Store. We\u2019ll cover best practices, provide data-based recommendations, and share success stories from developers who have used custom product pages to reach specific audiences.","title":"Make the most of custom product pages","originalPublishingDate":"2023-02-28T08:30:00-08:00","publishingExpiryDate":"2027-10-01T08:30:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":86,"topicIds":[89,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1EDE66F6-63C0-4529-A04F-B1EA73EE1DE2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110361\/4\/61AEADD8-C731-4D89-A9B4-EA220BF80A46\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110361\/4\/61AEADD8-C731-4D89-A9B4-EA220BF80A46\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110361\/4\/61AEADD8-C731-4D89-A9B4-EA220BF80A46\/downloads\/tech-talks-110361_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110361\/4\/61AEADD8-C731-4D89-A9B4-EA220BF80A46\/downloads\/tech-talks-110361_sd.mp4","duration":1013,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["tech-talks-10886"],"resources":[3010,3009,3008]}},"tech-talks-509":{"id":"tech-talks-509","staticContentId":2890,"eventContentId":509,"eventId":"tech-talks","contentUpdatedAt":"2021-09-13T07:36:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/509","languageCode":"eng","description":"Get an overview of the client-side integration required for 3rd party applications that are participating with the Apple TV App. Learn about onboarding and testing. See how to register subscriptions for your customers, report playback data as content is watched in your applications, and support deep-linking to your video content.","title":"Apple TV App and Universal Search Video Integration - Part 2","originalPublishingDate":"2019-07-25T00:00:00-07:00","platforms":["tvOS"],"keywords":["apple tv","apple tv app","metadata feeds","\uf8fftv","tv app","tv provider","universal search","universal services","video integration"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1029B853-E276-4EEE-B94A-A48B3DDEDA8E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/apple_tv_app_universal_search_part_02\/apple_tv_app_universal_search_part_02\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/apple_tv_app_universal_search_part_02\/apple_tv_app_universal_search_part_02\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/apple_tv_app_universal_search_part_02\/apple_tv_app_universal_search_part_02\/apple_tv_app_universal_search_part_02_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/apple_tv_app_universal_search_part_02\/apple_tv_app_universal_search_part_02\/apple_tv_app_universal_search_part_02_sd.mp4","duration":355,"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["tech-talks-504","tech-talks-505","tech-talks-506","tech-talks-507","tech-talks-508"]}},"tech-talks-209":{"id":"tech-talks-209","staticContentId":2589,"eventContentId":209,"eventId":"tech-talks","contentUpdatedAt":"2023-03-22T21:37:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/209","languageCode":"eng","description":"Take advantage of the all-screen design of the new iPad Pro by building your app with the iOS 12.1 SDK and making sure it appears correctly with the display's rounded corners and home indicator. Learn about the new common inset compatibility mode and what it means for apps running in multitasking mode. Find out how to provide support for Face ID and for the second generation Apple Pencil with its double-tap feature.","title":"Bringing Your Apps to the New iPad Pro","originalPublishingDate":"2018-10-30T10:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D1D78B7B-BA33-42CE-BB9F-F23096459423","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20181030\/209vnatfwjud\/Brining_your_apps_to_iPadPro\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20181030\/209vnatfwjud\/Brining_your_apps_to_iPadPro\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20181030\/209vnatfwjud\/Brining_your_apps_to_iPadPro\/Brining_your_apps_to_iPadPro_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20181030\/209vnatfwjud\/Brining_your_apps_to_iPadPro\/Brining_your_apps_to_iPadPro_sd.mp4","duration":527,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2018-233","wwdc2018-235","tech-talks-201","tech-talks-207"]}},"tech-talks-111373":{"id":"tech-talks-111373","staticContentId":9050,"eventContentId":111373,"eventId":"tech-talks","contentUpdatedAt":"2023-11-09T10:00:51-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111373","languageCode":"eng","description":"Discover how you can improve Metal shader performance using some of the latest advancements in Apple GPUs. Learn to reduce a shader\u2019s execution time by configuring function constants, and investigate ways to increase compiler optimization with function groups. Find out how to save run time by improving the shader\u2019s execution and ability to use resources in parallel. Explore the Apple family 9 GPU features and take advantage of hardware acceleration for ray tracing.","title":"Learn performance best practices for Metal shaders","originalPublishingDate":"2023-11-09T08:00:00-08:00","publishingExpiryDate":"2033-11-09T08:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"06BBA76E-474E-48B8-B304-B7F8B9D36563","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111373\/4\/7A338D0D-9FD5-4E2F-B802-E1D169D6A125\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111373\/4\/7A338D0D-9FD5-4E2F-B802-E1D169D6A125\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111373\/4\/7A338D0D-9FD5-4E2F-B802-E1D169D6A125\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111373\/4\/7A338D0D-9FD5-4E2F-B802-E1D169D6A125\/downloads\/tech-talks-111373_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111373\/4\/7A338D0D-9FD5-4E2F-B802-E1D169D6A125\/downloads\/tech-talks-111373_sd.mp4","duration":1560,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10127","wwdc2023-10128","wwdc2020-10632","tech-talks-111374","tech-talks-111375"]}},"tech-talks-702":{"id":"tech-talks-702","staticContentId":2578,"eventContentId":702,"eventId":"tech-talks","contentUpdatedAt":"2024-11-22T12:32:25-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/702","languageCode":"eng","description":"Background reading of NFC tags is a new feature for iPhone XS, iPhone XS Max, and iPhone XR. Learn how to associate your app with an NFC tag to make it even easier for people to benefit from the NFC capabilities of new iPhones.","title":"What's New in Core NFC","originalPublishingDate":"2018-09-12T11:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["nfc"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FCA5E66E-B913-4AE7-B451-AD8949CC9DFC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/702jaaopvi9pptas\/whats_new_in_core_nfc\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/702jaaopvi9pptas\/whats_new_in_core_nfc\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/702jaaopvi9pptas\/whats_new_in_core_nfc\/whats_new_in_core_nfc_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/702jaaopvi9pptas\/whats_new_in_core_nfc\/whats_new_in_core_nfc_sd.mp4","duration":372,"availableAudioLanguageCodes":["en","eng","zho"],"availableSubtitleLanguageCodes":["eng","zho"]},"related":{"activities":["wwdc2019-715"],"resources":[446,445,444,191,59]}},"tech-talks-10876":{"id":"tech-talks-10876","staticContentId":5963,"eventContentId":10876,"eventId":"tech-talks","contentUpdatedAt":"2024-05-09T17:22:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10876","languageCode":"eng","description":"Discover how you can elevate your apps and games with Metal and the A15 Bionic. We'll help you take advantage of Apple GPU family 8 with the latest Metal features: Learn how to save memory with Lossy Compression, dive into complex shadow mapping techniques with Sparse Depth and Stencil Textures, and process images faster with SIMD Shuffle and Fill instructions.","title":"Discover advances in Metal for A15 Bionic ","originalPublishingDate":"2021-09-16T00:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["2d graphics","3d graphics","games","image processing","metal","metal compute","metal shading language","rendering techniques","simd"],"primaryTopicID":91,"topicIds":[88,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8E94108D-5CDC-42ED-9BEB-C679972D2676","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10876\/1\/AA860DF0-F06F-4438-95FB-603DACCABAC8\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10876\/1\/AA860DF0-F06F-4438-95FB-603DACCABAC8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10876\/1\/AA860DF0-F06F-4438-95FB-603DACCABAC8\/downloads\/tech-talks-10876_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10876\/1\/AA860DF0-F06F-4438-95FB-603DACCABAC8\/downloads\/tech-talks-10876_sd.mp4","duration":1411,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng"]}},"tech-talks-110338":{"id":"tech-talks-110338","staticContentId":7479,"eventContentId":110338,"eventId":"tech-talks","contentUpdatedAt":"2023-06-02T22:12:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110338","languageCode":"eng","description":"Learn how to let your players jump into games with friends they're on FaceTime calls with, using SharePlay. We'll show you how easy it is to turn on SharePlay support if you are already using the Game Center multiplayer UI. And if you\u2019ve built a custom interface, we\u2019ll give you the few lines of code you need to support SharePlay.","title":"Add SharePlay to your multiplayer game with Game Center","originalPublishingDate":"2023-02-01T08:00:00-08:00","publishingExpiryDate":"2033-02-01T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"95CB2CCE-8CF4-4485-B0FB-0A16B5F3A8BB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110338\/3\/C80FD2D3-3EB4-4404-B02B-1446DC628503\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110338\/3\/C80FD2D3-3EB4-4404-B02B-1446DC628503\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110338\/3\/C80FD2D3-3EB4-4404-B02B-1446DC628503\/downloads\/tech-talks-110338_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110338\/3\/C80FD2D3-3EB4-4404-B02B-1446DC628503\/downloads\/tech-talks-110338_sd.mp4","duration":277,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","kor","zho"]}},"tech-talks-110148":{"id":"tech-talks-110148","staticContentId":6385,"eventContentId":110148,"eventId":"tech-talks","contentUpdatedAt":"2023-06-02T22:12:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110148","languageCode":"eng","description":"Safari web extensions for iOS use standard web technologies to provide powerful browser customizations. Learn how you can build an extension that works for iPhone and iPad, and discover how you can publish your extension on the App Store.","title":"Build and deploy Safari Extensions for iOS","originalPublishingDate":"2022-01-19T08:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9DDEA5E7-4F58-445D-88BF-DDEEF13EE1A0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110148\/6\/DDB099AA-9A47-4612-AB55-027F2CFF68E8\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110148\/6\/DDB099AA-9A47-4612-AB55-027F2CFF68E8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110148\/6\/DDB099AA-9A47-4612-AB55-027F2CFF68E8\/downloads\/tech-talks-110148_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110148\/6\/DDB099AA-9A47-4612-AB55-027F2CFF68E8\/downloads\/tech-talks-110148_sd.mp4","duration":1497,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]}},"tech-talks-110350":{"id":"tech-talks-110350","staticContentId":7505,"eventContentId":110350,"eventId":"tech-talks","contentUpdatedAt":"2022-12-12T10:15:17-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110350","languageCode":"eng","description":"Discover how you can use App Store Connect to manage prices for your auto-renewable subscriptions. We'll provide guidance to help you plan subscription price increases and decreases, show you how to remove preserved pricing, and explore how to edit upcoming price changes.","title":"Manage auto-renewable subscription pricing in App Store Connect","originalPublishingDate":"2022-11-02T00:00:00-07:00","publishingExpiryDate":"2032-10-11T06:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"06608CBE-C01C-4A27-AEE1-D7C40803FD35","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110350\/5\/45A161E7-FA35-4C69-9BBE-218984917589\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110350\/5\/45A161E7-FA35-4C69-9BBE-218984917589\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110350\/5\/45A161E7-FA35-4C69-9BBE-218984917589\/downloads\/tech-talks-110350_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110350\/5\/45A161E7-FA35-4C69-9BBE-218984917589\/downloads\/tech-talks-110350_sd.mp4","duration":677,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng"]},"related":{"resources":[2999,448]}},"tech-talks-505":{"id":"tech-talks-505","staticContentId":2886,"eventContentId":505,"eventId":"tech-talks","contentUpdatedAt":"2021-09-13T07:34:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/505","languageCode":"eng","description":"Learn about the Apple TV authentication context, what it does, and how to start building this web service. Learn how the authentication context fits into the development for the Apple TV Distribution Program.","title":"Apple TV Authentication Context","originalPublishingDate":"2019-05-10T00:01:00-07:00","platforms":["tvOS"],"keywords":["apple tv","apple tv app","apple tv distribution program","apple tv set top box","authentication","authentication context","set top box","set top box api","set top box apis","set top box authentication overview","single sign on","sso","stb","stb api","tv","\uf8fftv","video subscriber account","video subscriber account framework","vsa","zero sign on","zso"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B091B5F3-5C4C-4147-9065-76858DC3C884","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/Apple_TV_Authentication_Context_AD\/Apple_TV_Authentication_Context_AD\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/Apple_TV_Authentication_Context_AD\/Apple_TV_Authentication_Context_AD\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/Apple_TV_Authentication_Context_AD\/Apple_TV_Authentication_Context_AD\/Apple_TV_Authentication_Context_AD_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/Apple_TV_Authentication_Context_AD\/Apple_TV_Authentication_Context_AD\/Apple_TV_Authentication_Context_AD_sd.mp4","duration":327,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["tech-talks-504","tech-talks-506","tech-talks-507","tech-talks-508","tech-talks-509"],"resources":[468]}},"tech-talks-10886":{"id":"tech-talks-10886","staticContentId":6109,"eventContentId":10886,"eventId":"tech-talks","contentUpdatedAt":"2024-05-09T17:21:43-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10886","languageCode":"eng","description":"Learn how you can create additional versions of your App Store product page and showcase different features or content within your app. We'll explore how you can create pages for a specific aspect of your app or a specific audience, show you how to set it up in App Store Connect, and highlight strategies for success. ","title":"Get started with custom product pages","originalPublishingDate":"2022-01-19T08:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[88,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"785394A1-F074-48AF-B5C0-8B0F74D67EE4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10886\/6\/0FB2672D-4638-4A03-B40D-E957C81168CC\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10886\/6\/0FB2672D-4638-4A03-B40D-E957C81168CC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10886\/6\/0FB2672D-4638-4A03-B40D-E957C81168CC\/downloads\/tech-talks-10886_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10886\/6\/0FB2672D-4638-4A03-B40D-E957C81168CC\/downloads\/tech-talks-10886_sd.mp4","duration":1183,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2021-10295","tech-talks-110361"],"resources":[2322,123]}},"tech-talks-508":{"id":"tech-talks-508","staticContentId":2889,"eventContentId":508,"eventId":"tech-talks","contentUpdatedAt":"2021-09-13T07:34:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/508","languageCode":"eng","description":"This video provides a feature overview of the Apple TV App and Universal Search services, and introduces how 3rd party video services integrate with them through metadata feeds. Requirements for providing metadata about your movies, tv shows, and sporting events are detailed \u2014 in addition how to control the presentation of your video service for your content in the Apple TV App. To help get you started with the development of metadata feeds, tools and resources available are also covered.","title":"Apple TV App and Universal Search Video Integration - Part 1","originalPublishingDate":"2019-07-25T00:00:00-07:00","platforms":["tvOS"],"keywords":["apple tv","apple tv app","metadata feeds","\uf8fftv","tv app","tv provider","universal search","universal services","video integration"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D1907CF0-A2D2-4023-9D1E-1C6FC0C82C54","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/apple_tv_app_universal_search_part_01\/apple_tv_app_universal_search_part_01\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/apple_tv_app_universal_search_part_01\/apple_tv_app_universal_search_part_01\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/apple_tv_app_universal_search_part_01\/apple_tv_app_universal_search_part_01\/apple_tv_app_universal_search_part_01_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/apple_tv_app_universal_search_part_01\/apple_tv_app_universal_search_part_01\/apple_tv_app_universal_search_part_01_sd.mp4","duration":921,"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["tech-talks-504","tech-talks-505","tech-talks-506","tech-talks-507","tech-talks-509"]}},"tech-talks-111460":{"id":"tech-talks-111460","staticContentId":11328,"eventContentId":111460,"eventId":"tech-talks","contentUpdatedAt":"2026-09-03T09:14:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111460","languageCode":"eng","description":"Learn how you can drive growth using App Store Connect Analytics. You'll explore key metrics and find out how to leverage monetization features to optimize your revenue strategy.","title":"Maximize your monetization efforts with App Store Connect Analytics","originalPublishingDate":"2026-09-02T07:00:00-07:00","publishingExpiryDate":"2036-09-02T07:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3FA46DC3-596B-43AB-9633-ADF4C36BB33B","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111460\/2\/31d2bd0e-0a19-49c7-9873-9c8e0846a919\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111460\/2\/31d2bd0e-0a19-49c7-9873-9c8e0846a919\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111460\/2\/31d2bd0e-0a19-49c7-9873-9c8e0846a919\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111460\/2\/31d2bd0e-0a19-49c7-9873-9c8e0846a919\/downloads\/tech-talks-111460_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111460\/2\/31d2bd0e-0a19-49c7-9873-9c8e0846a919\/downloads\/tech-talks-111460_sd.mp4","duration":798,"availableAudioLanguageCodes":["eng"]}},"tech-talks-111459":{"id":"tech-talks-111459","staticContentId":11329,"eventContentId":111459,"eventId":"tech-talks","contentUpdatedAt":"2026-09-03T09:10:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111459","languageCode":"eng","description":"Learn how to use Analytics in App Store Connect to step up your app or game\u2019s acquisition efforts. Explore strategies to improve performance, discover features that can boost downloads, and dive deeper into the key metrics that matter most.","title":"Enhance your acquisition strategy with App Store Connect Analytics","originalPublishingDate":"2026-09-02T07:00:00-07:00","publishingExpiryDate":"2036-09-02T07:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"36766DA0-EB32-4711-88F0-3BCC411E4893","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111459\/1\/92e4bce2-3663-41e0-b2a6-440f4dfbc5ac\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111459\/1\/92e4bce2-3663-41e0-b2a6-440f4dfbc5ac\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111459\/1\/92e4bce2-3663-41e0-b2a6-440f4dfbc5ac\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111459\/1\/92e4bce2-3663-41e0-b2a6-440f4dfbc5ac\/downloads\/tech-talks-111459_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111459\/1\/92e4bce2-3663-41e0-b2a6-440f4dfbc5ac\/downloads\/tech-talks-111459_sd.mp4","duration":1241,"availableAudioLanguageCodes":["eng"]}},"tech-talks-10865":{"id":"tech-talks-10865","staticContentId":4772,"eventContentId":10865,"eventId":"tech-talks","contentUpdatedAt":"2024-05-09T17:23:51-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10865","languageCode":"eng","description":"Learn how developers updated their apps for Apple silicon Macs and began taking advantage of the advanced capabilities of the Apple M1 chip.","title":"What can you do on an Apple silicon Mac?","originalPublishingDate":"2020-11-10T13:00:00-08:00","platforms":["macOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AD7932BE-23FD-4D04-837C-56819176A8DE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10865\/1\/6E98E40E-D103-4F4F-A64D-5C27D6C53AD2\/tech-talks-10865.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10865\/1\/6E98E40E-D103-4F4F-A64D-5C27D6C53AD2\/tech-talks-10865.m3u8","duration":154,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"]}},"tech-talks-10892":{"id":"tech-talks-10892","staticContentId":6182,"eventContentId":10892,"eventId":"tech-talks","contentUpdatedAt":"2024-05-31T13:06:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10892","languageCode":"eng","description":"Discover a new way you can distribute apps to limited audiences on the App Store. We\u2019ll take you through the differences between using unlisted distribution and standard distribution on the App Store, show you how to share apps with a direct link, and more.","title":"Explore unlisted app distribution","originalPublishingDate":"2022-02-07T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["distribution","education","enrollment","enterprise","unlisted"],"primaryTopicID":86,"topicIds":[89,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"813B808C-0D31-49D0-966A-98565A1A81EF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10892\/6\/CC048276-FA06-4E73-8C89-3131F8FB8694\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10892\/6\/CC048276-FA06-4E73-8C89-3131F8FB8694\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10892\/6\/CC048276-FA06-4E73-8C89-3131F8FB8694\/downloads\/tech-talks-10892_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10892\/6\/CC048276-FA06-4E73-8C89-3131F8FB8694\/downloads\/tech-talks-10892_sd.mp4","duration":921,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["wwdc2020-10667"],"resources":[410,14,13,11,10]}},"tech-talks-110339":{"id":"tech-talks-110339","staticContentId":7480,"eventContentId":110339,"eventId":"tech-talks","contentUpdatedAt":"2023-06-02T22:12:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110339","languageCode":"eng","description":"Get to know the new heads-up display panel built to help you analyze graphics performance in real time. Metal Performance HUD displays key graphics statistics so you can monitor, log, and identify tough-to-spot performance problems.","title":"Discover Metal Performance HUD","originalPublishingDate":"2023-02-01T08:00:00-08:00","publishingExpiryDate":"2033-02-01T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[88,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D9B3F060-AD70-422F-B1D9-2C0AEE2ED56F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110339\/3\/7902B10F-CB7D-43C4-A7E2-7AA461381C21\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110339\/3\/7902B10F-CB7D-43C4-A7E2-7AA461381C21\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110339\/3\/7902B10F-CB7D-43C4-A7E2-7AA461381C21\/downloads\/tech-talks-110339_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110339\/3\/7902B10F-CB7D-43C4-A7E2-7AA461381C21\/downloads\/tech-talks-110339_sd.mp4","duration":404,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","kor","zho"]},"related":{"activities":["tech-talks-111372"]}},"tech-talks-111461":{"id":"tech-talks-111461","staticContentId":11312,"eventContentId":111461,"eventId":"tech-talks","contentUpdatedAt":"2026-09-17T12:33:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111461","languageCode":"eng","description":"Learn how to update and optimize your app for the foldable display of iPhone Duo. Discover how to opt in to the full-screen experience, adopt flexible layout best practices, and simulate poses in Device Hub with Xcode. Find out how to use size classes instead of interface orientation, handle asymmetric safe areas, and test Split View multitasking to ensure your app shines in all the ways people use it.","title":"Prepare your app for iPhone Duo","originalPublishingDate":"2026-09-09T10:04:00-07:00","platforms":["iOS"],"primaryTopicID":100,"topicIds":[87,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E87A2037-71D1-4B01-9899-15FDCCCF85A8","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111461\/1\/e852bda6-e8c0-400d-8c6d-a37cb19ae254\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111461\/1\/e852bda6-e8c0-400d-8c6d-a37cb19ae254\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111461\/1\/e852bda6-e8c0-400d-8c6d-a37cb19ae254\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111461\/1\/e852bda6-e8c0-400d-8c6d-a37cb19ae254\/downloads\/tech-talks-111461_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111461\/1\/e852bda6-e8c0-400d-8c6d-a37cb19ae254\/downloads\/tech-talks-111461_sd.mp4","duration":610,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en"],"chapters":[{"start":0,"title":"Introduction","summary":"David Jackson from the UI Frameworks team outlines how to bring your app to iPhone Duo: getting started in Xcode, general resizing guidance, and layout guidance specific to iPhone Duo.","end":30},{"start":30,"title":"Build with the latest SDK","summary":"Your app runs on iPhone Duo even without recompiling, but screen usage improves with each SDK. The iOS 27 SDK extends your app left of the status bar on the inner display; the iOS 27.1 SDK reaches the screen edge and lays standard navigation and toolbar buttons out vertically.","end":77},{"start":77,"title":"Get started in Xcode","summary":"Download Xcode 27.1 and run your app in the iPhone Duo simulator using DeviceHub. On-screen control buttons let you open, close, rotate, and fold the device to check your layout in every pose.","end":93},{"start":93,"title":"Adopt flexible layouts","summary":"iPhone Duo extends the long-standing need for adaptive layout \u2014 new screen shapes, camera locations, and iPhone mirroring on the Mac. Avoid assumptions about display size or capability based on user interface idiom, and design across a continuum of sizes.","end":166},{"start":166,"title":"Use size classes","summary":"Size classes express the experience your app should provide for the available space \u2014 the environment in SwiftUI, trait collection in UIKit. The outer display behaves like other iPhone models, while the inner display is regular in both dimensions, leaving room for sidebars. The inner display doesn't honor supported interface orientations, so use size classes rather than orientation for layout decisions.","end":237},{"start":237,"title":"Avoid screen assumptions","summary":"Don't reference the main screen on a two-display device \u2014 it's ambiguous and will be deprecated. Prefer the environment, trait collection, or the scene's bounds, and access screens dynamically from the window scene. Use the iOS 26 Concentricity APIs, ConcentricRectangle and UICornerConfiguration, to fit the screen's corners.","end":301},{"start":301,"title":"Adopt standard navigation","summary":"NavigationSplitView, UISplitViewController, TabView, and UITabBarController are fully adaptive across every pose \u2014 columns collapse when closed and tile or overlay when open. On the inner display you can opt into a sidebar placement for richer navigation. Sheets, popovers, context menus, and alerts adapt as well.","end":366},{"start":366,"title":"Respect safe areas","summary":"Standard bars lay out outside the safe area and automatically avoid the status bar and camera. Keep interactive foreground content inside the safe area, and let background artwork extend past it with ignoresSafeArea or the view's bounds. Safe areas and layout margins are often asymmetric on iPhone Duo, so handle each side independently and test in Split View.","end":488},{"start":488,"title":"Use reserved regions","summary":"New in iOS 27.1, ReservedRegion in SwiftUI and UIViewReservedRegion in UIKit let custom UI claim as much screen space as possible without colliding with system UI \u2014 useful for custom bars and edge-to-edge designs.","end":552},{"start":552,"title":"Next steps","summary":"The app modernization skill introduced in \"Modernize your UIKit app\" is now called App Resizability in Xcode 27.1, with support for SwiftUI and iPhone Duo. Download Xcode 27.1, simulate with DeviceHub, follow the adaptive layout practices, and try the skill.","end":610}]},"related":{"activities":["tech-talks-111464","tech-talks-111462","tech-talks-111463","wwdc2026-278","meet-with-apple-285","meet-with-apple-286"],"resources":[4367]}},"tech-talks-111462":{"id":"tech-talks-111462","staticContentId":11313,"eventContentId":111462,"eventId":"tech-talks","contentUpdatedAt":"2026-09-17T12:33:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111462","languageCode":"eng","description":"Discover how to adapt your navigation, toolbars, and tab bars for the unique displays of iPhone Duo. Explore the design principles behind the new bar layout, and learn how to configure custom view representations and manage overflow to build powerful, responsive apps.","title":"Raise the bar with iPhone Duo","originalPublishingDate":"2026-09-09T10:03:00-07:00","platforms":["iOS"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E21064E2-BC9B-4D00-8713-4BDFAA05EA72","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111462\/1\/9a60db88-d15d-4892-8b56-18e11523d8e4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111462\/1\/9a60db88-d15d-4892-8b56-18e11523d8e4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111462\/1\/9a60db88-d15d-4892-8b56-18e11523d8e4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111462\/1\/9a60db88-d15d-4892-8b56-18e11523d8e4\/downloads\/tech-talks-111462_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111462\/1\/9a60db88-d15d-4892-8b56-18e11523d8e4\/downloads\/tech-talks-111462_sd.mp4","duration":943,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en"],"chapters":[{"start":0,"title":"Introduction","summary":"Anna from UI Frameworks and Maria, a Human Interface Designer on Apple's design system, introduce how to raise the bar for your app's bars on iPhone Duo.","end":28},{"start":28,"title":"Why bars move to the side","summary":"iPhone Duo's wider aspect ratio gives apps more horizontal space. Controls that normally sit at the top and bottom move to the side, preserving vertical space for content and putting controls within easier reach. Their position stays consistent on the inner display in landscape, and returns to a familiar horizontal layout in portrait.","end":89},{"start":89,"title":"Agenda","summary":"An overview of what's ahead: orienting bars to a vertical axis, item ordering and how it interacts with containers, tailoring toolbar content for a vertical axis, and managing the overflow menu.","end":120},{"start":120,"title":"Opt in to vertical bars","summary":"Rebuild your app against the latest SDKs, then use bars provided by navigation containers. In SwiftUI, pair the toolbar modifier with NavigationStack or NavigationSplitView. In UIKit, prefer UINavigationController and UITabBarController over custom UIToolbar, UINavigationBar, or UITabBar instances, whose content isn't considered.","end":189},{"start":189,"title":"Understand the shared bar region","summary":"Navigation, toolbar, and tab bar controls coexist in a shared region \u2014 imagine rotating them 90 degrees into a vertical stack. In split views, only the detail column participates and inspectors don't get their own bar. Sheets behave differently per display, and because the bar is aligned with the hardware it stays on the same side in right-to-left languages.","end":269},{"start":269,"title":"Order items in a vertical bar","summary":"Keep controls associated with their container and audit your existing configuration. Reserve the top for primary navigation like back or close, followed by prominent actions such as done. Use the cancellation action placement in SwiftUI, or a leading item with leftItemSupplementsBackButton set to false in UIKit. Place prominent actions with topBarPinnedTrailing or pinnedTrailingGroup.","end":356},{"start":356,"title":"Prepare toolbar content","summary":"Vertical bars have a fixed width and flexible item height, making them better suited to symbol-only items. You still specify the same icon and title, but the system now also considers whether content suits a vertical or horizontal axis: items with an icon go vertical, while text-only items stay horizontal. Always provide a title, since the system uses it in overflow menus and expanded forms.","end":480},{"start":480,"title":"Control the axis of an item","summary":"The new AxisBehavior API adjusts the system's default placement. Keep related items on the same axis \u2014 an item that transitions between a symbol and text, like a custom select button, should use the horizontal-only behavior. Custom or complex views stay horizontal by default; set the vertical-preferred behavior when your view does support a vertical representation.","end":540},{"start":540,"title":"Prefer symbol-only items","summary":"Minimize title-only items and custom views showing both text and an image so more content can go vertical. A badge can turn a text-and-symbol item into a symbol-only one \u2014 adopt the badge API added in iOS 26. Ask whether the text merely reinforces the symbol or carries standalone information; keep controls like a cart button showing a dollar amount in the horizontal bar.","end":607},{"start":607,"title":"Adapt custom views","summary":"Custom views need to either fit the bar's fixed width or have a vertically adapted layout, and some metrics may need adjusting. Read the toolbarVerticalEdge environment property or trait to detect a vertical bar. Vertical bars have no scroll edge effect by default but do get a background when reduce transparency is enabled. Flexible spacers are zero size vertically, while fixed spacers respect their minimum.","end":700},{"start":700,"title":"Manage the overflow menu","summary":"Items overflow more often on the outer display in landscape, or when competing UI like the keyboard appears. Decide whether your toolbar items or tab bar stay visible longer \u2014 toolbars compress first by default, suiting navigation-focused experiences, while task-oriented apps may compress the tab bar. Consolidate any custom overflow into the system menu with ToolbarOverflowMenu or additionalOverflowItems, and reserve the ellipsis for overflow only.","end":790},{"start":790,"title":"Prioritize item visibility","summary":"Items overflow from bottom to top by default, but visibility priority gives fine-grained control. Assign high, low, or custom priorities using the visibilityPriority APIs, starting with groups and then items within them. Frequently used actions like Compose or New Note should be among the last to overflow, and controls conveying status such as badged items should remain visible to preserve glanceability.","end":861},{"start":861,"title":"When to opt out","summary":"Most apps are good candidates for vertical bars, but a single-page app with a bottom-heavy layout like Calculator may let content expand better horizontally, and a sheet with only one control such as a close button may not warrant the reduced space. Use the toolbarVerticalBehavior and preferredVerticalBar behavior APIs to disable it.","end":893},{"start":893,"title":"Next steps","summary":"Build your app with the latest SDKs, audit your bars for the new design, update custom items so they're ready to be placed vertically, and assign overflow priorities so the system can adapt.","end":943}]},"related":{"activities":["tech-talks-111461","wwdc2026-269","wwdc2025-356","meet-with-apple-285","meet-with-apple-286"],"resources":[4367]}},"tech-talks-110358":{"id":"tech-talks-110358","staticContentId":7822,"eventContentId":110358,"eventId":"tech-talks","contentUpdatedAt":"2023-06-02T22:12:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110358","languageCode":"eng","description":"Learn how you can improve the discovery of your app on the App Store. We\u2019ll explore the different ways people find apps on the App Store and show you how to make your own app more discoverable. Discover the elements of a great product page, the role of search, referral traffic, and promotional features you can use to encourage new downloads.","title":"Get started with app discovery and marketing","originalPublishingDate":"2023-02-28T08:30:00-08:00","publishingExpiryDate":"2027-10-01T08:30:00-07:00","primaryTopicID":86,"topicIds":[89,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"41C0263B-489B-4243-AFE4-1185CFE0B269","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110358\/4\/CC450C4C-0984-4A4F-87A7-34A8586C0732\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110358\/4\/CC450C4C-0984-4A4F-87A7-34A8586C0732\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110358\/4\/CC450C4C-0984-4A4F-87A7-34A8586C0732\/downloads\/tech-talks-110358_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110358\/4\/CC450C4C-0984-4A4F-87A7-34A8586C0732\/downloads\/tech-talks-110358_sd.mp4","duration":1343,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"resources":[3007,3006,3005,125]}},"tech-talks-110352":{"id":"tech-talks-110352","staticContentId":7513,"eventContentId":110352,"eventId":"tech-talks","contentUpdatedAt":"2024-07-12T04:35:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110352","languageCode":"eng","description":"Great apps do more for people while collecting less data. Learn how three simple tips from the App Review team can help you build great experiences while minimizing data collection.","title":"Do more with less data","originalPublishingDate":"2022-12-01T10:00:00-08:00","publishingExpiryDate":"2032-12-01T10:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[96,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F04EF040-E51A-41D3-A0EE-C87F1DCB5C14","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110352\/4\/EF2E23A4-4662-4C5F-928A-C6F7FDD478C1\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110352\/4\/EF2E23A4-4662-4C5F-928A-C6F7FDD478C1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110352\/4\/EF2E23A4-4662-4C5F-928A-C6F7FDD478C1\/downloads\/tech-talks-110352_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110352\/4\/EF2E23A4-4662-4C5F-928A-C6F7FDD478C1\/downloads\/tech-talks-110352_sd.mp4","duration":580,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","kor","zho"]},"related":{"activities":["wwdc2021-10085","tech-talks-10885","tech-talks-110152"],"resources":[2978,2976,2975]}},"tech-talks-205":{"id":"tech-talks-205","staticContentId":1987,"eventContentId":205,"eventId":"tech-talks","contentUpdatedAt":"2025-01-14T11:42:04-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/205","languageCode":"eng","description":"Website links received in Messages can be made vastly more inviting than a simple text URL. By providing small amounts of metadata in your web pages, links to your website can include rich content such as icons, images and even video. Learn how visitors to your website can share links that look as good as your website.","title":"Ensuring Beautiful Rich Links","originalPublishingDate":"2017-12-21T10:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A950D0F9-1E4F-4C56-B801-B8F5735C9754","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/ensuring_beautiful_rich_links\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/ensuring_beautiful_rich_links\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/ensuring_beautiful_rich_links\/ensuring_beautiful_rich_links_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/ensuring_beautiful_rich_links\/ensuring_beautiful_rich_links_sd.mp4","duration":331,"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["wwdc2021-10029","wwdc2019-262","wwdc2018-239"]}},"tech-talks-110349":{"id":"tech-talks-110349","staticContentId":7504,"eventContentId":110349,"eventId":"tech-talks","contentUpdatedAt":"2023-06-02T22:12:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110349","languageCode":"eng","description":"Learn how to get more from your product page optimization tests. We\u2019ll explore best practices, provide data-based recommendations, and share success stories from developers who have used product page optimization to make their App Store product pages even more relevant and effective.","title":"Make the most of product page optimization","originalPublishingDate":"2023-02-28T08:30:00-08:00","publishingExpiryDate":"2027-10-01T08:30:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":86,"topicIds":[89,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F5944700-98BB-4D94-B597-A921DE38A8C8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110349\/3\/CB7912B8-3835-407B-A8D9-E687355995B1\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110349\/3\/CB7912B8-3835-407B-A8D9-E687355995B1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110349\/3\/CB7912B8-3835-407B-A8D9-E687355995B1\/downloads\/tech-talks-110349_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110349\/3\/CB7912B8-3835-407B-A8D9-E687355995B1\/downloads\/tech-talks-110349_sd.mp4","duration":1126,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["tech-talks-10888"],"resources":[3012,3011]}},"tech-talks-10100":{"id":"tech-talks-10100","staticContentId":4996,"eventContentId":10100,"eventId":"tech-talks","contentUpdatedAt":"2026-06-07T13:02:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10100","languageCode":"eng","description":"Discover how you can use the TabularData framework to load, explore, and manipulate unstructured data in Swift \u2014 whether you need to pre-process data for a machine learning task or digest data on-the-fly in your app. Learn how this framework can help you handle large datasets, join multiple tables of data together, and filter data programmatically. We'll also show you how a DataFrame can be used to drive all the data-centric features of your app.","title":"Explore and manipulate data in Swift with TabularData","originalPublishingDate":"2021-12-07T10:00:00-08:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":99,"topicIds":[94,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B4CD6CFF-25C6-4C33-B7D5-CFE743A2100B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10100\/7\/53BB7B01-5F85-4F5C-93F9-3DABEAB7585C\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10100\/7\/53BB7B01-5F85-4F5C-93F9-3DABEAB7585C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10100\/7\/53BB7B01-5F85-4F5C-93F9-3DABEAB7585C\/downloads\/tech-talks-10100_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10100\/7\/53BB7B01-5F85-4F5C-93F9-3DABEAB7585C\/downloads\/tech-talks-10100_sd.mp4","duration":1428,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["wwdc2022-10019"]}},"tech-talks-111375":{"id":"tech-talks-111375","staticContentId":9052,"eventContentId":111375,"eventId":"tech-talks","contentUpdatedAt":"2023-11-12T03:00:16-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111375","languageCode":"eng","description":"Learn how Dynamic Caching, the next-generation shader core, hardware-accelerated ray tracing, and hardware-accelerated mesh shading of Apple family 9 GPUs can improve the performance of your Metal apps and games. ","title":"Explore GPU advancements in M3 and A17 Pro","originalPublishingDate":"2023-11-09T08:00:00-08:00","publishingExpiryDate":"2033-11-09T08:00:00-08:00","platforms":["macOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FE0415BA-1929-4EFC-8D87-5165C6A68437","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111375\/3\/04B4AAC5-FF8A-4515-976F-81AF68C0CBC0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111375\/3\/04B4AAC5-FF8A-4515-976F-81AF68C0CBC0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111375\/3\/04B4AAC5-FF8A-4515-976F-81AF68C0CBC0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111375\/3\/04B4AAC5-FF8A-4515-976F-81AF68C0CBC0\/downloads\/tech-talks-111375_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111375\/3\/04B4AAC5-FF8A-4515-976F-81AF68C0CBC0\/downloads\/tech-talks-111375_sd.mp4","duration":1749,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10124","wwdc2023-10128","wwdc2022-10105","wwdc2022-10162","wwdc2021-10149","tech-talks-111373","tech-talks-111374"]}},"tech-talks-111374":{"id":"tech-talks-111374","staticContentId":9051,"eventContentId":111374,"eventId":"tech-talks","contentUpdatedAt":"2024-03-05T13:40:03-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111374","languageCode":"eng","description":"Learn how the new profiling tools in Xcode 15 can help you achieve the best Metal performance on Apple family 9 GPUs. Discover how to use shader cost graphs, performance heat maps, and shader execution history tools to profile and optimize your Metal code. Find out how to use new GPU counters to optimize GPU occupancy and ray-tracing performance.","title":"Discover new Metal profiling tools for M3 and A17 Pro","originalPublishingDate":"2023-11-09T08:00:00-08:00","publishingExpiryDate":"2033-11-09T08:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6530CA26-225B-4FCE-A23C-05F9FBBE18A0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111374\/4\/B34C6255-A869-44BE-854B-468DC2871E98\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111374\/4\/B34C6255-A869-44BE-854B-468DC2871E98\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111374\/4\/B34C6255-A869-44BE-854B-468DC2871E98\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111374\/4\/B34C6255-A869-44BE-854B-468DC2871E98\/downloads\/tech-talks-111374_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111374\/4\/B34C6255-A869-44BE-854B-468DC2871E98\/downloads\/tech-talks-111374_sd.mp4","duration":2036,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10128","wwdc2022-10105","tech-talks-111373","tech-talks-111375"]}},"tech-talks-606":{"id":"tech-talks-606","staticContentId":2010,"eventContentId":606,"eventId":"tech-talks","contentUpdatedAt":"2023-03-22T21:35:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/606","languageCode":"eng","description":"Imageblock sample coverage control provides access to multisample tracking data within a tile shader, enabling development of custom MSAA resolve algorithms and more. Understand how the A11 GPU tracks unique samples, then explore an example that optimizes rendering of dense geometry through surface aggregation.","title":"Metal 2 on A11 - Imageblock Sample Coverage Control","originalPublishingDate":"2017-09-12T10:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3A182984-D077-4560-A87F-BFB6E8E34AF4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/606fmwrx1qx3x\/metal_imageblock_sample_coverage_control\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/606fmwrx1qx3x\/metal_imageblock_sample_coverage_control\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/606fmwrx1qx3x\/metal_imageblock_sample_coverage_control\/metal_imageblock_sample_coverage_control_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/606fmwrx1qx3x\/metal_imageblock_sample_coverage_control\/metal_imageblock_sample_coverage_control_sd.mp4","duration":796,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["tech-talks-602","tech-talks-603","tech-talks-604","tech-talks-605","wwdc2017-601"],"resources":[268]}},"tech-talks-111369":{"id":"tech-talks-111369","staticContentId":9023,"eventContentId":111369,"eventId":"tech-talks","contentUpdatedAt":"2025-02-21T12:16:50-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111369","languageCode":"eng","description":"Unlock the benefits of continuous integration and delivery in Xcode Cloud with source code management tools. Learn how to set up Xcode Cloud with a self-hosted source control management provider like GitHub Enterprise, troubleshoot common issues, and explore key project maintenance tips.","title":"Connect your project to Xcode Cloud","originalPublishingDate":"2024-02-08T08:00:00-08:00","publishingExpiryDate":"2034-02-08T08:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5BC0ADE9-0F87-451A-99CD-6F4D5003A5F7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111369\/1\/4B74BA26-8CE3-48F8-86DD-1F952951A540\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111369\/1\/4B74BA26-8CE3-48F8-86DD-1F952951A540\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111369\/1\/4B74BA26-8CE3-48F8-86DD-1F952951A540\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111369\/1\/4B74BA26-8CE3-48F8-86DD-1F952951A540\/downloads\/tech-talks-111369_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111369\/1\/4B74BA26-8CE3-48F8-86DD-1F952951A540\/downloads\/tech-talks-111369_sd.mp4","duration":484,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10278","wwdc2021-10267","wwdc2021-10269"],"resources":[2520,1618]}},"tech-talks-111376":{"id":"tech-talks-111376","staticContentId":9053,"eventContentId":111376,"eventId":"tech-talks","contentUpdatedAt":"2026-06-08T15:29:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111376","languageCode":"eng","description":"Learn how to incorporate the new rule-based matchmaking feature into your real-time multiplayer games. Discover how you can provide customized and flexible matchmaking to improve the quality of player matches and create a more fun and engaging experience for all players. ","title":"Meet rule-based matchmaking in Game Center","originalPublishingDate":"2023-11-09T08:00:00-08:00","publishingExpiryDate":"2033-11-09T08:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CCA7350C-C63F-4F2D-A796-03EAC217C59D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111376\/4\/A21307B9-8F3F-44C5-A5C7-3F9962FE846B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111376\/4\/A21307B9-8F3F-44C5-A5C7-3F9962FE846B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111376\/4\/A21307B9-8F3F-44C5-A5C7-3F9962FE846B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111376\/4\/A21307B9-8F3F-44C5-A5C7-3F9962FE846B\/downloads\/tech-talks-111376_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111376\/4\/A21307B9-8F3F-44C5-A5C7-3F9962FE846B\/downloads\/tech-talks-111376_sd.mp4","duration":1026,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["tech-talks-111377"],"resources":[3606,3605,3604,2371,462]}},"tech-talks-10885":{"id":"tech-talks-10885","staticContentId":6083,"eventContentId":10885,"eventId":"tech-talks","contentUpdatedAt":"2023-06-02T22:12:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10885","languageCode":"eng","description":"Prepare your app for review with these tips from the App Review team. Learn how to prevent the most common issues and discover best practices for an easy and straightforward review experience. ","title":"Tips for preventing common review issues","originalPublishingDate":"2021-12-06T10:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4D33C24F-6F15-45F0-AA8A-2C855A5B3C92","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10885\/4\/FA5F7B46-267F-49EB-BE6B-1770E94196CA\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10885\/4\/FA5F7B46-267F-49EB-BE6B-1770E94196CA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10885\/4\/FA5F7B46-267F-49EB-BE6B-1770E94196CA\/downloads\/tech-talks-10885_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10885\/4\/FA5F7B46-267F-49EB-BE6B-1770E94196CA\/downloads\/tech-talks-10885_sd.mp4","duration":754,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["tech-talks-110152","tech-talks-110352"]}},"tech-talks-110345":{"id":"tech-talks-110345","staticContentId":7500,"eventContentId":110345,"eventId":"tech-talks","contentUpdatedAt":"2024-12-02T15:50:40-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110345","languageCode":"eng","description":"Family Sharing for In-App Purchases lets people share their auto-renewable subscriptions and non-consumables with up to five additional family members, helping you attract new subscribers, increase user engagement, and improve retention. We\u2019ll review how you can enable this feature in App Store Connect, provide best practices when using the feature with StoreKit and App Store Server Notifications, and help you deliver a great In-App Purchase experience.","title":"Explore Family Sharing for In-App Purchases","originalPublishingDate":"2022-12-01T10:00:00-08:00","publishingExpiryDate":"2032-12-01T10:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"64A53EE9-9F28-4209-B476-FDF144C39A0F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110345\/4\/C7832583-3700-4355-B6DB-AD56E0F5E2F9\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110345\/4\/C7832583-3700-4355-B6DB-AD56E0F5E2F9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110345\/4\/C7832583-3700-4355-B6DB-AD56E0F5E2F9\/downloads\/tech-talks-110345_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110345\/4\/C7832583-3700-4355-B6DB-AD56E0F5E2F9\/downloads\/tech-talks-110345_sd.mp4","duration":1324,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","kor","zho"]},"related":{"activities":["wwdc2023-10142","wwdc2020-10661","tech-talks-803"],"resources":[1512,1511,1510,1509,1508]}},"tech-talks-207":{"id":"tech-talks-207","staticContentId":2576,"eventContentId":207,"eventId":"tech-talks","contentUpdatedAt":"2021-09-13T07:35:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/207","languageCode":"eng","description":"If your app has already adopted safe area insets, there's not much you will need to do to update your app for iPhone XS, iPhone XS Max, and iPhone XR. Learn how to set a collection view\u2019s section inset reference to the safe area with no code changes. Hear about an API change unique to iPhone XS Max, iPhone XR. Make sure your full-screen app is scaled correctly by using the proper number of points and the correct resolution. Defend against some common pitfalls to ensure your app provides its full feature-set to all of your customers while maintaining best practices that will save you time and effort in the future.","title":"Building Apps for iPhone XS, iPhone XS Max, and iPhone XR","originalPublishingDate":"2018-09-12T11:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"54F78EDE-54B9-4120-8DFA-42D6EF0B568E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/207naklypn7hewo9\/building_apps_for_iphone_xs_iphone_xs_max_and_iphone_xr\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/207naklypn7hewo9\/building_apps_for_iphone_xs_iphone_xs_max_and_iphone_xr\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/207naklypn7hewo9\/building_apps_for_iphone_xs_iphone_xs_max_and_iphone_xr\/building_apps_for_iphone_xs_iphone_xs_max_and_iphone_xr_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/207naklypn7hewo9\/building_apps_for_iphone_xs_iphone_xs_max_and_iphone_xr\/building_apps_for_iphone_xs_iphone_xs_max_and_iphone_xr_sd.mp4","duration":541,"availableAudioLanguageCodes":["en","eng","zho"],"availableSubtitleLanguageCodes":["eng","zho"]},"related":{"activities":["wwdc2018-220","wwdc2018-235","tech-talks-201","tech-talks-209","tech-talks-801","wwdc2017-204"]}},"tech-talks-110365":{"id":"tech-talks-110365","staticContentId":8392,"eventContentId":110365,"eventId":"tech-talks","contentUpdatedAt":"2025-05-22T09:03:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110365","languageCode":"eng","description":"Learn how App Analytics can help you better understand user acquisition, so you can make data\u2011informed decisions. Explore ways to find out where your users are coming from and review definitions of key metrics. We\u2019ll also discuss how peer group benchmarks and other features can help improve your acquisition strategy.","title":"Measure and improve acquisition with App Analytics","originalPublishingDate":"2023-05-03T07:00:00-07:00","publishingExpiryDate":"2028-05-03T07:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9D5B518D-0321-4A13-9469-D3A268C2D510","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110365\/5\/23BB2EF0-5DC3-4DAD-A017-F26A4EBD44E3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110365\/5\/23BB2EF0-5DC3-4DAD-A017-F26A4EBD44E3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110365\/5\/23BB2EF0-5DC3-4DAD-A017-F26A4EBD44E3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110365\/5\/23BB2EF0-5DC3-4DAD-A017-F26A4EBD44E3\/downloads\/tech-talks-110365_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110365\/5\/23BB2EF0-5DC3-4DAD-A017-F26A4EBD44E3\/downloads\/tech-talks-110365_sd.mp4","duration":1211,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"resources":[3029,3028,3027,1628]}},"tech-talks-301":{"id":"tech-talks-301","staticContentId":3317,"eventContentId":301,"eventId":"tech-talks","contentUpdatedAt":"2024-05-09T17:03:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/301","languageCode":"eng","description":"Single Sign-on ensures your enterprise can implement modern authentication methods without sacrificing ease of use. Learn how to use the Authentication Services framework to expose your redirect and credential SSO services in Safari and native apps on macOS Catalina, iPadOS 13, and iOS 13.  Whether you're building your own extension or looking to deploy one internally, you'll learn everything you need to know about extension creation, deployment, and configuration, to use within your own native apps.","title":"Introducing Extensible Enterprise SSO","originalPublishingDate":"2019-09-10T00:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[89,96,98,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8EE54F29-36CD-4A53-BB8C-C826E06030CD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20190910\/301fgloga45ths\/introducing_extensible_enterprise_sso\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20190910\/301fgloga45ths\/introducing_extensible_enterprise_sso\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20190910\/301fgloga45ths\/introducing_extensible_enterprise_sso\/introducing_extensible_enterprise_sso.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20190910\/301fgloga45ths\/introducing_extensible_enterprise_sso\/introducing_extensible_enterprise_sso_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20190910\/301fgloga45ths\/introducing_extensible_enterprise_sso\/introducing_extensible_enterprise_sso_sd.mp4","duration":1113,"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["wwdc2020-10139"]}},"tech-talks-601":{"id":"tech-talks-601","staticContentId":1998,"eventContentId":601,"eventId":"tech-talks","contentUpdatedAt":"2025-01-28T16:33:15-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/601","languageCode":"eng","description":"ARKit and iPhone X enable a revolutionary capability for robust face tracking in AR apps. See how your app can detect the position, topology, and expression of the user\u2019s face, all with high accuracy and in real time. Learn about applying live selfie effects and see how to use facial expressions to drive a 3D character.","title":"Face Tracking with ARKit","originalPublishingDate":"2017-09-12T10:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A5F67255-CC4D-4CDB-9E1A-0682D436AAB4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/601eevz5w5fwv\/face_tracking_with_arkit\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/601eevz5w5fwv\/face_tracking_with_arkit\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/601eevz5w5fwv\/face_tracking_with_arkit\/face_tracking_with_arkit_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/601eevz5w5fwv\/face_tracking_with_arkit\/face_tracking_with_arkit_sd.mp4","duration":445,"availableAudioLanguageCodes":["en","eng","zho"],"availableSubtitleLanguageCodes":["eng","zho"]},"related":{"activities":["wwdc2018-602","wwdc2018-610","wwdc2017-602","wwdc2017-604"],"resources":[262,25]}},"tech-talks-204":{"id":"tech-talks-204","staticContentId":2003,"eventContentId":204,"eventId":"tech-talks","contentUpdatedAt":"2021-09-13T07:33:45-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/204","languageCode":"eng","description":"Learn tips for keeping your app's on-disk storage as organized and optimized as possible. See how to enable direct access to documents in your app using the new Files app in iOS 11. Gain insights into how to take inventory of your app's files and make the most of the storage capacity available to your app.","title":"iOS Storage Best Practices","originalPublishingDate":"2017-09-12T10:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"96D77C1D-BD65-4661-B1C2-09302C1C9290","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/204a83a4lxlz1\/ios_storage_best_practices\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/204a83a4lxlz1\/ios_storage_best_practices\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/204a83a4lxlz1\/ios_storage_best_practices\/ios_storage_best_practices_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/204a83a4lxlz1\/ios_storage_best_practices\/ios_storage_best_practices_sd.mp4","duration":533,"availableAudioLanguageCodes":["en","eng","zho"],"availableSubtitleLanguageCodes":["eng","zho"]},"related":{"resources":[260,259,258,257]}},"tech-talks-507":{"id":"tech-talks-507","staticContentId":2888,"eventContentId":507,"eventId":"tech-talks","contentUpdatedAt":"2021-09-13T07:33:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/507","languageCode":"eng","description":"Learn about the VideoSubscriberAccount framework, what it does, and how to integrate this framework with your app. Learn how this framework fits into the development for the Apple TV Distribution Program.","title":"Apple TV VSA Framework","originalPublishingDate":"2019-05-10T00:03:00-07:00","platforms":["tvOS"],"keywords":["apple tv","apple tv app","apple tv distribution program","apple tv set top box","authentication","authentication context","set top box","set top box api","set top box apis","set top box authentication overview","single sign on","sso","stb","stb api","tv","\uf8fftv","video subscriber account","video subscriber account framework","vsa","zero sign on","zso"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"749BAAC1-7BDE-4CDE-9018-CBD4217492FA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/Apple_TV_VSA_Framework_AD\/Apple_TV_VSA_Framework_AD\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/Apple_TV_VSA_Framework_AD\/Apple_TV_VSA_Framework_AD\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/Apple_TV_VSA_Framework_AD\/Apple_TV_VSA_Framework_AD\/Apple_TV_VSA_Framework_AD_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/Apple_TV_VSA_Framework_AD\/Apple_TV_VSA_Framework_AD\/Apple_TV_VSA_Framework_AD_sd.mp4","duration":121,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["tech-talks-504","tech-talks-505","tech-talks-506","tech-talks-508","tech-talks-509"],"resources":[469]}},"tech-talks-110347":{"id":"tech-talks-110347","staticContentId":7502,"eventContentId":110347,"eventId":"tech-talks","contentUpdatedAt":"2024-05-09T17:03:51-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110347","languageCode":"eng","description":"Discover how you can highlight your app or game\u2019s content on the App Store. We'll take you through the in-app events feature and provide recommendations, tips, and best practices for helping people discover content and events within your app.","title":"Get started with in-app events","originalPublishingDate":"2022-12-01T10:00:00-08:00","publishingExpiryDate":"2032-12-01T10:00:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0B88E35F-4816-4E09-9691-3AED6EC9727A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110347\/3\/B47B1C93-B1DC-4555-B40E-B26E64BF7689\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110347\/3\/B47B1C93-B1DC-4555-B40E-B26E64BF7689\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110347\/3\/B47B1C93-B1DC-4555-B40E-B26E64BF7689\/downloads\/tech-talks-110347_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110347\/3\/B47B1C93-B1DC-4555-B40E-B26E64BF7689\/downloads\/tech-talks-110347_sd.mp4","duration":1385,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","kor","zho"]},"related":{"activities":["wwdc2021-10171"],"resources":[3004,3003,515]}},"tech-talks-110356":{"id":"tech-talks-110356","staticContentId":7804,"eventContentId":110356,"eventId":"tech-talks","contentUpdatedAt":"2023-06-02T22:12:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110356","languageCode":"eng","description":"Discover how you can build compelling apps for your business on iOS, iPadOS, macOS, and watchOS. We'll take you through a curated overview of the latest updates to Apple platforms and explore relevant features that you can use to create engaging enterprise apps to transform workflows, inform business decisions, and boost employee productivity.","title":"What's new for enterprise developers","originalPublishingDate":"2023-02-01T08:00:00-08:00","publishingExpiryDate":"2033-02-01T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"361BD280-A204-4F3F-9E4D-6C3622F0A1D4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110356\/4\/851F380E-20CD-44AB-87DE-C55C21D52880\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110356\/4\/851F380E-20CD-44AB-87DE-C55C21D52880\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110356\/4\/851F380E-20CD-44AB-87DE-C55C21D52880\/downloads\/tech-talks-110356_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110356\/4\/851F380E-20CD-44AB-87DE-C55C21D52880\/downloads\/tech-talks-110356_sd.mp4","duration":2111,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","kor","zho"]},"related":{"activities":["wwdc2022-10003","wwdc2022-10006","wwdc2022-10016","wwdc2022-10024","wwdc2022-10025","wwdc2022-10032","wwdc2022-10035","wwdc2022-10050","wwdc2022-10051","wwdc2022-10054","wwdc2022-10117","wwdc2022-10126","wwdc2022-10127","wwdc2022-10136","wwdc2022-10137","wwdc2022-10157","wwdc2022-10170","wwdc2022-110381"]}},"tech-talks-111433":{"id":"tech-talks-111433","staticContentId":10623,"eventContentId":111433,"eventId":"tech-talks","contentUpdatedAt":"2026-04-21T16:51:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111433","languageCode":"eng","description":"Learn how to prepare your app for Accessibility Nutrition Labels by supporting essential accessibility features. Discover how you can enhance interaction methods like VoiceOver and Voice Control by properly configuring accessibility labels, traits, and values for custom controls and gestures. Find out how you can support larger text sizes using Dynamic Type, and prevent content truncation with flexible layouts. And learn how to make your app design more inclusive by adopting Dark Mode, responding to preferences like Differentiate Without Color, and ensuring sufficient contrast.","title":"Prepare your app for Accessibility Nutrition Labels","originalPublishingDate":"2026-04-22T08:00:00-07:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["accessibility","inclusion","nutrition label"],"primaryTopicID":82,"topicIds":[82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B032C87B-729E-472C-B7E2-9E2106FE7275","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111433\/5\/688d4ff2-043e-49bb-9d2d-c63b385b1b6e\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111433\/5\/688d4ff2-043e-49bb-9d2d-c63b385b1b6e\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111433\/5\/688d4ff2-043e-49bb-9d2d-c63b385b1b6e\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111433\/5\/688d4ff2-043e-49bb-9d2d-c63b385b1b6e\/downloads\/tech-talks-111433_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111433\/5\/688d4ff2-043e-49bb-9d2d-c63b385b1b6e\/downloads\/tech-talks-111433_sd.mp4","duration":2090,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"],"chapters":[{"start":1,"title":"Welcome","end":138},{"start":138,"title":"Interaction methods","end":1084},{"start":1084,"title":"Larger text","end":1587},{"start":1587,"title":"Color","end":1975},{"start":1975,"title":"Next steps","end":2090}]},"related":{"activities":["wwdc2024-10073","wwdc2024-10074","wwdc2025-224"],"resources":[3895,1798,1731]}},"tech-talks-110151":{"id":"tech-talks-110151","staticContentId":6425,"eventContentId":110151,"eventId":"tech-talks","contentUpdatedAt":"2023-10-17T11:22:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110151","languageCode":"eng","description":"Learn how you can acquire subscribers and grow your business using App Store features. We'll explore subscriber acquisition strategies, share implementation best practices, and show you how to integrate these processes into your app for success.","title":"Optimize subscriptions for success: acquisition ","originalPublishingDate":"2022-04-21T10:00:00-07:00","publishingExpiryDate":"2033-10-09T00:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[89,88,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9FBBA400-DDB6-4782-91CB-ADD225A3FF53","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110151\/7\/E5C05959-D5D3-49DA-A61E-C3BBAFCBBF79\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110151\/7\/E5C05959-D5D3-49DA-A61E-C3BBAFCBBF79\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110151\/7\/E5C05959-D5D3-49DA-A61E-C3BBAFCBBF79\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110151\/7\/E5C05959-D5D3-49DA-A61E-C3BBAFCBBF79\/downloads\/tech-talks-110151_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110151\/7\/E5C05959-D5D3-49DA-A61E-C3BBAFCBBF79\/downloads\/tech-talks-110151_sd.mp4","duration":1172,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"]}},"tech-talks-111377":{"id":"tech-talks-111377","staticContentId":9054,"eventContentId":111377,"eventId":"tech-talks","contentUpdatedAt":"2023-12-07T09:23:33-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111377","languageCode":"eng","description":"Discover how you can use the App Store Connect API to automate your Game Center configurations outside of App Store Connect on the web. Find out how the API can help you create achievements and leaderboards and share them between related games using groups. And learn how to enable and configure matchmaking in multiplayer games.","title":"Manage Game Center with the App Store Connect API","originalPublishingDate":"2023-12-07T09:00:00-08:00","publishingExpiryDate":"2033-12-07T21:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":91,"topicIds":[88,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AEB49E89-EA47-43B1-A24A-1B822EFE5AE0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111377\/2\/A42F0784-BED5-4B66-93E0-D785E3C30EA1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111377\/2\/A42F0784-BED5-4B66-93E0-D785E3C30EA1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111377\/2\/A42F0784-BED5-4B66-93E0-D785E3C30EA1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111377\/2\/A42F0784-BED5-4B66-93E0-D785E3C30EA1\/downloads\/tech-talks-111377_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111377\/2\/A42F0784-BED5-4B66-93E0-D785E3C30EA1\/downloads\/tech-talks-111377_sd.mp4","duration":716,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2022-10064","wwdc2020-10619","tech-talks-111376"]}},"tech-talks-10874":{"id":"tech-talks-10874","staticContentId":5961,"eventContentId":10874,"eventId":"tech-talks","contentUpdatedAt":"2021-12-07T07:41:16-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10874","languageCode":"eng","description":"Discover how apps can use CloudKit to share records with others. We'll show you how to encourage collaboration between people using your app and support those interactions with Apple frameworks. Learn how to create and manage shares, explore sharing options like public permissions, and find out how you can use zone sharing in iOS 15 and macOS Monterey to share entire record zones of data.\n\nTo get the most out of this session, we recommend being familiar with CloudKit and a basic understanding of record and data types.","title":"Get the most out of CloudKit Sharing","originalPublishingDate":"2021-12-07T10:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["ckshare","cloudkit sharing","hierarchical","sharing","sharing sample app","zone"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2550DADF-A732-43AB-8DF3-5D3517CA6795","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10874\/3\/E774EFC4-2BA1-475F-A66D-CACB5A60FDCE\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10874\/3\/E774EFC4-2BA1-475F-A66D-CACB5A60FDCE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10874\/3\/E774EFC4-2BA1-475F-A66D-CACB5A60FDCE\/downloads\/tech-talks-10874_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10874\/3\/E774EFC4-2BA1-475F-A66D-CACB5A60FDCE\/downloads\/tech-talks-10874_sd.mp4","duration":744,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10188","wwdc2021-10015","wwdc2021-10086"],"resources":[2319]}},"tech-talks-206":{"id":"tech-talks-206","staticContentId":1990,"eventContentId":206,"eventId":"tech-talks","contentUpdatedAt":"2021-09-13T07:34:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/206","languageCode":"eng","description":"iOS 11 provides built-in support to detect and handle QR codes. Discover the supported QR code types, how each type is handled by built-in Camera and Safari apps, and how Universal Links can seamlessly send users to your app when scanning your QR codes.","title":"QR Code Recognition on iOS 11","originalPublishingDate":"2017-12-21T10:00:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":95,"topicIds":[95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F86CA4B8-1972-4859-A749-4952ABF1FCEA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/qr_code_recognition_in_ios_11\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/qr_code_recognition_in_ios_11\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/qr_code_recognition_in_ios_11\/qr_code_recognition_in_ios_11_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/qr_code_recognition_in_ios_11\/qr_code_recognition_in_ios_11_sd.mp4","duration":556,"availableSubtitleLanguageCodes":["eng"]}},"tech-talks-110366":{"id":"tech-talks-110366","staticContentId":8393,"eventContentId":110366,"eventId":"tech-talks","contentUpdatedAt":"2025-07-22T11:44:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110366","languageCode":"eng","description":"Explore how Game Center, Apple\u2019s social gaming network, helps players discover and engage with your game. Learn about Game Center and App Store features that can help you connect with new players and keep them coming back, as well as Apple technologies designed to deliver powerful gameplay experiences.","title":"Use Game Center to boost discovery and engagement","originalPublishingDate":"2023-05-03T07:00:00-07:00","publishingExpiryDate":"2028-05-03T07:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"958A7E2B-F9AB-4B9A-BF1D-2FA5809E8FF2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110366\/5\/B6285F1D-AD99-4EE8-956B-FD3C46604F1C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110366\/5\/B6285F1D-AD99-4EE8-956B-FD3C46604F1C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110366\/5\/B6285F1D-AD99-4EE8-956B-FD3C46604F1C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110366\/5\/B6285F1D-AD99-4EE8-956B-FD3C46604F1C\/downloads\/tech-talks-110366_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110366\/5\/B6285F1D-AD99-4EE8-956B-FD3C46604F1C\/downloads\/tech-talks-110366_sd.mp4","duration":1218,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"resources":[3025,3024,3023,827]}},"tech-talks-111372":{"id":"tech-talks-111372","staticContentId":9049,"eventContentId":111372,"eventId":"tech-talks","contentUpdatedAt":"2025-05-22T09:03:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111372","languageCode":"eng","description":"Discover how the power of A17 Pro can help you maximize your game on iPhone 15 Pro and iPhone 15 Pro Max. We\u2019ll share best practices and technical resources, and explore ways to optimize game performance, input, and asset management.","title":"Bring your high-end game to iPhone 15 Pro","originalPublishingDate":"2023-11-09T08:00:00-08:00","publishingExpiryDate":"2033-11-09T08:00:00-08:00","platforms":["iOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E1F05E33-E4C1-4B1A-A9B5-DC30F4B2F708","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111372\/3\/0849CEA3-A0B7-455C-AA2D-50F6C441BAED\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111372\/3\/0849CEA3-A0B7-455C-AA2D-50F6C441BAED\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111372\/3\/0849CEA3-A0B7-455C-AA2D-50F6C441BAED\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111372\/3\/0849CEA3-A0B7-455C-AA2D-50F6C441BAED\/downloads\/tech-talks-111372_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111372\/3\/0849CEA3-A0B7-455C-AA2D-50F6C441BAED\/downloads\/tech-talks-111372_sd.mp4","duration":1017,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10108","wwdc2023-10123","wwdc2023-10124","wwdc2023-10125","wwdc2022-10103","wwdc2022-110403","tech-talks-110339"],"resources":[3131]}},"tech-talks-110337":{"id":"tech-talks-110337","staticContentId":7467,"eventContentId":110337,"eventId":"tech-talks","contentUpdatedAt":"2022-10-10T18:13:02-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110337","languageCode":"eng","description":"Learn how you can match color requirements in demanding pro workflows using Reference Mode on the 12.9-inch iPad Pro with Liquid Retina XDR display. We'll show you how Reference Mode enables you to represent color accurately and provide consistent image representation in workflows like review and approval, compositing, and color grading. We'll also go over APIs to use with Reference Mode, explore its capabilities and supported media formats, and discover how Reference Mode enhances Sidecar.","title":"Discover Reference Mode","originalPublishingDate":"2022-10-11T06:00:00-07:00","publishingExpiryDate":"2032-10-11T06:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":91,"topicIds":[84,95,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"64725C62-28B5-40BE-B422-DDF568F90564","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110337\/2\/0FD767C0-1D85-4BB8-A55D-8EAE74DB1F22\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110337\/2\/0FD767C0-1D85-4BB8-A55D-8EAE74DB1F22\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110337\/2\/0FD767C0-1D85-4BB8-A55D-8EAE74DB1F22\/downloads\/tech-talks-110337_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110337\/2\/0FD767C0-1D85-4BB8-A55D-8EAE74DB1F22\/downloads\/tech-talks-110337_sd.mp4","duration":770,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["wwdc2022-10113","wwdc2022-10114","wwdc2022-110565","wwdc2021-10161","wwdc2020-10009"]}},"tech-talks-111384":{"id":"tech-talks-111384","staticContentId":9094,"eventContentId":111384,"eventId":"tech-talks","contentUpdatedAt":"2023-12-07T09:23:12-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111384","languageCode":"eng","description":"Find out how the new Journaling Suggestions API can help people reflect on the small moments and big events in their lives though your app \u2014 all while protecting their privacy. Learn how to leverage the API to retrieve assets and metadata for journaling suggestions, invoke a picker on top of the app, let people save suggested content, and more.","title":"Discover the Journaling Suggestions API","originalPublishingDate":"2023-12-07T09:00:00-08:00","publishingExpiryDate":"2033-12-07T21:00:00-08:00","platforms":["iOS"],"primaryTopicID":83,"topicIds":[92,95,99,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5C78D89F-822B-470D-9B0D-2F4A9FE4ACF1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111384\/3\/FFA38871-9375-4419-8A4A-33414B9A8EF3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111384\/3\/FFA38871-9375-4419-8A4A-33414B9A8EF3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111384\/3\/FFA38871-9375-4419-8A4A-33414B9A8EF3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111384\/3\/FFA38871-9375-4419-8A4A-33414B9A8EF3\/downloads\/tech-talks-111384_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111384\/3\/FFA38871-9375-4419-8A4A-33414B9A8EF3\/downloads\/tech-talks-111384_sd.mp4","duration":845,"availableAudioLanguageCodes":["eng"]}},"tech-talks-506":{"id":"tech-talks-506","staticContentId":2887,"eventContentId":506,"eventId":"tech-talks","contentUpdatedAt":"2021-09-13T07:51:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/506","languageCode":"eng","description":"Learn about the Set Top Box APIs, what they do, and how they help make the Apple TV setup easier for your customers. Learn how this framework fits into the development for the Apple TV Distribution Program.","title":"Apple TV Set Top Box APIs","originalPublishingDate":"2019-05-10T00:02:00-07:00","platforms":["tvOS"],"keywords":["apple tv","apple tv app","apple tv distribution program","apple tv set top box","authentication","authentication context","set top box","set top box api","set top box apis","set top box authentication overview","single sign on","sso","stb","stb api","tv","\uf8fftv","video subscriber account","video subscriber account framework","vsa","zero sign on","zso"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"10274E2B-EE93-455A-88B2-A96925EE4728","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/Apple_TV_Set_Top_Box_APIs_AD\/Apple_TV_Set_Top_Box_APIs_AD\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/Apple_TV_Set_Top_Box_APIs_AD\/Apple_TV_Set_Top_Box_APIs_AD\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/Apple_TV_Set_Top_Box_APIs_AD\/Apple_TV_Set_Top_Box_APIs_AD\/Apple_TV_Set_Top_Box_APIs_AD_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Apple_TV_Provider\/Apple_TV_Set_Top_Box_APIs_AD\/Apple_TV_Set_Top_Box_APIs_AD\/Apple_TV_Set_Top_Box_APIs_AD_sd.mp4","duration":187,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["tech-talks-504","tech-talks-505","tech-talks-507","tech-talks-508","tech-talks-509"],"resources":[470]}},"tech-talks-10168":{"id":"tech-talks-10168","staticContentId":6669,"eventContentId":10168,"eventId":"tech-talks","contentUpdatedAt":"2023-06-02T22:12:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10168","languageCode":"eng","description":"Learn how you can easily convert your existing custom intents to App Intents. We'll take you through the conversion of your intents to Swift and discuss how you can improve discoverability of your app features when you create App Shortcuts.\n\nTo learn more about App Intents, watch \"Implement App Shortcuts with App Intents\" and \"Dive into App Intents\" from WWDC22.","title":"Migrate custom intents to App Intents","originalPublishingDate":"2023-02-01T08:00:00-08:00","publishingExpiryDate":"2033-02-01T00:00:00-08:00","primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"94BEF857-44DA-4015-AD3C-247FA866B8CE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10168\/3\/561D9E4F-CCD2-44D2-A224-DB2F1A2AE40D\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10168\/3\/561D9E4F-CCD2-44D2-A224-DB2F1A2AE40D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10168\/3\/561D9E4F-CCD2-44D2-A224-DB2F1A2AE40D\/downloads\/tech-talks-10168_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10168\/3\/561D9E4F-CCD2-44D2-A224-DB2F1A2AE40D\/downloads\/tech-talks-10168_sd.mp4","duration":1040,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10032","wwdc2022-10169","wwdc2022-10170"]}},"tech-talks-110336":{"id":"tech-talks-110336","staticContentId":7123,"eventContentId":110336,"eventId":"tech-talks","contentUpdatedAt":"2025-04-24T12:03:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110336","languageCode":"eng","description":"Apple Pay provides an easy and secure way for people to make payments in your iOS, iPadOS, and watchOS apps as well as on the web. We'll take you through the entire Apple Pay implementation workflow \u2013 including how you can signal support for Apple Pay, request payment and handling updates, and add order details at the end of a payment flow to help people track their purchases.","title":"Implement Apple Pay and order management","originalPublishingDate":"2023-02-01T08:00:00-08:00","publishingExpiryDate":"2033-02-01T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"99769F7D-6333-45D4-B975-571CB3A137FE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110336\/5\/09F28C6C-5EAC-4617-BBE5-D7493276AF00\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110336\/5\/09F28C6C-5EAC-4617-BBE5-D7493276AF00\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110336\/5\/09F28C6C-5EAC-4617-BBE5-D7493276AF00\/downloads\/tech-talks-110336_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110336\/5\/09F28C6C-5EAC-4617-BBE5-D7493276AF00\/downloads\/tech-talks-110336_sd.mp4","duration":1044,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","kor","zho"]},"related":{"activities":["wwdc2023-10114"],"resources":[2939,2546,2544,2224,792,102,101,66]}},"tech-talks-110152":{"id":"tech-talks-110152","staticContentId":6426,"eventContentId":110152,"eventId":"tech-talks","contentUpdatedAt":"2024-12-03T11:51:35-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110152","languageCode":"eng","description":"Learn how to write clear and succinct purpose strings to help people understand why your app needs access to protected resources like their camera, location, and health data. We\u2019ll take you through best practices to help craft concise purpose strings and show you how you can improve wording in permission requests.","title":"Write clear purpose strings","originalPublishingDate":"2022-12-01T10:00:00-08:00","publishingExpiryDate":"2032-12-01T10:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8360AD30-2616-4FC7-97DD-6C599222A687","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110152\/3\/E551B6C8-0C14-4CB1-91A9-366D505E4CB3\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110152\/3\/E551B6C8-0C14-4CB1-91A9-366D505E4CB3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110152\/3\/E551B6C8-0C14-4CB1-91A9-366D505E4CB3\/downloads\/tech-talks-110152_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110152\/3\/E551B6C8-0C14-4CB1-91A9-366D505E4CB3\/downloads\/tech-talks-110152_sd.mp4","duration":637,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","kor","zho"]},"related":{"activities":["tech-talks-10885","tech-talks-110352"],"resources":[2977,2976,2975]}},"tech-talks-10891":{"id":"tech-talks-10891","staticContentId":6179,"eventContentId":10891,"eventId":"tech-talks","contentUpdatedAt":"2025-01-16T15:10:28-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10891","languageCode":"eng","description":"Discover the latest platform changes for deploying macOS Monterey in your business or education organization. Learn about changes to initial enrollment, ongoing management, and return to service including managing software updates and the new Erase All Content and Settings feature for macOS.","title":"Prepare your organization for macOS Monterey","originalPublishingDate":"2022-01-19T08:00:00-08:00","platforms":["macOS"],"keywords":["deployment","device management","enterprise","macos monterey"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8E579EFC-F0DD-4F2B-8409-18A801C1084A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10891\/7\/92B43BCF-DB0F-47D8-AA6D-3F801281C398\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10891\/7\/92B43BCF-DB0F-47D8-AA6D-3F801281C398\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10891\/7\/92B43BCF-DB0F-47D8-AA6D-3F801281C398\/downloads\/tech-talks-10891_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10891\/7\/92B43BCF-DB0F-47D8-AA6D-3F801281C398\/downloads\/tech-talks-10891_sd.mp4","duration":1920,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2021-10129","wwdc2021-10130","wwdc2021-10136","wwdc2021-10232","wwdc2021-10297","wwdc2020-10139","tech-talks-10870","tech-talks-10890"],"resources":[1528,1345,581,329]}},"tech-talks-10890":{"id":"tech-talks-10890","staticContentId":6178,"eventContentId":10890,"eventId":"tech-talks","contentUpdatedAt":"2023-06-02T22:12:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10890","languageCode":"eng","description":"Discover the latest platform changes for deploying iOS 15 and iPadOS 15 in your business or education organization. Learn about deploying both organization-owned and personally-owned iPhone and iPad devices. Explore fundamentals and new updates for deployment workflows including enrollment, ongoing management, content distribution, and re-deployment.","title":"Deploy iOS 15 in your organization","originalPublishingDate":"2022-01-19T08:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["deployment","device management","enterprise","ios 15"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9A911E84-D9B9-4241-A5FB-19E59A818413","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10890\/6\/1D04B875-38C0-439A-A718-76103DCBE9FC\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10890\/6\/1D04B875-38C0-439A-A718-76103DCBE9FC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10890\/6\/1D04B875-38C0-439A-A718-76103DCBE9FC\/downloads\/tech-talks-10890_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10890\/6\/1D04B875-38C0-439A-A718-76103DCBE9FC\/downloads\/tech-talks-10890_sd.mp4","duration":1741,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2021-10129","wwdc2021-10130","wwdc2021-10136","wwdc2020-10138","tech-talks-10891"],"resources":[1528,1345,584,330,329]}},"tech-talks-111378":{"id":"tech-talks-111378","staticContentId":9062,"eventContentId":111378,"eventId":"tech-talks","contentUpdatedAt":"2024-02-08T08:12:48-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111378","languageCode":"eng","description":"Apple devices can connect to multiple networks at the same time. Learn how your app can automatically select the best one for an optimal experience. Explore the different types of networks and review their characteristics. And discover how to use URLSession and Network framework to best describe your needs, so the system can intelligently choose the best interface for your app at all times.","title":"Adapt to changing network conditions","originalPublishingDate":"2024-02-08T08:00:00-08:00","publishingExpiryDate":"2034-02-08T08:00:00-08:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5CEBEFFD-5413-4F9F-961C-3FFEFC0E002C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111378\/1\/9C6D10DC-D9D4-43E8-BF45-A2DCB3A9CD0E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111378\/1\/9C6D10DC-D9D4-43E8-BF45-A2DCB3A9CD0E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111378\/1\/9C6D10DC-D9D4-43E8-BF45-A2DCB3A9CD0E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111378\/1\/9C6D10DC-D9D4-43E8-BF45-A2DCB3A9CD0E\/downloads\/tech-talks-111378_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111378\/1\/9C6D10DC-D9D4-43E8-BF45-A2DCB3A9CD0E\/downloads\/tech-talks-111378_sd.mp4","duration":536,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2021-10094"],"resources":[3649]}},"tech-talks-202":{"id":"tech-talks-202","staticContentId":1996,"eventContentId":202,"eventId":"tech-talks","contentUpdatedAt":"2024-05-31T13:05:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/202","languageCode":"eng","description":"Learn how to update your app for Apple TV 4K, including how to take advantage of new capabilities such as retina image support, HDR video, and the new motion capabilities of the Siri Remote.","title":"Updating Your App for Apple TV 4K","originalPublishingDate":"2017-09-12T10:00:00-07:00","platforms":["tvOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0986F20D-E4F8-453A-B635-FAF8743D2288","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/202uhvrcg65c7\/updating_your_app_for_apple_tv_4k\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/202uhvrcg65c7\/updating_your_app_for_apple_tv_4k\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/202uhvrcg65c7\/updating_your_app_for_apple_tv_4k\/updating_your_app_for_apple_tv_4k_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/202uhvrcg65c7\/updating_your_app_for_apple_tv_4k\/updating_your_app_for_apple_tv_4k_sd.mp4","duration":169,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2021-10161","tech-talks-501","tech-talks-502","wwdc2017-202","wwdc2017-209","wwdc2017-224"],"resources":[256,13]}},"tech-talks-111381":{"id":"tech-talks-111381","staticContentId":9072,"eventContentId":111381,"eventId":"tech-talks","contentUpdatedAt":"2025-09-08T12:22:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111381","languageCode":"eng","description":"Adding Apple Pay to your website elevates your customer experience. Learn how to present Apple Pay as a payment option, validate your merchant session, and authenticate and process payments. You\u2019ll also find out how to configure your environment, set up transactions using the Apple Pay demo site, and test your implementation.","title":"Get started with Apple Pay on the Web","originalPublishingDate":"2024-02-08T08:00:00-08:00","publishingExpiryDate":"2034-02-08T08:00:00-08:00","platforms":["iOS","iPadOS","macOS","visionOS"],"primaryTopicID":98,"topicIds":[83,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1C0FBAE6-0489-4D2E-8085-9FC9D445DB31","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111381\/1\/5390DD57-0C09-48CF-B913-BE4CA90D712B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111381\/1\/5390DD57-0C09-48CF-B913-BE4CA90D712B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111381\/1\/5390DD57-0C09-48CF-B913-BE4CA90D712B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111381\/1\/5390DD57-0C09-48CF-B913-BE4CA90D712B\/downloads\/tech-talks-111381_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111381\/1\/5390DD57-0C09-48CF-B913-BE4CA90D712B\/downloads\/tech-talks-111381_sd.mp4","duration":1368,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":38,"title":"Apple Pay Overview","end":252},{"start":252,"title":"Configure Environment","end":404},{"start":404,"title":"Implement Apple Pay","end":1284},{"start":1284,"title":"Test Solution","end":1368}]},"related":{"activities":["wwdc2023-10262"],"resources":[4105,3648,3647,3646,2224,102]}},"tech-talks-10696":{"id":"tech-talks-10696","staticContentId":3328,"eventContentId":10696,"eventId":"tech-talks","contentUpdatedAt":"2025-06-09T06:49:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10696","languageCode":"eng","description":"Ever wonder how the system decides what app should open a given file? Explore the Uniform Type Identifiers framework, which helps you simplify the process for supporting standard or proprietary file formats in your app. You\u2019ll learn how to use the new framework and Xcode to declare the types your app supports, discover how to boost performance when you adopt UTTypes, and review the latest platform APIs that support UTTypes.","title":"Uniform Type Identifiers \u2014 a reintroduction","originalPublishingDate":"2020-11-17T10:00:00-08:00","publishingExpiryDate":"2035-06-08T00:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6CD7066D-12BE-4C7E-8ADA-22A801E6AA0E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10696\/2\/368BE18F-8FF4-4704-AF5A-DB0EB1CD067D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10696\/2\/368BE18F-8FF4-4704-AF5A-DB0EB1CD067D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10696\/2\/368BE18F-8FF4-4704-AF5A-DB0EB1CD067D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10696\/2\/368BE18F-8FF4-4704-AF5A-DB0EB1CD067D\/downloads\/tech-talks-10696_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10696\/2\/368BE18F-8FF4-4704-AF5A-DB0EB1CD067D\/downloads\/tech-talks-10696_sd.mp4","duration":1466,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10056","wwdc2022-10062"]}},"tech-talks-111428":{"id":"tech-talks-111428","staticContentId":10701,"eventContentId":111428,"eventId":"tech-talks","contentUpdatedAt":"2026-06-08T13:30:02-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111428","languageCode":"eng","description":"Discover how Xcode 26.3 seamlessly integrates coding agents like OpenAI Codex and Claude Agent to work together on complex, multi-step tasks. Learn how Xcode enables coding agents to build projects, run tests, and search Apple documentation \u2013 all through the Model Context Protocol.","title":"Meet agentic coding in Xcode","originalPublishingDate":"2026-02-03T09:00:00-08:00","publishingExpiryDate":"2036-02-03T09:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AD8802EF-89D0-4F03-A66E-5D51F404D076","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111428\/7\/5f526083-7440-4c97-8078-86a95e569cb3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111428\/7\/5f526083-7440-4c97-8078-86a95e569cb3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111428\/7\/5f526083-7440-4c97-8078-86a95e569cb3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111428\/7\/5f526083-7440-4c97-8078-86a95e569cb3\/downloads\/tech-talks-111428_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111428\/7\/5f526083-7440-4c97-8078-86a95e569cb3\/downloads\/tech-talks-111428_sd.mp4","duration":263,"availableAudioLanguageCodes":["eng"]},"related":{"resources":[4118,4117,4116]}},"tech-talks-210":{"id":"tech-talks-210","staticContentId":3316,"eventContentId":210,"eventId":"tech-talks","contentUpdatedAt":"2024-05-09T17:03:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/210","languageCode":"eng","description":"The Share Sheet provides a convenient way to share information from your current context with other apps, people, and services. Discover the details on using the Link Presentation framework to present shared URLs in a rich and consistent way, how to create a Share Extension configured to recommend recipients managed by your messaging app in the Share Sheet UI, and learn best practices for ensuring your users sharing experience is optimized for all platforms.","title":"What's New in Sharing","originalPublishingDate":"2019-11-20T00:00:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"10E2FE92-AA84-42C2-B1B1-5C59B0BFC0DF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20190910\/201gkmn78ytrxz\/whats_new_in_sharing\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20190910\/201gkmn78ytrxz\/whats_new_in_sharing\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20190910\/201gkmn78ytrxz\/whats_new_in_sharing\/whats_new_in_sharing_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20190910\/201gkmn78ytrxz\/whats_new_in_sharing\/whats_new_in_sharing_sd.mp4","duration":395,"availableSubtitleLanguageCodes":["eng"]}},"tech-talks-10888":{"id":"tech-talks-10888","staticContentId":6111,"eventContentId":10888,"eventId":"tech-talks","contentUpdatedAt":"2026-01-29T12:18:59-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10888","languageCode":"eng","description":"Help make your App Store product page even more relevant and effective with product page optimization. We\u2019ll explore details of the feature, take you through the setup process in App Store Connect including how to test different app icons, screenshots and app previews, and share testing strategies to help you get started with your product page optimization efforts.","title":"Get started with product page optimization","originalPublishingDate":"2022-01-19T08:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[88,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5C84AC51-1DC8-4781-AB39-89689479E907","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10888\/4\/75B3FC7F-CB21-4CED-B75E-5FB0A7A9ACCE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10888\/4\/75B3FC7F-CB21-4CED-B75E-5FB0A7A9ACCE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10888\/4\/75b3fc7f-cb21-4ced-b75e-5fb0a7a9acce\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10888\/4\/75B3FC7F-CB21-4CED-B75E-5FB0A7A9ACCE\/downloads\/tech-talks-10888_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10888\/4\/75B3FC7F-CB21-4CED-B75E-5FB0A7A9ACCE\/downloads\/tech-talks-10888_sd.mp4","duration":1690,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2021-10295","tech-talks-110349"],"resources":[2321,123]}},"tech-talks-801":{"id":"tech-talks-801","staticContentId":1993,"eventContentId":801,"eventId":"tech-talks","contentUpdatedAt":"2024-05-31T13:06:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/801","languageCode":"eng","description":"iPhone X features an all-screen Super Retina display, providing more space to display content and create deeply immersive experiences. Learn how to design your app or game to look and feel great on iPhone X, and all iOS devices.","title":"Designing for iPhone X","originalPublishingDate":"2017-09-12T10:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["design","ios","ios 11","layout","ui","uikit","user experience","user interface","visual design"],"primaryTopicID":87,"topicIds":[84,100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"938B47D9-7669-43DE-ADB0-8A214AD8667A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/801xy9x7h32rn\/designing_for_iphone_x\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/801xy9x7h32rn\/designing_for_iphone_x\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/801xy9x7h32rn\/designing_for_iphone_x\/designing_for_iphone_x_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/801xy9x7h32rn\/designing_for_iphone_x\/designing_for_iphone_x_sd.mp4","duration":770,"availableAudioLanguageCodes":["en","eng","zho"],"availableSubtitleLanguageCodes":["eng","zho"]},"related":{"activities":["wwdc2018-235","tech-talks-201","tech-talks-207"],"resources":[10]}},"tech-talks-10868":{"id":"tech-talks-10868","staticContentId":4855,"eventContentId":10868,"eventId":"tech-talks","contentUpdatedAt":"2026-06-08T12:29:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10868","languageCode":"eng","description":"Subscription offer codes can help you acquire, retain, and win back subscribers as you grow your business. Learn about configuration options, creating a great experience, and measuring redemptions. We\u2019ll explore how to set up customer eligibility, territory, price, and expiration in App Store Connect. And we'll take you through managing your offers, integrating them into your application and backend systems, and measuring performance.","title":"Subscription offer codes","originalPublishingDate":"2021-03-10T10:00:00-08:00","publishingExpiryDate":"2031-03-08T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["in-app purchases","subscription","subscription business model","subscription marketing"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B8C1ADE7-9BB3-4E4C-B395-9A1932538FE9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10868\/2\/F1E54F32-9D1E-41EA-9669-5810588B788F\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10868\/2\/F1E54F32-9D1E-41EA-9669-5810588B788F\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10868\/2\/F1E54F32-9D1E-41EA-9669-5810588B788F\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10868\/2\/F1E54F32-9D1E-41EA-9669-5810588B788F\/downloads\/tech-talks-10868_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10868\/2\/F1E54F32-9D1E-41EA-9669-5810588B788F\/downloads\/tech-talks-10868_sd.mp4","duration":1752,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["articles-11057","tech-talks-803"],"resources":[1508,1507,1506,1427,1423]}},"tech-talks-201":{"id":"tech-talks-201","staticContentId":2000,"eventContentId":201,"eventId":"tech-talks","contentUpdatedAt":"2024-12-03T10:51:39-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/201","languageCode":"eng","description":"iPhone X has a beautiful new screen that will make your app look great. You may need to make some changes in your app to accommodate the new screen's size and rounded corners. Learn about some common pitfalls and see how you can take advantage of iOS 11's Safe Area and layout guides to make sure your app looks the best it can.","title":"Building Apps for iPhone X","originalPublishingDate":"2017-09-12T10:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FA95C3D9-3FD7-4996-8055-7553014C4359","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/201qy4t11tjpm\/building_apps_for_iphone_x\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/201qy4t11tjpm\/building_apps_for_iphone_x\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/201qy4t11tjpm\/building_apps_for_iphone_x\/building_apps_for_iphone_x_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/201qy4t11tjpm\/building_apps_for_iphone_x\/building_apps_for_iphone_x_sd.mp4","duration":815,"availableAudioLanguageCodes":["en","eng","zho"],"availableSubtitleLanguageCodes":["eng","zho"]},"related":{"activities":["wwdc2018-235","tech-talks-207","tech-talks-209","tech-talks-801","wwdc2017-204","wwdc2017-219","wwdc2017-412"],"resources":[261,82]}},"tech-talks-10854":{"id":"tech-talks-10854","staticContentId":4663,"eventContentId":10854,"eventId":"tech-talks","contentUpdatedAt":"2024-12-02T14:50:25-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10854","languageCode":"eng","description":"Bring your music service to HomePod and help users enjoy your content hands-free throughout their home. Discover how to build a great integration from start to finish. We'll take you through how Media Intents work, configuring your app as a preferred music service on HomePod and integrating directly with your cloud backend, providing a personalized playback experience for individual accounts with the help of voice recognition (where available), and more.\n\nTo learn more about Media Intents, check out \"Expand your SiriKit Media Intents to more platforms\" from WWDC20.","title":"Integrate SiriKit Media Intents with HomePod","originalPublishingDate":"2020-10-21T10:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["homepod","siri","sirikit","sirikit media intents"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"15C4999F-C727-44A9-8D44-1219A1393B7E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10854\/2\/C2B22618-49BB-40D1-9200-92792599B1F3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10854\/2\/C2B22618-49BB-40D1-9200-92792599B1F3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10854\/2\/C2B22618-49BB-40D1-9200-92792599B1F3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10854\/2\/C2B22618-49BB-40D1-9200-92792599B1F3\/downloads\/tech-talks-10854_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10854\/2\/C2B22618-49BB-40D1-9200-92792599B1F3\/downloads\/tech-talks-10854_sd.mp4","duration":2369,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2020-10060","wwdc2020-10061","wwdc2019-207"],"resources":[1350,12]}},"tech-talks-803":{"id":"tech-talks-803","staticContentId":2581,"eventContentId":803,"eventId":"tech-talks","contentUpdatedAt":"2024-05-09T17:24:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/803","languageCode":"eng","description":"Providing a great subscription experience within your app makes it easier to acquire new subscribers. Learn how to more clearly communicate the value of your subscriptions, streamline your sign up flow, and make subscriptions appealing and effortless.","title":"Designing for Subscription Success","originalPublishingDate":"2018-09-12T11:00:00-07:00","platforms":["iOS","iPadOS","tvOS"],"keywords":["design","design best practices","design patterns","sampling","subscription","subscriptions"],"primaryTopicID":86,"topicIds":[87,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"96BB2ACE-1B7D-4C0E-A0EE-8B9211FE4D1D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/803b0tqqpfjflrad\/designing_for_subscription_success\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/803b0tqqpfjflrad\/designing_for_subscription_success\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/803b0tqqpfjflrad\/designing_for_subscription_success\/designing_for_subscription_success_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/803b0tqqpfjflrad\/designing_for_subscription_success\/designing_for_subscription_success_sd.mp4","duration":552,"availableAudioLanguageCodes":["en","eng","zho"],"availableSubtitleLanguageCodes":["eng","zho"]},"related":{"activities":["insights-112","tech-talks-10868","tech-talks-110345"],"resources":[466,448]}},"tech-talks-110147":{"id":"tech-talks-110147","staticContentId":6359,"eventContentId":110147,"eventId":"tech-talks","contentUpdatedAt":"2023-06-02T22:12:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110147","languageCode":"eng","description":"Graphically-intensive games can be very demanding on hardware resources, requiring hundreds or even thousands of CPU jobs to be processed every frame. We\u2019ll show you how you can organize those jobs to maximize CPU efficiency and performance on the M1, M1 Pro, and M1 Max chips. Learn how you can fine-tune your games to deliver a better overall experience to your players.","title":"Tune CPU job scheduling for Apple silicon games","originalPublishingDate":"2021-12-07T10:00:00-08:00","platforms":["macOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"33AE8E32-6223-4C22-873B-BE56A86D0CB1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110147\/5\/85495F5D-BC41-496B-8CD3-89B94981C257\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110147\/5\/85495F5D-BC41-496B-8CD3-89B94981C257\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110147\/5\/85495F5D-BC41-496B-8CD3-89B94981C257\/downloads\/tech-talks-110147_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110147\/5\/85495F5D-BC41-496B-8CD3-89B94981C257\/downloads\/tech-talks-110147_sd.mp4","duration":2107,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]}},"tech-talks-503":{"id":"tech-talks-503","staticContentId":2042,"eventContentId":503,"eventId":"tech-talks","contentUpdatedAt":"2024-04-26T15:22:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/503","languageCode":"eng","description":"Starting with tvOS 11.2, Apple TV 4K can automatically switch video display modes to match the native frame rate and dynamic range of video content. With tvOS 11.3, Apple TV (4th generation) can also automatically switch video display modes to match native frame rate. Learn how to make sure your app and video content are ready to support this capability using AVDisplayManager and AVDisplayCriteria.","title":"Introduction to AVDisplayManager","originalPublishingDate":"2017-10-30T10:00:00-07:00","platforms":["tvOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"57E5DD60-D38B-424A-A035-46109302353E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Introduction_to_AVDisplayManager\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Introduction_to_AVDisplayManager\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Introduction_to_AVDisplayManager\/Introduction_to_AVDisplayManager_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/Introduction_to_AVDisplayManager\/Introduction_to_AVDisplayManager_sd.mp4","duration":380,"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["tech-talks-501","wwdc2017-504","wwdc2017-515"],"resources":[276]}},"tech-talks-10067":{"id":"tech-talks-10067","staticContentId":6561,"eventContentId":10067,"eventId":"tech-talks","contentUpdatedAt":"2024-06-10T13:47:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10067","languageCode":"eng","description":"Discover how you can sync files faster and more efficiently within your iPhone and iPad apps when you create a File Provider extension. Sync up with the File Provider team and learn how to build a modern File Provider for iOS. We\u2019ll show you how to architect your app to support seamless file sync, uploads, and downloads. And we\u2019ll explore how you can go stateless and fortify your file provider against unexpected conditions.\n\nTo get the most out of this session, we recommend having experience with File Providers on macOS.","title":"Bring desktop class sync to iOS with FileProvider","originalPublishingDate":"2022-10-11T06:00:00-07:00","publishingExpiryDate":"2032-10-11T06:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["cloud","download","fileprovider","file provider","files","filesystem","file system","sync","synchronization","synchronize","upload"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C640545E-9DF7-467B-8935-450D8D13118B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10067\/3\/F8DADC3E-4CC2-4165-AD4A-5B6A2DBFCF29\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10067\/3\/F8DADC3E-4CC2-4165-AD4A-5B6A2DBFCF29\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10067\/3\/F8DADC3E-4CC2-4165-AD4A-5B6A2DBFCF29\/downloads\/tech-talks-10067_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10067\/3\/F8DADC3E-4CC2-4165-AD4A-5B6A2DBFCF29\/downloads\/tech-talks-10067_sd.mp4","duration":627,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["wwdc2021-10182"],"resources":[1694,651,85,84]}},"tech-talks-802":{"id":"tech-talks-802","staticContentId":2580,"eventContentId":802,"eventId":"tech-talks","contentUpdatedAt":"2024-05-31T13:14:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/802","languageCode":"eng","description":"Apple Watch Series 4 provides new opportunities for designers and developers to do more with their apps. Series 4 watches have new displays with larger dimensions, and other enhancements that allow developers to deliver richer and more immersive experiences.","title":"Designing for Apple Watch Series 4","originalPublishingDate":"2018-09-12T11:00:00-07:00","platforms":["watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1DEF121E-A381-4602-BD58-0ABC02B0A579","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/802xfgu0ylbq0q0w\/designing_for_apple_watch_series_4\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/802xfgu0ylbq0q0w\/designing_for_apple_watch_series_4\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/802xfgu0ylbq0q0w\/designing_for_apple_watch_series_4\/designing_for_apple_watch_series_4_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20180912\/802xfgu0ylbq0q0w\/designing_for_apple_watch_series_4\/designing_for_apple_watch_series_4_sd.mp4","duration":566,"availableAudioLanguageCodes":["en","eng","zho"],"availableSubtitleLanguageCodes":["eng","zho"]},"related":{"activities":["tech-talks-208"],"resources":[430,14]}},"tech-talks-111431":{"id":"tech-talks-111431","staticContentId":10695,"eventContentId":111431,"eventId":"tech-talks","contentUpdatedAt":"2026-03-20T14:09:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111431","languageCode":"eng","description":"Take a deep dive into the advanced graphics features of the M5 and A19 GPUs. Learn how to greatly accelerate graphics workloads for games and improve pro workflows for apps. Plus, find out how to get the best performance possible by using brand-new profiling tools to tune your apps for M5 GPUs.","title":"Boost your graphics performance with the M5 and A19 GPUs","originalPublishingDate":"2026-03-20T00:00:00-07:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":91,"topicIds":[94,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7223C3B9-A3BD-4A8A-928A-F3A0D075EF7D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111431\/4\/27118c43-4a0e-4a12-a7f0-f87e9eab405f\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111431\/4\/27118c43-4a0e-4a12-a7f0-f87e9eab405f\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111431\/4\/27118c43-4a0e-4a12-a7f0-f87e9eab405f\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111431\/4\/27118c43-4a0e-4a12-a7f0-f87e9eab405f\/downloads\/tech-talks-111431_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111431\/4\/27118c43-4a0e-4a12-a7f0-f87e9eab405f\/downloads\/tech-talks-111431_sd.mp4","duration":2108,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["tech-talks-111374","wwdc2025-211","tech-talks-111432","tech-talks-111375"]}},"tech-talks-602":{"id":"tech-talks-602","staticContentId":2006,"eventContentId":602,"eventId":"tech-talks","contentUpdatedAt":"2025-01-15T14:08:43-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/602","languageCode":"eng","description":"The seamless integration of Metal 2 with the A11 Bionic chip lets your apps and games realize entirely new levels of performance and capability. Get introduced to powerful new API features and GPU-driven capabilities of Metal 2 on A11, including imageblocks, tile shading, enhancements to raster order groups, imageblock sample coverage control, and threadgroup sharing. Understand the architecture of the Apple-designed A11 GPU and see how it creates opportunities for advances in rendering, compute, and machine learning techniques.","title":"Metal 2 on A11 - Overview","originalPublishingDate":"2017-09-12T10:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"14F7C803-70C7-479E-A2CC-C53DE48600CA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/602x28bbwk8lp\/metal_on_iphone_x_overview\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/602x28bbwk8lp\/metal_on_iphone_x_overview\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/602x28bbwk8lp\/metal_on_iphone_x_overview\/metal_on_iphone_x_overview_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/20170912\/602x28bbwk8lp\/metal_on_iphone_x_overview\/metal_on_iphone_x_overview_sd.mp4","duration":970,"availableAudioLanguageCodes":["en","eng","zho"],"availableSubtitleLanguageCodes":["eng","zho"]},"related":{"activities":["wwdc2020-10602","tech-talks-603","tech-talks-604","tech-talks-605","tech-talks-606","tech-talks-608","tech-talks-10858","wwdc2017-601"],"resources":[268,263,38,31]}},"tech-talks-401":{"id":"tech-talks-401","staticContentId":1988,"eventContentId":401,"eventId":"tech-talks","contentUpdatedAt":"2024-05-09T17:20:54-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/401","languageCode":"eng","description":"Web Inspector is packed with features designed to make inspection, debugging and delivery of your web content a breeze. Get an overview of the latest features including major layouts, tabs, buttons, and other capabilities that make Web Inspector a powerful web development tool.","title":"Web Inspector Walkthrough","originalPublishingDate":"2017-12-21T10:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":98,"topicIds":[88,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BFCED7A0-BE26-4623-8252-40C22C5DC04B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/web_inspector_walkthrough\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/web_inspector_walkthrough\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/web_inspector_walkthrough\/web_inspector_walkthrough_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tutorials\/web_inspector_walkthrough\/web_inspector_walkthrough_sd.mp4","duration":353,"availableSubtitleLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10118","wwdc2023-10279","tech-talks-402","wwdc2017-202","wwdc2016-420","wwdc2014-512"]}},"tech-talks-10857":{"id":"tech-talks-10857","staticContentId":4670,"eventContentId":10857,"eventId":"tech-talks","contentUpdatedAt":"2025-12-23T13:03:50-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10857","languageCode":"eng","description":"When you implement complex view hierarchies in your app, you may run into animation hitches. Demystify how your views are turned into pixels during the render phase, and learn how to use Instruments to uncover issues in this part of the render loop. Discover how to eliminate offscreen passes and leverage Xcode optimization opportunities in order to provide a great experience when using your app.","title":"Demystify and eliminate hitches in the render phase","originalPublishingDate":"2020-12-21T00:00:00-08:00","publishingExpiryDate":"2026-12-21T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["animation hitches","hitches","render phase","xcode"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9DD99CCF-1898-406D-A2F6-D5348D5BDA91","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10857\/2\/25CEDA38-B91E-45A8-A305-76B8025F8320\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10857\/2\/25CEDA38-B91E-45A8-A305-76B8025F8320\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10857\/2\/25CEDA38-B91E-45A8-A305-76B8025F8320\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10857\/2\/25CEDA38-B91E-45A8-A305-76B8025F8320\/downloads\/tech-talks-10857_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10857\/2\/25CEDA38-B91E-45A8-A305-76B8025F8320\/downloads\/tech-talks-10857_sd.mp4","duration":1164,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10099","tech-talks-10855"]}},"tech-talks-111463":{"id":"tech-talks-111463","staticContentId":11314,"eventContentId":111463,"eventId":"tech-talks","contentUpdatedAt":"2026-09-17T12:34:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111463","languageCode":"eng","description":"Learn how to create responsive, flexible layouts that work great on iPhone Duo. Explore displacement design patterns that keep content visible and reachable as people open and close their iPhone Duo. Discover how to use arrangement views in SwiftUI and UIKit to build split and overlay presentations, and find out how to query reserved regions to tailor layouts around the hinge and cameras.","title":"Strike a pose with adaptive layouts on iPhone Duo","originalPublishingDate":"2026-09-09T10:02:00-07:00","platforms":["iOS"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FB8AD507-3A1E-473D-ACFE-1B682C432928","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111463\/1\/dcd8d7bb-94d3-4f48-bd2b-e3a6e10fec1e\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111463\/1\/dcd8d7bb-94d3-4f48-bd2b-e3a6e10fec1e\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111463\/1\/dcd8d7bb-94d3-4f48-bd2b-e3a6e10fec1e\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111463\/1\/dcd8d7bb-94d3-4f48-bd2b-e3a6e10fec1e\/downloads\/tech-talks-111463_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111463\/1\/dcd8d7bb-94d3-4f48-bd2b-e3a6e10fec1e\/downloads\/tech-talks-111463_sd.mp4","duration":1081,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en"],"chapters":[{"start":0,"title":"Introduction","summary":"Maria, a Human Interface Designer on Apple's design system, and Harry, a UI Frameworks engineer, introduce how to create layouts that adapt to the unique characteristics of iPhone Duo.","end":27},{"start":27,"title":"Reserved regions on iPhone Duo","summary":"iPhone Duo has multiple displays, each with its own size class, plus hardware features that shape the available space \u2014 the hinge and the cameras on the outer and inner displays. These are called reserved regions, and you treat them like any other area your layout adapts to, such as window controls on iPadOS.","end":89},{"start":89,"title":"Designing around the hinge","summary":"When the device is partially folded like a book, the hinge divides the inner display into multiple usable regions as the display curves through the center. Just as a photo spread across a book's spine stops reading as one continuous image, content and controls that span the fold become harder to see.","end":146},{"start":146,"title":"Displacement patterns","summary":"Many interfaces flow naturally around reserved regions, while others benefit from displacement \u2014 adjusting the frame of existing elements based on available space. Displacement can scope from a single button to an entire container. Move elements independently when they can adapt alone, together when they work as a unit, and avoid excessive movement that weakens visual relationships. Continuously scrolling content like articles and feeds shouldn't displace.","end":240},{"start":240,"title":"Choose where content moves","summary":"Let purpose guide where content moves, and note that the right destination changes with how the device is used. Partially folded like a book, alerts move to the trailing side, closer to where they'll appear as the device closes. Propped on a table, the top region suits content viewed at a distance while the bottom suits interactive controls. When multiple regions work, keep things contextual.","end":312},{"start":312,"title":"Adapt content to its new region","summary":"Position and size change most often, but other visual properties adapt too. The system automatically repositions action sheets, alerts, menus, and popovers around reserved regions to keep them fully visible. In a split view like Reminders it keeps both columns visible with an even split, and a grid can preserve outer margins while increasing spacing around the hinge. Throughout, you're moving, resizing, or reorganizing what's already there.","end":399},{"start":399,"title":"Query reserved regions","summary":"In SwiftUI, query reserved regions with the new reservedRegion method on a GeometryProxy from GeometryReader or the onGeometryChange modifier. In UIKit, use the reservedRegion method on UIView. Query a region's frame to incorporate it into your layout. The fold is backed by a division region, because it divides a larger area into smaller ones.","end":470},{"start":470,"title":"Division and occlusion regions","summary":"Regions can be active or inactive; only active ones are returned by default, but the includeInactive query option surfaces the rest. The fold's division region is active only when the device is folded, and has zero width when flat \u2014 inactive regions still support high-level decisions, like preferring an even number of grid columns. Occlusion regions occlude rather than divide, and represent the FaceTime camera.","end":519},{"start":519,"title":"System containers that adapt","summary":"Navigation containers like NavigationStack, NavigationSplitView, and TabView provide common navigation patterns, while content containers like List and ScrollView hold your content. Both adapt to the fold for free.","end":560},{"start":560,"title":"Introducing arrangements","summary":"A layout container sits between navigation and content containers, arranging two views according to a set of rules called an arrangement. Using the Podcasts Now Playing and transcript views as an example, an arrangement is a function of inputs \u2014 size classes, the view's aspect ratio, and any active division regions \u2014 to outputs, like whether to show a view and what frame it gets. iOS 27.1 makes system-provided arrangements available in your app.","end":677},{"start":677,"title":"Build with ArrangementView","summary":"An ArrangementView takes a primary and a secondary view \u2014 here a player view and an up-next view \u2014 and goes inside a NavigationStack. In UIKit, use UIArrangementViewController as the root view controller of your UINavigationController, configuring the primary and secondary view controllers.","end":720},{"start":720,"title":"Configure the split arrangement","summary":"Set the preferred arrangement with the arrangementViewStyle modifier; the default split style divides its bounds between the primary and secondary views. It splits horizontally when the view is wider than it is tall and vertically when taller. Restrict this with the axes method, and note that when the arrangement can't split along its primary axis it shows only a single view. In UIKit, use the update arrangement method with UISplitArrangement.","end":801},{"start":801,"title":"Use the overlay arrangement","summary":"Unlike split, the overlay arrangement prefers positioning content above or below, moving to side by side when the device folds. Query the overlayArrangementZIndex environment property to respond as the user folds and unfolds \u2014 useful for switching between collapsed and expanded versions of a view. In UIKit, use the state for view placement method on UIArrangementViewController and read the returned state's Z index.","end":879},{"start":879,"title":"Choose between arrangements","summary":"Follow your app's existing patterns: HStack or VStack layouts translate to the split arrangement, ZStack layouts to overlay. Without an existing pattern, choose overlay when there's a clear foreground\/background relationship \u2014 as in Accessibility Reader, where partially obscuring scrollable content is acceptable \u2014 and split when there's a main\/detail relationship, as with the Podcasts transcript where neither view should be obscured.","end":969},{"start":969,"title":"When not to use an arrangement","summary":"ArrangementViews don't provide navigation infrastructure, so avoid putting navigation containers like NavigationSplitView inside one. Because of how List and ScrollView behave, avoid putting an ArrangementView inside a scrollable container.","end":994},{"start":994,"title":"Next steps","summary":"Audit your app's centered layouts and consider whether a two-column layout or a displacement pattern fits. Standard system containers and presentations give you a lot of behavior for free. For custom horizontal split or overlay layouts, consider ArrangementView, and adopt the ReservedRegions API for your highest-priority manually laid out controls.","end":1081}]},"related":{"activities":["tech-talks-111462","tech-talks-111464","meet-with-apple-285","meet-with-apple-286"],"resources":[4368,4367]}},"tech-talks-111466":{"id":"tech-talks-111466","staticContentId":11309,"eventContentId":111466,"eventId":"tech-talks","contentUpdatedAt":"2026-09-17T12:35:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111466","languageCode":"eng","description":"iPhone Duo is the first folding iPhone and comes with a reimagined iOS. Get to know the design principles behind the updated software, explore how controls move between different poses, and learn where your layout needs to adapt and why.","title":"Design for iPhone Duo","originalPublishingDate":"2026-09-09T10:05:00-07:00","platforms":["iOS"],"keywords":["fold","hinge"],"primaryTopicID":87,"topicIds":[90,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DC792262-D58D-41A5-9B4A-A13D311F69E1","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111466\/1\/980a0539-ceb6-4452-b0e8-e47ae3347068\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111466\/1\/980a0539-ceb6-4452-b0e8-e47ae3347068\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111466\/1\/980a0539-ceb6-4452-b0e8-e47ae3347068\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111466\/1\/980a0539-ceb6-4452-b0e8-e47ae3347068\/downloads\/tech-talks-111466_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111466\/1\/980a0539-ceb6-4452-b0e8-e47ae3347068\/downloads\/tech-talks-111466_sd.mp4","duration":645,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en"],"chapters":[{"start":0,"title":"Introduction","summary":"Marcos and Vince from the Apple Design team introduce the design principles behind the device and how to design apps that look and feel great across all the various configurations of iPhone Duo.","end":28},{"start":28,"title":"Design principles","summary":"iPhone Duo can be used, held and sat down in many different poses. Buttons and controls have been moved to the outer edge of the display to maximize vertical space. When folded, content automatically moves away from the center. Split View multitasking and video PiP mean that apps and their controls can appear at different aspect ratios and should support resizability.","end":222},{"start":222,"title":"Adapting your design","summary":"Don't design a custom layout for each pose, instead focus on two sizes classes: compact and regular. Build your interface using layout margins and safe area insets to avoid having your UI obscured. If you're considering a bespoke layout for a specific pose, make sure functionality and general hierarchy is preserved. ","end":307},{"start":307,"title":"Positioning controls","summary":"On iPhone Duo, you should position your toolbars, tab bars and controls along the side of the device so they're easier to reach. Controls share this vertical space with dynamic elements like live activities and the status bar. If there's not enough room, controls will collapse into an overflow menu. Exceptions to this rule are controls that are too wide to fit in this vertical space.","end":393},{"start":393,"title":"Designing for the outer display","summary":"On iPhone Duo, most content needs an offset so it isn't hidden behind controls. Safe area inserts provide this functionality automatically. However, Immersive, highly visual interfaces that don't scroll may still benefit from centering on the full display. You can also mix approaches, like using a full-width background image with written content that's inset.","end":454},{"start":454,"title":"Designing for the inner display","summary":"Take advantage of the wide inner display to show more content. Split views are a great option to surface more of your app hierarchy. You can also rearrange your UI into a two column layout. ","end":516},{"start":516,"title":"Sheet behavior","summary":"On iPhone Duo, sheets adapt in different ways depending on the pose. On the outer display, they can be presented with vertical controls. On the inner display, they use horizontal bars. When the device is folded, sheets slide over to avoid resting in the fold. ","end":568},{"start":568,"title":"Fold avoidance","summary":"Built into system components is a behavior that nudges interactive elements away from the center when iPhone Duo is partially folded. Except for scrollable content, keep interactive elements away from the hinge as much as possible.","end":601},{"start":601,"title":"Conclusion","summary":"Your app should feel like a single experience that adapts different display sizes and poses. By supporting resizability, your app will feel at home on iPhone Duo.","end":645}]},"related":{"activities":["tech-talks-111462","tech-talks-111463"],"resources":[4368,430]}},"tech-talks-111464":{"id":"tech-talks-111464","staticContentId":11315,"eventContentId":111464,"eventId":"tech-talks","contentUpdatedAt":"2026-09-17T12:33:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111464","languageCode":"eng","description":"Discover how to build rich multiwindow and multidisplay experiences for iPhone Duo. Explore how to handle dynamic window sizes and request new scenes in side-by-side multitasking. Learn how to observe hinge angle changes in SwiftUI and UIKit to create interactive effects. And find out how to use scene accessories to present supplementary content across both displays simultaneously.","title":"Leverage multiple displays and scenes on iPhone Duo","originalPublishingDate":"2026-09-09T10:01:00-07:00","platforms":["iOS"],"keywords":["duo preview","kid cue"],"primaryTopicID":100,"topicIds":[95,101,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"522B679D-C336-41B9-8641-81561CD99AC7","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111464\/1\/b6d9b8a0-71ba-4f7a-acfc-4fb339dae7ff\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111464\/1\/b6d9b8a0-71ba-4f7a-acfc-4fb339dae7ff\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111464\/1\/b6d9b8a0-71ba-4f7a-acfc-4fb339dae7ff\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111464\/1\/b6d9b8a0-71ba-4f7a-acfc-4fb339dae7ff\/downloads\/tech-talks-111464_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111464\/1\/b6d9b8a0-71ba-4f7a-acfc-4fb339dae7ff\/downloads\/tech-talks-111464_sd.mp4","duration":437,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en"],"chapters":[{"start":0,"title":"Introduction","summary":"Chris Donegan, an engineering manager in UI Frameworks, and Alex Muller, a system experience engineer, introduce how to take advantage of the unique features of iPhone Duo: responding to the hinge, supporting split view multitasking, and using scene accessories across multiple displays.","end":49},{"start":49,"title":"Respond to the hinge","summary":"SwiftUI provides a new onHingeChange modifier and UIKit provides UIHingeInteraction. Both report the high-level hinge status \u2014 closed, partially open, and fully open \u2014 as well as continuous updates of the hinge angle.","end":78},{"start":78,"title":"Drive a pitch bend with hinge angle","summary":"A walkthrough of adding a whammy-bar pitch bend to a playable guitar app. The onHingeChange modifier takes a closure with the previous and current hinge context. Check for a non-null hinge, since null indicates a device without one, and filter for the partially open state \u2014 adding an else condition to reset the pitch bend when the angle isn't being read.","end":155},{"start":155,"title":"Hinge data versus layout APIs","summary":"Hinge data is observed live and is ideal for driving interactions or effects. For layout, use the arrangement and region APIs covered in \"Strike a pose with adaptive layouts on iPhone Duo\" instead.","end":179},{"start":179,"title":"Split view multitasking","summary":"All apps participate in multitasking on iPhone Duo, where two apps sit side by side. If your app already supports resizing on iPad or iPhone mirroring, you're off to a great start. iPhone Duo also introduces a new layout stacking video and apps together, which your app handles the same way, using tools like size classes and scene geometry.","end":218},{"start":218,"title":"Support multiple scenes","summary":"iPhone Duo is the first iPhone to support multiple instances of your app's UI, and apps that support this on iPad will too. One difference: new windows can't be created on the outer display \u2014 that's reserved for the inner display. Handle errors when requesting new scenes, and use the UIWindowSceneActivation action, which hides itself automatically when new windows aren't available.","end":262},{"start":262,"title":"Scene accessories","summary":"Scene accessories let your app show content on multiple displays at once, pairing additional content with your main UI \u2014 like using an iPhone as a controller for a game on an external display. The system dynamically controls their availability; they're enabled by default but can be toggled at any time, so respond to availability changes using observation tracking.","end":300},{"start":300,"title":"The camera capture accessory","summary":"New for camera apps on iPhone Duo, CameraCaptureAccessory pairs additional UI on the outer display while your main UI stays on the inner display \u2014 useful for showing content to someone while photographing or recording them. It's available when your app is full screen on the inner display with an active camera session, and you register it on the same view as your camera UI.","end":334},{"start":334,"title":"Build a teleprompter accessory","summary":"A walkthrough of adding a teleprompter on the outer display of a camera app. The SceneAccessory modifier adds a camera capture accessory to the camera view, so the teleprompter appears only when that view is visible. A toolbar button then toggles the enabled state of the teleprompter model, and the onAvailabilityChange modifier provides a callback to disable that button when the accessory isn't available, such as when the device is closed.","end":404},{"start":404,"title":"Next steps","summary":"Update your app to support split view multitasking, use the Hinge API to build impressive interactions and effects, and adopt scene accessories so your app can span multiple displays.","end":437}]},"related":{"activities":["tech-talks-111463","tech-talks-111461","tech-talks-111465","meet-with-apple-285","meet-with-apple-286"],"resources":[4367]}},"tech-talks-10855":{"id":"tech-talks-10855","staticContentId":4667,"eventContentId":10855,"eventId":"tech-talks","contentUpdatedAt":"2025-12-23T13:03:43-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10855","languageCode":"eng","description":"Explore how you can improve the performance of your app's user interface by identifying scrolling and animation hitches in your app. We'll take you through how hitches happen in the render loop, and explain how to measure hitch time ratio and fix the issues that most impact people using your app.","title":"Explore UI animation hitches and the render loop","originalPublishingDate":"2020-12-21T00:00:00-08:00","publishingExpiryDate":"2026-12-21T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["ui animation hitches","xcode"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A52D52A3-84E0-4DC4-A13C-25FA7FA7B925","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10855\/2\/822707DC-DB98-4BD0-914C-F1FA37A6A1F0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10855\/2\/822707DC-DB98-4BD0-914C-F1FA37A6A1F0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10855\/2\/822707DC-DB98-4BD0-914C-F1FA37A6A1F0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10855\/2\/822707DC-DB98-4BD0-914C-F1FA37A6A1F0\/downloads\/tech-talks-10855_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10855\/2\/822707DC-DB98-4BD0-914C-F1FA37A6A1F0\/downloads\/tech-talks-10855_sd.mp4","duration":714,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10160","wwdc2023-10248","wwdc2021-10181","wwdc2021-10252","tech-talks-10856","tech-talks-10857"]}},"tech-talks-111427":{"id":"tech-talks-111427","staticContentId":10692,"eventContentId":111427,"eventId":"tech-talks","contentUpdatedAt":"2026-01-07T13:35:18-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111427","languageCode":"eng","description":"Learn to bring your ideas to life with the Apple Design Resources. In this overview, we\u2019ll explore the resources Apple has to offer, show you how to access them, and share quick and helpful tips for new designers.","title":"Discover the Apple Design Resources","originalPublishingDate":"2026-01-06T08:00:00-08:00","publishingExpiryDate":"2036-01-06T08:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E33D82A1-F3B1-48B2-871A-EF5A2344CFE3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111427\/1\/53076005-fa99-43e2-bd5c-f3b928f40bc7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111427\/1\/53076005-fa99-43e2-bd5c-f3b928f40bc7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111427\/1\/53076005-fa99-43e2-bd5c-f3b928f40bc7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111427\/1\/53076005-fa99-43e2-bd5c-f3b928f40bc7\/downloads\/tech-talks-111427_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111427\/1\/53076005-fa99-43e2-bd5c-f3b928f40bc7\/downloads\/tech-talks-111427_sd.mp4","duration":334,"availableAudioLanguageCodes":["eng"]},"related":{"resources":[3111,430]}},"tech-talks-111465":{"id":"tech-talks-111465","staticContentId":11316,"eventContentId":111465,"eventId":"tech-talks","contentUpdatedAt":"2026-09-17T15:34:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111465","languageCode":"eng","description":"Discover how to leverage the outer and inner cameras on iPhone Duo. Explore the Virtual Front Camera, and find out how to use the direction coordinator to switch between cameras and update your UI as people open and close iPhone Duo. Learn best practices for handling preview aspect ratios, positioning, and rotation to deliver a seamless capture experience.","title":"Build a great camera experience for iPhone Duo","originalPublishingDate":"2026-09-09T10:00:00-07:00","platforms":["iOS"],"primaryTopicID":95,"topicIds":[100,95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"684E42E7-A897-4EC9-B908-CBAF987EABAA","images":["square","wide"],"availablePathExtensions":["jpg","heic"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111465\/1\/8972028b-c66c-469e-a410-df980b33271c\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111465\/1\/8972028b-c66c-469e-a410-df980b33271c\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111465\/1\/8972028b-c66c-469e-a410-df980b33271c\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111465\/1\/8972028b-c66c-469e-a410-df980b33271c\/downloads\/tech-talks-111465_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/111465\/1\/8972028b-c66c-469e-a410-df980b33271c\/downloads\/tech-talks-111465_sd.mp4","duration":567,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en"],"chapters":[{"start":0,"title":"Introduction","summary":"Tarun from the camera software team introduces the new camera features on iPhone Duo: the new front cameras, handling camera direction changes when people open or close the device, and tips for polishing your app's camera preview.","end":31},{"start":31,"title":"Meet the new front cameras","summary":"iPhone Duo is the first iPhone with two front cameras, both square sensors with an ultrawide field of view. The outer ultrawide camera sits on the outside of the device, while opening it reveals the inner ultrawide camera \u2014 the first under-display camera on iPhone.","end":58},{"start":58,"title":"Discover the virtual front camera","summary":"Stream from the front cameras through AVFoundation, using AVCaptureDeviceDiscoverySession with position .front and the wide or ultrawide device type. On iPhone Duo this discovers the new virtual front camera, which automatically switches between the inner physical camera when open and the outer one when closed, always using the most relevant camera for your app.","end":113},{"start":113,"title":"Access each camera individually","summary":"Each front camera has its own AVCaptureDevice type \u2014 built-in outer ultrawide and built-in inner ultrawide \u2014 giving access to each camera's full capabilities. The inner camera supports 1080p up to 60fps, the outer up to 4K and 120fps. The virtual front camera exposes only features common to both, meaning 1080p and 60fps, and depth is supported only when accessing the individual cameras.","end":166},{"start":166,"title":"Track camera direction","summary":"When using individual cameras, your app is responsible for switching as people open or close the device \u2014 use the new AVCaptureDeviceDirectionCoordinator. AVCaptureDevice's position property has always been back or front, and both front cameras report front, but on iPhone Duo the displays can face opposite directions, so a front camera isn't always looking at you. The coordinator keeps your app up to date on where cameras are facing.","end":243},{"start":243,"title":"Create a direction coordinator","summary":"A direction coordinator needs three things: your app's UIView, the device types to monitor, and a change handler. When your view is on the outer display, outer front cameras report as forward-facing and rear cameras as backward-facing. Opening the device moves your view to the inner display and calls your change handler, which then reports the inner front camera as forward-facing.","end":290},{"start":290,"title":"Use both displays at once","summary":"A camera app can use both displays simultaneously \u2014 useful for a group video call, or for showing a child something fun while photographing them. With a separate UIView per display, create a separate direction coordinator for each, since each reports positions relative to its own view. Camera apps enable this with the SceneAccessories API, covered in \"Leverage multiple displays and scenes on iPhone Duo\".","end":338},{"start":338,"title":"Work with device descriptors","summary":"Because the direction coordinator is tied to a view, it's isolated to the main actor, so your change handler shouldn't use AVFoundation APIs directly. Instead of an AVCaptureDevice, the coordinator provides an AVCaptureDeviceDescriptor \u2014 a main-actor-safe, sendable representation containing everything needed to create an AVCaptureDevice, which you can safely pass to your camera actor.","end":377},{"start":377,"title":"Handle a direction change","summary":"When your change handler is called, reconfigure your AVCaptureSession to keep streaming from the forward-facing camera. Consider how the new direction affects mirroring \u2014 mirror the preview when the rear camera is forward-facing for a natural selfie experience \u2014 and perform any UI updates your app needs. The direction coordinator is found in AVKit.","end":423},{"start":423,"title":"Polish your camera preview","summary":"Streaming the rear camera's full field of view on the inner display leaves extra space around the preview: offset the preview to group controls in the remaining space, or let it fill the display. Use videoGravity on AVCaptureVideoPreviewLayer to control layout within the layer bounds. When streaming from the ultrawide front cameras, use dynamicAspectRatio on AVCaptureDevice to select a landscape aspect ratio and fill the display.","end":483},{"start":483,"title":"Handle rotation","summary":"Adopt AVCaptureDeviceRotationCoordinator to keep your camera preview and photos upright. On iPhone Duo it updates when your app moves between displays, so rotation is applied consistently. After adopting it, disable camera sensor orientation compensation \u2014 enabled on all iPhone Duo front cameras \u2014 to improve performance.","end":527},{"start":527,"title":"Next steps","summary":"Use the iOS 27.1 SDK to take full advantage of iPhone Duo, decide how your app will handle switching cameras when the device opens or closes, adopt a direction coordinator if you want to move beyond the virtual front camera, and test that your camera preview looks great.","end":567}]},"related":{"activities":["wwdc2026-341","tech-talks-111464"],"resources":[4371,4370,4369]}},"tech-talks-110364":{"id":"tech-talks-110364","staticContentId":8391,"eventContentId":110364,"eventId":"tech-talks","contentUpdatedAt":"2023-06-02T22:12:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110364","languageCode":"eng","description":"Learn about the newest pricing capabilities available on the App Store. We\u2019ll walk through enhanced global pricing, new tools to manage pricing by storefront, additional price points, and global equalization. We\u2019ll also share configuration examples.","title":"Explore App Store pricing upgrades","originalPublishingDate":"2023-05-02T07:00:00-07:00","publishingExpiryDate":"2028-05-02T07:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"48084BF7-3A45-47DE-8529-EDD66A0D8195","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110364\/5\/69A1B6A9-370C-413E-9A19-24B09E2FEB52\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110364\/5\/69A1B6A9-370C-413E-9A19-24B09E2FEB52\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110364\/5\/69A1B6A9-370C-413E-9A19-24B09E2FEB52\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110364\/5\/69A1B6A9-370C-413E-9A19-24B09E2FEB52\/downloads\/tech-talks-110364_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110364\/5\/69A1B6A9-370C-413E-9A19-24B09E2FEB52\/downloads\/tech-talks-110364_sd.mp4","duration":1735,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"resources":[3033,3032,3031,3030]}},"tech-talks-110150":{"id":"tech-talks-110150","staticContentId":6424,"eventContentId":110150,"eventId":"tech-talks","contentUpdatedAt":"2023-06-02T22:12:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/110150","languageCode":"eng","description":"Discover how you can complement existing offer codes campaigns with custom, repeatable codes to provide even more flexibility to acquire and retain subscribers. We'll take you through the latest enhancements to offer codes, provide engineering guidance, explore best practices, and show you how to create new codes for your subscriptions.","title":"Get started with custom offer codes","originalPublishingDate":"2022-04-21T10:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[89,88,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F42953C5-409B-4F41-918B-F443719E7E94","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110150\/5\/53004602-8AEC-4285-B8C9-400EC4F44035\/cmaf.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110150\/5\/53004602-8AEC-4285-B8C9-400EC4F44035\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110150\/5\/53004602-8AEC-4285-B8C9-400EC4F44035\/downloads\/tech-talks-110150_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/110150\/5\/53004602-8AEC-4285-B8C9-400EC4F44035\/downloads\/tech-talks-110150_sd.mp4","duration":1021,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]}},"tech-talks-10858":{"id":"tech-talks-10858","staticContentId":4677,"eventContentId":10858,"eventId":"tech-talks","contentUpdatedAt":"2025-06-25T12:59:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10858","languageCode":"eng","description":"Explore how Metal is bringing sophisticated rendering and powerful compute features to A14 Bionic. We\u2019ll take you through the Metal capabilities delivered in the Apple GPU Family 7 feature set, including new texture addressing modes, fast SIMD reduction and matrix multiplication operations, and a deep dive into implementing a visibility buffer using barycentric coordinates and primitive ID.","title":"Discover Metal enhancements for A14 Bionic","originalPublishingDate":"2020-10-21T10:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":91,"topicIds":[88,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8994966B-70AB-4994-9985-816F23F2B40A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10858\/2\/870884DF-CCA3-41E5-9AAC-9A3DCBF0615E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10858\/2\/870884DF-CCA3-41E5-9AAC-9A3DCBF0615E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10858\/2\/870884DF-CCA3-41E5-9AAC-9A3DCBF0615E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10858\/2\/870884DF-CCA3-41E5-9AAC-9A3DCBF0615E\/downloads\/tech-talks-10858_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10858\/2\/870884DF-CCA3-41E5-9AAC-9A3DCBF0615E\/downloads\/tech-talks-10858_sd.mp4","duration":1737,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2021-10161","wwdc2020-10602","wwdc2020-10677","wwdc2020-10685","wwdc2019-614","tech-talks-602","tech-talks-608","tech-talks-10859"],"resources":[56,38]}},"tech-talks-10023":{"id":"tech-talks-10023","staticContentId":3467,"eventContentId":10023,"eventId":"tech-talks","contentUpdatedAt":"2025-06-09T06:49:52-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/10023","languageCode":"eng","description":"Apple Pro Display XDR is a high grade reference monitor designed for professional workflows such as video editing, photography, 3D animation and game development. Discover how you can use underlying technology and framework-level support to improve your professional workflows for content authoring. Learn how to make your workflows more capable and more accurate using Pro Display XDR reference modes and macOS color management tools. And explore best practices and tips to make your reference workflows true to life.","title":"Support Apple Pro Display XDR in your apps","originalPublishingDate":"2020-11-17T10:00:00-08:00","publishingExpiryDate":"2035-06-08T00:00:00-07:00","platforms":["macOS"],"keywords":["display","display p3"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"885F2F5F-E5A6-4920-9143-B5F92624D421","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10023\/2\/857014B5-75E9-49DD-865D-AAA43AFDAE58\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10023\/2\/857014B5-75E9-49DD-865D-AAA43AFDAE58\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10023\/2\/857014B5-75E9-49DD-865D-AAA43AFDAE58\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10023\/2\/857014B5-75E9-49DD-865D-AAA43AFDAE58\/downloads\/tech-talks-10023_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/tech-talks\/10023\/2\/857014B5-75E9-49DD-865D-AAA43AFDAE58\/downloads\/tech-talks-10023_sd.mp4","duration":1644,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10161"]}},"wwdc2025-290":{"id":"wwdc2025-290","staticContentId":9991,"eventContentId":290,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/290","languageCode":"eng","description":"Discover exciting new APIs to enhance windows, volumes, and immersive spaces in your visionOS app. Fine tune the behavior of your scenes when relaunched or locked in place. Make volumes adapt to their surroundings with clipping margins and snapping. Stream immersive content from Mac to Vision Pro. Elevate your existing UIKit-based apps with volumes and immersive spaces.","title":"Set the scene with SwiftUI in visionOS","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["visionOS"],"primaryTopicID":100,"topicIds":[87,85,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F087EB1E-4EB5-429B-BDCC-E37E1698306B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/290\/4\/fb07fe18-8745-4cfd-8448-1879b8f207dc\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/290\/4\/fb07fe18-8745-4cfd-8448-1879b8f207dc\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/290\/4\/fb07fe18-8745-4cfd-8448-1879b8f207dc\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/290\/4\/fb07fe18-8745-4cfd-8448-1879b8f207dc\/downloads\/wwdc2025-290_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/290\/4\/fb07fe18-8745-4cfd-8448-1879b8f207dc\/downloads\/wwdc2025-290_sd.mp4","duration":1491,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"In visionOS 26 you can use new APIs for scenes \u2014 windows, volumes, and immersive spaces \u2014 enabling you to create more dynamic and interactive apps. New features include life cycle APIs, volumetric enhancements, 'RemoteImmersiveSpace' for previewing on Apple Vision Pro, and scene-bridging APIs for UIKit apps.","end":131},{"start":131,"title":"Launching and locking","summary":"The new APIs in visionOS 26 help you manage app launch and scene restoration, and enable you to create more immersive experiences. People can now lock windows, volumes, and widgets to specific rooms, allowing virtual content to persist in their physical surroundings. \n\nThe system automatically restores locked windows when someone returns to the associated room, but you can disable restoration for transient elements like welcome screens or context-dependent UI by using the 'restorationBehavior(.disabled)' modifier.\n\nYou can also customize the app's launch behavior, dynamically choosing which window to display based on app state with the 'defaultLaunchBehavior' modifier. \n\nUnique windows, which cannot be duplicated, are now supported via the Window API to prevent the duplication of important interfaces like game windows or video calls.","end":495},{"start":495,"title":"Volumetric enhancements","summary":"There are now several key enhancements for volumes. You can utilize the 'SurfaceSnappingInfo' API to monitor when windows and volumes snap to physical surfaces, such as walls and tables. This feature allows for more immersive experiences because you can adjust the scene based on the snapping state, like hiding platforms or adjusting props. ARKit can provide details about the snapped surface to your app, with user permission.\n\nThe update also expands presentation capabilities, enabling them to originate from various sources within volumes, ornaments, and RealityKit, with special visual treatments to ensure they remain visible behind 3D content. Customize the visual treatment by using the 'presentationBreakthroughEffect' modifier.\n\nAdditionally, using the new Clipping Margins API,  render non-interactive content outside the scene bounds of volumes, enhancing visual effects like waterfalls or clouds, while ensuring the main content remains focused and unobstructed. Read the 'windowClippingMargins' environment variable to see if the system has granted the margins. ","end":958},{"start":958,"title":"Immersive space","summary":"You can now respond to a world recentering event, allowing people to recalibrate the app's experience around them. Use the 'onWorldRecent' view modifier to listen for this event, and recompute and store positions based on the new coordinate system.\n\nvisionOS 26 also provides new customizations for immersion styles. The progressive immersion style now includes portrait aspect ratio, enabling vertical experiences and enhancing comfort during high-motion content. The mixed immersion style now allows content to blend seamlessly with system environments, creating more immersive scenarios. Use the 'immersiveEnvironmentBehavior' scene modifier with the 'coexist' behavior to enable this blending.\n\nNow, you can now bring your apps to macOS and preview scenes directly as immersive spaces on Apple Vision Pro using 'RemoteImmersiveSpaces'. This feature enables faster iteration and collaboration. Use 'CompositorLayer' to render content with Metal on your Mac, and display it on your Apple Vision Pro.\n\nThe introduction of the 'CompositorContent' builder type means you can use the full power of SwiftUI with 'CompositorLayer', making it easier to create and manage immersive experiences, both remote and local, and access environment variables, add modifiers, and use state variables.","end":1336},{"start":1336,"title":"Scene bridging","summary":"Scene Bridging in visionOS 26 enables you to add SwiftUI volumes and immersive spaces to existing UIKit apps. By extending 'UIHostingSceneDelegate', you can create SwiftUI scenes and request them using 'UISceneSessionActivationRequest', enabling apps like Safari to implement Spatial Browsing and other apps to leverage new visionOS capabilities.","end":1441},{"start":1441,"title":"Next steps","summary":"The example app enables people to create scenes that lock in place, snap to surfaces, and open remotely from a Mac. Look at your own apps and ensure they take full advantage of these new capabilities.","end":1491}]},"related":{"activities":["wwdc2025-294","wwdc2025-278","wwdc2025-274"],"resources":[4079,4039,4038,4037]}},"wwdc2025-101":{"id":"wwdc2025-101","staticContentId":10373,"eventContentId":101,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-09T11:46:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/101","languageCode":"eng","description":"Don\u2019t miss the exciting reveal of the latest Apple software and technologies.","title":"Keynote","startTime":"2025-06-09T10:00:00-07:00","endTime":"2025-06-09T12:00:00-07:00","originalPublishingDate":"2025-06-09T10:00:00-07:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"6702DB91-EB35-4327-9E73-46F87C0E87A0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/events-delivery.apple.com\/0705ssefukzgmvtafvdghmccmofevkcb\/m3u8\/vod_index-joowRJLcCBPCthnkzxWwyZCUDqDsNaCG.m3u8","duration":5546,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["de","en","es","fr","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":228},{"start":228,"title":"iOS","end":2495},{"start":2495,"title":"watchOS","end":2928},{"start":2928,"title":"tvOS","end":3215},{"start":3215,"title":"macOS","end":3983},{"start":3983,"title":"visionOS","end":4457},{"start":4457,"title":"iPadOS","end":5165},{"start":5165,"title":"Developers","end":5546}]}},"wwdc2025-364":{"id":"wwdc2025-364","staticContentId":10100,"eventContentId":364,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-09T19:39:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/364","languageCode":"eng","description":"There\u2019s so much to dive into at WWDC25. Here\u2019s a quick guide to help get you started.","title":"Welcome to WWDC25","startTime":"2025-06-09T12:00:00-07:00","endTime":"2025-06-09T12:05:00-07:00","originalPublishingDate":"2025-06-09T12:00:00-07:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"63907234-26B8-4840-9E64-A2532A1D0339","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/364\/5\/10be61a4-993c-4cbd-8e29-e70070ef347c\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/364\/5\/10be61a4-993c-4cbd-8e29-e70070ef347c\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/364\/5\/10be61a4-993c-4cbd-8e29-e70070ef347c\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/364\/5\/10be61a4-993c-4cbd-8e29-e70070ef347c\/downloads\/wwdc2025-364_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/364\/5\/10be61a4-993c-4cbd-8e29-e70070ef347c\/downloads\/wwdc2025-364_sd.mp4","duration":152,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"]}},"wwdc2025-254":{"id":"wwdc2025-254","staticContentId":9887,"eventContentId":254,"eventId":"wwdc2025","contentUpdatedAt":"2025-11-17T15:15:31-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/254","languageCode":"eng","description":"Learn to optimize your game engine with the latest advancements in Metal 4. We\u2019ll cover how to unify your command encoding to minimize CPU overhead, scale up your graphics resource management to support massive scenes and maximize your memory budget, and load large libraries of pipeline states quickly.\n\nTo get the most out of this session, first watch \u201cDiscover Metal 4.\u201d","title":"Explore Metal 4 games","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DCB887B5-53EA-433E-961D-759B9A4B4B69","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/254\/6\/a73ce35f-7f81-4203-9df3-46c48308ca6f\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/254\/6\/a73ce35f-7f81-4203-9df3-46c48308ca6f\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/254\/6\/a73ce35f-7f81-4203-9df3-46c48308ca6f\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/254\/6\/a73ce35f-7f81-4203-9df3-46c48308ca6f\/downloads\/wwdc2025-254_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/254\/6\/a73ce35f-7f81-4203-9df3-46c48308ca6f\/downloads\/wwdc2025-254_sd.mp4","duration":1941,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Intro","summary":"This is the second in a four-part series on Metal 4, the new Apple graphics API designed for modern game engines. Metal 4 enhances command encoding, resource management, and pipeline loading. Metal 4 meets the demands of current and future games which stream gigabytes of detailed geometry and textures, rendered with thousands of shaders, so they can take advantage of all the computing power available with Apple silicon.\n\nAlso watch the other parts of the series for more details on MetalFX, ray tracing, and machine learning integration.","end":93},{"start":93,"title":"Encode more efficiently","summary":"Metal 4 is designed to enhance GPU efficiency by optimizing command encoding. It introduces two main encoder classes, render and compute, which can now handle most common game operations. You can use Metal 4 to improve your encoding efficiency by reducing your encoder count, reusing your command memory, and encoding across multiple threads.","end":522},{"start":522,"title":"Scale your resource management","summary":"Metal 4 has some exciting new features to help you manage your resources at scale. Argument tables and residency sets allow you to scale your resource binding to thousands of resources. Metal 4 puts you in charge of managing your drawable resources, and gives you control over dependencies. Queue barriers provide a way to express your resource dependencies at scale. Texture view pools and placement sparse heaps help you manage the memory required by large resources.","end":1044},{"start":1044,"title":"Load pipelines quickly","summary":"Modern games need to create thousands of pipelines to create complex and dynamic visuals. Loading many pipelines quickly is crucial to eliminating shader compilation stutters and reducing your game's load time. To load pipelines quickly in Metal 4, reuse your render pipeline compilations, compile the pipelines on-device with a new level of parallelism, and compile pipelines ahead of time so your pipeline loading time reduces to near 0.","end":1885},{"start":1885,"title":"Next steps","summary":"Metal 4 APIs are designed to enable you to build the next generation of high-performance games. You can check out the documentation on the developer web site, try out the sample projects, and download the new Xcode to get started. ","end":1941}]},"related":{"activities":["wwdc2025-205","wwdc2025-211","wwdc2025-294","wwdc2025-8152","wwdc2025-8083","wwdc2025-8080","wwdc2025-8079","wwdc2025-8081","wwdc2025-8082","wwdc2025-209","wwdc2025-437","wwdc2025-262","wwdc2025-262","tech-talks-110147"],"resources":[4088,4087,4086,4085,4084,4083,4082,4052,4036,4035,3698]}},"wwdc2025-111":{"id":"wwdc2025-111","staticContentId":10374,"eventContentId":111,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-09T11:46:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/111","languageCode":"eng","description":"Don\u2019t miss the exciting reveal of the latest Apple software and technologies.","title":"Keynote (ASL)","startTime":"2025-06-09T10:00:00-07:00","endTime":"2025-06-09T12:00:00-07:00","originalPublishingDate":"2025-06-09T10:00:00-07:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"7F48A382-DAD1-4881-BD68-16D317660E1B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/events-delivery.apple.com\/0705ssefukzgmvtafvdghmccmofevkcb\/m3u8\/vod_asl_index-TYggQaxUyWuQWGBnCdiYvsAmTguaWJuG.m3u8","duration":5546,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["de","en","es","fr","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":228},{"start":228,"title":"iOS","end":2495},{"start":2495,"title":"watchOS","end":2928},{"start":2928,"title":"tvOS","end":3215},{"start":3215,"title":"macOS","end":3983},{"start":3983,"title":"visionOS","end":4457},{"start":4457,"title":"iPadOS","end":5165},{"start":5165,"title":"Developers","end":5546}]}},"wwdc2025-314":{"id":"wwdc2025-314","staticContentId":10036,"eventContentId":314,"eventId":"wwdc2025","contentUpdatedAt":"2025-09-26T05:41:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/314","languageCode":"eng","description":"Learn how to protect your app\u2019s sensitive user data from the emerging threat of quantum computing, and safeguard user privacy. We\u2019ll explore different quantum attacks, their impact on existing cryptographic protocols, and how to defend against them using quantum-secure cryptography. You\u2019ll learn how to use quantum-secure TLS to secure network data, and use CryptoKit\u2019s quantum-secure APIs for securing application data.","title":"Get ahead with quantum-secure cryptography","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["\ud83c\udf88"],"primaryTopicID":96,"topicIds":[101,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CF8CE850-F368-4EC8-ACBA-0C9A9ACA2CA8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/314\/4\/69450908-6907-44d0-9f37-9ffdec893aa2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/314\/4\/69450908-6907-44d0-9f37-9ffdec893aa2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/314\/4\/69450908-6907-44d0-9f37-9ffdec893aa2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/314\/4\/69450908-6907-44d0-9f37-9ffdec893aa2\/downloads\/wwdc2025-314_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/314\/4\/69450908-6907-44d0-9f37-9ffdec893aa2\/downloads\/wwdc2025-314_sd.mp4","duration":1209,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"The rise of quantum computing poses a significant threat to current cryptographic algorithms, which can be easily broken by quantum attacks, compromising the security of sensitive user data stored in applications. Get ahead of this risk by transitioning to quantum-secure cryptography.\n\nLearn how to protect network data using quantum-secure encryption in TLS and how to safeguard custom protocols using new quantum-secure APIs in CryptoKit.","end":78},{"start":78,"title":"Quantum attacks","summary":"Cryptography is fundamental to securing user data across various workflows, utilizing TLS for protection. However, this security is at risk from quantum attacks. \n\nQuantum computers pose two main threats: \"harvest now, decrypt later\" attacks and active quantum attacks. In the former, attackers can intercept and store encrypted data now and decrypt it in the future with quantum computing, breaking confidentiality. This passive attack affects encrypted data, especially data in transit, such as data sent by apps to servers or data synced across devices.\n\nActive quantum attacks, though not yet feasible, involve attackers using quantum computers to break cryptographic signatures, enabling them to impersonate users and forge authentication. These attacks impact apps that perform user and data authentication. Experts agree that sufficiently powerful quantum computers are imminent, necessitating immediate action to mitigate these threats.","end":289},{"start":289,"title":"Quantum-secure cryptography","summary":"Quantum attacks pose a significant risk to current cryptographic systems, and so the cryptography community  developed quantum-secure algorithms, which are ready for adoption today. \n\nClassical public-key cryptography, such as RSA and discrete log-on elliptic curves, can be completely broken by quantum computers. You need to replace these algorithms with post-quantum hybrid constructions, which combine new post-quantum algorithms with current classical ones.\n\nSymmetric-key cryptography, which includes symmetric-key encryption and message authentication codes, is weakened by quantum computers. You can make these algorithms quantum-secure by doubling the key size.\n\nThe highest priority is to migrate to quantum-secure encryption for data in transit to defend against \"harvest now, decrypt later\" attacks. Apple has already taken this step by implementing iMessage PQ3 in iOS 17.4, providing quantum-secure hybrid encryption for iMessage conversations.","end":536},{"start":536,"title":"Protecting network data","summary":"iMessage PQ3 represents a significant stride in quantum-secure messaging, but the broader protection of network data hinges on upgrading to quantum-secure TLS. TLS 1.3 uses a quantum-secure key exchange. This upgrade has already been adopted by major service providers and is enabled by default starting in iOS 26 for the recommended networking APIs 'URLSession' and 'Network.framework'. These quantum-secure networking APIs safeguard against \"harvest now, decrypt later\" attacks.\n\nYou need to migrate away from legacy networking APIs and enable quantum-secure TLS on both client and server sides.","end":728},{"start":728,"title":"Protecting custom protocols","summary":"To protect data from future quantum attacks, migrate to quantum-secure cryptography. For custom cryptography protocols, this involves inventorying current use, planning updates, and implementing these changes using CryptoKit, a Swift framework available on all Apple platforms. \n\nIn iOS 26, CryptoKit provides a new high-level quantum-secure encryption API that is performant and easy-to-use. This API is based on post-quantum hybrid public key encryption (HPKE) and has correctness guarantees because it's formally verified. Secure Enclave ensures hardware-isolated execution to enhance protection against timing and side-channel attacks. \n\nCryptoKit also has low-level quantum-secure APIs available. For key encapsulation, post-quantum HPKE uses XWing, which uses ML-KEM as its post-quantum building block. For quantum-secure signatures, ML-DSA is the post-quantum building block. Both of these implementations also have Secure Enclave support.\n\nApps that encrypt data in transit, such as those handling sensitive user information like health or geolocation data, need to use post-quantum HPKE to establish quantum-secure end-to-end encryption. Some protocols require cryptographic interoperability between the client and server, for which Swift Crypto provides a seamless development experience. The Swift Crypto library provides API compatibility with CryptoKit for servers and ensures compatibility for all the quantum-secure APIs that CryptoKit supports in iOS 26.","end":1209}]},"related":{"resources":[3974,3970,3969,480]}},"wwdc2025-306":{"id":"wwdc2025-306","staticContentId":10024,"eventContentId":306,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/306","languageCode":"eng","description":"Discover the new SwiftUI instrument. We\u2019ll cover how SwiftUI updates views, how changes in your app\u2019s data affect those updates, and how the new instrument helps you visualize those causes and effects. \n\nTo get the most out of this session, we recommend being familiar with writing apps in SwiftUI.","title":"Optimize SwiftUI performance with Instruments","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[99,100,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"86AC83CD-4F7A-40C3-B5B0-6692ECC3C03D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/306\/4\/cc55ba18-71e2-4481-8491-3473e650fdcc\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/306\/4\/cc55ba18-71e2-4481-8491-3473e650fdcc\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/306\/4\/cc55ba18-71e2-4481-8491-3473e650fdcc\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/306\/4\/cc55ba18-71e2-4481-8491-3473e650fdcc\/downloads\/wwdc2025-306_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/306\/4\/cc55ba18-71e2-4481-8491-3473e650fdcc\/downloads\/wwdc2025-306_sd.mp4","duration":2136,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction & Agenda","summary":"Learn how to optimize SwiftUI app performance with the new SwiftUI instrument and template in Instruments 26. You can use Instruments to profile your apps and identify bottlenecks, such as long view body updates and unnecessary SwiftUI updates, which can cause hitches, hangs, paused animations and transitions, and delayed scrolling. \n\nThe example app presented, called Landmarks, displays global landmarks and their distances from the user's location. See how to use the new SwiftUI instrument to improve the app's scrolling smoothness by diagnosing and resolving performance issues in the SwiftUI code.","end":139},{"start":139,"title":"Discover the SwiftUI instrument","summary":"Instruments 26 introduces a new SwiftUI instrument and template for profiling SwiftUI apps. Similar to both Time Profiler and Hangs and Hitches instruments, it helps identify performance issues. The Update Groups lane shows SwiftUI work. The remaining three lanes highlight long view body updates, long representable updates, and other updates \u2014 colored orange and red based on their likelihood of causing hitches or hangs. To use the new SwiftUI instrument, install Xcode 26 and update your device OS to the latest release.","end":260},{"start":260,"title":"Diagnose and fix long view body updates","summary":"The example uses Xcode 26 and Instruments 26 to profile the Landmarks app, which is written in SwiftUI. Begin by launching Instruments and selecting the SwiftUI template to record the app's performance. \n\nThen interact with the app on iPhone by scrolling through a list of landmarks, which loads additional views. After the recording stops, Instruments processes the data, and you can then analyze the SwiftUI track. Focus on the Long View Body Updates lane, where you can identify specific views, such as 'LandmarkListItemView', causing performance issues.\n\nBy expanding the SwiftUI track and using the Time Profiler instrument, you can delve deeper into the CPU usage during view body updates. You can discover that certain computed properties, particularly formatters used to convert and display distance data, are consuming excessive time.\n\nConsider the importance of optimizing view body runtime in SwiftUI, specifically that view bodies run on the main thread, and any delays can cause the app to miss frame deadlines, resulting in hitches. Hitches make animations appear less fluid and can negatively impact the overall user experience.\n\nTo address these performance problems in the example project, you can calculate and cache the distance string in advance, rather than performing these calculations during the view body update, ensuring smoother and more responsive app performance. \n\nIn Xcode, there's an optimization process in the 'LocationFinder' class, which manages location updates. Previously, the system calculated formatted distance strings within the view body of 'LandmarkListItemView', leading to inefficient updates. To address this, the code moves this logic to the 'LocationFinder' class. Here, the system creates and stores formatters in the initializer to be reused, avoiding redundant creation.\n\nA dictionary caches the distance strings after calculation. The 'updateDistances' function is responsible for recalculating these strings whenever the location changes. This function utilizes the previously created formatters to generate the distance string and store it in the cache.\n\nThe CoreLocation framework calls the 'locationManager(_:didUpdateLocations:)' method on its 'CLLocationManagerDelegate' object when the device's location changes. By calling 'updateDistances' within this method, the cache is kept up to date. The views then retrieve the cached distance strings, eliminating the need for recalculation during view body updates.\n\nNext, you can add a new feature: a heart button to favorite landmarks. When someone taps the button, the `toggleFavorite` function is called, updating the model data class to add or remove the landmark from the list of favorites. The view then reflects this change by displaying a filled or empty heart icon.\n\nWhen profiling the app's new favoriting feature in Instruments, you may find that the 'LandmarkListItemView' updated more frequently than expected. This unexpected behavior prompts an investigation into the view update logic, highlighting the challenges in debugging view updates in SwiftUI apps compared to UIKit apps, where traditional breakpoint-based inspection may not be as straightforward for declarative frameworks.","end":1194},{"start":1194,"title":"Understand causes and effects of SwiftUI updates","summary":"In Xcode, debugging imperative code, such as in UIKit apps, is straightforward using backtraces. However, this approach becomes less effective with SwiftUI due to its declarative nature. SwiftUI's data model, the 'AttributeGraph', manages dependencies between views, optimizing updates.\n\nWhen a SwiftUI view is declared, it conforms to the 'View' protocol and defines its appearance and behavior through the 'body' property. This 'body' property returns another 'View' value, and SwiftUI internally manages the view's state and updates using attributes.\n\nChanges to state variables trigger transactions, marking relevant attributes as outdated. SwiftUI then efficiently updates the view hierarchy during the next frame, traversing the dependency chain to refresh only the necessary parts.\n\nTo understand why a SwiftUI view updated, you can utilize the new SwiftUI Instrument Cause & Effect graph. This graph visualizes the relationships between updates, showing the chain of causes from user interactions, such as gestures, to state changes and ultimately, view body updates. By examining this graph, you can identify inefficiencies, like unnecessary updates, and optimize their code accordingly.\n\nIn the Landmarks app, the 'ModelData' class contains a 'favoritesCollection' property, which stores favorited landmarks in an array. Initially, each 'LandmarkListItemView' checked if a landmark was a favorite by accessing the entire 'favoritesCollection' array, creating a dependency between each item view and the whole array. This led to inefficient performance as whenever a favorite was added, every item view's body ran.\n\nTo address this issue, the approach was rethought. An 'Observable' data model was created for each landmark, storing its favorite status directly. Each 'LandmarkListItemView' now has its own data model, eliminating the dependency on the full array of favorites. \n\nBy implementing this change, the system only updates the necessary view body when someone toggles a favorite. This optimization significantly improves performance, as demonstrated by the reduced number of view body updates observed in the Cause & Effect graph.\n\nThe graph also shows how updates to the environment, such as changes in color scheme, can affect views. Even if a view's body doesn't need to run due to an environment update, there's still a cost associated with checking for these updates, so it's important to avoid storing frequently changing values in the environment.","end":2101},{"start":2101,"title":"Next steps","summary":"For the new SwiftUI instrument in Instruments 26, additional features, videos, and related resources on app performance analysis and improvement are available in the developer documentation.","end":2136}]},"related":{"activities":["wwdc2025-308","wwdc2023-10248","tech-talks-10855","wwdc2023-10160","wwdc2023-10156","wwdc2022-10056","wwdc2021-10022"],"resources":[3989,3977,3975,3579,1678]}},"wwdc2025-229":{"id":"wwdc2025-229","staticContentId":9918,"eventContentId":229,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/229","languageCode":"eng","description":"Learn how to integrate accessibility features that take full advantage of the power and flexibility of macOS. Go beyond the basics to learn how to support VoiceOver and Voice Control, improve the layout of your views, explore how assistive technologies navigate your content, and more.","title":"Make your Mac app more accessible to everyone","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["macOS"],"primaryTopicID":82,"topicIds":[82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"10C71140-4EC0-43AE-8547-1731147F764F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/229\/5\/85268a8c-59ed-4f8c-942d-8835f8a76dd3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/229\/5\/85268a8c-59ed-4f8c-942d-8835f8a76dd3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/229\/5\/85268a8c-59ed-4f8c-942d-8835f8a76dd3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/229\/5\/85268a8c-59ed-4f8c-942d-8835f8a76dd3\/downloads\/wwdc2025-229_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/229\/5\/85268a8c-59ed-4f8c-942d-8835f8a76dd3\/downloads\/wwdc2025-229_sd.mp4","duration":739,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Welcome","summary":"Learn about enhancing Mac app accessibility. Discover best practices for layout representation, navigation acceleration, and interaction accessibility to ensure everyone can enjoy Mac apps.","end":44},{"start":44,"title":"Layout","summary":"SwiftUI on macOS lets you make your apps accessible to everyone, particularly those who rely on VoiceOver. SwiftUI creates accessibility elements from views, but you should refine this structure for optimal navigation.\n\nKey aspects of macOS accessibility include grouping related elements into containers to create a tree-like structure, which speeds up navigation. You can use modifiers like 'accessibilityElement(children:)' to specify how views and their subviews are represented \u2014 as containers, combined elements, or ignored.\n\nFor example, in Nicholas's text editor app, improvements in the formatting inspector are made by grouping style presets and combining title and apply buttons into single elements. Additionally, use the 'accessibilitySortPriority' modifier to reorder elements, ensuring that more important information is read first.","end":468},{"start":468,"title":"Navigation","summary":"The example app's accessibility is enhanced with rotors, a VoiceOver feature that allows someone to quickly jump between specific content, such as bookmarked pages. This streamlines navigation, making it as efficient for people using VoiceOver. A new modifier in SwiftUI can suggest initial focus points.","end":592},{"start":592,"title":"Interaction","summary":"In SwiftUI apps, ensure all interactions are accessible beyond pointer-based methods. Use accessibility actions and keyboard shortcuts for people using VoiceOver, Switch Control, and Voice Control.","end":739}]},"related":{"activities":["wwdc2024-10073","wwdc2021-10119"],"resources":[3669,1798]}},"wwdc2025-202":{"id":"wwdc2025-202","staticContentId":9874,"eventContentId":202,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/202","languageCode":"eng","description":"Discover the latest features and improvements in Wallet. We\u2019ll cover how to update your boarding passes with a stunning new design, and introduce new capabilities for multi-event tickets. We\u2019ll also discuss API changes that help you seamlessly add passes to Wallet.","title":"What\u2019s new in Wallet","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"keywords":["airlines","bording pass","events","pass","passkit"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D60FA453-FFB4-4406-9334-DD359B4C530F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/202\/5\/8fe1fffa-e36b-4be6-a752-5ac3a921f7fa\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/202\/5\/8fe1fffa-e36b-4be6-a752-5ac3a921f7fa\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/202\/5\/8fe1fffa-e36b-4be6-a752-5ac3a921f7fa\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/202\/5\/8fe1fffa-e36b-4be6-a752-5ac3a921f7fa\/downloads\/wwdc2025-202_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/202\/5\/8fe1fffa-e36b-4be6-a752-5ac3a921f7fa\/downloads\/wwdc2025-202_sd.mp4","duration":1234,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"This year's Wallet updates include enhanced tickets with event info, redesigned boarding passes with flight details, and an API for automatic pass addition from iOS apps.","end":51},{"start":51,"title":"Add upcoming events to tickets","summary":"Enhanced poster event tickets now include support for upcoming events. This new feature allows people to access multiple events using a single ticket. Tapping on an upcoming event opens a detailed screen displaying event-specific artwork, venue information, a full event guide, and other relevant details. The upcoming event screen utilizes the same semantic structure introduced in iOS 18.\n\nUpcoming events can be dynamically added, updated, or removed from the pass as needed, ensuring people have the most relevant and up-to-date information for all their events on their iOS and watchOS devices.","end":428},{"start":428,"title":"Upgrade your boarding passes","summary":"The latest upgrade to Wallet boarding passes introduces a dynamic and configurable design that integrates seamlessly with Apple\u2019s flight service. These passes automatically update in real time, eliminating the need for manual refreshes due to gate changes or delays. A new Live Activity feature provides continuous flight information, and people can share this information with friends and family using Messages. The passes also include built-in flight tracking, directions to the airport via Maps, and luggage tracking with FindMy.\n\nA new section offers airline services and upgrades, detailing available actions throughout the journey. The boarding pass displays essential flight details, such as flight number, departure and arrival dates and times, gate numbers, and boarding time, which all automatically adjust based on flight updates.\n\nUpgraded boarding passes in Wallet utilize semantics to automatically generate badges displaying important passenger information, such as ticket fare class, airline status, and special service requests, like service animals and onboard wheelchairs. Standard IATA codes are used for common requests, and airlines can customize labels for unique details. \n\nWallet also populates a services and upgrade screen with buttons for actions like managing tickets, purchasing Wi-Fi, or seat upgrades, based on URLs provided in the 'pass.json' file. You can enhance additional context, such as lounge locations, by including relevant semantics.\n\nThese new features are supported on the latest versions of iOS and watchOS. Airlines should add semantics and URLs to their existing boarding passes to provide a great experience for all passengers, regardless of their device's operating system version.","end":978},{"start":978,"title":"Automatically add passes","summary":"A new 'PKPassLibrary' API enables apps to request the ability to add passes to Wallet automatically for frequent users. This streamlines the process, eliminating the need for individual user interaction each time a pass is added. Apps can request this background capability to add passes from the person once, after which the system silently adds the pass to Wallet, with a notification sent to alert the person.","end":1234}]},"related":{"activities":["wwdc2025-201","wwdc2024-10108"],"resources":[2381,104]}},"wwdc2025-311":{"id":"wwdc2025-311","staticContentId":10033,"eventContentId":311,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/311","languageCode":"eng","description":"Learn how to mix C, C++, and Swift while improving the safety of your apps. We\u2019ll show you how to find where unsafe C and C++ APIs are called in your Swift code, how to call them more safely, and how to make your app\u2019s existing C and C++ code safer by default.","title":"Safely mix C, C++, and Swift","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"372D302D-A901-4F07-B981-3C450C55899F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/311\/4\/10e5709a-8f4f-488a-92f6-f551b4ce97c5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/311\/4\/10e5709a-8f4f-488a-92f6-f551b4ce97c5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/311\/4\/10e5709a-8f4f-488a-92f6-f551b4ce97c5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/311\/4\/10e5709a-8f4f-488a-92f6-f551b4ce97c5\/downloads\/wwdc2025-311_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/311\/4\/10e5709a-8f4f-488a-92f6-f551b4ce97c5\/downloads\/wwdc2025-311_sd.mp4","duration":1931,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about app security, particularly when mixing Swift \u2014 a safe by default language \u2014 with C and C++, which can be vulnerable. Swift introduces new features to enhance safety when integrating these languages: strict memory safety, annotations for C\/C++ functions and types, and tools to make C\/C++ code safer.","end":159},{"start":159,"title":"Finding unsafe call in Swift","summary":"The example demonstrates an app written in Swift that interfaces with C and C++ code for image filters, which can introduce security risks. Swift 6.2's new Strict Memory Safety compiler mode is used to identify and flag unsafe code, mostly involving C and C++ pointers, enabling you to enhance the app's security.","end":295},{"start":295,"title":"Calling C\/C++ safely","summary":"Swift 6.2 introduces 'Span', a new safe pointer type. By annotating C\/C++ code with bounds and lifetime info, Swift can convert unsafe pointers to 'Spans', enabling safe function calls from Swift without modifying the original C\/C++ code. Learn more about Span in \"Improved memory usage and performance with Swift\".","end":445},{"start":445,"title":"Functions taking pointers","summary":"When a function takes a raw pointer, it doesn't have bounds information to prevent the function from reading or writing outside of its bounds. To enable the compiler to understand the relationship between raw pointers and their corresponding sizes, the 'counted_by' and 'noescape' annotations are necessary. When the pointer is annotated with these, the function can be called from Swift, using a Span. \n\nThe example also discusses the differences between Swift and C++ 'Span' types. While both aim to safely access contiguous memory, C++ 'Span' lacks lifetime information, which can lead to use-after-free bugs. To mitigate this, the 'noescape' annotation is used to indicate that a parameter, whether a C++ 'Span' or a raw pointer, should not be stored and used outside the function scope.\n\nBy applying these annotations and using 'Span', the example eliminates unsafe pointer usage, reduces the risk of memory-related bugs, and makes the code more maintainable and readable, all while enabling seamless interaction between Swift and C\/C++ functions.","end":1033},{"start":1033,"title":"Functions returning pointers","summary":"It can be risky to call a C\/C++ function that returns a pointer or a C++ Span, because it doesn't track if the memory it's pointing to is still valid. To mitigate this, a 'lifetimebound' annotation enables the compiler to enforce safe usage, eliminating use-after-free bugs.","end":1216},{"start":1216,"title":"Importing custom types","summary":"In Swift, certain C++ idiomatic types can be directly imported and used safely with annotations. Custom view types, which are structs containing pointers or references to memory they don't own, can be imported as non-escapable types using the 'SWIFT_NONESCAPABLE' annotation. This ensures they do not outlive the memory they point to, preventing use-after-free bugs.\n\nReference-counted types, which own the memory they refer to and track references via counting, can be imported using the 'SWIFT_SHARED_REFERENCE' annotation. This allows Swift to automatically manage their lifetime.\n\nAdditionally, function return values can be annotated as 'SWIFT_RETURNS_RETAINED' or 'SWIFT_RETURNS_UNRETAINED' to specify whether the caller is responsible for releasing or retaining the returned reference-counted object, making ownership expectations explicit and enabling Swift to manage memory safely.","end":1617},{"start":1617,"title":"Improving safety of C\/C++","summary":"Tools exist to enhance bounds safety in C and C++.\n\nXcode's C++ Standard Library Hardening enables bounds checks on standard containers and views, and errors can be turned on for unsafe pointer usage in C++. For bounds safety, set \"Enforce bounds-safe buffer usage in C++\" to yes in your project's build settings.\n\nFor C, a new language extension that you can use in Xcode guarantees bounds safety, requiring annotations to express bounds information, and inserting bounds checks at runtime. You can enable this language extension for all C files in your Xcode project's settings.","end":1848},{"start":1848,"title":"Wrap-up","summary":"Using the information in this session, you can safely mix Swift, C, and C++ code. Key steps include enabling strict memory safety in Swift, annotating unsafe C\/C++ APIs, and utilizing new bounds safety features in C\/C++. Community feedback and participation is encouraged to improve interoperability.","end":1931}]},"related":{"activities":["wwdc2025-312"],"resources":[4080,3971]}},"wwdc2025-404":{"id":"wwdc2025-404","staticContentId":10001,"eventContentId":404,"eventId":"wwdc2025","contentUpdatedAt":"2025-11-03T12:26:37-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/404","languageCode":"eng","description":"With the new design system across platforms, now\u2019s a perfect time to revisit the writing in your UI too. Learn how a few small changes, like removing repetition and leading with benefits, can quickly enhance the usability and clarity of your app.","title":"Make a big impact with small writing changes","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B533077E-165E-43D5-98B8-DBF95101C0B2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/404\/4\/59f0f7aa-24a1-477b-b61b-2baeebe52df0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/404\/4\/59f0f7aa-24a1-477b-b61b-2baeebe52df0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/404\/4\/59f0f7aa-24a1-477b-b61b-2baeebe52df0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/404\/4\/59f0f7aa-24a1-477b-b61b-2baeebe52df0\/downloads\/wwdc2025-404_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/404\/4\/59f0f7aa-24a1-477b-b61b-2baeebe52df0\/downloads\/wwdc2025-404_sd.mp4","duration":961,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about the importance of simplifying writing in apps. Eliminate filler words and repetition to tighten up copy and clearly deliver messages. Then find out how to lead with the \"why,\" and discover the use of word lists to maintain consistency throughout apps.","end":78},{"start":78,"title":"Remove fillers","summary":"In UX writing, strive for conciseness and clarity. Adjectives and adverbs are often unnecessary, and they may also imply assumptions about the person's context and experience. Although descriptive text can be useful when highlighting unique features, it should be precise and avoid pleasantries or interjections. These additions can make messages sound insincere or dismissive.","end":372},{"start":372,"title":"Avoid repetition","summary":"Strive to be concise in your UX writing by combining similar phrases into a single sentence.","end":433},{"start":433,"title":"Lead with the why","summary":"Effective messaging in apps, such as error messages, push notifications, and instructional copy, is most effective when you clearly state the benefit first, followed by the action required. ","end":563},{"start":563,"title":"Make a word list","summary":"A word list serves as a reference, ensuring use of the same terms throughout an app. This improves people's understanding of the app. Your word list should include approved words, along with synonyms or alternatives to avoid. Add definitions for clarity.","end":961}]},"related":{"resources":[3718]}},"wwdc2025-293":{"id":"wwdc2025-293","staticContentId":9997,"eventContentId":293,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/293","languageCode":"eng","description":"Discover how PermissionKit helps you enhance communication safety for children in your app. We\u2019ll show you how to use this new framework to create age-appropriate communication experiences and leverage Family Sharing for parental approvals. You\u2019ll learn how to build permission requests that seamlessly integrate with Messages, handle parental responses, and adapt your UI for child users. To get the most out of this session, we recommend first watching \u201cDeliver age-appropriate experiences in your app\u201d from WWDC25.","title":"Enhance child safety with PermissionKit","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["\ud83c\udf88"],"primaryTopicID":96,"topicIds":[83,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"231667A3-346E-4660-8E32-A5121E0F4CC8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/293\/4\/3d149cec-af19-46df-9916-67a21d041047\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/293\/4\/3d149cec-af19-46df-9916-67a21d041047\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/293\/4\/3d149cec-af19-46df-9916-67a21d041047\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/293\/4\/3d149cec-af19-46df-9916-67a21d041047\/downloads\/wwdc2025-293_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/293\/4\/3d149cec-af19-46df-9916-67a21d041047\/downloads\/wwdc2025-293_sd.mp4","duration":697,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"PermissionKit is a new framework for iOS, iPadOS, and macOS 26 that streamlines permission requests and facilitates Messages conversations between children and their parents or guardians for new communication approvals.\n\n","end":160},{"start":160,"title":"Meet PermissionKit","summary":"With PermissionKit, children can request permission from their parents or guardians within the Messages app to communicate with new people online. The framework leverages Family Sharing groups and requires Communication Limits to be enabled. It's designed to help developers create safer communication experiences for children within their apps, by facilitating open conversations between kids and their parents about online interactions.","end":206},{"start":206,"title":"Tailor your UI for children","summary":"PermissionKit helps make apps age-appropriate. For the Landmarks example app, a new chat feature hides content coming from unknown senders for children. Use the Communication Limits 'knownHandles(in:)' method to check if the system or your database recognizes the handles, and only show content to children from known handles.","end":278},{"start":278,"title":"Create an \u201cask\u201d experience","summary":"Create permission questions for children to send to parents. These questions include topics, such as communication, that detail the person the child wants to contact (handle, name, image) and the communication method (message, call, video). \n\nInitialize a 'PermissionQuestion' with a 'CommunicationTopic' and then create a 'CommunicationLimitsButton' to trigger a system prompt, enabling the child to send the request to their parents for approval via Messages. UIKit and AppKit apps can start the ask flow on the child's device with the Communication Limits singleton.","end":422},{"start":422,"title":"Parent\/guardian responses","summary":"Upon receiving a parental response within Messages, the app launches in the background on the child's device. The app then obtains an 'AsyncSequence' from the Communication Limits singleton to monitor permission updates. \n\nWhen the system receives a response, the app updates its UI or databases accordingly. In the Landmarks app example, the app hides message previews and content coming from unknown handles from children until parental permission is granted.\n\nChildren can request permission to communicate with new contacts, and parents can review and approve or decline these requests from their Messages app. The child's app is then notified of the parent's decision, enabling the child to see and respond to messages if approved.","end":627},{"start":627,"title":"More ways to keep kids safe","summary":"There are new APIs and frameworks to enhance child safety in apps by detecting nudity in live streams, verifying user ages, and enabling parental controls. Determine user ages, adapt app UIs, and implement PermissionKit to create age-appropriate and safe experiences for children.","end":697}]},"related":{"activities":["wwdc2025-299"],"resources":[4081,4007,4006]}},"wwdc2025-276":{"id":"wwdc2025-276","staticContentId":9977,"eventContentId":276,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/276","languageCode":"eng","description":"The BNNS Graph Builder API now enables developers to write graphs of operations using the familiar Swift language to generate pre- and post-processing routines and small machine-learning models. BNNS compiles graphs ahead of execution and supports real-time and latency-sensitive use cases such as audio processing. In this session, we revisit last year\u2019s bit-crusher example and simplify the Swift component by removing the reliance on a separate Python file and instead implement the audio effect entirely in Swift. The BNNS Graph Builder API is also suited to pre-processing image data before passing that data to a machine learning model. The session also includes a demonstration of clipping the transparent pixels from an image with an alpha channel.","title":"What\u2019s new in BNNS Graph","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["bnns","machine learning"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"72822188-9E60-4A6E-8C0F-894506BA9F9C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/276\/4\/68973e7e-a4db-44eb-9c9f-f90f3dde4a75\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/276\/4\/68973e7e-a4db-44eb-9c9f-f90f3dde4a75\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/276\/4\/68973e7e-a4db-44eb-9c9f-f90f3dde4a75\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/276\/4\/68973e7e-a4db-44eb-9c9f-f90f3dde4a75\/downloads\/wwdc2025-276_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/276\/4\/68973e7e-a4db-44eb-9c9f-f90f3dde4a75\/downloads\/wwdc2025-276_sd.mp4","duration":1425,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"The Apple Vector and Numerics Group developed BNNS, a machine-learning library for CPU-based inference in apps, particularly useful for real-time audio and image processing. \n\nBNNSGraph, introduced last year, enhanced speed, efficiency, and ease of use. Now, BNNSGraphBuilder is added, enabling Swift-based creation of small models and graphs for pre- and post-processing. This is demonstrated with image preprocessing, data post-processing, and updating the Bitcrusher audio unit sample.","end":192},{"start":192,"title":"Recapping BNNSGraph","summary":"BNNSGraph is recommended for audio and low-latency tasks with real-time deadlines because it allows memory and multithreading control, enhancing real-time performance. \n\nPreviously, BNNS required coding each layer manually, but now BNNSGraph takes entire graphs as objects, optimizing performance and energy efficiency through combining mathematical transformations, layer fusion, copy elision, and tensor memory sharing.\n\nBNNSGraph offers two main workflows: using a CoreML Package and Xcode compilation, or defining the graph directly in Swift for smaller models with BNNSGraphBuilder.","end":375},{"start":375,"title":"BNNSGraphBuilder","summary":"A new API called BNNSGraphBuilder lets developers construct graphs of operations directly in Swift. This enables the creation of pre- and post-processing routines and small machine learning models within Swift code.\n\nThe benefits include using a familiar language, type-checking during compilation, and the ability to share runtime values between Swift and the graph, leading to improved performance. The API also provides debugging features, such as querying intermediate tensors for properties like shape and data type, and enables Xcode autocomplete.\n\nA new type method, 'makeContext', converts Swift code to a reusable context for graph execution. The context is created once during app startup and can then be executed multiple times, benefiting from wholistic graph optimizations. The API offers a wide range of mathematical and logical operations, as well as support for common neural network primitives like matrix multiplication, convolution, and reduction operations.\n\nThe BNNSGraphBuilder API in Swift leverages strong typing to catch errors at compile time, ensuring data type correctness for tensor operations. This is demonstrated through automatic casting of data types, such as integers to FP16, which prevents compilation errors and enhances app reliability.\n\nThe API also treats tensor slices as references to existing data, optimizing memory usage. Slicing tensors is performed using Swift subscripts and the new SliceRange structure, making it intuitive for Swift developers. This allows for efficient operations like image cropping, as shown in an example where a square region is cropped from a photograph of a squirrel using vImage pixel buffers and the 'withBNNSTensor' method, which shares memory for improved performance.","end":1018},{"start":1018,"title":"Using BNNSGraphBuilder","summary":"BNNSGraphBuilder is a powerful API in Swift that helps you construct graphs of operations for efficient data pre- and post-processing in machine learning applications utilizing audio and images.\n\nFor pre-processing, use the API to threshold images, converting continuous-tone images to binary images. You can also use it for post-processing tasks such as applying softmax functions and topK operations to the results of ML models.\n\nThe API demonstrates its versatility by being applied to audio effects as well. It allows you to create real-time audio effects like bitcrushing, with significant performance improvements when using 16-bit precision compared to 32-bit.\n\nBNNSGraphBuilder offers a user-friendly programming interface, making it accessible for a wide range of applications, from real-time and latency-sensitive use cases to general-purpose ML tasks. ","end":1425}]},"related":{"activities":["wwdc2024-10211","wwdc2025-8153","wwdc2025-8157","wwdc2025-8267","wwdc2025-360"],"resources":[3986,3985,3978]}},"wwdc2025-312":{"id":"wwdc2025-312","staticContentId":10034,"eventContentId":312,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/312","languageCode":"eng","description":"Discover ways to improve the performance and memory management of your Swift code. We\u2019ll explore ways to refine your code \u2013 from making high-level algorithmic changes to adopting the new InlineArray and Span types for finer control over memory and allocations.","title":"Improve memory usage and performance with Swift","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A53B69EC-707E-4AFB-8FE7-8F830DD20882","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/312\/4\/ae42066d-6af2-4371-bf68-81a81ddef963\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/312\/4\/ae42066d-6af2-4371-bf68-81a81ddef963\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/312\/4\/ae42066d-6af2-4371-bf68-81a81ddef963\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/312\/4\/ae42066d-6af2-4371-bf68-81a81ddef963\/downloads\/wwdc2025-312_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/312\/4\/ae42066d-6af2-4371-bf68-81a81ddef963\/downloads\/wwdc2025-312_sd.mp4","duration":1891,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction & Agenda","summary":"Learn about optimizing performance of Swift code apps and libraries using Swift 6.2. The new 'InlineArray' and 'Span' types reduce allocations, exclusivity checks, and reference counting. A new open-source Swift library, Binary Parsing, is introduced for fast and safe binary parsing.","end":79},{"start":79,"title":"QOI format & parser app","summary":"This WWDC25 session's app loads images in the QOI format \u2014 a simple, lossless format with a single-page spec. The app's image parser handles various pixel-encoding methods. Then, the app loads a small icon file instantly but takes a few seconds to load a larger photo of a bird.","end":145},{"start":145,"title":"Algorithms","summary":"When apps work with real-world data, performance issues can often happen because of incorrect use of algorithms or data structures. To identify and address these problems, you can use Instruments, which has templates of instruments to analyze allocations and releases and identifying inefficient code with profilers. \n\nThe Time Profiler instrument is particularly useful for performance issues. By analyzing the captured calls and stack traces, you can pinpoint the areas where apps spend the most time. In the example, a significant amount of time was spent on a system call for copying data, 'platform_memmove'.\n\nBy using Instruments, this example analyzes a custom method named 'readByte'. This method was added to an extension on the 'Data' type, which caused excessive copying of binary data. The example replaces the method with the more efficient 'popFirst()' method, which shrinks the data from the front of a sequence without copying. This change resolved the performance issue in the 'readByte' method.\n\nAfter making the change, the example ran the profile again, and the significant 'platform_memmove' bar was gone from the flame graph. Benchmarking showed a substantial speedup, and the relationship between the image size and parsing time changed from quadratic to linear, indicating a more efficient algorithm.","end":497},{"start":497,"title":"Allocations","summary":"The app is profiled again to find that the image parser results in excessive memory allocations and deallocations, particularly involving arrays. The high number of allocations, nearly a million for parsing a single image, indicates a critical problem. Most of these allocations are transient, short-lived, which suggests they can be optimized.\n\nTo identify the source of these unnecessary allocations, the example uses the Allocations instrument in Instruments. The analysis reveals that a method called 'RGBAPixel.data(channels:)' is a major culprit. This method creates an array every time it is called, leading to a substantial number of allocations.\n\nThe code's structure, which involves a complex chain of 'flatMap' and 'prefix' methods, contributes to the problem. Each step in this chain results in new allocations, as arrays are created, flattened, and copied repeatedly. While this approach is concise, it's not memory-efficient.\n\nTo address this issue, the example rewrites the parsing function. Instead of relying on intermediate allocations, it calculates the total size of the result data upfront and allocates a single buffer. This approach eliminates the need for repeated allocations during the decoding process.","end":990},{"start":990,"title":"Exclusivity","summary":"The app's performance improved so much that the profiling instruments needed more data. After looping the parsing code 50 times, the results showed 'swift_beginAccess' and 'swift_endAccess' symbols that indicate exclusivity tests. \n\nThese exclusivity tests were caused by properties in the 'State' class nested within the `QOIParser` structure, which the example then moves directly into the parent parser type to eliminate the exclusivity checks. After a few compiler adjustments, the exclusivity checking was completely removed, as verified by a new profile run.","end":1152},{"start":1152,"title":"Stack versus heap","summary":"The example replaces the app's usage of 'Array' with 'InlineArray', a fixed-size collection stored inline, that optimizes memory use by eliminating reference counting and exclusivity checks. It's ideal for the pixel cache \u2014 a 64-element array that never changes size and is modified in place, enhancing performance without the need for copying or sharing references.","end":1268},{"start":1268,"title":"Reference counting","summary":"In the app's final optimization example, the example uses the new 'Span' types to improve performance and enhance memory safety. In Instruments, the flame graph is used from the Time Profiler analysis. The profiled data is focused on the 'QOIParser' and finds significant time spent on reference counting operations, particularly with the 'Data' type due its to copy-on-write semantics.\n\n'Span' and its related types are a new way to work with contiguous memory in a collection. They use Swift's nonescapable ('~Escapable') feature, which binds their lifetimes to the collection, ensuring memory safety and eliminating the need for manual memory management. This allows for efficient access to memory without the risks associated with unsafe pointers.\n\nThe example demonstrates how to use the 'Span' types to rewrite existing methods, making them simpler, safer, and more performant. In the image parsing methods, 'Data' is replaced with 'RawSpan', and the overhead of reference counting is greatly reduced. Additionally, 'OutputSpan' is adopted in the parsing process to further optimization, making the parsing operation six times faster than before without resorting to unsafe pointers.","end":1792},{"start":1792,"title":"Swift Binary Parsing library","summary":"Swift Binary Parsing enables you to create safe and efficient parsers for binary formats. It offers tools to handle various safety aspects, including preventing integer overflow, specifying signedness, bit width, and byte order, and validating custom types. The library is already in use at Apple and is publicly available for you to try and contribute to via the Swift forums and GitHub.","end":1863},{"start":1863,"title":"Next steps","summary":"Key takeaways include:\nUsing Xcode and Instruments for profiling apps.\nAnalyzing the performance of algorithms to identity bottlenecks.\nExploring solutions to the above with the new 'InlineArray' and 'Span' types introduced in Swift 6.2.","end":1891}]},"related":{"activities":["wwdc2025-245","wwdc2025-308","wwdc2025-226","wwdc2024-10217"],"resources":[4077,3989,3965,45]}},"wwdc2025-259":{"id":"wwdc2025-259","staticContentId":9966,"eventContentId":259,"eventId":"wwdc2025","contentUpdatedAt":"2025-08-21T13:36:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/259","languageCode":"eng","description":"Develop generative AI features for your SwiftUI apps using the Foundation Models framework. Get started by applying the basics of the framework to create an awesome feature. Watch step-by-step examples of how to complement the models with tools you build, stream results, and apply further optimizations for great performance.","title":"Code-along: Bring on-device AI to your app using the Foundation Models framework","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ai","app intents","codealong","code-along","machine learning"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"35DFBB3F-0CA9-4722-BDB1-EDC5860F638E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/259\/5\/907f1051-5d00-46a2-bc67-53764270104f\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/259\/5\/907f1051-5d00-46a2-bc67-53764270104f\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/259\/5\/907f1051-5d00-46a2-bc67-53764270104f\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/259\/5\/907f1051-5d00-46a2-bc67-53764270104f\/downloads\/wwdc2025-259_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/259\/5\/907f1051-5d00-46a2-bc67-53764270104f\/downloads\/wwdc2025-259_sd.mp4","duration":1832,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn how to use Apple's FoundationModels framework to build an app that utilizes on-device intelligence to plan trips. The framework helps you create powerful, private, and performant features across macOS, iPadOS, iOS, and visionOS. \n\nThe app generates itineraries for selected landmarks, autonomously choosing points of interest using tool calling. The process involves prompt engineering, utilizing Xcode's playground, streaming output, and profiling the app for optimal performance.","end":150},{"start":150,"title":"Prompt engineering","summary":"Xcode's updated Playground feature streamlines the code-iteration process for Swift developers. It provides live feedback, similar to SwiftUI Previews, so you can write and test code in real-time. \n\nUsing the FoundationModels framework, you can interact with a model through prompts. The Playground automatically executes the code as prompts are typed, enabling quick feedback on the output. To enhance the output structure, the Guided generation feature allows you to annotate data structures as 'Generable', enabling the model to automatically create and populate these structures.\n\nFurther refine the model's output using the 'Guide' macro, which provides constraints and descriptions for properties. This allows for more control over the generated data, ensuring it meets specific requirements. The framework also offers a flexible tool protocol that enables the model to include external information in its responses.\n\nBy leveraging these features, you can create an Itinerary Planner app that generates structured itineraries based on user inputs and preferences. The app's UI updates dynamically as the itinerary is generated, providing a seamless user experience.","end":679},{"start":679,"title":"Tool calling","summary":"The example creates a specialized planner app that utilizes an on-device Foundation Model to enhance its functionality. To achieve this, the example defines custom tools that conform to a specific protocol. These tools have unique names, descriptions, and call functions.\n\nOne tool fetches points of interest from MapKit based on a landmark selected by the person. The tool can take input from the person and generates an enum of different categories of points of interest, such as restaurants, museums, or marinas, using the model's world knowledge to determine the most promising categories for a specific landmark.\n\nYou implement the call method for this tool, which interacts with MapKit, using a natural language query generated by the model and the selected category. The tool then filters and returns the relevant points of interest within a specified range.\n\nTo integrate the tool into the planner app, create an instance of the tool with the user-selected landmark and pass it into the session initializer of the model. The model can then autonomously decide when to invoke the tool and how often.\n\nThe example also demonstrates how to handle scenarios where the on-device Foundation Model is not available, such as when the device is not eligible for Apple Intelligence, the user has not opted in, or the model is not ready. The example implements appropriate UI updates and error messages to guide the user in these cases.\n\nThe examples also explores the possibility of streaming the itinerary as the model produces it, allowing the person to start reading recommendations immediately rather than waiting for the entire itinerary to be generated.","end":1232},{"start":1232,"title":"Streaming output","summary":"The code uses a 'PartiallyGenerated' data structure \u2014 an optional version of the \u2018Generable\u2019 structure \u2014 to handle an incrementally updated itinerary. As new data arrives, the UI is updated with each partial version, showing available properties first (for example, title, then description, then day plans). Swift UI's 'forEach' displays the partially generated day plans. Animations and content transitions are added for smooth updates. Performance optimization is possible using the Foundation Models Instrument to reduce initial delay.","end":1472},{"start":1472,"title":"Profiling","summary":"To optimize the app's performance, the example conducts profiling on a physical iPhone using the Instruments app on a Mac. The Foundation Models instrument is added, and the time taken to load models and generate an itinerary is analyzed. \n\nTwo main optimizations are:\n\nPrewarming the session. Loading the on-device language model before the user makes a request, such as when they tap on a landmark, reduces initial latency.\n\nSetting 'IncludeSchemaInPrompt' to 'false': This optimization avoids inserting generation schemas into prompts, decreasing token count and latency, especially for subsequent requests or when instructions include full examples of the schema.\n\nAfter implementing these optimizations, the example app shows a substantial reduction in input token count and total response time, significantly improving its efficiency.","end":1832}]},"related":{"activities":["wwdc2025-360","wwdc2025-248","wwdc2025-286","wwdc2025-301","wwdc2025-8267","wwdc2025-8153","wwdc2025-440","wwdc2025-8157"],"resources":[4061,4054,4021,3962]}},"wwdc2025-235":{"id":"wwdc2025-235","staticContentId":9933,"eventContentId":235,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/235","languageCode":"eng","description":"Learn how Declarative Web Push can help you deliver notifications more reliably. Find out how to build on existing standards to be more efficient and transparent by design while retaining backwards compatibility with original Web Push.\n","title":"Learn more about Declarative Web Push","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["service workers"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F9EAB7E0-5E3C-44F1-9D55-DA28A611589F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/235\/4\/03c1e705-ee7b-4731-9b16-f7a1a7607546\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/235\/4\/03c1e705-ee7b-4731-9b16-f7a1a7607546\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/235\/4\/03c1e705-ee7b-4731-9b16-f7a1a7607546\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/235\/4\/03c1e705-ee7b-4731-9b16-f7a1a7607546\/downloads\/wwdc2025-235_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/235\/4\/03c1e705-ee7b-4731-9b16-f7a1a7607546\/downloads\/wwdc2025-235_sd.mp4","duration":1167,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Push notifications, pioneered by Apple in 2009 for iPhone OS, is now standard feature across mobile and desktop platforms. Safari Push Notifications were introduced in Safari 7 but were platform-specific. The web standards community then developed Web Push, which was initially fully JavaScript-driven but posed performance, privacy, and maintenance issues.\n\nBuilding on observations of common usage patterns, the team is evolving Web Push to allow notifications to be declared directly in JSON, eliminating the need for JavaScript code execution, enhancing efficiency, privacy, and user experience, aligning Web Push more closely with the benefits of native app notifications.","end":230},{"start":230,"title":"Declarative Web Push","summary":"Declarative Web Push is a user-friendly and efficient enhancement to the original Web Push system. It simplifies the process by utilizing a standardized format for push messages, requiring no code. Designed with the open web in mind, it is backward compatible and builds on established standards.\n\nThe original Web Push system heavily relies on JavaScript and Service Workers to handle push events and display notifications. In contrast, Declarative Web Push significantly reduces JavaScript dependency. Now, JavaScript is only needed to obtain a push subscription; the browser then automatically handles displaying notifications and user interactions upon taps or clicks.","end":469},{"start":469,"title":"Push subscriptions","summary":"With declarative Web Push, the code to get a push subscription is nearly the same, but no service workers are required, as you can access the PushManager on the window object.\n\nDeclarative Web Push uses a standard JSON format using the 'web_push' key for the browser to automatically display a notification.\n\n","end":593},{"start":593,"title":"Declarative JSON format","summary":"Declarative Web Push builds on the basics of a notification title and URL, allowing for full W3C standard options like message body, tags, sounds, and app badge updates. It automates many browser notifications but also provides flexibility for more specific needs, akin to native push on iOS and macOS.","end":669},{"start":669,"title":"Service Worker support","summary":"Declarative Web Push enhances the original Web Push system by handling notifications without code, but also allowing optional processing of notifications through Service Workers. This is particularly useful for ensuring accuracy and maintaining privacy, for example, in applications like reading messages, or decrypt end-to-end encrypted direct messages. The notification JSON can include a 'mutable' flag, indicating that the notification needs Service Worker processing.\n\nIf the Service Worker successfully decrypts and replaces the notification, the browser displays the decrypted message. If not, the original plain-text notification is used. This approach ensures backward compatibility with existing Web Push implementations while providing more efficient and reliable notifications in newer browsers that support declarative Web Push.","end":1167}]},"related":{"activities":["wwdc2022-10098","wwdc2025-233","wwdc2025-232"],"resources":[4041]}},"wwdc2025-279":{"id":"wwdc2025-279","staticContentId":9996,"eventContentId":279,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/279","languageCode":"eng","description":"Discover how iOS, iPadOS, macOS, and visionOS 26 enhance passkeys. We\u2019ll explore key updates including: the new account creation API for streamlined sign-up, keeping passkeys up-to-date, new ways to drive passkey upgrades through automatic passkey upgrades and passkey management endpoints, and the secure import\/export of passkeys. Learn how these improvements enhance user experience and security, and how to implement these updates in your apps to provide a smoother, more secure authentication experience. To get the most out of this video, first watch \u201cMeet passkeys\u201d from WWDC22.","title":"What\u2019s new in passkeys","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"473C8E4A-1764-482D-BE24-B3A7BBDBD526","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/279\/5\/39c2b950-9bc8-4e0a-a336-98ec2ed224a2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/279\/5\/39c2b950-9bc8-4e0a-a336-98ec2ed224a2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/279\/5\/39c2b950-9bc8-4e0a-a336-98ec2ed224a2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/279\/5\/39c2b950-9bc8-4e0a-a336-98ec2ed224a2\/downloads\/wwdc2025-279_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/279\/5\/39c2b950-9bc8-4e0a-a336-98ec2ed224a2\/downloads\/wwdc2025-279_sd.mp4","duration":1322,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"The entire industry is working to eliminate passwords in favor of passkeys \u2014 a more secure and user-friendly method that eradicates phishing, and streamlines the sign-in process.","end":58},{"start":58,"title":"The passkey journey","summary":"Updates to iOS, iPadOS, macOS, and visionOS make passkey creation, management, and upgrading easier, accelerating passkey adoption. The industry is transitioning from phishable passwords and SMS\/email codes to non-phishable passkeys. Many accounts offer passkeys as an additional sign-in method, but the goal is to eliminate phishable factors entirely. \n\nAdoption of passkeys is growing rapidly and passkeys have high sign-in success rates. The FIDO Alliance found that 69% of people have at least one passkey, Google found signing in with passkeys is four times more successful than passwords, and TikTok sees a 97% success rate with passkey sign-ins.","end":210},{"start":210,"title":"Account creation API","summary":"The new account creation API revolutionizes the sign-up process for apps. This API is available on iOS, iPadOS, macOS, and visionOS, and works with the Passwords app and third-party credential managers. People can now create accounts with passkeys directly, which makes the experience more user-friendly, and reduces the risk of phishing attacks.\n\nThe sign-up process with the account creation API is incredibly streamlined. Instead of a multi-step form, a pre-filled sheet shows exactly what the app is requesting for sign-up, and is customizable by the user. Upon completion, the system automatically generates a passkey, which is saved in the Passwords app. \n\nThe benefits of passkeys extend beyond sign-up. Signing in is effortless, and passkeys are automatically synced across all devices. The account creation API is easy to adopt, and handles potential errors gracefully, providing a smooth sign-up experience even if a device is not configured for passkey creation, or already has an account using Sign in with Apple.","end":648},{"start":648,"title":"Keep passkeys up-to-date","summary":"New signal APIs enable apps and websites to notify credential managers of account information changes, such as usernames, email addresses, or when passkeys are revoked. This ensures that credential managers remain up-to-date, preventing confusion and login issues. \n\nFor example, when someone updates their email address in an app, the app immediately signals the credential manager, which then updates its records. These APIs support accounts without passwords which are the most secure accounts. The APIs also inform credential managers when passwords are no longer needed, enhancing overall security and improving user experience.","end":881},{"start":881,"title":"Automatic passkey upgrades","summary":"Automatic passkey upgrades enhance account security for those still signing in with passwords without introducing friction. After a successful password login, apps and websites can create passkeys in the background. A notification informs when a passkey is added, providing a simpler and more secure sign-in option moving forward. The password remains valid, and the upgrade process occurs on every password sign-in attempt if a passkey doesn't already exist.","end":1019},{"start":1019,"title":"Passkey management endpoints","summary":"By implementing the standard, well-known URL for passkey management endpoints, websites can directly link credential managers to their passkey enrollment and management pages. This approach streamlines the passkey-upgrade process, so people can easily switch from passwords within their credential managers. The JSON response from the server must include URLs for enrollment and management, be served with a '200 OK' status code, and be accessible to all user agents, including apps and web browsers.","end":1152},{"start":1152,"title":"Importing and exporting passkeys","summary":"Passkeys can now be securely transferred between participating credential manager apps across iOS, iPadOS, macOS, and visionOS 26. This user-initiated process, secured by local authentication like Face ID, reduces the risk of credential leaks. The transfer uses a standardized data schema developed by the FIDO Alliance, ensuring compatibility between apps.\n\nDeliver the best authentication experience and help people move to a more secure future without passwords. Adopt the account creation API for secure and quick onboarding, keep passkeys up-to-date using the signal API, enable automatic passkey upgrades, and support passkey management endpoints.","end":1322}]},"related":{"activities":["wwdc2022-10092","wwdc2024-10125"],"resources":[4020,3915,3914]}},"wwdc2025-225":{"id":"wwdc2025-225","staticContentId":9914,"eventContentId":225,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/225","languageCode":"eng","description":"Learn how to localize your app into additional languages using Xcode. We\u2019ll walk step-by-step through the process of creating a String Catalog, translating text, and exchanging files with external translators. You\u2019ll learn best practices for providing necessary context to translators and how Xcode can help to provide this information automatically. For larger projects, we\u2019ll also dive into techniques to manage complexity and streamline string management using type-safe Swift code.","title":"Code-along: Explore localization with Xcode","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["automatic \u2028comment generation","l10n"],"primaryTopicID":83,"topicIds":[88,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"ED0F1C38-E853-460E-9AF8-3D68C8B61596","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/225\/5\/24973a20-a8c9-4ec6-ad29-6adfde87ea5c\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/225\/5\/24973a20-a8c9-4ec6-ad29-6adfde87ea5c\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/225\/5\/24973a20-a8c9-4ec6-ad29-6adfde87ea5c\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/225\/5\/24973a20-a8c9-4ec6-ad29-6adfde87ea5c\/downloads\/wwdc2025-225_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/225\/5\/24973a20-a8c9-4ec6-ad29-6adfde87ea5c\/downloads\/wwdc2025-225_sd.mp4","duration":1293,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"In this code along for all skill levels, learn how to set up your app for localization, work with translators, and manage complexities as your project grows. ","end":38},{"start":38,"title":"Getting started","summary":"We show you how to localize a SwiftUI app called \"Landmarks\" using Xcode. The process begins by adding a String Catalog, which automatically discovers localizable strings after each build. You can localize the String Catalog yourself, or collaborate with a professional translator through XLIFF files.","end":333},{"start":333,"title":"Translation context","summary":"When providing files to translators, context is crucial for accurate translations. You can add comments directly in code or in the String Catalog. Xcode 26 introduces automatic comment generation, which uses an on-device model to analyze your code and suggest comments.","end":573},{"start":573,"title":"Managing complexity","summary":"As your project grows, you may want to organize it into bundles or frameworks. You can specify bundle and table parameters when using localization APIs to identify strings. Xcode 26 also introduces a new workflow that automatically generates symbols for strings, enabling separation of string keys from values. You can choose and easily transition between two workflows: string extraction from code, or using generated symbols.","end":1249},{"start":1249,"title":"Next steps","summary":"To localize your app, you can start with string extraction, and as your project becomes more intricate, transition to generated symbols for improved string management.","end":1293}]},"related":{"activities":["wwdc2023-10155"],"resources":[4011,1353]}},"wwdc2025-244":{"id":"wwdc2025-244","staticContentId":9971,"eventContentId":244,"eventId":"wwdc2025","contentUpdatedAt":"2026-06-08T13:30:45-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/244","languageCode":"eng","description":"Learn about the App Intents framework and its increasingly critical role within Apple\u2019s developer platforms. We\u2019ll take you through a ground-up introduction of the core concepts: intents, entities, queries, and much more. You\u2019ll learn how these pieces fit together and let you integrate your app through Apple\u2019s devices, from software features like Spotlight and Shortcuts to hardware features like the Action button. We\u2019ll also walk through how App Intents is your app\u2019s gateway to integrating with Apple Intelligence going forward.","title":"Get to know App Intents","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["app intents","machine learning"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"05A21C8D-2A52-47BF-85A6-EB13E720EC85","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/244\/5\/54cb9dae-53ff-4b7a-9091-2e1d6b3d779e\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/244\/5\/54cb9dae-53ff-4b7a-9091-2e1d6b3d779e\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/244\/5\/54cb9dae-53ff-4b7a-9091-2e1d6b3d779e\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/244\/5\/54cb9dae-53ff-4b7a-9091-2e1d6b3d779e\/downloads\/wwdc2025-244_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/244\/5\/54cb9dae-53ff-4b7a-9091-2e1d6b3d779e\/downloads\/wwdc2025-244_sd.mp4","duration":1476,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about App Intents \u2014 a framework you can use to enhance app discoverability and functionality across all Apple platforms. Topics include the framework's importance, implementation, and best practices for writing App Intents.","end":45},{"start":45,"title":"App Intents ecosystem","summary":"App Intents is an ecosystem that enables apps to extend functionality across the system \u2014 Spotlight, Action Button, Widgets, Control Center, and Apple Pencil Pro. People can perform app actions from anywhere, even when not in the app. \n\nYou define app actions as intents, which can take parameters and return values using App Enums for constants, or App Entities for dynamic types. App Shortcuts, built from intents and parameters, enhance accessibility and discoverability through Spotlight, Siri, and the Action Button.","end":167},{"start":167,"title":"Navigating the framework","summary":"The example app explores famous landmarks worldwide. To enhance user experience, it implements App Intents, which allow people to perform actions directly from Siri, Shortcuts, and Spotlight.\n\nThe process involves defining structs that adopt the App Intents protocol, specifying titles, perform methods, and intent results. You add parameters to the intents, enabling people to choose specific sections of the app, such as the landmarks grid or map view.\n\nTo make the app more discoverable and user-friendly, you create App Shortcuts, which automatically expose intents across the system. They also model dynamic data like landmarks using App Entities, allowing people to take actions on specific landmarks through intents.\n\nIn the App Intents framework, App Entities represent dynamic data such as landmarks. Queries are essential components that enable the system to reason about these entities. They answer various questions, including retrieving all entities, matching specific strings or properties, and uniquely referencing entities by ID.\n\nYou can customize queries using different types, such as Entity String Query and Entity Property Query, and these queries may depend on local databases or other resources. Dependencies can be injected into queries using the '@Dependency' attribute. Register dependencies as early as possible in the app life cycle.\n\nUsing App Intents, you can create custom actions that can be performed using Siri, Spotlight, or Shortcuts. By returning entity types from intents, these actions can be chained together in multi-step shortcuts.\n\nTo enhance the user experience, you can make entities transferable, allowing them to be shared between apps. Adopting the Indexed Entity protocol enables Spotlight for semantic search. You can also create Open Intents to directly navigate to specific views within the app when entities are tapped in Spotlight.","end":1275},{"start":1275,"title":"How it works","summary":"App Intents uses Swift source code at build time to generate an App Intents representation, which is then stored within the app or framework. This allows the system to understand the app's capabilities without running it. \n\nThe intent's name serves as its unique identifier; the title helps people differentiate between intents, and the 'perform' method's return signature defines how to render the result. You need to provide constant values for certain intent properties because processing occurs at build time.\n\nTo share App Intent types between targets, such as an app and its extension, you can use Swift packages or static libraries. You must register each target as an App Intents Package to ensure proper indexing and validation of the shared types by the App Intents runtime.","end":1476}]},"related":{"activities":["wwdc2024-10210","wwdc2024-10176","wwdc2024-10134","wwdc2024-10133","wwdc2025-440","wwdc2025-8269","wwdc2025-8088","wwdc2025-8087","wwdc2025-8090","wwdc2025-260","wwdc2025-281"],"resources":[4045,3896,3844,3843,3842,3840,3839,2958,2399]}},"wwdc2025-262":{"id":"wwdc2025-262","staticContentId":9975,"eventContentId":262,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/262","languageCode":"eng","description":"Learn how to seamlessly combine machine learning into your graphics applications using Metal 4. We\u2019ll introduce the tensor resource and ML encoder for running models on the GPU timeline alongside your rendering and compute work. Discover how shader ML lets you embed neural networks directly within your shaders for advanced effects and performance gains. We\u2019ll also show new debugging tools for Metal 4 ML workloads in action using an example app.","title":"Combine Metal 4 machine learning and graphics","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["machine learning","metal","metal tools"],"primaryTopicID":94,"topicIds":[91,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B7117471-68C0-4E07-AA3A-504068899895","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/262\/4\/bd3b9963-4a16-4a43-8b3d-e7f17cb31f3c\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/262\/4\/bd3b9963-4a16-4a43-8b3d-e7f17cb31f3c\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/262\/4\/bd3b9963-4a16-4a43-8b3d-e7f17cb31f3c\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/262\/4\/bd3b9963-4a16-4a43-8b3d-e7f17cb31f3c\/downloads\/wwdc2025-262_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/262\/4\/bd3b9963-4a16-4a43-8b3d-e7f17cb31f3c\/downloads\/wwdc2025-262_sd.mp4","duration":1780,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Introducing Metal 4, which enhances machine learning (ML) integration in games and graphics. Metal 4 enables techniques like upscaling, asset compression, and animation blending using ML networks, improving performance and visual fidelity. \n\nKey features include 'MTLTensors' for ML workflows, 'MTL4MachineLearningCommandEncoder' for running networks on the GPU timeline, Shader ML for embedding ML operations in shaders, and improved debugging tools. CoreML is optimal for authoring ML models, and you can achieve seamless ML integration into applications with help from the Metal Debugger.","end":172},{"start":172,"title":"Meet tensors","summary":"Metal 4 introduces 'MTLTensor', a new resource specifically designed for machine learning workloads. 'MTLTensors' are multi-dimensional data containers, enabling efficient representation of the complex data layouts commonly used in machine learning, such as those required for convolution operations. They simplify indexing multidimensional data compared to flat representations like 'MTLBuffers'.\n\nAn 'MTLTensor' is defined by its rank (number of axes), extents (number of data points along each axis), data type, and usage properties. These properties are specified in an 'MTLTensorDescriptor' object. You can create 'MTLTensors' from either an 'MTLDevice' object, which offers optimized performance with an opaque layout, or from an existing 'MTLBuffer' object, where you need to specify the strides to account for potential padding.","end":381},{"start":381,"title":"Encode ML networks","summary":"The latest Metal also introduces the 'MTL4MachineLearningCommandEncoder', allowing machine learning work to be integrated seamlessly into the GPU timeline alongside compute and render commands. This new encoder enables full ML models to run on the GPU, synchronizing with other Metal commands using standard synchronization primitives like barriers and fences.\n\nThe workflow involves two main parts: offline and runtime. Offline, the system converts a CoreML package into an optimized 'MTLPackage' using the 'metal-package-builder' command-line tool. At runtime, the system compiles 'MTLPackage' into an 'MTL4MachineLearningPipelineState', and creates the 'MTL4MachineLearningCommandEncoder' \u2014 set up with the pipeline state, inputs, and outputs \u2014 and then dispatches encoded commands to the GPU.\n\nThe encoder utilizes an 'MTLHeap' to store intermediate data, optimizing resource usage. This allows for parallel execution of nondependent tasks, enhancing performance. Metal 4's synchronization capabilities ensure that work consuming ML outputs waits for the network to complete, making it suitable for various real-time applications, not just games.","end":771},{"start":771,"title":"Embed ML in your shader","summary":"Metal 4 introduces Shader ML, enabling developers to embed machine learning operations directly into shaders. This enhances performance and reduces memory footprint by eliminating the need to sync tensors between device memory and shaders.\n\nNeural material compression, a specific ML technique, is an example. It compresses material textures by up to 50% compared to traditional block-compressed formats. With Shader ML, the entire neural material evaluation process \u2014 from initializing input tensors to performing inference and shading \u2014 can be combined into a single shader dispatch.\n\nMetal Performance Primitives is integrated into Shader ML, providing high-performance APIs like matrix multiplication and convolution. This allows you to implement neural network evaluation routines efficiently within fragment shaders, resulting in real-time applications with no perceived quality loss but significantly reduced memory usage and disk space.","end":1226},{"start":1226,"title":"Debug your ML workloads","summary":"In the example provide, using the new GPU Tools in Xcode, you can debug a machine learning workload that is causing severe artifacts in an application's ambient occlusion calculation. \n\nYou can capture the GPU trace and utilize the Dependency Viewer to inspect the synchronization of command buffers, ruling out any issues. You then examine the input and output tensors of the 'MTL4MachineLearningCommandEncoder', confirming that the problem is within the machine learning network itself.\n\nNext, you can open the network in the new ML Network Debugger, a visual tool that represents the structure of the model (written in PyTorch and converted to CoreML and MTLPackage), enabling you to pinpoint the specific operation responsible for introducing the artifacts.\n\nUpon inspecting the graph, the artifacts are present in both the output and an earlier operation's input, indicating an issue within the network. The 'SignedSmoothstep' function is identified as the problem area. Upon reviewing the Python code, a bug is discovered \u2014 an extra asterisk causing the system to interpret a multiplication operation as a power operation. Correcting this error resolves the issue, and the neural ambient occlusion implementation using Metal 4's 'MTL4MachineLearningCommandEncoder' is successfully debugged.","end":1780}]},"related":{"activities":["wwdc2025-205","wwdc2025-294","wwdc2025-254","wwdc2025-211","wwdc2024-10218","wwdc2024-10160","wwdc2025-8272","wwdc2025-8153","wwdc2025-8157"],"resources":[3540,3130,56]}},"wwdc2025-201":{"id":"wwdc2025-201","staticContentId":9873,"eventContentId":201,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/201","languageCode":"eng","description":"Discover the latest improvements and new APIs in Apple Pay. You\u2019ll discover enhancements to the Apple Pay eCommerce experience, like the new dynamic payment button, and learn how to take advantage of enhanced support for preauthorized payments. We\u2019ll cover brand-new features coming to order tracking in Wallet, and recommendations to help your orders look their best.\nWe\u2019ll also dive into FinanceKit\u2019s new background delivery APIs, allowing financial management apps to get the latest data, even when they\u2019re not active.","title":"What\u2019s new in Apple Pay","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["finance","merchant","wallet"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FC715972-F367-4C86-A291-5C0358E5E230","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/201\/6\/b2ba4cc0-5a44-4934-9a49-90c53d540a24\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/201\/6\/b2ba4cc0-5a44-4934-9a49-90c53d540a24\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/201\/6\/b2ba4cc0-5a44-4934-9a49-90c53d540a24\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/201\/6\/b2ba4cc0-5a44-4934-9a49-90c53d540a24\/downloads\/wwdc2025-201_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/201\/6\/b2ba4cc0-5a44-4934-9a49-90c53d540a24\/downloads\/wwdc2025-201_sd.mp4","duration":1258,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Apple Pay is introducing new features this year to enhance the merchant and payment experience, improve order sharing with customers, and expand the capabilities of the FinanceKit API.","end":26},{"start":26,"title":"Enhanced payments experience","summary":"Apple Pay is introducing several updates to enhance the customer and merchant experience. \n\nThe Apple Pay button is now dynamic, displaying the customer's default payment method with card art, making checkouts faster and more engaging. Merchants can optimize this by providing a Merchant Category Code, which helps customers choose the right payment method and ensures smooth transactions.\n\nApple Pay has also created a unified view for preauthorized payments in the Wallet app, allowing customers to see all upcoming payments and receive notifications. Merchants can now customize this view with icons, names, descriptions, and images, strengthening brand recognition and improving customer understanding of their payments.\n\nThese updates, which will be adopted for free by SwiftUI and UIKit apps, aim to provide a more secure, trusted, and reliable payment experience for all users. Apple Business Connect is a service that enables businesses to register their information, including logos, names, and email addresses, to create a unified brand appearance across Apple Maps, Mail, and other services. \n\nTo enhance the customer payment experience, Apple has introduced preauthorized payments built on merchant tokens. This allows for more reliable charging of customers on an ongoing basis. Merchants can implement this by generating key pairs, encrypting metadata, and sending a notification to the Apple Pay server.\n\nThe merchant's server provides an encrypted package containing usage information, such as the merchant name, logo, product images, and details about upcoming and past payments. This package enables customers to see rich merchant information and manage their payments directly within the Wallet app, with all branding provided by the merchant.\n\nWithout this information, customers will only see the default merchant name from the payment network. All merchant token information is end-to-end encrypted, ensuring privacy and security.\n","end":579},{"start":579,"title":"Order tracking","summary":"New in iOS 26 is Automatic Order Tracking in the Wallet app. Utilizing Apple Intelligence, Wallet now securely detects order emails from the Mail app and automatically converts them into Wallet orders. This new feature enables users to view all of their orders in one place\u2014the Wallet app. \n\nMerchants should include essential order details in their emails, such as merchant name, order number, and tracking number, to ensure optimal functionality. For enhanced branding and additional features, merchants can register their email addresses and utilize Apple Business Connect.","end":760},{"start":760,"title":"FinanceKit","summary":"This year, significant updates are coming to FinanceKit. Following its successful launch in iOS 17.4 and the introduction of Connected Cards in the UK using the Open Banking Standard, the FinanceKit API is now also available in the UK, expanding the market reach for finance apps. \n\nDevelopers can now access financial data from users' devices, including accounts, balances, and transactions, all while maintaining strict privacy and security measures.\n\nA new background delivery extension has been introduced, enabling apps to process financial data changes even when the app is not running. This allows for real-time updates, such as refreshing widgets with the latest spending information or generating regular spending reports on-device. The extension has two main endpoints: 'didReceiveData' and 'willTerminate', which handle data processing and ensure graceful termination within the limited time window provided.\n\nThe app indicates to the FinanceStore which data types it wants to receive updates for and at what frequency\u2014hourly, daily, or weekly. \n\nThe extension then registers for these data types, enabling background delivery after user authorization. This allows the extension to fetch and process historical data with longer windows and more frequent updates for new data.\n\nThe app sets up necessary entitlements and categories, and a widget is added to display the updated data. Once the app runs and the widget is added to the home screen, the extension automatically updates the widget with new data, such as weekly spend, after a purchase is made.","end":1258}]},"related":{"activities":["wwdc2025-202","wwdc2022-10041","wwdc2023-10114","wwdc2024-2023"],"resources":[4019,4010,1662,157,66]}},"wwdc2025-285":{"id":"wwdc2025-285","staticContentId":10006,"eventContentId":285,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/285","languageCode":"eng","description":"Discover how to bring PaperKit to your iOS, iPadOS, macOS, and visionOS apps. We\u2019ll cover how to seamlessly integrate PencilKit drawing with markup features like shapes and images, and how to customize the user interface. Learn best practices for forward compatibility, and discover advanced customization options to create truly unique markup experiences in your apps.","title":"Meet PaperKit","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["\ud83c\udf88"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BE1C66C1-9D8C-4EF7-BE9A-A36251A00B86","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/285\/4\/338ce5dc-94ee-4f86-a122-4bd01d8b1239\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/285\/4\/338ce5dc-94ee-4f86-a122-4bd01d8b1239\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/285\/4\/338ce5dc-94ee-4f86-a122-4bd01d8b1239\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/285\/4\/338ce5dc-94ee-4f86-a122-4bd01d8b1239\/downloads\/wwdc2025-285_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/285\/4\/338ce5dc-94ee-4f86-a122-4bd01d8b1239\/downloads\/wwdc2025-285_sd.mp4","duration":731,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"With PaperKit, you can create rich markup experiences across various iOS and macOS apps, including Notes, Screenshots, QuickLook, and the Journal app. The framework provides a canvas for drawing and adding shapes, images, text input fields, and more. PaperKit simplifies the integration of markup functionality into any app, offering a seamless user experience.","end":96},{"start":96,"title":"Getting to know PaperKit","summary":"The example app is a recipe management tool that allows people to create, update, and annotate recipes using markup. The app includes a markup controller, a data model container, and an insertion menu or toolbar (depending on the operating system) for easy annotation. The demo showcases these features by adding an image, highlighting ingredients, and rating a recipe for traditional Romanian cookies.","end":215},{"start":215,"title":"Getting started \u2028with PaperKit","summary":"To integrate PaperKit into an iOS app, subclass 'UIViewController' and initialize a markup data model container and controller. Then you set up a PencilKit tool picker  and configure an insertion menu controller to display as a popover when triggered by a button accessory item. \n\nYou can also seamlessly integrate PaperKit into a SwiftUI environment. The markup controller includes a delegate for custom handling of callbacks and conforms to 'Observable' for state management. When you load data from disk, it's crucial to verify the content version for forward compatibility. PaperKit provides tools to generate thumbnails for prerendering, in case of version mismatches.","end":517},{"start":517,"title":"Customizing the \u2028feature set","summary":"PaperKit's 'FeatureSet' defines the markup functionality available in an app. You can start with 'FeatureSet.latest' to include all the latest features. To customize the app, you can remove or insert tools and interactions using the provided functions. \n\nTo enable HDR support, set the 'colorMaximumLinearExposure' property to a value greater than 1, which tone-maps down to the device's supported HDR headroom. Doing so enhances the visual quality of the markup, especially when using new tools like the calligraphy reed tool introduced in PencilKit.\n\nYou can also customize the markup controller's 'contentView' to display any 'UIView', such as a template, providing a consistent background for markup and drawing.","end":731}]},"related":{"activities":["wwdc2024-10214","wwdc2020-10107","wwdc2020-10041"],"resources":[3972]}},"wwdc2025-322":{"id":"wwdc2025-322","staticContentId":9856,"eventContentId":322,"eventId":"wwdc2025","contentUpdatedAt":"2025-09-09T12:11:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/322","languageCode":"eng","description":"Learn best practices for building a great workout experience for iOS. Review the life cycle of a workout session, explore the differences between workouts on Apple Watch and iPhone, and find out how to use Live Activities and Siri to pump up your app\u2019s Lock Screen experience.","title":"Track workouts with HealthKit on iOS and iPadOS","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS"],"keywords":["bluetooth","heart rate","samples"],"primaryTopicID":92,"topicIds":[83,92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"12499BF9-8217-4A56-81CA-5E7CB66904DD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/322\/4\/f9d00075-ebbe-458c-a1e6-597ff5d78a1b\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/322\/4\/f9d00075-ebbe-458c-a1e6-597ff5d78a1b\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/322\/4\/f9d00075-ebbe-458c-a1e6-597ff5d78a1b\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/322\/4\/f9d00075-ebbe-458c-a1e6-597ff5d78a1b\/downloads\/wwdc2025-322_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/322\/4\/f9d00075-ebbe-458c-a1e6-597ff5d78a1b\/downloads\/wwdc2025-322_sd.mp4","duration":684,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"The HealthKit framework allows health and fitness apps to access a centralized encrypted database of user health data. With the platform's workout APIs, you can create comprehensive workout apps for iPhone and iPad that people can use to track workouts, access health metrics, and receive recovery insights. Learn the basics of running workout sessions, accessing metrics during workouts, handling crashes, and providing workout tips and best practices.","end":56},{"start":56,"title":"Run a workout session","summary":"The same code can be used across iPhone, iPad, and Apple Watch with minor adjustments. To track any activity, you create a workout configuration, set its type, and then start a session. The workout builder collects health metrics during the workout.","end":170},{"start":170,"title":"Get session metrics","summary":"When running a workout on Apple Watch, the device's built-in sensors provide a seamless experience. In contrast, collecting heart rate data on iPhone or iPad requires pairing with an external heart rate sensor because these devices don't have one. \n\niPhone and iPad can collect various workout metrics, but the system may generate different samples than those specifically requested by an app. You can modify the default types of data collected during a workout.\n\nAfter someone saves a workout, you can access and display summary statistics or chart metrics over time. iPhone workouts may have finer-grain data available for certain metrics, similar to historical Apple Watch workouts.\n\niPhone typically locks during workouts. For privacy reasons, health data isn't usually accessible while the device is locked. However, the system can prompt someone to allow workout data access to apps even when locked. You can then display live activities on the lock screen, showing crucial metrics without the person needing to unlock their phone.\n\nSiri support is extended to the lock screen, allowing people to start, pause, resume, or cancel workouts hands-free. You can integrate Siri intents into your apps to enable this functionality.","end":515},{"start":515,"title":"Recover from a crash","summary":"Crash Recovery on Apple Watch automatically relaunches apps and restores workout sessions. For iPhone and iPad, a new scene delegate handles recovery of workout sessions after a crash. You can use this app delegate to check for recovery options and retrieve the recovered session from the Health store.","end":574},{"start":574,"title":"Best practices","summary":"To track workouts effectively with HealthKit, mirror workouts started in the Apple Watch app to iPhone, request only necessary data authorization, and employ the workout builder API. Using these recommendations, you can ensure accurate activity ring updates and enhance user experience. Also be sure to upgrade to the new APIs, download the demo app, and consider adding workout support to iPhone and iPad to expand your market reach.","end":684}]},"related":{"activities":["wwdc2023-10023","wwdc2024-10210","wwdc2023-10184","wwdc2025-321"],"resources":[4089,4023,3896,3145,49]}},"wwdc2025-301":{"id":"wwdc2025-301","staticContentId":9967,"eventContentId":301,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/301","languageCode":"eng","description":"Level up with the Foundation Models framework. Learn how guided generation works under the hood, and use guides, regexes, and generation schemas to get custom structured responses. We\u2019ll show you how to use tool calling to let the model autonomously access external information and perform actions, for a personalized experience. \n\nTo get the most out of this video, we recommend first watching \u201cMeet the Foundation Models framework\u201d.","title":"Deep dive into the Foundation Models framework","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ai","machine learning"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7313793F-4445-4EB0-A94B-B05549BCD658","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/301\/4\/955589c1-ae33-47db-9e86-2b87311dedb5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/301\/4\/955589c1-ae33-47db-9e86-2b87311dedb5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/301\/4\/955589c1-ae33-47db-9e86-2b87311dedb5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/301\/4\/955589c1-ae33-47db-9e86-2b87311dedb5\/downloads\/wwdc2025-301_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/301\/4\/955589c1-ae33-47db-9e86-2b87311dedb5\/downloads\/wwdc2025-301_sd.mp4","duration":1531,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about the Foundation Models framework for Apple devices, which provides an on-device large language model accessible via Swift API. \n\nIt covers how to use Generable to get structured output, dynamic schemas, and tool calling for custom functions.","end":49},{"start":49,"title":"Sessions","summary":"In this example, Foundation Models enhance a pixel art coffee shop game by generating dynamic game dialog and content. Through the creation of a 'LanguageModelSession', custom instructions are provided to the model, enabling it to respond to player questions. The model processes user input and session instructions into tokens, small substrings, which it then uses to generate new sequences of tokens as output.\n\nThe 'LanguageModelSession' is stateful, recording all prompts and responses in a transcript. You can use this transcript to debug and display the conversation history in the game's user interface. However, there is a limit to the session's size, known as the context limit. \n\nThe generation of responses is not deterministic by default. The model uses sampling, creating a distribution of likelihoods for each token, which introduces randomness. This randomness can be controlled by using the GenerationOptions API, allowing you to adjust the sampling method, temperature, or even set it to greedy for deterministic output.\n\nBeyond simple dialog, Foundation Models can be employed to generate more complex outputs, such as names and coffee orders for Non-Playable Characters (NPCs). This adds depth and variety to the game world, making it feel more alive and interactive. You must also consider potential issues like unsupported languages and handle them gracefully to provide a smooth user experience.","end":477},{"start":477,"title":"Generable","summary":"Foundation Models' Generable API is a powerful tool that simplifies obtaining structured data from Large Language Models. By applying the @Generable macro to Swift structs or enums, a schema is generated at compile-time, guiding the model's output. \n\nGenerable automatically generates an initializer and handles parsing the model's generated text into type-safe Swift objects using constrained decoding. This technique ensures that the model's output adheres to the specified schema, preventing hallucinations and structural mistakes.\n\nYou can further customize the generation process using 'Guides', which provide constraints, ranges, or natural language descriptions for specific properties. This allows for more control over the generated data, such as specifying name formats, array counts, or numerical ranges. Generable enables efficient and reliable data generation, freeing developers to focus on more complex aspects of their applications.","end":869},{"start":869,"title":"Dynamic schemas","summary":"In the game's level creator, dynamic schemas enable players to define custom entities at runtime. These schemas, akin to compile-time structs, have properties with names and types, allowing for arrays and references to other dynamic schemas. \n\nFrom player input, a riddle schema is created with a question (string) and an array of answers (custom type with string and Boolean properties). These dynamic schemas are validated and then used to generate content by Foundation Models, ensuring the output matches the defined structure.\n\nThis dynamic approach allows the game to display player-created riddles and other entities in a dynamic UI, providing a high degree of flexibility and creativity for players while maintaining structured data handling.","end":1090},{"start":1090,"title":"Tool calling","summary":"With Foundation Models, game developers can create personalized DLC using tool calling. This allows the model to autonomously fetch information from the player's device, such as contacts and calendar, while preserving privacy because the data never leaves the device.\n\nDefining a tool involves specifying a name, description, and input arguments. The model uses this information to decide when and how to call the tool. The tool's implementation then interacts with external APIs, like the Contacts API, to retrieve data.\n","end":1531}]},"related":{"activities":["wwdc2025-360","wwdc2025-286","wwdc2025-8267","wwdc2025-8153","wwdc2025-440","wwdc2025-8157","wwdc2025-8153","wwdc2025-259"],"resources":[4022,3962]}},"wwdc2025-298":{"id":"wwdc2025-298","staticContentId":10061,"eventContentId":298,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/298","languageCode":"eng","description":"Discover MLX LM \u2013 designed specifically to make working with large language models simple and efficient on Apple silicon. We\u2019ll cover how to fine-tune and run inference on state-of-the-art large language models on your Mac, and how to seamlessly integrate them into Swift-based applications and projects.","title":"Explore large language models on Apple silicon with MLX","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D30A2350-0EDF-4878-85CA-F42DBE4AB520","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/298\/4\/fc7619f7-0729-4d62-9a01-ba6020832cb8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/298\/4\/fc7619f7-0729-4d62-9a01-ba6020832cb8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/298\/4\/fc7619f7-0729-4d62-9a01-ba6020832cb8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/298\/4\/fc7619f7-0729-4d62-9a01-ba6020832cb8\/downloads\/wwdc2025-298_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/298\/4\/fc7619f7-0729-4d62-9a01-ba6020832cb8\/downloads\/wwdc2025-298_sd.mp4","duration":1208,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"MLX is an open-source library optimized for Apple silicon, enabling efficient machine learning on Macs. It utilizes Metal for GPU acceleration and unified memory for seamless CPU-GPU collaboration. MLX supports Python, Swift, C++, and C.\n\nMLX LM, a Python library and CLI tools, simplifies running, fine-tuning, and integrating large language models on Apple silicon. You can load, interact with, and generate text from state-of-the-art models, such as DeepSeek AI's 670B parameter model, locally on your Mac with impressive speed and performance.","end":187},{"start":187,"title":"MLX LM Introduction","summary":"MLX LM is a Python package built on MLX for running and experimenting with large language models. It offers command-line tools and a Python API for text generation and fine-tuning, with integration with Hugging Face for model downloading and sharing. You install it via pip install mlx-lm.","end":231},{"start":231,"title":"Text generation","summary":"MLX LM is a tool that enables text generation using language models from Hugging Face or locally stored models. It provides two main interfaces: a command-line tool and a Python API. \n\nThe command-line tool allows you to generate text with simple prompts and basic customization options. The Python API offers more control, enabling you to load models, generate text, and inspect and modify the model's architecture.\n\nThe Python API also supports multi-turn conversations through a key-value cache, which efficiently stores intermediate results, saving time and computation. This makes MLX LM suitable for building chatbots, virtual assistants, and other interactive applications that require context retention across multiple prompts.","end":522},{"start":522,"title":"Quantization","summary":"Model quantization is a technique used to reduce the precision of machine learning models, making them smaller and faster, especially for deployment on smaller devices. MLX simplifies this process with its quantization API. \n\nYou can utilize the 'mlx_lm.convert' command to download, convert, and save models in one step. This command allows fine-grained control, enabling you to apply different quantization settings to various parts of the model, striking a balance between quality and efficiency. The quantized models can then be immediately used for inference or training within MLX or shared with others via Hugging Face.","end":699},{"start":699,"title":"Fine-tuning","summary":"MLX LM enables you to fine-tune large language models locally on a Mac without writing code or sending data to the cloud. This process adapts general-purpose models to specific domains or tasks using smaller, domain-specific datasets.\n\nMLX LM supports two main fine-tuning methods: full model fine-tuning and low-rank adapter training. Adapter training is faster, lighter, and more memory-efficient, making it ideal for local hardware.\n\nYou can initiate fine-tuning with a single command, specifying the model, dataset, and training duration. For more control, training configuration files are available. After fine-tuning, the adapters can be fused back into the base model, creating a self-contained, updated model that can be easily distributed and used, and even uploaded to Hugging Face repositories for sharing.","end":1022},{"start":1022,"title":"LLMs in MLXSwift","summary":"MLX brings simplicity and flexibility to Swift for using large language models. It allows loading, tokenizing, and generating text with quantized models using just a few lines of code.\n\nManaging multi-turn conversations requires only a few extra lines to create a key-value cache. MLX provides open-source core operations in C, C++, Python, and Swift, with high-level APIs in Python and Swift, enabling efficient machine learning workflows on Apple hardware.","end":1208}]},"related":{"activities":["wwdc2025-315","wwdc2025-8139","wwdc2025-8138"],"resources":[4070,4069,4068,4067,4066,4065,4064,4060]}},"wwdc2025-209":{"id":"wwdc2025-209","staticContentId":9890,"eventContentId":209,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/209","languageCode":"eng","description":"Learn how to make your games shine on the unified gaming platform. We\u2019ll give you a map of the technologies you can use to level up your game and further improve your player experience. Get an overview of the fundamental tools essential to build, debug, and profile your game. ","title":"Level up your games","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6C097D36-BE91-4B04-854A-E6264DA86F15","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/209\/4\/45dc1092-c205-4dc3-8e6c-fa075886dce8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/209\/4\/45dc1092-c205-4dc3-8e6c-fa075886dce8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/209\/4\/45dc1092-c205-4dc3-8e6c-fa075886dce8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/209\/4\/45dc1092-c205-4dc3-8e6c-fa075886dce8\/downloads\/wwdc2025-209_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/209\/4\/45dc1092-c205-4dc3-8e6c-fa075886dce8\/downloads\/wwdc2025-209_sd.mp4","duration":1390,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Intro","summary":"New gaming features that enhance graphics, performance, and social play enable you to meet player expectations for the best gaming experience across all Apple devices.","end":79},{"start":79,"title":"System experience","summary":"You can take advantage of built-in system features that will boost your game\u2019s performance, enable players to get the most out of their devices while gaming and boost the sustained performance of your game. You can also add social features that increase players engagement with your game and enhance the visibility your game has across the system.","end":99},{"start":99,"title":"Boost performance","summary":"Your game can access system features that boodt your game\u2019s performance, with little or no effort required on your part. Game Mode, in macOS and iOS, optimizes system behavior for games running in full-screen mode by reducing background activity and improving Bluetooth latency. Sustained Execution Mode enables your game to work hand-in-hand with the OS to provide a consistent performance experience to players. And Low Power Mode means players can have longer play sessions while on battery power.","end":266},{"start":266,"title":"Engage players","summary":"Game Center is Apple\u2019s social gaming network, enabling players to connect, compete, and track progress across games. It integrates with Xcode for easy setup. Games that adopt Game Center and its social features enjoy expanded visibility across the new Apple Games app and the new Game Overlay.","end":403},{"start":403,"title":"Game technologies","summary":"Check out the Human Interface Guidelines to start learning how to provide a great experience specific to Apple platforms.","end":453},{"start":453,"title":"Start playing","summary":"A great player experience starts the first time your game is launched. For high-end games with large downloads, split content into essential and non-essential parts. Players can then start playing the first level while the rest of the game downloads in the background. The new Managed Background Assets framework facilitates this process, allowing you to prioritize content, offer optional downloads, and update assets separately. ","end":571},{"start":571,"title":"Play anywhere","summary":"The new GameSave framework enables seamless cloud saves for games across devices. Players can switch between Apple devices and pick up the game right where they left off. ","end":772},{"start":772,"title":"Play how they like","summary":"Apple platforms support various input methods such as keyboard, mouse, game controllers, and touch via the Game Controller and Touch Controls frameworks. These frameworks enable you to create games that cater to players' preferences, whether that\u2019s physical controllers or touch screens, ensuring a seamless experience across all Apple devices.","end":896},{"start":896,"title":"Graphics","summary":"Metal 4 is a low-level graphics and compute API that powers the latest advanced games. It\u2019s designed to handle the increased complexity of modern graphics rendering, reducing CPU overhead and enabling you to utilize machine learning in rendering pipelines.\n\nTo achieve high frame rates without compromising visual quality, integrate MetalFX Upscaling support into your games. MetalFX scales lower-resolution images up to the target output resolution efficiently, balancing visual quality and performance. Additionally, MetalFX Frame Interpolation can further boost frame rates by generating intermediate frames.\n\nThe Game Porting Toolkit 3 supports Metal 4, making it easier for you to integrate Metal into your existing C++ codebases. Tools like Metal shader converter help translate HLSL shaders to Metal, and the Metal Performance HUD provides real-time performance metrics and insights so you can debug and optimize your games.\n\nThe Metal Performance HUD is enhanced with new features, such as performance insights, aggregated performance reports, and customization options, allowing you to analyze your game's performance effectively and make data-driven improvements.","end":1351},{"start":1351,"title":"Next steps","summary":"Provide the best player experience possible across Apple devices by using gaming-enabled system features, adding social play, supporting a variety of input methods, and unleveling your graphics with Metal 4. Check out the related Metal 4 and games sessions at WWDC.","end":1390}]},"related":{"activities":["wwdc2025-205","wwdc2025-211","wwdc2025-294","wwdc2025-8152","wwdc2025-254","wwdc2025-8083","wwdc2025-8080","wwdc2025-8079","wwdc2025-8081","wwdc2025-8082","wwdc2025-437","wwdc2025-214","wwdc2025-215","wwdc2025-325","wwdc2024-10085","wwdc2024-10089"],"resources":[4092,4091,3698]}},"wwdc2025-253":{"id":"wwdc2025-253","staticContentId":10051,"eventContentId":253,"eventId":"wwdc2025","contentUpdatedAt":"2025-11-04T16:52:02-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/253","languageCode":"eng","description":"Learn how to customize capture controls in your camera experiences. We\u2019ll show you how to take photos with all physical capture controls, including new AirPods support, and how to adjust settings with Camera Control.","title":"Enhancing your camera experience with capture controls","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["avfoundation","camera","capture"],"primaryTopicID":95,"topicIds":[95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EB2B2931-F461-472A-98C8-77301702430F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/253\/4\/61747dad-b349-43cc-83c6-782e690f2ae1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/253\/4\/61747dad-b349-43cc-83c6-782e690f2ae1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/253\/4\/61747dad-b349-43cc-83c6-782e690f2ae1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/253\/4\/61747dad-b349-43cc-83c6-782e690f2ae1\/downloads\/wwdc2025-253_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/253\/4\/61747dad-b349-43cc-83c6-782e690f2ae1\/downloads\/wwdc2025-253_sd.mp4","duration":1160,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about using AVKit and AVFoundation to improve user interactions in camera apps. You can now programmatically map physical button gestures, such as volume \"up\" and \"down\", to camera actions, enabling people to take photos and start video recording using the phone's buttons. \n\nA new feature in iOS 26 is Remote Camera Control with AirPods. Learn the supported physical buttons, how to use the AVCaptureEventInteraction API, and an overview of Camera Control on the iPhone 16.","end":171},{"start":171,"title":"Physical capture","summary":"AVCaptureEventInteraction supports the Action button; configuration details can be found in last year's session \u201cExtend your app\u2019s controls across the system\u201d.\n","end":181},{"start":181,"title":"Event handling","summary":"AVCaptureEventInteraction is an API that enables you to control the lifecycle of physical button presses within camera apps. It provides three event phases: 'began', 'cancelled', and 'ended'. The 'ended' phase is when the camera object should initiate capture. \n\nThe API distinguishes between primary and secondary actions, triggered by specific buttons (volume down, Action, Camera Control for primary; volume up for secondary). This design allows for modularity and flexibility in app design.\n\nSwiftUI developers can access this functionality through the 'onCameraCaptureEvent' view modifier. By importing the AVKit framework and attaching this modifier to the CameraView, you can enable photo capture with physical buttons in just a few lines of code, mimicking the behavior of the built-in Camera app.","end":399},{"start":399,"title":"AirPods remote capture","summary":"Starting in iOS 26, AirPods equipped with the H2 chip will enable remote camera control through stem clicks. Users can configure this feature in the settings app and choose which stem click action triggers photo capture. \n\nA new API has been introduced to provide audio feedback for these stem clicks, with a default tone included, though you can customize this sound for your specific apps. This enhancement allows people to capture moments hands-free and ensures confirmation of their commands through audio cues.","end":600},{"start":600,"title":"Camera control","summary":"AVCaptureControl is a new feature in iPhone 16 that enables you to create physical hardware controls for your camera interfaces. It allows people to launch camera apps and adjust camera setting quickly, and it can act as a shutter button.\n\nThe control supports two main types of adjustments: sliders (continuous and discrete) for numeric values, and pickers for items in a list. These controls are defined in the AVFoundation framework.\n\nYou can add system-defined controls for zoom or exposure bias, or create custom controls with app-defined behaviors. These controls are then added to an AVCaptureSession, and the app responds to interactions through action handlers or Key-Value Observing (KVO), updating the UI accordingly.\n\nTo enhance the camera app functionality, utilize Camera Control to easily add system-provided controls such as zoom, which requires only a single line of code. However, it is crucial to ensure the session accepts the control and to synchronize the UI with the control's state to avoid issues like stale zoom factors.\n\nWhen creating custom controls, consider that Camera Control is specifically designed for capturing experiences. A good example of a custom control is a Picker that allows people to select effects or filters. This control needs to operate closer to the capture session than the UI.\n\nYou can define effects, initialize the Picker with effect names, and disable the control when not supported. By targeting the action to the session queue, you can ensure proper isolation and management of the device. \n\nWith Capture Controls, you can build world-class camera apps that capture people's attention.","end":1160}]},"related":{"activities":["wwdc2024-10204","wwdc2023-10256","wwdc2023-10106","wwdc2025-8273","wwdc2025-8098"],"resources":[3787,3691,3528,3525,2957,2956,2432,2398,545,382,52,28]}},"wwdc2025-203":{"id":"wwdc2025-203","staticContentId":9876,"eventContentId":203,"eventId":"wwdc2025","contentUpdatedAt":"2026-04-14T11:38:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/203","languageCode":"eng","description":"Discover how the ManagedApp framework helps your app adapt to managed environments. We\u2019ll show you how to receive configuration data, manage app secrets securely, and tailor your app\u2019s behavior based on organization-provided settings. We\u2019ll also walk through real-world examples to show how you can build more flexible, manageable apps for enterprise and education environments.","title":"Get to know the ManagedApp Framework ","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","visionOS"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F76C0C20-E164-42AE-A7CC-A58E6BCAC9FE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/203\/6\/f89d3254-c464-4d37-80cd-45de128efd20\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/203\/6\/f89d3254-c464-4d37-80cd-45de128efd20\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/203\/6\/f89d3254-c464-4d37-80cd-45de128efd20\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/203\/6\/f89d3254-c464-4d37-80cd-45de128efd20\/downloads\/wwdc2025-203_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/203\/6\/f89d3254-c464-4d37-80cd-45de128efd20\/downloads\/wwdc2025-203_sd.mp4","duration":1490,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Welcome","summary":"The ManagedApp framework streamlines app setup for managed deployments across organizations. This framework eliminates the complex and multi-step process people face when setting up apps, which can lead to frustration, reduced app usage, and increased support costs. \n\nUsing the ManagedApp framework, you can pre-configure apps for each organization, device, and user, enabling immediate use upon launch. This approach enhances user experience, boosts app adoption, and reduces support burdens for administrators, making app deployment more efficient and cost-effective.","end":171},{"start":171,"title":"Introducing ManagedApp framework","summary":"The ManagedApp framework enables administrators to securely configure managed apps and their extensions. The framework facilitates device and user authentication, meets high security requirements, and provisions passwords, certificates, identities, and app-specific configuration data. \n\nThe system stores this data securely and makes it only accessible to authorized managed apps or extensions. The framework integrates with other device management technologies and supports most app extension types, enhancing data security and access control for managed devices.","end":314},{"start":314,"title":"Workflow","summary":"Administrators can use this framework to remotely manage devices and apps using an MDM server. The framework facilitates the secure transmission of configuration settings and secrets from the administrator to the app. \n\nYou play a crucial role by writing decoders and specifications that detail how others can configure your apps. Administrators use this information to tailor the app's behavior to their organization's specific needs, enhancing security and functionality. The framework serves as a platform, empowering you to create innovative solutions for organizational use.","end":446},{"start":446,"title":"Example scenarios","summary":"The ManagedApp framework enhances security and functionality for managed apps across various scenarios. It enables the secure distribution of license keys, replacing less secure license tokens, and provides cryptographic identities for licensing purposes. \n\nFor example, the framework is particularly useful for VPN extensions, offering strong authentication through attested hardware-bound key.  Also, for identity providers, ManagedApp framework facilitates extensible single sign-on with various authentication materials such as hardware-bound identities, temporary passwords, and tokens.\n\nOverall, the ManagedApp framework improves app security, simplifies management, and supports app extensions, making it a superior solution for organizations deploying managed apps.","end":737},{"start":737,"title":"Implementation","summary":"In iOS, this framework simplifies the process of delivering configuration and secrets to apps securely. The framework consists of four independent classes, each tailored to handle a specific data type: strings, SecCertificates, SecIdentities, and app-specific configurations.\n\nFor app-specific configurations, you can define the structure of the data using Swift structs. This flexibility enables administrators to customize the app's behavior according to their needs. An example is the Landmarks app, which administrators can configure to display specific landmark collections for classroom use.\n\nTo achieve this, you create a struct that represents the configurable settings, such as the managed collection. This struct conforms to the 'Decodable' protocol, so the framework can decode the configuration data received from the Mobile Device Management (MDM) server. The app then uses Swift concurrency to retrieve the configuration asynchronously, ensuring that the process doesn't block the main thread.\n\nWhen the administrator updates the configuration, the app automatically receives and applies the changes, making it dynamic and adaptable.\n\nThe framework also provides support for handling sensitive information like identities. You can use the ManagedApp Identities Provider to look up and retrieve provisioned identities securely. This ability simplifies the implementation of mutual TLS authentication, so the app can connect to asset servers securely.\n\nFinally, to enable administrators to configure the app effectively, you need to publish a specification that documents the configuration format, valid values, error codes, and any supported secret identifiers. This specification serves as a guide for administrators, helping them create and apply configurations correctly.","end":1287},{"start":1287,"title":"Best practices","summary":"Follow best practices for configuration management when developing an app. Download data from a server rather than storing in configuration, which only handles kilobytes of data. Look up secrets as needed for security and to ensure the latest version is in use. \n\nConfiguration options need to be individual and granular to provide administrators with maximum flexibility. Forward and backward compatibility needs to be considered; decoders need to handle older configurations and ignore new keys.\n\nDesign apps so reviewers can test all features, even those requiring management or configuration. You can achieve this through demo modes, videos, or providing review credentials. Be creative, consider customer feedback, and adopt the ManagedApp framework for improved ease of use.","end":1490}]},"related":{"activities":["wwdc2025-258"],"resources":[3960,3959,3108,584,330]}},"wwdc2025-296":{"id":"wwdc2025-296","staticContentId":10057,"eventContentId":296,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/296","languageCode":"eng","description":"Discover how to play immersive videos in visionOS apps. We\u2019ll cover various immersive rendering modes, review the frameworks that support them, and walk through how to render immersive video in your app. To get the most out of this video, we recommend first watching \u201cExplore video experiences for visionOS\u201d from WWDC25.","title":"Support immersive video playback in visionOS apps","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[84,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"721333AB-435B-4714-AA9F-337883E2AA73","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/296\/4\/5953ed86-1de9-408e-9d39-2efe18da426b\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/296\/4\/5953ed86-1de9-408e-9d39-2efe18da426b\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/296\/4\/5953ed86-1de9-408e-9d39-2efe18da426b\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/296\/4\/5953ed86-1de9-408e-9d39-2efe18da426b\/downloads\/wwdc2025-296_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/296\/4\/5953ed86-1de9-408e-9d39-2efe18da426b\/downloads\/wwdc2025-296_sd.mp4","duration":1532,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"This video covers new APIs in AVKit and Quick Look for immersive video playback, and details customizing immersive playback experiences with RealityKit.","end":84},{"start":84,"title":"Video profiles supported in visionOS 26","summary":"visionOS 26 introduces new video profiles such as APMP for 180, 360, and Wide FOV videos, and Apple Immersive Video for the ultimate immersive experience. You can utilize Quick Look, AVKit, or RealityKit for playback in the app.","end":189},{"start":189,"title":"Immersive video playback in \u2028Quick Look","summary":"Quick Look in visionOS 26 offers two APIs: PreviewApplication for out-of-process media presentation and QLPreviewController for in-app media previews. Both APIs are updated to support spatial photos videos, Apple Immersive Video, and Apple Projected Media Profile. Apps already using Quick Look APIs will automatically support these new immersive media profiles.","end":265},{"start":265,"title":"Immersive video playback with AVKit","summary":"AVKit introduces 'AVExperienceController,' offering two main experiences: Expanded and Immersive. Now, you can configure the Expanded experience for immersive playback, with an option to disable automatic transitions. This allows for a 'portal treatment' of immersive content when detected. You can explicitly transition into the Immersive experience using the new Immersive experience API, which provides a configuration API to define the placement of immersive video playback.\n\n'AVExperienceController' handles animations and transitions between experiences. The controller's Delegate Protocol is essential to monitor transition and presentation state changes, ensuring your apps adapt appropriately to different content types and user interactions.\n","end":551},{"start":551,"title":"Comfort mitigation detection","summary":"visionOS 26 introduces comfort mitigation detection for immersive videos in Quick Look and AVKit. The system automatically reduces immersion levels during high-motion playback of Apple Projected Media Profile content to prevent viewer discomfort, with customizations available in the Settings app.","end":591},{"start":591,"title":"Custom playback \u2028in RealityKit","summary":"RealityKit is the go-to framework for custom immersive video playback in visionOS, especially for games and apps with unique UIs. In visionOS 26, RealityKit's VideoPlayerComponent supports native playback of immersive videos including 180, 360, and Wide FOV formats, as well as Apple Immersive Video and spatial video rendering just like the Photos app. This component automatically handles mesh updates and animations, making it ideal for creating dynamic immersive video experiences.","end":708},{"start":708,"title":"Progressive immersion mode in RealityKit","summary":"n visionOS 26, 'VideoPlayerComponent' supports three immersive modes for Apple Projected Media Profile and Apple Immersive Video: portal, progressive, and full.\n\nPortal mode presents the video in a portal. Progressive mode, new in visionOS 26, allows users to adjust immersion using the digital crown and is preferred for comfort and flexibility. It is equivalent to full immersion at 100%. To configure playback, set the 'desiredImmersiveViewingMode'. For progressive mode, use an 'ImmersiveSpace' with a progressive 'ImmersionStyle', and match the mode with the style. Immersive viewing mode events signal when to toggle UI visibility during transitions.\n","end":992},{"start":992,"title":"Spatial video rendering with RealityKit","summary":"RealityKit now natively supports spatial videos, enabling immersive rendering with full spatial styling. You can configure spatial styling using the 'desiredSpatialVideoMode' property on 'VideoPlayerComponent'.\nSetting this property to '.spatial' opts in to spatial styling, allowing for rendering in either '.portal' or '.full' ImmersiveViewingModes. The '.full' mode is always used for immersive spatial videos, which render at a fixed size based on the content's field-of-view.\n\nThe default mode, '.screen', renders spatial videos in traditional stereo on a screen mesh. You can subscribe to the 'SpatialVideoModeDidChange' event to monitor updates to the 'spatialVideoMode' property.\nTo create a spatial video portal, set 'desiredSpatialVideoMode' to '.spatial' and 'desiredImmersiveViewingMode' to '.portal'. For immersive spatial video rendering, use the '.full' mode with a mixed immersion style and the 'coexist' option for 'immersiveEnvironmentBehavior'.","end":1276},{"start":1276,"title":"Comfort mitigation detection in RealityKit","summary":"RealityKit automatically detects high motion in Apple Projected Media Profile videos and applies comfort mitigation. Your app is notified of these adjustments via the 'VideoComfortMitigationDidOccur' event. Progressive rendering is required for the 'reducedImmersion' mitigation, and portal rendering doesn't need them because it's already comfortable for most content. The 'ContentTypeDidChange' event helps you adapt to different video types and their specific viewing mode and mitigation requirements.","end":1377},{"start":1377,"title":"RealityKit content integration with SwiftUI","summary":"When integrating RealityKit's VideoPlayerComponent with SwiftUI, ensure uniform scaling of the video entity's X and Y axes to maintain aspect ratio, especially in portal mode. Use 'GeometryReader3D' to scale the video based on the available window size to prevent clipping.\n\nCustom UI on the same plane as the video mesh has undefined sorting behavior. To resolve sorting issues with custom UI on the same plane, add a 'ModelSortGroupComponent' with a 'planarUIPlacement' category.","end":1532}]},"related":{"activities":["wwdc2025-304","wwdc2025-237","wwdc2023-10081","wwdc2024-10153","wwdc2025-297","wwdc2025-403"],"resources":[3934,3930,3929,568,52,51]}},"wwdc2025-266":{"id":"wwdc2025-266","staticContentId":9979,"eventContentId":266,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/266","languageCode":"eng","description":"Discover how SwiftUI leverages Swift concurrency to build safe and responsive apps. Explore how SwiftUI uses the main actor by default and offloads work to other actors. Learn how to interpret concurrency annotations and manage async tasks with SwiftUI\u2019s event loop for smooth animations and UI updates. You\u2019ll leave knowing how to avoid data races and write code fearlessly.","title":"Explore concurrency in SwiftUI","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[100,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"73DF34AA-BEA5-46F4-BE0E-9CE1DD91279C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/266\/7\/c7837487-ed14-4560-8c2c-a583596027ca\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/266\/7\/c7837487-ed14-4560-8c2c-a583596027ca\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/266\/7\/c7837487-ed14-4560-8c2c-a583596027ca\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/266\/7\/c7837487-ed14-4560-8c2c-a583596027ca\/downloads\/wwdc2025-266_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/266\/7\/c7837487-ed14-4560-8c2c-a583596027ca\/downloads\/wwdc2025-266_sd.mp4","duration":1495,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"SwiftUI leverages Swift Concurrency to help developers build fast and data-race free apps. Swift 6.2 introduces a new language mode, which marks all types in a module with the @MainActor annotation implicitly. SwiftUI runs code concurrently in various ways and provides concurrency annotations in its APIs to help developers identify and manage concurrency. The session focuses on understanding how SwiftUI handles concurrency to avoid data races and improve app performance.\n","end":133},{"start":133,"title":"Main-actor Meadows","summary":"SwiftUI's View protocol is @MainActor isolated, making it the compile-time default for UI code. This means most UI code implicitly runs on the main thread, simplifying development and ensuring compatibility with UIKit and AppKit. Data models instantiated within a View are also automatically isolated. SwiftUI's @MainActor annotations reflect its runtime behavior and intended semantics, not just compile-time conveniences.\n","end":437},{"start":437,"title":"Concurrency Cliffs","summary":"SwiftUI uses background threads for computationally intensive tasks like animations and shape calculations (e.g., `Shape` protocol's `path` method, `visualEffect` closure, `Layout` protocol, `onGeometryChange` closure) to prevent UI hitches. The `Sendable` annotation signals potential data-race conditions when sharing data between the main actor and background threads. To avoid data races, minimize data sharing. When sharing is necessary, make copies of data.\n","end":1013},{"start":1013,"title":"Code Camp","summary":"SwiftUI's action callbacks are synchronous by design to ensure immediate UI updates, especially for animations and loading states. Long-running tasks should be initiated asynchronously, but UI updates should remain synchronous. Separate UI logic from non-UI (async) logic, using state as a bridge to trigger UI updates after async tasks complete. Keep the async code in the view simple, and focus on informing the model of UI events. Time-sensitive logic requires SwiftUI's input and output to be synchronous.\n","end":1427},{"start":1427,"title":"Next steps","summary":"Swift 6.2 comes with a great default actor isolation setting. If you have an existing app, try it out. You\u2019ll be able to delete most of your @MainActor annotations. Mutex is an important tool for making a class sendable. Check out its official documentation to learn how. Challenge yourself to write some unit tests for the async code in your app. See if you can do it without importing SwiftUI.\n","end":1495}]},"related":{"activities":["wwdc2025-270","wwdc2025-268","wwdc2023-10156"],"resources":[4071,1788,1742,1712]}},"wwdc2025-270":{"id":"wwdc2025-270","staticContentId":9949,"eventContentId":270,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/270","languageCode":"eng","description":"Learn how to optimize your app\u2019s user experience with Swift concurrency as we update an existing sample app. We\u2019ll start with a main-actor app, then gradually introduce asynchronous code as we need to. We\u2019ll use tasks to optimize code running on the main actor, and discover how to parallelize code by offloading work to the background. We\u2019ll explore what data-race safety provides, and work through interpreting and fixing data-race safety errors. Finally, we\u2019ll show how you can make the most out of structured concurrency in the context of an app.","title":"Code-along: Elevate an app with Swift concurrency","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EFA0BFB3-4C16-4303-A73A-21DEC7F07100","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/270\/4\/fec27360-7913-4e07-8025-e80187a8d00a\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/270\/4\/fec27360-7913-4e07-8025-e80187a8d00a\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/270\/4\/fec27360-7913-4e07-8025-e80187a8d00a\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/270\/4\/fec27360-7913-4e07-8025-e80187a8d00a\/downloads\/wwdc2025-270_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/270\/4\/fec27360-7913-4e07-8025-e80187a8d00a\/downloads\/wwdc2025-270_sd.mp4","duration":1976,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","end":131},{"start":131,"title":"Approachable concurrency configuration","end":171},{"start":171,"title":"Sample app architecture","end":222},{"start":222,"title":"Asynchronously loading photos from the photo library","end":543},{"start":543,"title":"Extracting the sticker and the colors from the photo","end":750},{"start":750,"title":"Running tasks on a background thread","end":958},{"start":958,"title":"Parallelizing tasks","end":1124},{"start":1124,"title":"Preventing data races with Swift 6","end":1676},{"start":1676,"title":"Controlling asynchronous code with structured concurrency","end":1896},{"start":1896,"title":"Wrap-up","end":1976}]},"related":{"activities":["wwdc2025-268","wwdc2023-10248","wwdc2025-266","wwdc2023-10170"],"resources":[3964,3855]}},"wwdc2025-278":{"id":"wwdc2025-278","staticContentId":9952,"eventContentId":278,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/278","languageCode":"eng","description":"WidgetKit elevates your app with updates to widgets, Live Activities, and controls. Learn how to bring your widgets to visionOS, take them on the road with CarPlay, and make them look their best with accented rendering modes. Plus, find out how relevant widgets can be surfaced in the Smart Stack on watchOS, and discover how push notifications can be used to keep your widgets up to date.","title":"What\u2019s new in widgets","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"126547AE-9E47-4E15-AC05-5C50AB08CBEE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/278\/6\/2b85cabe-2b0a-4290-a667-9170e4b5ae18\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/278\/6\/2b85cabe-2b0a-4290-a667-9170e4b5ae18\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/278\/6\/2b85cabe-2b0a-4290-a667-9170e4b5ae18\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/278\/6\/2b85cabe-2b0a-4290-a667-9170e4b5ae18\/downloads\/wwdc2025-278_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/278\/6\/2b85cabe-2b0a-4290-a667-9170e4b5ae18\/downloads\/wwdc2025-278_sd.mp4","duration":1468,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about updates to WidgetKit including new ways to incorporate your app with the system, show relevant content in the Smart Stack, and keep your app up to date.","end":63},{"start":63,"title":"Widgets in new places","summary":"Widgets have new styling options and are available in new places. Check out tips to make your widgets look great with accented rendering mode. Widgets are available in more places, including visionOS 26 and CarPlay. Widgets on visionOS 26 can be added to rooms and pinned to surfaces. These widgets can be customized to support different mounting styles, textures, and level of detail based on proximity. CarPlay and macOS 26 now support Live Activities. Controls are available on macOS Tahoe and watchOS 26. ","end":931},{"start":931,"title":"Relevance widgets","summary":"Relevant widgets show up in the Smart Stack on watchOS 26 when they\u2019re most relevant based on people\u2019s routines, location, and more. These widgets show up in the Smart Stack only when they\u2019re relevant, and multiple instances can show up at the same time, like for overlapping calendar events or happy hours. Build relevant widgets by specifying when the widget is most relevant, like at a particular time or type of location.","end":1092},{"start":1092,"title":"Push widget updates","summary":"Widgets across all WidgetKit platforms can now be updated by push updates through APNS. There are multiple tools to keep widgets up to date, and the best tool for each use case is determined by how the data for your widget is updated. Timelines are good for regularly updating data. Changes driven by interaction in an app should reloadAllTimelines. For synchronization between devices, or external data changes, like from a server, use widget push updates. Push updates for widgets help keep widgets more up to date, but aren\u2019t a direct replacement for other notification experiences. Consider whether a User Notification, Live Activity, or widget is best for each use case.","end":1468}]},"related":{"activities":["wwdc2025-255","wwdc2023-10027","wwdc2024-10098","wwdc2025-216","wwdc2024-10157","wwdc2025-334","wwdc2020-10095","wwdc2023-10025"],"resources":[4058,4057,4056,4042,1786]}},"wwdc2025-325":{"id":"wwdc2025-325","staticContentId":9860,"eventContentId":325,"eventId":"wwdc2025","contentUpdatedAt":"2026-06-04T13:03:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/325","languageCode":"eng","description":"Building on Background Assets, this session will introduce the new capability to download asset packs of content for games and other applications. Learn how Apple can host these asset packs for you or how to manage self-hosting options. We\u2019ll delve into the native API integration and the corresponding App Store implementations, providing you with the tools to enhance your app\u2019s content delivery and user experience.\n","title":"Discover Apple-Hosted Background Assets","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":101,"topicIds":[83,86,91,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A51258F3-769A-4301-BE75-0DDE23322569","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/325\/6\/cda561c7-42e2-4bcb-a7a2-e52259a23c5d\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/325\/6\/cda561c7-42e2-4bcb-a7a2-e52259a23c5d\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/325\/6\/cda561c7-42e2-4bcb-a7a2-e52259a23c5d\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/325\/6\/cda561c7-42e2-4bcb-a7a2-e52259a23c5d\/downloads\/wwdc2025-325_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/325\/6\/cda561c7-42e2-4bcb-a7a2-e52259a23c5d\/downloads\/wwdc2025-325_sd.mp4","duration":1505,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about Background Assets \u2014 a new way to distribute app assets on the App Store. Review current asset-delivery technologies, see new Swift and Objective-C APIs, and learn how to integrate these features across iOS, iPadOS, macOS, tvOS, and visionOS. Apple hosting of assets, including preparation for beta testing and App Store distribution is also discussed.","end":61},{"start":61,"title":"New in Background Assets","summary":"Background Assets enhances the app launch experience by allowing you to download and update app assets separately from the main app. This approach enables people to start using the app immediately, with additional content downloading in the background.\n\nThere are three main download policies for asset packs: Essential, Prefetch, and On-Demand. You can host your asset packs on your own servers or utilize the new Apple Hosted Background Assets service, which provides 200GB included in your Apple Developer Program membership.\n\nManaged Background Assets replaces the deprecated On-Demand Resources technology. It offers greater control and flexibility, so you can optimize app performance and user engagement. The system automatically manages downloads, updates, and compression, making it easy to implement.","end":452},{"start":452,"title":"Sample app development","summary":"To use Managed Background Assets in an app, you must create asset packs using a new packaging tool available for macOS, Linux, and Windows. This tool generates a JSON manifest file where you specify the asset pack's ID, download policy, supported platforms, and the files to be included by using file selectors.\n\nYou can configure the download policy to ensure essential assets are available locally before app launch and restrict downloads to first installations. Once the manifest is filled out, the packaging tool generates a compressed archive.\n\nTo integrate the asset pack into the app, add a downloader extension in Xcode, which schedules asset packs to be downloaded in the background. The system provides a fully-featured downloader extension that supports automatic downloads and updates.\n\nAccess the downloaded files in the main app using the 'AssetPackManager', ensuring local availability and awaiting status updates if necessary, providing a seamless user experience with optimized asset management. To use the Background Assets framework, the delegate protocol must be attached to the shared asset pack manager's delegate property. \n\nDownload status updates provide progress structures that can be used to cancel downloads if necessary. Once an asset pack is ready for local use, indicated by 'ensureLocalAvailability(of:)' returning without error, files can be read using 'contents(at:searchingInAssetPackWithID:options:)' or 'descriptor(for:searchingInAssetPackWithID:)' methods.\n\nThe system automatically manages asset pack updates and storage, but it is recommended to manually remove unused asset packs to free up space.\n\nTo enable coordination between the main app and downloader extension, you must add them to the same app group, and configure specific Info.plist keys.\n\nFor testing, a mock server is provided, which requires an SSL certificate. You must enter the mock server's base URL in Development Overrides on test devices. Once configured, the app downloads asset packs from the mock server during testing.","end":1044},{"start":1044,"title":"Beta testing and distribution","summary":"To prepare an app for beta testing on TestFlight and distribution on the App Store, you must upload the app binary and asset packs to App Store Connect. \n\nUpload asset packs using various methods, including the Transporter app for macOS, which provides a drag-and-drop interface, or the App Store Connect REST APIs for full control and automation.\n\nUsing the APIs involves three main steps: creating an asset pack record, creating a version record, and uploading the archive. Once the asset pack is processed, you can submit for internal or external testing in TestFlight.\n\nAfter successful testing, you can submit the asset pack version to App Review for distribution on the App Store. Monitor the progress and status of uploads, submissions, and reviews through App Store Connect or the APIs.","end":1505}]},"related":{"activities":["wwdc2023-10108","wwdc2025-328","wwdc2025-324"],"resources":[4257,4090,4031,3948,3947,3946]}},"wwdc2025-310":{"id":"wwdc2025-310","staticContentId":10015,"eventContentId":310,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/310","languageCode":"eng","description":"Update your AppKit app to take full advantage of the new design system. We\u2019ll dive into key changes to tab views, split views, bars, presentations, search, and controls, and show you how to use Liquid Glass in your custom UI. To get the most out of this video, we recommend first watching \u201cGet to know the new design system\u201d for general design guidance.","title":"Build an AppKit app with the new design","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["macOS"],"keywords":["\u26a1\ufe0f"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"754D8BF7-206F-4342-8705-7B836D449D9C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/310\/5\/97dc5fb5-f986-4d12-beb4-c3a389390d36\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/310\/5\/97dc5fb5-f986-4d12-beb4-c3a389390d36\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/310\/5\/97dc5fb5-f986-4d12-beb4-c3a389390d36\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/310\/5\/97dc5fb5-f986-4d12-beb4-c3a389390d36\/downloads\/wwdc2025-310_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/310\/5\/97dc5fb5-f986-4d12-beb4-c3a389390d36\/downloads\/wwdc2025-310_sd.mp4","duration":1348,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about the updated design system for macOS. The new design introduces Liquid Glass, a translucent surface that adds depth and dynamism to the user interface. \n\nAppKit is now updated to support this new design, including changes to basic structural components, the introduction of a scroll edge effect for legibility, and updates to the appearance and layout of controls. Learn how to implement these changes and utilize new APIs to incorporate Liquid Glass into your custom UI elements.","end":83},{"start":83,"title":"App structure","summary":"The new Mac design system introduces Liquid Glass for toolbars and sidebars, enhancing hierarchy and visual appeal. Toolbar elements are automatically grouped on Liquid Glass, which adapts its appearance based on content brightness. Toolbar items can be customized.\n\nSidebars appear as floating glass panes, while inspectors use edge-to-edge glass. \n\nThe design system emphasizes concentricity, with softer window corner radii that vary based on style. To position content near corners, the new 'NSView.LayoutRegion' API provides corner-avoiding layout guides, ensuring a polished and elegant user interface.","end":567},{"start":567,"title":"Scroll edge effect","summary":"The new design introduces the scroll edge effect, a visual separation between edge-to-edge content and floating Liquid Glass elements. This effect manifests as either a soft fade or a hard opaque backing and dynamically adapts within 'NSScrollView' as floating elements change. The effect is automatically applied underneath toolbar items, titlebar accessories, and new split item accessories, which span one split within a split view controller and which you can place at the top or bottom edge. These accessories influence the effect's size and shape, insetting the content safe area for easier layout.","end":670},{"start":670,"title":"Controls","summary":"In macOS Tahoe, the control design system is updated to enhance consistency across Apple devices. The new system includes an extra-large control size for emphasizing primary actions, and slightly taller mini, small, and medium controls for better readability. \n\nControl shapes now vary based on size; smaller sizes are rounded rectangles, while larger ones are capsules. You can customize control shapes, materials, and prominence using the new APIs. The tint prominence property allows controls to have varying levels of visual weight, making it easier to distinguish between different actions.\n\nSliders are also updated, with the ability to anchor the fill at any location and to use tint prominence. \n\nMenus are refreshed with a more modern appearance and now prominently feature icons in a single column for easier scanning and navigation.","end":1050},{"start":1050,"title":"Glass","summary":"To integrate Liquid Glass elements into your app, consider the design intent and limit its use to the most important controls that float at the top level of the UI hierarchy. \n\nThe 'NSGlassEffectView' API provides functionality to place content on glass, and you can customize its appearance with corner radius and tint color properties. When multiple glass shapes are close together, group them by using 'NSGlassEffectContainerView' to ensure fluid visual effects, uniform appearance, and consistent sampling of nearby content.","end":1290},{"start":1290,"title":"Next steps","summary":"To leverage the latest design features, build your apps with Xcode 26. This allows for immediate implementation of edge-to-edge content, utilizing the floating glass toolbar and sidebar. Enhance menu actions with symbol icons and incorporating Liquid Glass material for key interface elements to modernize your app's look and feel.","end":1348}]},"related":{"activities":["wwdc2025-356","wwdc2025-219"],"resources":[3904,11]}},"wwdc2025-284":{"id":"wwdc2025-284","staticContentId":10002,"eventContentId":284,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/284","languageCode":"eng","description":"Update your UIKit app to take full advantage of the new design system. We\u2019ll dive into key changes to tab views, split views, bars, presentations, search, and controls, and show you how to use Liquid Glass in your custom UI. To get the most out of this video, we recommend first watching \u201cGet to know the new design system\u201d for general design guidance.","title":"Build a UIKit app with the new design","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["\u26a1\ufe0f"],"primaryTopicID":100,"topicIds":[87,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"137B5890-CF6D-45C0-A465-B1D7A0C64EC5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/284\/4\/afb20876-65b2-4aeb-bd50-66e4df1b2281\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/284\/4\/afb20876-65b2-4aeb-bd50-66e4df1b2281\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/284\/4\/afb20876-65b2-4aeb-bd50-66e4df1b2281\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/284\/4\/afb20876-65b2-4aeb-bd50-66e4df1b2281\/downloads\/wwdc2025-284_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/284\/4\/afb20876-65b2-4aeb-bd50-66e4df1b2281\/downloads\/wwdc2025-284_sd.mp4","duration":1552,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn how you can incorporate the new design language of iOS 26 into your apps. The new design, centered around the dynamic and translucent material called Liquid Glass, automatically updates the appearance of apps recompiled with the latest SDK. \n\nThis video covers various aspects of the new design, including the updated look and behavior of tab views, split views, navigation bars, toolbars, and more, which now feature Liquid Glass elements.\n\nThere is also guidance on bringing the Liquid Glass to custom UI elements.","end":115},{"start":115,"title":"Tab views and split views","summary":"'UITabBarController' and 'UISplitViewController' now have a modern Liquid Glass appearance. Tab bars on iPhone now float above content and can minimize on scroll, enhancing focus. You can customize this behavior and add an accessory view above the tab bar, which animates down when minimized. \n\nOn iPad, tab bars and sidebars also float in Liquid Glass. Apps adopting 'UITab' and 'UITabGroup' automatically adapt between tab bar and sidebar views. Sidebars look best with vibrant content extending underneath, achieved using the new 'UIBackgroundExtensionView', which creates a seamless visual effect.","end":439},{"start":439,"title":"Navigation and toolbars","summary":"In iOS 26, navigation and toolbars feature a new glass-like appearance, floating above content with automatic grouping of bar button items into visual groups sharing glass backgrounds. Text buttons, system \"Done\" and \"Close\" buttons, and prominent style buttons have separate backgrounds. You can customize button groups, tint colors, and backgrounds.\n\n 'UINavigationItem' gives more control over title and large title areas, and also allows to set subtitles. Scroll views underneath navigation bars or toolbars apply an edge effect for legibility.","end":811},{"start":811,"title":"Presentations","summary":"The design of presentations, menus, popovers, sheets, and action sheets is now updated to enhance visual continuity. Glass buttons morph into overlays for menus and popovers, and sheets now adapt their appearance from smaller to larger heights. Action sheets on both iPhone and iPad are anchored to their source views, appearing directly over them. \n\nRemove custom backgrounds from sheets, and specify source views for action sheets and alert controllers to apply the new transitions and behaviors. Inline action sheets on iPhone no longer have a cancel button because tapping anywhere else dismisses them.","end":918},{"start":918,"title":"Search","summary":"The search experience across iPhone and iPad is enhanced in iOS 26. On iPhone, the search bar now sits in the toolbar, appearing as an expanded field or button based on space. On iPad, search is at the trailing edge of the navigation bar for split views, or as a dedicated tab in a 'UITabBarController', which expands into a search field when tapped. You can also customize search placement in sidebars, tab bars, and navigation bars, and enable automatic search field activation upon tab selection.","end":1044},{"start":1044,"title":"Controls","summary":"iOS controls have undergone a subtle redesign, maintaining their familiarity while incorporating new Liquid Glass effects. Sliders have enhanced features such as momentum preservation, stretching, and the option to display tick marks, neutral values, and a thumbless style resembling a progress bar. Two new Liquid Glass appearances are available for buttons. Make sure that your layouts accommodate the updated control sizes.","end":1155},{"start":1155,"title":"Custom elements","summary":"UIKit provides APIs for you to bring Liquid Glass to your custom UI. Use Liquid Glass sparingly for the most important elements.\n\nApply the effect to custom views using a 'UIVisualEffectView' and 'UIGlassEffect', and customize shape, appearance, and tint color.\n\nYou can animate Liquid Glass elements to materialize, dematerialize, and merge seamlessly like water droplets when overlapping. The 'UIGlassContainerEffect' ensures uniform adaptation and consistency across different backgrounds. Interactive elements can scale and bounce upon user interaction, enhancing the experience.","end":1501},{"start":1501,"title":"Next steps","summary":"Liquid Glass introduces new UIKit components and materials that you can easily integrate into apps. Build your apps with Xcode 26, audit each screen, and consider replacing custom controls with standard UIKit ones. Leverage Liquid Glass to enhance your app's design while making special use cases stand out.","end":1552}]},"related":{"activities":["wwdc2025-219","wwdc2025-356","wwdc2025-243","wwdc2025-282","wwdc2024-10147","wwdc2024-10145"],"resources":[3904,3111]}},"wwdc2025-238":{"id":"wwdc2025-238","staticContentId":9919,"eventContentId":238,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/238","languageCode":"eng","description":"Assistive Access is a distinctive, focused iOS experience that makes it easier for people with cognitive disabilities to use iPhone and iPad independently. In iOS and iPadOS 26, you can customize your app when it\u2019s running in Assistive Access to give people greater ease and independence. Learn how to tailor your app using the AssistiveAccess SwiftUI scene type, and explore the key design principles that can help you create a high-quality Assistive Access experience for everyone.","title":"Customize your app for Assistive Access","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":82,"topicIds":[82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8AA791A7-43E1-44A9-8CC4-BC8AF682D04D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/238\/4\/a553c517-f6ca-46e7-b339-36e971996e78\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/238\/4\/a553c517-f6ca-46e7-b339-36e971996e78\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/238\/4\/a553c517-f6ca-46e7-b339-36e971996e78\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/238\/4\/a553c517-f6ca-46e7-b339-36e971996e78\/downloads\/wwdc2025-238_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/238\/4\/a553c517-f6ca-46e7-b339-36e971996e78\/downloads\/wwdc2025-238_sd.mp4","duration":937,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Welcome","summary":"iOS and iPadOS 17 introduced Assistive Access, an accessibility feature which streamlines the system experience for people with cognitive disabilities. \n\nYou can integrate your apps using the Assistive Access scene type in SwiftUI, following design principles to create a great experience for this audience.","end":59},{"start":59,"title":"Meet Assistive Access","summary":"Apple introduced Assistive Access in iOS and iPadOS 17, a feature designed to simplify the system experience for users with cognitive disabilities. The feature offers streamlined interactions, clear pathways, and consistent design practices across a few distilled built-in apps like Camera and Messages, which have large controls and visual alternatives to text. \n\nApps not optimized for Assistive Access are displayed in a reduced frame with a persistent back button. If you develop an app already designed for cognitive disabilities, you can enable full-screen mode for it within Assistive Access.\n\nFor non-optimized apps, support is available in iOS and iPadOS 17, allowing you to create tailored experiences with automatically displayed controls in a familiar style.","end":249},{"start":249,"title":"Create a scene","summary":"In Assistive Access, apps are designed with clarity in mind, using a larger, clearer control style for native controls. To enable this, set a specific key in the app bundle to true, which lists the app as optimized and launches it in full screen. \n\nYou then create a separate Assistive Access scene within your app, which presents a streamlined and lightweight version of the interface. This scene automatically displays native controls in a more prominent, grid- or row-based style.\n\nFor SwiftUI apps, this is achieved by adding your customized view hierarchy within the Assistive Access scene. UIKit apps can also support this feature by defining and activating SwiftUI scenes using the new bridging support in iOS and iPadOS 26.","end":428},{"start":428,"title":"Tailor your app","summary":"To optimize an app for Assistive Access, distill the app to its core functionality, focusing on one or two essential features. This streamlined approach reduces distractions and cognitive load. Design the app's interface with clear, prominent controls, and avoid hidden gestures or timed interactions. \n\nPresent information in multiple ways, such as using icons and labels alongside text. Make navigation intuitive and step-by-step, with back buttons automatically conforming to the preferred layout style.\n\nRemove irreversible actions, or provide multiple confirmations for such actions. By following these guidelines, you can create a safe and supportive experience for people using Assistive Access.","end":937}]},"related":{"activities":["wwdc2023-10032","wwdc2025-256"],"resources":[3987,3669,3040]}},"wwdc2025-256":{"id":"wwdc2025-256","staticContentId":9883,"eventContentId":256,"eventId":"wwdc2025","contentUpdatedAt":"2026-05-05T14:33:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/256","languageCode":"eng","description":"Learn what\u2019s new in SwiftUI to build great apps for any Apple platform. We\u2019ll explore how to give your app a brand new look and feel with Liquid Glass. Discover how to boost performance with framework enhancements and new instruments, and integrate advanced capabilities like web content and rich text editing. We\u2019ll also show you how SwiftUI is expanding to more places, including laying out views in three dimensions.","title":"What\u2019s new in SwiftUI","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":100,"topicIds":[88,90,85,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4B8B9154-DAF7-4CD0-807A-AA2E368ECE7B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/256\/4\/353ed635-9639-48db-8c8c-69b2b7e499c1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/256\/4\/353ed635-9639-48db-8c8c-69b2b7e499c1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/256\/4\/353ed635-9639-48db-8c8c-69b2b7e499c1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/256\/4\/353ed635-9639-48db-8c8c-69b2b7e499c1\/downloads\/wwdc2025-256_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/256\/4\/353ed635-9639-48db-8c8c-69b2b7e499c1\/downloads\/wwdc2025-256_sd.mp4","duration":1557,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Anna and Peter introduce the session, highlighting major improvements in SwiftUI ranging from performance to UI elements. They mention a hiking app they built to showcase these enhancements. They will be covering new system features, performance, animations, layout, new platforms for SwiftUI, web content support, and rich text.","end":82},{"start":82,"title":"Make the new design shine","summary":"This section focuses on the new design system and how it impacts the look and feel of apps. It discusses updated navigation containers, tab bars, and toolbar appearances. It also covers improvements to search and controls. The section concludes with enhancements to iPad interactions, including a new menu bar and flexible window resizing, and improved window resizing on macOS.\n\nAPIs Introduced\/Highlighted:\nToolbar Spacer API: Used to adjust the sections of toolbar items.\nTinting of Liquid Glass in Toolbars: Allows for more prominent toolbar items using bordered prominent button styles with a tint color.\nScroll Edge Effect: Applies a blur effect to toolbar content when scrolling.\nSearch Roles in Tab Bars: Allows the search tab to appear separate from the rest of the tabs in the tab bar.\nCommands API: Used to construct the menu bar on macOS and now creates the same result on iPad.\nWindow Resize Anchor: Used to tailor where the window resizing animation originates from.\nUIRequiresFullscreen Deprecation: Property list key is deprecated in iPadOS 26.\n","end":419},{"start":419,"title":"Framework foundations","summary":"This section covers improvements to SwiftUI's building blocks, including performance, ease of use, and layout. It details performance gains in lists and scrolling, and introduces the new SwiftUI performance instrument in Xcode. It also discusses the Animatable macro and new APIs for volumetric layout, including those for visionOS.\n\nAPIs Introduced\/Highlighted:\nSwiftUI Performance Instrument (Xcode): A new tool for inspecting performance problem areas.\nAnimatable Macro: Simplifies the use of the Animatable protocol by automatically synthesizing the animatable data property.\nAnimatableIgnored Macro: Excludes properties from animation when using the Animatable macro.\nAlignment3D: A new type for aligning views in 3D space.\nSpatial Overlay Modifier: Used to place views in 3D space.\nManipulable Modifier: Allows users to interact with objects in the app.\nScene Snapping APIs: Used to read information out of the environment.\n","end":873},{"start":873,"title":"SwiftUI across the system","summary":"This section focuses on expanding the reach of SwiftUI across different Apple platforms. It discusses scene bridging, allowing UIKit and AppKit apps to interoperate with SwiftUI scenes. It covers the RemoteImmersiveSpace scene for rendering stereo content on Apple Vision Pro from macOS. It also mentions AssistiveAccess scene type for special mode for users with cognitive disabilities. The section also covers enhancements to working with AppKit, RealityKit, Controls, and Widgets.\n\nAPIs Introduced\/Highlighted:\nScene Bridging: Allows UIKit and AppKit apps to use SwiftUI scenes.\nMenuBarExtra Scene: A new scene type.\nImmersiveSpace Scene: A new scene type.\nRemoteImmersiveSpace Scene: A macOS scene for rendering stereo content on Apple Vision Pro.\nAssistiveAccess Scene: A scene type for showing UI when someone has their iPhone in Assistive Access mode.\nNSGestureRecognizerRepresentable: Used to bridge AppKit gestures over to SwiftUI.\nObservable Conformance for RealityKit Entities: Makes it easier to observe changes in RealityKit entities from SwiftUI views.\nLevelOfDetail Environment Value: Used to customize the appearance of widgets based on proximity.\n","end":1204},{"start":1204,"title":"Expand SwiftUI views","summary":"This section highlights expanded capabilities of SwiftUI views. It covers the new WebView for embedding web content, enhancements to Swift Charts for 3D charting, improvements to Drag and Drop, and new support for rich text editing using AttributedString in TextView.\n\nAPIs Introduced\/Highlighted:\nWebView: A new SwiftUI view for showing web content in your app.\nWebPage: A new observable model type designed for Swift to enable rich interaction with web content.\nChart3D: Used to show plots in three dimensions.\nZ-Specific Modifiers (Swift Charts): Used to specify scales in 3D space.\nDraggable Modifier (Multiple Items): Allows dragging multiple items.\nDragContainer Modifier: Makes a view a container for drag items.\nDragConfiguration API: Used to customize the supported operations for drags.\nOnDragSessionUpdated Modifier: Used to observe drag events.\nTextView with AttributedString: Allows for rich text editing in SwiftUI.\n","end":1501},{"start":1501,"title":"Next steps","summary":"The presenters summarize the key takeaways from the session, encouraging developers to explore the new features and APIs. They highlight the new design, performance instrument, volumetric layout, rich text enhancements, and expanded platform support for controls and widgets.\n","end":1557}]},"related":{"activities":["wwdc2025-294","wwdc2025-225","wwdc2025-225","wwdc2025-231","wwdc2025-238","wwdc2025-268","wwdc2025-268","wwdc2025-278","wwdc2025-313","wwdc2025-266","wwdc2025-280","wwdc2025-273","wwdc2025-274","wwdc2025-290","wwdc2025-323","wwdc2025-306","wwdc2025-208","wwdc2025-317"],"resources":[4097,4096,3908,3907,3904,3111]}},"wwdc2025-313":{"id":"wwdc2025-313","staticContentId":9954,"eventContentId":313,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/313","languageCode":"eng","description":"Learn how to bring your 2D Swift Charts to the third dimension with Chart3D and visualize your data sets from completely new perspectives. Plot your data in 3D, visualize mathematical surfaces, and customize everything from the camera to the materials to make your 3D charts more intuitive and delightful. \n\nTo get the most out of this session, we recommend being familiar with creating 2D Swift Charts.","title":"Bring Swift Charts to the third dimension","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["visionOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"89D5888B-58DA-4F47-8E3C-998253F6BA98","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/313\/5\/01490c3f-6737-43db-b2fb-f3ccfb1e824c\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/313\/5\/01490c3f-6737-43db-b2fb-f3ccfb1e824c\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/313\/5\/01490c3f-6737-43db-b2fb-f3ccfb1e824c\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/313\/5\/01490c3f-6737-43db-b2fb-f3ccfb1e824c\/downloads\/wwdc2025-313_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/313\/5\/01490c3f-6737-43db-b2fb-f3ccfb1e824c\/downloads\/wwdc2025-313_sd.mp4","duration":677,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Swift Charts supports 3D charts in iOS, macOS, and visionOS 26. Create 3D visualizations that enable people to explore data from new perspectives.","end":114},{"start":114,"title":"Plotting in 3D","summary":"Making a 3D chart is similar to the approach to make 2D charts. Explore how a single 3D chart can represent multiple perspectives of 2D charts. Build a 3D scatter plot with PointMark and Chart3D. 3D charts are interactive and can be rotated to reveal different insights, like clusters of data. Many Marks for 2D charts have been reimagined for 3D.","end":305},{"start":305,"title":"Surface plot","summary":"SurfacePlot plots functions of 2 variables in 3D, creating a continuous surface. Provide an expression that produces a y value in terms of x and z. These surfaces can be simple, like a plane, or more complex with interesting shapes.","end":423},{"start":423,"title":"Customization","summary":"Swift Charts has modifiers to customize the appearance of 3D charts. Set the viewing angle of the chart with chart3DPose modifier. Specify the 3D behavior of the chart with the chart3DCameraProjection modifier. There are also new foreground styles for Surface Plots. Change the color at points pasted on the angle of the surface at a particular point, or relative height. These techniques, as well as many modifiers from 2D charts, customize 3D charts to be beautiful.","end":677}]},"related":{"activities":["wwdc2024-10155","wwdc2022-110342","wwdc2022-110340"],"resources":[3725,2478]}},"wwdc2025-228":{"id":"wwdc2025-228","staticContentId":9922,"eventContentId":228,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/228","languageCode":"eng","description":"Learn how to create peer-to-peer network connections with Wi-Fi Aware. We\u2019ll also cover how to share videos in real time, transfer large files, and control accessories with improved bandwidth and lower latency. And you\u2019ll learn how to use DeviceDiscoveryUI, AccessorySetupKit, and the Network framework to use Wi-Fi Aware in your app.","title":"Supercharge device connectivity with Wi-Fi Aware","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":101,"topicIds":[96,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"83411C11-94D4-4789-B651-1CEB27EFC1D0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/228\/4\/b7b10ed3-bcfe-4935-919a-1b7faef02d2b\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/228\/4\/b7b10ed3-bcfe-4935-919a-1b7faef02d2b\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/228\/4\/b7b10ed3-bcfe-4935-919a-1b7faef02d2b\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/228\/4\/b7b10ed3-bcfe-4935-919a-1b7faef02d2b\/downloads\/wwdc2025-228_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/228\/4\/b7b10ed3-bcfe-4935-919a-1b7faef02d2b\/downloads\/wwdc2025-228_sd.mp4","duration":1424,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn how to use Wi-Fi Aware on iOS and iPadOS to create peer-to-peer network connections with low latency and high throughput.","end":61},{"start":61,"title":"Overview","summary":"Wi-Fi Aware is a standard that enables direct, device-to-device communication without the need for routers or central servers. It operates alongside regular Wi-Fi connections, allowing devices to discover and connect securely and dynamically for local ephemeral experiences such as file sharing, media streaming, accessory control, and screen sharing. \n\nWi-Fi Aware is cross-platform and interoperable, with connections fully authenticated and encrypted. Apps can define services, specify roles as publishers or subscribers (or both), and pair devices for seamless and fast reconnections whenever in close proximity.","end":466},{"start":466,"title":"Pair","summary":"Devices can be paired using either the DeviceDiscoveryUI framework or AccessorySetupKit framework.\n\nDeviceDiscoveryUI is suitable for app-to-app pairing, supporting both Apple and third-party devices. AccessorySetupKit is suitable for app-to-accessory pairing.\n\nAfter devices are paired, both frameworks enable apps to access and manage the list of paired devices, retrieve their properties, and listen for changes in the pairing status, allowing the app to update its UI and state accordingly.","end":905},{"start":905,"title":"Connect","summary":"When paired, the devices can connect to each other. One device has the publisher role, and the other device has the subscriber role.\n\nThe publisher filters for specific devices and starts listening, while the subscriber filters and starts browsing. After the subscriber finds the publisher, it provides endpoints to the app, which then establishes connections. \n\nThe listener receives and forwards these connection requests, enabling data exchange.","end":1141},{"start":1141,"title":"Optimize","summary":"To optimize connection performance for an app, the Wi-Fi Aware framework allows developers to adjust certain parameters. The framework provides two main performance modes: bulk and real-time. Bulk mode is energy-efficient but has higher latency, while real-time mode offers lower latency but consumes more power. \n\nDevelopers can also set the traffic service class to prioritize packet transmission, with options for best effort, interactive video or voice, and background service class. \n\nThe framework offers on-demand performance reports that include metrics on signal strength, throughput, and latency, which developers can use to tune their app's performance based on real-world testing and environmental factors.","end":1346},{"start":1346,"title":"Guidelines","summary":"Hardware manufacturers developing Wi-Fi Aware devices can consult Apple's Accessory Design Guidelines on the Developer website for interoperability, security, and performance optimization. The guide, along with the framework documentation and sample app, provides essential resources for creating high-quality user experiences.","end":1424}]},"related":{"activities":["wwdc2024-10203","wwdc2025-8136","wwdc2025-8137","wwdc2025-8274"],"resources":[4008,3919,2511]}},"wwdc2025-291":{"id":"wwdc2025-291","staticContentId":9993,"eventContentId":291,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/291","languageCode":"eng","description":"Discover how to use class inheritance to model your data. Learn how to optimize queries and seamlessly migrate your app\u2019s data to use inheritance. Explore subclassing for building model graphs, crafting efficient fetches and queries, and implementing robust schema migrations. Understand how to use Observable and persistent history for efficient change tracking.","title":"SwiftData: Dive into inheritance and schema migration","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[83,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"62729993-A483-49EE-A9E6-B63A53F12880","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/291\/4\/446be11b-b8d3-42dd-b981-a22010ddbbe9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/291\/4\/446be11b-b8d3-42dd-b981-a22010ddbbe9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/291\/4\/446be11b-b8d3-42dd-b981-a22010ddbbe9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/291\/4\/446be11b-b8d3-42dd-b981-a22010ddbbe9\/downloads\/wwdc2025-291_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/291\/4\/446be11b-b8d3-42dd-b981-a22010ddbbe9\/downloads\/wwdc2025-291_sd.mp4","duration":1148,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"SwiftData enables modeling and persisting app data across all Apple platforms. This framework simplifies data persistence, schema modeling and migration, graph management, and CloudKit synchronization. Class inheritance, a new feature available starting in iOS 26, enables building model graphs with inheritance.","end":131},{"start":131,"title":"Harness class inheritance","summary":"Class inheritance is a powerful tool and particularly useful when models form a natural hierarchy and share common characteristics. Inheritance enables the creation of subclasses that inherit properties and behaviors from a parent class, promoting code reuse and maintaining a structured organization.\n\nThe SampleTrips app applies inheritance to model different types of trips, such as personal and business trips. Each subclass inherits essential properties from the Trip model and adds specific attributes relevant to its subdomain. This approach allows for a more tailored and efficient representation of data.\n\nUse inheritance judiciously. Inheritance is appropriate when models establish an \"is-a\" relationship and when queries involve both the parent class and its subclasses. If models only share common properties without a natural hierarchy, protocol conformance is a more suitable approach. The choice between inheritance and protocol conformance also depends on the depth of searches performed on the data.","end":459},{"start":459,"title":"Evolving data with migration","summary":"The SampleTrips app's data migration process across iOS releases is an example of ensuring user data preservation during upgrades. The app's schema has evolved over several releases:\n\niOS 17 introduced SwiftData and version 2.0 of the schema, making trip names unique and renaming properties.\niOS 18 added version 3.0, utilizing index and unique macros, and preserving properties on deletion. Custom 'MigrationStages' were used for deduplication.\niOS 26 introduces version 4.0, which includes subclasses. A lightweight 'MigrationStage' is needed from version 3.0 to 4.0.\n\nA 'SchemaMigrationPlan' is constructed by encapsulating the 'VersionedSchemas' and 'MigrationStages' in the correct order. The 'SchemaMigrationPlan' is then applied when creating the 'ModelContainer' for SampleTrips, enabling seamless migration through all previous iterations while preserving user data.","end":687},{"start":687,"title":"Tailoring fetched data","summary":"To explore optimizing queries and fetches, the SampleTrips app reintroduces search bar functionality. The app constructs a predicate based on the client's search and then it's combined with the class predicate to filter trips. \n\nBeyond search, these techniques enhance fetch performance:\n\nDuring migration, only the necessary properties are fetched using 'propertiesToFetch'.\n'relationshipsToPrefetch' is utilized to optimize relationship traversal.\nThe 'fetchLimit' is set in the widget code to retrieve only the single most recent trip, improving efficiency.","end":834},{"start":834,"title":"Observing changes to data","summary":"SwiftData's Observable feature helps you react to local changes made to 'PersistentModels'. But, not all changes are observable. Changes from other processes, external actions, or different model contexts within the app require refetching, which can be costly. \n\nTo optimize refetching, you can use SwiftData's persistent history feature. By fetching the latest history token and using it as a marker, you can build predicates to only fetch history entries that occurred after the last token and for specific entities of interest. This approach enables the app to determine whether a refetch is necessary, avoiding unnecessary data retrieval and improving performance.","end":1108},{"start":1108,"title":"Next steps","summary":"When building a model graph, consider inheritance and migration implications. Enhance data fetchers and queries for performance. Utilize observation and persistent history to track data changes.","end":1148}]},"related":{"activities":["wwdc2025-256","wwdc2024-10075"],"resources":[4046,3085,3084]}},"wwdc2025-273":{"id":"wwdc2025-273","staticContentId":9989,"eventContentId":273,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/273","languageCode":"eng","description":"Explore new tools for building spatial experiences using SwiftUI. Learn the basics of 3D SwiftUI views on visionOS, customize existing layouts with depth alignments, and use modifiers to rotate and position views in space. Discover how to use spatial containers to align views in the same 3D space, helping you create immersive and engaging apps.\n","title":"Meet SwiftUI spatial layout","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["visionOS"],"primaryTopicID":100,"topicIds":[87,85,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2EFC2AAC-0656-4A18-B4C9-8E23CCD81E90","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/273\/4\/f5d120d6-7302-42ff-8ced-17923f0f6aa8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/273\/4\/f5d120d6-7302-42ff-8ced-17923f0f6aa8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/273\/4\/f5d120d6-7302-42ff-8ced-17923f0f6aa8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/273\/4\/f5d120d6-7302-42ff-8ced-17923f0f6aa8\/downloads\/wwdc2025-273_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/273\/4\/f5d120d6-7302-42ff-8ced-17923f0f6aa8\/downloads\/wwdc2025-273_sd.mp4","duration":1221,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"SwiftUI's new 3D layout capabilities in visionOS 26 enable you to build 3D apps using SwiftUI's declarative syntax. These capabilities build on existing 2D layout concepts and provide built-in support for animations, resizing, and state management. The BOT-anist example app demonstrates how people can customize and catalog robots in a virtual garden.\n\nIf you're new to SwiftUI layouts, check out \"Building custom layouts with SwiftUI\" and \"Compose custom layouts with SwiftUI\" before diving deeper with this content.","end":167},{"start":167,"title":"3D views","summary":"In SwiftUI, the layout system calculates the width, height, X, and Y positions for each view in an app. Some views have fixed frames, while others have flexible frames that fill the available space provided by their parent. \n\nIn visionOS, this concept extends to three dimensions. Each view now has a depth and Z position in addition to width and height. The layout system behaves similarly to 2D but applies to 3D space. Views can have fixed, flexible, or zero depth.\n\nGeometryReader3D and Model3D with the 'resizable' modifier can take up all available depth. The new 'scaledToFit3D' modifier helps maintain aspect ratios while resizing. Windows have a fixed root depth proposal, while volumes have resizable depth. Content outside of this depth can be clipped by the system.\n\nZStack composes depths like VStack composes heights, and existing layout types like HStack and VStack are automatically 3D in visionOS, applying sensible default behaviors for depth, such as lining up elements along their backs.","end":438},{"start":438,"title":"Depth alignments","summary":"Depth alignments are a new feature in visionOS 26 that you can use to customize positioning views in 3D space, similar to how vertical and horizontal alignments work in 2D. This approach is particularly useful when creating volumetric windows or displaying 3D models.\n\nThe example demonstrates how to use depth alignment to improve the readability of a robot profile view. By applying the '.front' depth alignment modifier to the robot name card, it moves to the forefront, making it easier to see.\n\nFor more complex scenarios, you can create custom depth alignments. The example shows how to define a custom 'DepthPodiumAlignment' to stagger three robot profile views in depth, with the favorite robot closest to the viewer, creating a sense of prominence.","end":701},{"start":701,"title":"Rotation layout","summary":"visionOS 26 introduces the new 'rotation3DLayout' modifier to address limitations of the existing 'rotation3DEffect' modifier. The 'rotation3DEffect' modifier only applies visual rotations without impacting the layout system, causing issues when rotating views within containers like HStacks. 'rotation3DEffect' is still useful when you want to animate a view without impacting the frames of others.\n\nThe 'rotation3DLayout' modifier modifies the frame of a rotated view within the layout system, enabling proper sizing and placement adjustments, which allows for more complex 3D layouts. For example, you can use it to create a horizontally oriented robot carousel by rotating a custom RadialLayout 90 degrees along the X-axis. Each robot in the carousel is then counter-rotated to stand upright. Additional adjustments, such as using a VStack with a Spacer, can be applied to position the carousel flush with the base of the volume, creating a polished and visually appealing 3D user interface.","end":988},{"start":988,"title":"Spatial containers","summary":"'SpatialContainer' and 'SpatialOverlay' are new tools in SwiftUI for 3D layout. SpatialContainer allows nesting multiple views in 3D space with alignment options, while SpatialOverlay overlays a single view onto another. \n\nThe example uses SpatialOverlay to create a selection ring for robots in a carousel, aligning it to the bottom of the robot. The example 'debugBorder3D' modifier is demonstrated as an extension of View, using 'SpatialOverlay', ZStacks, and 'rotation3DLayout' to add 3D borders to any Model3D for debugging purposes.","end":1162},{"start":1162,"title":"Next steps","summary":"SwiftUI now enables 3D app development using familiar 2D modifiers and new 3D APIs. You can combine SwiftUI with RealityKit for enhanced functionality; Find examples of this integration in \"Better Together: SwiftUI and RealityKit\".","end":1221}]},"related":{"activities":["wwdc2025-274","wwdc2019-237","wwdc2022-10056"],"resources":[4037,3715]}},"wwdc2025-230":{"id":"wwdc2025-230","staticContentId":9928,"eventContentId":230,"eventId":"wwdc2025","contentUpdatedAt":"2026-06-08T12:29:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/230","languageCode":"eng","description":"Rrrr-rrrrr-innng! From countdown timers in your recipe app to wake-up alarms in your travel planning app, the AlarmKit framework in iOS and iPadOS 26 brings timers and alarms to the Lock Screen, Dynamic Island, and more. Learn how to create and manage your app\u2019s alarms, customize their Live Activities, and offer custom alert actions using the App Intents framework. To get the most from this video, we recommend first watching \u201cMeet ActivityKit\u201d from WWDC23.","title":"Wake up to the AlarmKit API","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5B6F29B9-4980-4FDB-9D6F-284593382BD3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/230\/4\/d60bc47c-1b62-4fa0-a1d1-d046cf20f1de\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/230\/4\/d60bc47c-1b62-4fa0-a1d1-d046cf20f1de\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/230\/4\/d60bc47c-1b62-4fa0-a1d1-d046cf20f1de\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/230\/4\/d60bc47c-1b62-4fa0-a1d1-d046cf20f1de\/downloads\/wwdc2025-230_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/230\/4\/d60bc47c-1b62-4fa0-a1d1-d046cf20f1de\/downloads\/wwdc2025-230_sd.mp4","duration":1107,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Welcome","summary":"AlarmKit is a new framework you can use to create timers and alarms. Learn about the experience, getting authorization, creating alarms, and managing their lifecycle.","end":32},{"start":32,"title":"Overview","summary":"Alarms are scheduled alerts that break through silent mode, displaying a custom title and app name. They can also show a countdown UI.\n\nPeople can stop, snooze, or interact with custom buttons. Alarms are visible on Lock Screen, Dynamic Island, StandBy, and Apple Watch, and people must opt-in per app.","end":99},{"start":99,"title":"Authorization","summary":"To enable alarm scheduling in an app, people must authorize it. This can be done automatically upon creating the first alarm or manually via the AlarmManager's 'requestAuthorization' API. \n\nYou must add 'NSAlarmKitUsageDescription' to the Info.plist explaining how alarms are used. People can change authorization status in Settings.\n\nBefore scheduling an alarm, the app can check authorization status; if denied, it should let people know that alarms won't be scheduled.","end":186},{"start":186,"title":"Creation","summary":"Creating an alarm involves several key components. First, the alarm can be set with a countdown duration, which can include both a pre-alert and post-alert interval. When the alarm is scheduled with a countdown, a countdown UI for the pre-alert duration. Once this time elapses, the alarm fires, showing a customized alert UI. If the alarm is snoozed, the countdown UI reappears for the post-alert interval before firing again.\n\nAlarms can be scheduled using either a fixed or relative schedule. A fixed schedule specifies a single future date and time, while a relative schedule allows for a daily time of day with an optional weekly recurrence pattern, ensuring the alarm adjusts correctly for time zone changes.\n\nIn addition to scheduling, you can also customize the appearance of the alarm. This includes creating and configuring alert buttons, such as a 'Dismiss' button, and setting the alarm title. For alarms with countdown functionality, you can also add a 'Repeat' button. The alert presentation and attributes are then defined to specify how the alarm looks and behaves when it goes off.\n\nIf an alarm includes countdown functionality, you must implement a Live Activity to display the countdown UI on the Lock Screen, Dynamic Island, and StandBy. This involves creating a custom interface for the countdown and setting up an 'ActivityConfiguration' with the appropriate alarm attributes. The Live Activity can display different views depending on whether the countdown is active or paused, providing a seamless user experience across various device states. \n\nThe example introduces custom metadata to pass extra information to the Live Activity. This metadata includes a custom enum, allowing the alarm to display an icon based on the enum's value on both the Lock Screen and in the Dynamic Island during the countdown.\n\nThe session describes how to create custom App Intents to run specific code when buttons are tapped, such as opening the app. It also describes how to configure the alarm sound, allowing people to choose a custom sound or use the default system sound.","end":992},{"start":992,"title":"Life cycle","summary":"AlarmKit allows people to create, schedule, and manage alarms using the 'AlarmManager' class. Alarms can be configured, tracked via unique identifiers, and put into various states (countdown, paused, stopped, etc.). Best practices include using alarms for countdowns and recurring alerts, ensuring clear alert presentation, and including all essential information and actions in the countdown Live Activity.","end":1107}]},"related":{"activities":["wwdc2023-10184","wwdc2025-244"],"resources":[4001,4000,3842,2968,2959,2399]}},"wwdc2025-219":{"id":"wwdc2025-219","staticContentId":9910,"eventContentId":219,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/219","languageCode":"eng","description":"Liquid Glass unifies Apple platform design language while providing a more dynamic and expressive user experience. Get to know the design principles of Liquid Glass, explore its core optical and physical properties, and learn where to use it and why.","title":"Meet Liquid Glass","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["blur","concentricity","design language","design system","hierarchy","layout","lighting","navigation","new look","structure","translucency"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5CD0E251-424E-490F-89CF-1E64848209A6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/219\/4\/476dabc8-f3bb-4190-8929-4ba7131c939d\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/219\/4\/476dabc8-f3bb-4190-8929-4ba7131c939d\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/219\/4\/476dabc8-f3bb-4190-8929-4ba7131c939d\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/219\/4\/476dabc8-f3bb-4190-8929-4ba7131c939d\/downloads\/wwdc2025-219_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/219\/4\/476dabc8-f3bb-4190-8929-4ba7131c939d\/downloads\/wwdc2025-219_sd.mp4","duration":1173,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Liquid Glass introduces a flexible, dynamic layer to apps and system experiences across Apple\u2019s ecosystem of products. It is a new digital meta-material that dynamically bends and shapes light, behaving organically like a lightweight liquid, responding to both the fluidity of touch and the dynamism of modern apps.","end":89},{"start":89,"title":"Dynamics","summary":"Liquid Glass complements the visual and tactile experience of modern Apple devices with their rounded screens. It uses Lensing, which dynamically bends and concentrates light, creating a transparent and lightweight appearance while also providing definition against background content.\n\nLiquid Glass elements materialize gracefully, responding to interaction by flexing and energizing with light. The interface adapts dynamically to the user's input and the changing environments of modern apps, making transitions feel fluid and natural.","end":360},{"start":360,"title":"Adaptivity","summary":"Liquid Glass adapts based on the content beneath it and the size of the display. It is composed of multiple layers that continuously shift tint, shadows, and dynamic range to ensure legibility while maintaining visual clarity. \n\nWhen Liquid Glass flexes and morphs to larger sizes, it simulates a thicker material with deeper shadows and more pronounced lensing and refraction effects, enhancing perceived depth. With larger controls like iPadOS and macOS sidebars, Liquid Glass is informed by the ambient environment, allowing light from colorful content to spill onto its surface, reinforcing its context and elevation.\n\nScroll Edge Effects work in concert with Liquid Glass to dissolve content into the background, lifting the glass visually above moving content and maintaining contrast and legibility.","end":631},{"start":631,"title":"Principles","summary":"The light play, depth effects, and adaptive changes are layers in a sophisticated system, working together. Liquid Glass lives in an environment that behaves like the world around us. Light sources shine on materials to produce highlights that respond to geometry and motion.\n\nShadow opacity increases or decreases dynamically providing a lightweight separation from background content. When interaction with controls, materials illuminate from within and reflect on other Liquid Glass elements to provide visual feedback.\n\nLiquid Glass is best reserved for the navigation layer. Avoid putting glass in the content layer and avoid putting within or on top of other glass elements to maintain hierarchy and prevent clutter. \n\nThere are two variants of Liquid Glass: Regular, which is versatile and adaptive, and Clear, which is permanently transparent and needs a dimming layer for legibility. The variants should never be mixed, as they each have their own characteristics and specific use cases.\n\nUse Clear only when three conditions are met: The element is on top of media-rich content; your content layer won't be negatively impacted by a dimming layer; and, the content sitting above it is bold and bright.\n\nElements adapt their appearance based on what's behind them. Small elements, symbols, and glyphs flip from light to dark, so the material is discernible. Bigger elements, like menus and sidebars, also adapt based on context, but do not flip from light to dark.\n\nA new way of tinting elements generates a range of tones based on content brightness underneath, mimicking real colored glass. This tinting emphasizes physicality and improves legibility and contrast. Use tinting selectively to highlight primary elements and actions. Avoid tinting all elements, which can be confusing.\n\nLiquid Glass offers several accessibility features, such as Reduced Transparency, Increased Contrast, and Reduced Motion, which modify Liquid Glass without compromising its visual appeal, and are automatically applied when system-level settings are enabled.","end":1133},{"start":1133,"title":"Next steps","summary":"Liquid Glass delivers a unified design language across all Apple platforms, seamlessly blending hardware and software. It introduces a more fluid and dynamic interaction experience than ever before, bringing a striking new look to every part of the interface. This is the start of a new chapter in Apple\u2019s visual and interaction design.","end":1173}]},"related":{"activities":["wwdc2025-356","wwdc2025-220","wwdc2025-361"],"resources":[3904,3111,607]}},"wwdc2025-307":{"id":"wwdc2025-307","staticContentId":10027,"eventContentId":307,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/307","languageCode":"eng","description":"Learn how you can mix Swift and Java in a single codebase. We\u2019ll introduce the swift-java interoperability project, which allows you to use Swift in Java programs or vice versa. We\u2019ll show you how to use the tools and libraries offered by swift-java to write safe and performant code that interoperates between these two runtimes.","title":"Explore Swift and Java interoperability","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A60F9461-0F9D-4189-9F41-7B66F225D833","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/307\/5\/79c0d8b7-243d-484f-890b-ecebf507a1e7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/307\/5\/79c0d8b7-243d-484f-890b-ecebf507a1e7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/307\/5\/79c0d8b7-243d-484f-890b-ecebf507a1e7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/307\/5\/79c0d8b7-243d-484f-890b-ecebf507a1e7\/downloads\/wwdc2025-307_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/307\/5\/79c0d8b7-243d-484f-890b-ecebf507a1e7\/downloads\/wwdc2025-307_sd.mp4","duration":1282,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction & Agenda","summary":"Learn about an experimental Swift language library, called 'swift-java', that enables Swift to work seamlessly with Java, building on the existing interoperability features with Objective-C, C and C++. This interoperability allows you to incrementally introduce Swift into existing Java codebases, reuse libraries across languages, as well as integrate Swift libraries with Java projects. \n\nThe interoperability provided by 'swift-java' supports both calling Java code from Swift and vice versa, and the team is working on tools and techniques to handle the differences between the Java and Swift runtimes, and provide better memory safety for Java code translated into Swift types.","end":161},{"start":161,"title":"Runtime differences","summary":"Swift and Java share common features such as classes, inheritance, automatic memory management, generics, and error handling, though there are runtime differences. Despite these runtime differences, the similarities of both languages enable the expression of most APIs from one language in the other.","end":211},{"start":211,"title":"Java Native methods","summary":"The Java Native Interface API (JNI) was introduced early in 1997 and enables Java code running inside a Java Virtual Machine (JVM) to interoperate with native code, such as Swift. This is often done to improve performance or utilize native libraries without Java equivalents. \n\nTo use JNI, a 'native' function is defined in Java, and a corresponding C-header file is generated. This header file contains a C function declaration that must be implemented in the native language, like Swift. The process involves managing object lifetimes, matching method signatures, and dealing with verbose boilerplate code, which can be error-prone and time-consuming, leading to potential fatal crashes.","end":389},{"start":389,"title":"SwiftJava","summary":"SwiftJava enhances the interoperability between Swift and Java languages. It provides a suite of tools, including Swift and Java libraries, a command-line tool, and build system integrations, to simplify and secure the interaction between the two languages.\n\nThe 'swift-java' command-line tool automates the generation of bridging code, eliminating the need for manual C header interaction. This results in cleaner, more maintainable code with improved object lifetime management and type safety. You can now focus on business logic, leveraging the full power of both Swift and Java ecosystems, and avoiding the common pitfalls and errors associated with manual JNI implementation.","end":613},{"start":613,"title":"Call Java from Swift","summary":"SwiftJava enables the integration of Java libraries into Swift projects. To import an entire Java library, such as Apache Commons CSV, prepare the following artifact coordinates: 'groupId', 'artifactId', and 'version'.\n\nSwiftJava then utilizes Gradle, an open source build system, to resolve Java dependencies. There are two methods for downloading and wrapping the Java dependencies: \n\nUsing the SwiftJava build tool plugin, which requires disabling SwiftPM's security sandbox, or the 'swift-java' command-line tool's 'resolve' command, which performs the resolution outside of the build process.\n\nOnce Java dependencies are resolved, you can import the Java library into Swift, start the JVM within the Swift process, and seamlessly use Java code and collections alongside Swift features, with JavaKit handling object lifetime management.","end":841},{"start":841,"title":"Call Swift from Java","summary":"SwiftJava enables the integration of Swift libraries into Java projects. To achieve this, this WWDC25 session introduces a new approach that avoids the need for extensive wrapper functions on the Java side. Instead, the entire Swift library is wrapped with Java classes using the new Foreign Function and Memory API (FFI) introduced in Java 22. \n\nFFI provides improved control over native memory and enables a deep integration between the Java and Swift runtimes and memory management systems. By utilizing FFI, the process of calling Swift code from Java becomes more efficient and safe.\n\nThe 'swift-java' command-line tool is employed to generate the necessary Java classes and Swift helper code. This tool automates boilerplate generation, making the process more straightforward. The generated Java classes serve as accessors for the Swift types and functions, effectively exposing the Swift library's functionality to Java.\n\nProper memory management is crucial when working with native Swift objects in Java. The discussion highlights two approaches: using an 'AutoArena' which relies on the Java Garbage Collector (GC), and a preferred method using 'try-with-resources' and a 'ConfinedArena'. The latter approach ensures well-defined and orderly object de-initialization, avoiding performance issues and burdening the GC.\n\nThis technique allows you to build and publish Swift-wrapped Java libraries, making them easily consumable in Java projects. This simplifies the adoption of Swift within teams that already have a strong Java presence, fostering a more flexible and efficient development environment. The ongoing development of SwiftJava aims to further polish and refine these techniques, providing a robust solution for interoperability between the two languages.","end":1247},{"start":1247,"title":"Wrap up","summary":"The Swift programming language is open-source and hosted on GitHub, as well as libraries such as SwiftJava. The community is active on the Swift forums where you can learn, share ideas, and provide feedback.","end":1282}]},"related":{"activities":["wwdc2025-312","wwdc2025-245","wwdc2025-311","wwdc2023-10172"],"resources":[4078,3965,45]}},"wwdc2025-250":{"id":"wwdc2025-250","staticContentId":9923,"eventContentId":250,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/250","languageCode":"eng","description":"Network framework is the best way to make low-level network connections on Apple platforms \u2014 and in iOS, iPadOS, and macOS 26, it\u2019s a perfect fit for your structured concurrency code. We\u2019ll explore how you can make connections, send and receive data and framed messages, listen for incoming connections, and browse the network for services. We\u2019ll also cover key best practices along the way.","title":"Use structured concurrency with Network framework","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CAD944A6-C4C6-4013-96A1-07EBE981333A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/250\/4\/ffac19d6-02fb-4abc-a491-fc009e5d38e3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/250\/4\/ffac19d6-02fb-4abc-a491-fc009e5d38e3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/250\/4\/ffac19d6-02fb-4abc-a491-fc009e5d38e3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/250\/4\/ffac19d6-02fb-4abc-a491-fc009e5d38e3\/downloads\/wwdc2025-250_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/250\/4\/ffac19d6-02fb-4abc-a491-fc009e5d38e3\/downloads\/wwdc2025-250_sd.mp4","duration":1270,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Welcome","summary":"Learn about the latest with Network framework. Understand how to create connections, send and receive data, listen for incoming connections, and discover endpoints on the network.","end":45},{"start":45,"title":"Make connections","summary":"Network framework simplifies app networking. It offers features like \"Connect by Name\" and \"Happy Eyeballs\" for efficient address resolution. It has built-in TLS security, and support for modern transports like QUIC. \n\nWith Network framework, you can create a protocol stack using a declarative API. The framework handles network interface transitions, proxies, and connection states automatically, ensuring robust and responsive connections.\n\nNetworkConnection objects manage the connection lifecycle, transitioning between states like 'preparing', 'ready', 'waiting', 'failed', or 'canceled'. You can optionally monitor these states to update the interface.","end":442},{"start":442,"title":"Send and receive","summary":"Sending and receiving data in Network framework are asynchronous functions that initiate connections if necessary. The 'send' function suspends the task until the provided data is processed. When receiving data using stream protocols like TLS and TCP, the number of bytes must be specified. \n\nErrors can occur during 'send' or 'receive', and the associated errors provide explanations for interruptions.\n\nFor scenarios where data size is unknown, such as loading images, you can use the 'receive' function repeatedly with specified minimum and maximum byte ranges.\n\nTo simplify message handling, the framework introduces a Type-Length-Value (TLV) framer, which automatically encodes and decodes messages, ensuring what is sent is exactly what is received.\n\nIn iOS and macOS 26, support for directly sending and receiving Codable types is now available.","end":862},{"start":862,"title":"Accept incoming connections","summary":"NetworkListener lets your app accept incoming connections. It is initialized with a protocol stack and, upon calling 'run', starts a new subtask for each incoming connection, delivering them to a handler for asynchronous message processing.","end":965},{"start":965,"title":"Find other devices","summary":"In iOS 26, Network framework introduces NetworkBrowser which enables your app to discover endpoints for network connections. NetworkBrowser can also use Wi-Fi Aware, a peer-to-peer networking technology, or Bonjour, to find nearby devices or services.\n\nYou can create a NetworkBrowser to search for specific services using browse descriptors, and once an endpoint is discovered, it can be used to initialize a NetworkConnection.\n\nThese new APIs, built for Swift's structured concurrency, make writing networked apps easier and cleaner, eliminating boilerplate code while providing the power and flexibility of Network framework.","end":1270}]},"related":{"activities":["wwdc2025-268","wwdc2018-715","wwdc2025-228"],"resources":[3992,3991,3990,501,498]}},"wwdc2025-204":{"id":"wwdc2025-204","staticContentId":9878,"eventContentId":204,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/204","languageCode":"eng","description":"Discover the latest updates to MapKit and MapKit JS. We\u2019ll introduce a new type of directions \u2014 cycling \u2014 and show you how to enable 3D Look Around imagery on the web.  Learn how the new Geocoding API supports conversion between coordinates and addresses, and how to use the Address Representations API to get the most appropriate address for a region. Then we\u2019ll wrap it up with a new way of referencing places that ensures your app will work seamlessly with App Intents.","title":"Go further with MapKit","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["javascript","place","route"],"primaryTopicID":93,"topicIds":[93],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"33B45785-076C-43F4-85FC-8D11F70E7A57","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/204\/5\/38ed2a79-6f38-4c36-8d25-933f80d3b8ce\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/204\/5\/38ed2a79-6f38-4c36-8d25-933f80d3b8ce\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/204\/5\/38ed2a79-6f38-4c36-8d25-933f80d3b8ce\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/204\/5\/38ed2a79-6f38-4c36-8d25-933f80d3b8ce\/downloads\/wwdc2025-204_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/204\/5\/38ed2a79-6f38-4c36-8d25-933f80d3b8ce\/downloads\/wwdc2025-204_sd.mp4","duration":1271,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"People can navigate and explore global locations, including landmarks, cafes, shops, and hiking trails with Apple Maps. The MapKit and MapKit JS platforms enable you to integrate these mapping features into your apps and websites. Recent updates include 'PlaceDescriptor' for finding and referencing places, enhanced geocoding for displaying place information, and directions and Look Around APIs for providing navigation assistance.","end":45},{"start":45,"title":"Finding places","summary":"The new framework, GeoToolbox, includes the 'PlaceDescriptor' type. Use 'PlaceDescriptor' to represent places using structured information, for example, a common name, address, coordinate, or device location. This is useful when you don't have a unique MapKit Place ID for a location, such as when working with data from external APIs or CRMs, or when passing place references to code that doesn't use MapKit.\n\n'PlaceDescriptor' enables MapKit or other mapping service providers to find rich data about the specified place. The representations array within 'PlaceDescriptor' is ordered in decreasing precedence, with the most accurate information first, helping ensure the most precise location identification. Create a 'PlaceDescriptor' by using various methods, for example, specifying coordinates, an address, or a service identifier. \n\nA service identifier is a dictionary that maps a bundle identifier to a unique place identifier for a specific mapping service. This allows for flexibility and interoperability between different mapping services.\n\nWhen you use a 'PlaceDescriptor' to create an 'MKMapItemRequest', MapKit prioritizes using the MapKit identifier from the service identifiers if available. If not, it falls back to other representations like coordinates or address to fetch the place.\n\n'PlaceDescriptors' enable you to easily add places to maps, display place cards with rich information, and create universal links to Apple Maps, providing a seamless user experience across different devices and platforms.","end":574},{"start":574,"title":"Displaying places","summary":"In iOS 18, the geocoding process is integrated into MapKit, replacing the deprecated CoreLocation classes 'CLGeocoder' and 'CLPlacemark'. Geocoding involves two main processes: forward and reverse. \n\nForward geocoding converts an address into coordinates, while reverse geocoding does the opposite, taking coordinates and providing an address. The new MapKit API allows you to make reverse geocoding requests using 'MKReverseGeocodingRequest', which returns an array of map items, typically containing only one entry for the specific location.\n\nUse 'MKAddress' and 'MKAddressRepresentations' to display address information. 'MKAddress' provides simple full and short address strings, while 'MKAddressRepresentations' offers more flexibility, allowing you to customize the address display based on factors like locale and the specific needs of their app, enabling a more concise and user-friendly presentation of location data.","end":854},{"start":854,"title":"Getting around","summary":"MapKit provides a directions API that enables people to find routes between locations using various modes of transportation, including walking, driving, and now cycling. The API offers detailed route information, such as time and distance estimates, step-by-step instructions, and the route's geometry for drawing on a map.\n\nYou can create directions requests, set the source and destination, and calculate routes. The response includes matched source and destination locations, one or more routes, and relevant notices like road closures.\n\nMapKit has also expanded to include support for cycling directions on watchOS and MapKit JS, allowing people to plan bike routes on their watches and websites. Additionally, the Maps Look Around feature, which provides 360-degree, street-level imagery, has been brought to MapKit apps in iOS 16 and is now available in MapKit JS, enabling you to enhance your apps with interactive street views.","end":1271}]},"related":{"activities":["wwdc2024-10097","wwdc2023-10043","wwdc2022-10035"],"resources":[3958,3957,3956]}},"wwdc2025-245":{"id":"wwdc2025-245","staticContentId":9944,"eventContentId":245,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/245","languageCode":"eng","description":"Join us for an update on Swift. We\u2019ll talk about workflow improvements that make you more productive, and new and modernized library APIs for fundamental programming tasks. We\u2019ll show examples of Swift adoption throughout more layers of the software stack. Finally, we\u2019ll explore new language features for both improving approachability of concurrency, and achieving peak performance when you need it.","title":"What\u2019s new in Swift","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F082F0FF-039D-4F47-8674-4BD45F8BFC3A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/245\/5\/ffab291a-af6f-4f45-9ee5-d504cabc053c\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/245\/5\/ffab291a-af6f-4f45-9ee5-d504cabc053c\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/245\/5\/ffab291a-af6f-4f45-9ee5-d504cabc053c\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/245\/5\/ffab291a-af6f-4f45-9ee5-d504cabc053c\/downloads\/wwdc2025-245_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/245\/5\/ffab291a-af6f-4f45-9ee5-d504cabc053c\/downloads\/wwdc2025-245_sd.mp4","duration":2290,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction & Agenda","summary":"Learn what's new in Swift 6.2. Highlights include: workflow enhancements, new library APIs, expanded adoption across the software stack, and improved concurrency language features for more productive coding.","end":48},{"start":48,"title":"swiftlang updates","summary":"The swiftlang organization on GitHub has grown significantly, encompassing over 50 projects, including the Swift compiler, Xcode\u2019s build system Swift Build, and the Swift.org website. Swift Build, now open source, supports the build process for Apple operating systems, and is adopted by the Swift Package Manager. \n\nA new version manager, swiftly, originally developed for Linux, now supports macOS and simplifies Swift toolchain management. The redesigned Swift.org homepage can also help you dive into different areas.","end":186},{"start":186,"title":"Development workflow: Writing code","summary":"The latest Swift release enhances development workflows across all platforms, with specific improvements for VS Code Swift extension users including official verification and distribution of the Swift extension by Swift.org. Now, there's also background indexing for real-time editor features, enhanced code completion, simplified debugging with automatic LLDB support, and new project panel and live DocC previews.","end":280},{"start":280,"title":"Development workflow: Building","summary":"Swift 6.2 introduces several enhancements to boost your productivity. Clean build times for projects utilizing macro-based APIs are significantly improved by eliminating the need to build the swift-syntax library during clean builds. This optimization, supported by Swift PM and Xcode, can reduce build times by minutes.\n\nThis release also enhances compiler diagnostics documentation by providing more detailed explanations of common warnings and errors, making them easier to understand and resolve. Additionally, you now have greater control over compiler warnings; you can specify which warnings to treat as errors, a feature driven by community feedback.","end":456},{"start":456,"title":"Development workflow: Debugging","summary":"Debugging is also enhanced in Swift 6.2, particularly for asynchronous code, with improved LLDB functionality, task naming and visibility in Instruments profiles. It also has faster debugger response times due to explicitly built modules enabled by default in Xcode 26.","end":554},{"start":554,"title":"Libraries: Subprocess","summary":"This release introduces the new Subprocess package, with which you can launch and manage subprocesses directly from Swift code. The package gives you fine-grained control over process execution, so you can specify the executable path. When the subprocess terminates, you can inspect the exit status, standard output, and other information about the process execution, with version 0.1 now available and ready for feedback.","end":645},{"start":645,"title":"Libraries: Foundation","summary":"The Foundation Workgroup enhanced iOS app development by introducing concrete types for notification names and payloads, streamlining code, eliminating errors, and improving thread safety for both framework and custom notifications. You can also add concrete notification types for your own notifications.","end":751},{"start":751,"title":"Libraries: Observation","summary":"The Observation Library in Swift uses the observer pattern to track state changes in an object graph. The 'Observable' macro enables observation tracking. Swift 6.2 introduces the 'Observations' type, with which you can create an 'AsyncSequence' to stream state changes based on a closure that computes a value from observable properties. Updates are transactional, ensuring consistent state, and you can iterate over them using a for-await loop.","end":853},{"start":853,"title":"Libraries: Testing","summary":"Using Swift Testing, a cross-platform library, you can write and organize tests by using macros. Swift 6.2 enhances this capability with custom attachments for better failure diagnosis, especially in remote environments, and exit tests to validate code that terminates under specific conditions. These features support testing portable Swift code, beyond just your application code.","end":968},{"start":968,"title":"Swift throughout the stack: Embedded Swift","summary":"Swift 6.2 enhances Embedded Swift, enabling you to write code for embedded devices, servers, and security-critical components. It now includes full-string APIs, Swift's 'any' types for class-constrained protocols, and new APIs like 'InlineArray' and 'Span' for working efficiently with regions of memory. Apple uses Embedded Swift in some of the lowest-level software on iPhone, and the community created examples available on GitHub in the swift-embedded-examples repository.","end":1080},{"start":1080,"title":"Swift throughout the stack: Security","summary":"Swift 6.2 introduces strict-memory-safety mode, an opt-in feature that requires explicit acknowledgment of unsafe API uses, aiding in identifying security-critical code sections. Apple is adopting this mode in WebKit and a Messages app subsystem, which both handle untrusted input.","end":1177},{"start":1177,"title":"Swift throughout the stack: Server","summary":"Swift is widely used in the server ecosystem, particularly at Apple, where it powers backend services processing millions of requests per second. A notable example is a password alert service, previously built in Java, which saw a 40% increase in throughput and a 50% reduction in hardware requirements after being rewritten in Swift. \n\nOther companies, such as Cultured Code, also benefited significantly from adopting Swift. The Things Cloud backend, reimplemented in Swift, experienced a 3x reduction in compute costs and a 400% improvement in average response times.\n\nSwift's growing package ecosystem, interoperability with C, Objective-C, and C++, and new open source projects like swift-java and a containerization library, enable developers to build efficient, performant server backends, and seamlessly integrate Swift with existing codebases, particularly in Java.","end":1403},{"start":1403,"title":"Swift throughout the stack: Platforms","summary":"Swift 6.2 now officially supports FreeBSD and WebAssembly (Wasm), enabling you to build client and server applications for browsers and other runtimes. The Wasm support, which started as a community project, allows you to compile Swift code and run it in the browser, as demonstrated by a 3D rendering app using WebGPU and JavaScriptKit. Swift's safety, ease of use, and performance make it an attractive choice throughout the software stack.","end":1571},{"start":1571,"title":"Language evolution: Performance","summary":"The new release also introduces two new types, 'InlineArray' and 'Span', to enhance performance of critical code. \n\n'InlineArray' is a fixed-size array that stores elements directly, eliminating the need for heap allocation. This improves performance, especially in hot paths, and enables more optimizations like eliminating bounds checking. The system specifies the size of an 'InlineArray' as part of the type, and can infer it from array literals.\n\n'Span' provides fast, direct access to contiguous memory without compromising memory safety. It allows functions to operate over the underlying storage of various container types, such as 'Array' and 'InlineArray', safely and efficiently. 'Span' ensures memory validity through compile-time checks, preventing common memory safety issues inherent to pointers.","end":1828},{"start":1828,"title":"Language evolution: Concurrency","summary":"Concurrency is a challenging aspect of programming due to the potential for data races when multiple tasks share memory. Swift 6 introduced data-race safety at compile time, but this often led to compiler errors when because the language would offload work to the background implicitly, even if you never needed the code to run in parallel. \n\nSwift 6.2 addresses this issue by changing the default philosophy to stay single-threaded until the you explicitly introduce concurrency. This capability, by default, makes the most natural code to write data race-free. The language now allows async functions that aren't tied to a particular actor to continue in the same actor it was called from, eliminating data races.\n\nThe release also introduces isolated conformances, enabling main actor types to conform to protocols while ensuring the compiler protects main actor state. Additionally, there's now an opt-in mode to infer the main actor by default, reducing concurrency annotations in mostly single-threaded code.\n\nWhen you need concurrency for performance improvement, such as offloading CPU-intensive tasks to the background, Swift 6.2 provides tools to do so safely. The concurrent attribute ensures that specific functions run on the concurrent thread pool, freeing up the current actor to perform tasks simultaneously. These changes work together to make concurrency more approachable and easier to implement in Swift projects.","end":2235},{"start":2235,"title":"Wrap up","summary":"User feedback led to Swift's concurrency improvements, making it more user friendly. The community is encouraged to participate in the forums at Swift.org to continue language and ecosystem development, share projects, and stay updated on Swift-related events.","end":2290}]},"related":{"activities":["wwdc2025-268","wwdc2025-270","wwdc2025-312","wwdc2025-311","wwdc2025-307","wwdc2025-346","wwdc2024-10171","wwdc2024-10197","wwdc2024-10217"],"resources":[3965,45]}},"wwdc2025-233":{"id":"wwdc2025-233","staticContentId":9931,"eventContentId":233,"eventId":"wwdc2025","contentUpdatedAt":"2026-06-04T15:42:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/233","languageCode":"eng","description":"Learn how the latest web technologies in Safari and WebKit can help you create incredible experiences. We\u2019ll highlight different CSS features and how they work, including scroll driven animation, cross document view transitions, and anchor positioning. We\u2019ll also explore new media support across audio, video, images, and icons.","title":"What\u2019s new in Safari and WebKit","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["css","javascript","typography","webkit"],"primaryTopicID":98,"topicIds":[83,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9ABF564F-4EE5-449B-B480-365583ED459F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/233\/5\/d86dec2f-e399-4978-b704-a5136136da93\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/233\/5\/d86dec2f-e399-4978-b704-a5136136da93\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/233\/5\/d86dec2f-e399-4978-b704-a5136136da93\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/233\/5\/d86dec2f-e399-4978-b704-a5136136da93\/downloads\/wwdc2025-233_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/233\/5\/d86dec2f-e399-4978-b704-a5136136da93\/downloads\/wwdc2025-233_sd.mp4","duration":2827,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"The Safari and WebKit teams have been hard at work since last WWDC, enhancing web technologies to improve interoperability and user experience. New features in animation, layout, visual effects, and media \u2014 including scroll-driven animations, anchor positioning, SVG icon support, and improved media formats \u2014 will be available in Safari this fall.","end":106},{"start":106,"title":"Animation","summary":"Animation is a powerful tool to enhance online experiences, making websites more engaging and enjoyable. \n\nUsing the latest features in CSS, specifically scroll-driven animations now available in Safari 19, you can elevate a website without the need for JavaScript. This capability is significant because it improves user performance and battery life.\n\nScroll-driven animations introduce two new timelines: the scroll timeline and the view timeline. The scroll timeline allows animations to be linked to the user's scrolling behavior, creating a more interactive experience. For example, a progress bar at the bottom of the page can grow as someone scrolls down, providing a visual cue of their progress.\n\nConsidering accessibility when implementing animations is important. Some people might prefer less motion due to motion discomfort, which can be triggered by various factors, such as scaling large objects, zooming, or objects moving at different speeds. By being mindful of these triggers, you can create animations that are inclusive and enjoyable for everyone.","end":1141},{"start":1141,"title":"Layout","summary":"This fall, Safari will introduce a new CSS module called anchor positioning, which will revolutionize how web developers create tooltips and position menus. \n\nAnchor positioning allows you to easily anchor one element to another, such as a menu to a profile picture. This capability enables precise positioning of the menu relative to the anchor.\n\nSafari also re-introduced viewport presets in Responsive Design Mode, making it easier for you to test your websites on various devices and screen sizes.","end":1745},{"start":1745,"title":"Visual effects","summary":"There are several new CSS features to enhance visual effects on websites and web apps. \n\nOne notable feature is the expansion of the 'background-clip' property. Originally used to fill text with gradients or images, you can now apply this property to borders. However, some additional adjustments, such as making the border color transparent and extending the background origin, are necessary to achieve the desired effect. You can use this technique to make various elements, like buttons and progress circles, more visually appealing.\n\nAnother exciting development is support for the 'shape()' function, which allows designers to create responsive shapes more easily than before. It gives you granular control over which parts of a shape scale with the viewport and which remain static, ensuring that shapes maintain their appearance and proportions across different screen sizes. This is particularly useful for creating decorative elements, like arrows or backgrounds.\n\nIn addition, CSS introduces new typography features, such as 'text-wrap: pretty', available in Safari 19. This feature aims to improve the readability of text by addressing issues like short lines, excessive hyphenation, and uneven line lengths. It adjusts the word spacing and line breaks to create a more pleasing and balanced paragraph layout. This is a subtle enhancement that can make a significant difference in the overall user experience, and it gracefully degrades in browsers that don't support it.","end":2302},{"start":2302,"title":"Media","summary":"Safari is set to introduce several significant media enhancements this fall. Among them is the implementation of SVG icons, which will improve user experience across various Safari features, such as favicons, bookmarklets, and the start page. SVG icons offer better scalability and smaller file sizes compared to traditional PNGs.\n\nAdditionally, Safari brings support for high dynamic range (HDR) images to WebKit and Safari today. HDR images make web content more vibrant and visually appealing by displaying deeper hues, wider ranges, and brighter colors. \n\nSafari is also expanding its support for various media formats, including Ogg Opus and Ogg Vorbis for audio, and has made progress in ensuring that complex combinations of codecs and containers work across different APIs. These upgrades enable you to integrate real-time podcast and video-recording features into your web apps.\n\nFurther, Safari is enhancing its support for the spatial web, allowing you to render 3D models stereoscopically and include immersive videos in web pages. These improvements aim to make the web more interactive and engaging for everyone.","end":2827}]},"related":{"activities":["wwdc2025-236","wwdc2025-231","wwdc2025-232","wwdc2025-235","wwdc2025-237"],"resources":[4002,3761,3601,774,772,765]}},"wwdc2025-211":{"id":"wwdc2025-211","staticContentId":9888,"eventContentId":211,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/211","languageCode":"eng","description":"Dive deeper into the latest advancements in Metal 4. We\u2019ll introduce the new ray tracing features that help bring your most complex and visually rich workloads to Apple silicon. Discover how MetalFX can help scale workloads by upscaling renderings, interpolating frames, and denoising scenes.\n\nTo get the most out of this session, we recommend first checking out \u201cDiscover Metal 4\u201d and \u201cExplore Metal 4 games\u201d.","title":"Go further with Metal 4 games","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FE4FE4F0-BA8A-43E4-91D3-C3D8EB1D338D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/211\/4\/03920d98-a8a0-4cc8-bc99-3fcf874e0232\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/211\/4\/03920d98-a8a0-4cc8-bc99-3fcf874e0232\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/211\/4\/03920d98-a8a0-4cc8-bc99-3fcf874e0232\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/211\/4\/03920d98-a8a0-4cc8-bc99-3fcf874e0232\/downloads\/wwdc2025-211_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/211\/4\/03920d98-a8a0-4cc8-bc99-3fcf874e0232\/downloads\/wwdc2025-211_sd.mp4","duration":1607,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Intro","summary":"Learn about the Metal 4 gaming series, including advanced techniques and best practices for developing advanced games and pro apps on Apple platforms. The APIs in Metal 4 enable you to scale your workloads for higher resolutions and frame rates across Apple devices.","end":133},{"start":133,"title":"Upscale rendering","summary":"MetalFX has a machine learning-based upscaler that can help you achieve higher resolution and faster frame rates. New this year, the MetalFX temporal upscaler supports dynamically sized inputs, so you can dynamically lower the input resolution for particularly complex frames. You can optionally use Reactivity Hints to hint to the upscaler about pixel reactivity for crisper results for areas with transparent effects or particles. And you can verify the exposure value you pass in to the upscaler is correct with the new exposure debugger tool. ","end":437},{"start":437,"title":"Interpolate frames","summary":"New this year, MetalFX Frame Interpolation generates an additional frame in between your two rendered frames. There are several techniques for rendering UI with Frame Interpolation. There are also considerations when you're pacing and presenting both interpolated and natively rendered frames.","end":830},{"start":830,"title":"Trace rays with Metal 4","summary":"Metal 4 adds a number of new ray tracing features related to acceleration structure builds and intersection functions. If you\u2019re porting from other APIs, it\u2019s easy to port your Shader Binding Tables to Metal intersection function buffers. After you\u2019re up and running, you can also optimize how Metal 4 builds your acceleration structures.","end":1165},{"start":1165,"title":"Denoise while upscaling","summary":"When ray tracing scenes, you can achieve the best trade-off between quality and performance by using denoising with fewer cast rays. The new MetalFX API enhances real-time ray-tracing rendering pipelines by integrating denoising directly into the upscaling process. This simplifies the traditional approach, which involves separate tracing, denoising, and composition steps. By specifying noise-free auxiliary buffers such as normals, diffuse albedo, roughness, and specular albedo, you can get robust, high-performance, and high-quality results without the need for separate parameter tuning for each scene.","end":1568},{"start":1568,"title":"Next steps","summary":"If you've already integrated the MetalFX Upscaler, this is your opportunity to upgrade to frame interpolation. If you're new to MetalFX,  take a look at the upscaler first. Then make sure your ray-tracing effects use intersection function buffers and the denoised upscaler.","end":1607}]},"related":{"activities":["wwdc2025-205","wwdc2025-294","wwdc2025-8152","wwdc2025-254","wwdc2025-8083","wwdc2025-8081","wwdc2025-8082","wwdc2025-8080","wwdc2025-8079","wwdc2025-8272","wwdc2025-437","wwdc2022-10103","wwdc2023-10128","wwdc2025-209","wwdc2025-262"]}},"wwdc2025-205":{"id":"wwdc2025-205","staticContentId":9886,"eventContentId":205,"eventId":"wwdc2025","contentUpdatedAt":"2026-02-16T11:56:02-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/205","languageCode":"eng","description":"Learn how to get started leveraging the powerful new features of Metal 4 in your existing Metal apps. We\u2019ll cover how Metal enables you to get the most out of Apple silicon and program the hardware more efficiently. You\u2019ll also learn how Metal 4 provides you with new capabilities to integrate machine learning into your Metal code.","title":"Discover Metal 4","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CA1969DC-5BD5-45A0-83A2-FF644F16B6D8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/205\/4\/0ac6aec9-0d2d-43b7-915a-1910976268f3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/205\/4\/0ac6aec9-0d2d-43b7-915a-1910976268f3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/205\/4\/0ac6aec9-0d2d-43b7-915a-1910976268f3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/205\/4\/0ac6aec9-0d2d-43b7-915a-1910976268f3\/downloads\/wwdc2025-205_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/205\/4\/0ac6aec9-0d2d-43b7-915a-1910976268f3\/downloads\/wwdc2025-205_sd.mp4","duration":1446,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Intro","summary":"Apple's Metal API gets a major upgrade with Metal 4, built with the next generations of games, graphics and compute apps in mind. It offers explicit memory management, more robust resource management, faster shader compilation, seamless ML integration, and new MetalFX performance features. Metal 4 is compatible with M1 (and later) and A14 Bionic (and later) Apple chips. and builds upon the existing Metal framework.\n\n","end":104},{"start":104,"title":"Encode commands","summary":"You can take advantage of Metal 4 using the same MTLDevice that your app uses today. Metal 4 introduces new objects for greater flexibility, such as \u2018MTL4CommandAllocator\u2019 for direct control of the command buffer memory and \u2018MTL4RenderCommandEncoder\u2019 with an attachment map that maps logical shader outputs to physical color attachments. Your app can configure and swap between color attachments using a single render encoder, saving memory and code.","end":243},{"start":243,"title":"Manage resources","summary":"Metal 4 optimizes resource management for modern applications, which are using significantly more buffers and textures than ever before. With the new MTL4ArgumentTable type, you can store the binding points to the resources your app needs. Use residency sets to specify the resources that Metal should make resident to the GPU. Populating the residency set can be done at app start up, and later updates come with a minimal CPU cost. Metal 4 buffers and textures can be allocated as placement sparse resources, giving you fine-grained control of how memory is allocated to those resources. Metal 4 also introduces a low-overhead barrier API for stage-to-stage synchronization of resources. ","end":643},{"start":643,"title":"Compile shaders","summary":"Metal 4 introduces the new MTL4Compiler interface, which provides you with explicit control over when your app performs shader compilation on the CPU. With new flexible render pipeline states, you can create an unspecialized pipeline which can then be specialized by re-using common Metal IR for different color states, reducing the time your app spends compiling shaders. ","end":832},{"start":832,"title":"Integrate machine learning","summary":"Metal 4 makes it easier than ever to integrate machine learning into your apps and games. Rendering techniques like upscaling, asset compression, animation blending, and neural shading all benefit. Metal 4 adds support for tensors, multi-dimensional data containers specifically designed for machine learning, tensors directly into the API as well as in the Metal shading language. ","end":1046},{"start":1046,"title":"Optimize with MetalFX","summary":"MetalFX allows your app to deliver high resolutions at even greater refresh rates when rendering complex scenes with realistic reflections. Your app can render low-resolution images, and MetalFX will upscale them. MetalFX also adds support for frame interpolation, which your app can use to generate intermediate frames much faster than generating them from scratch, so you can achieve even higher frame rates. For ray-traced scenes, MetalFX also now supports denoising during the upscale process, so your app can deliver full-size results from images rendered with fewer rays.","end":1162},{"start":1162,"title":"Start adopting Metal 4","summary":"Metal 4 is designed to make porting both approachable and modular. You can adopt it into your existing Metal app or game using a modular approach. Focus on the area that will deliver the most impact: how it compiles shaders, how it encodes and submits commands to the hardware, or its management of resources. For many, residency sets are an easy win. Placement sparse is also a great example of a feature that enables a specific use case, and it\u2019s simple to integrate it into an existing Metal app. Along the way, use Metal\u2019s advanced set of developer tools which support Metal 4, helping you debug and optimize your Metal apps.\n\nBeyond compilation, Metal 4 offers command encoding and generation models that provide greater control over memory allocations, enable native parallel encoding, and introduce machine learning capabilities for optimizing rendering pipelines.\n\nResource management in Metal 4 is also simplified through features like residency sets, barriers, and placement sparse resources, which allow for efficient resource streaming.\n\nMetal 4 comes with an advanced set of developer tools for debugging, optimization, and performance monitoring. Xcode 26 includes a new Metal 4 template, making it easy to get started with building and optimizing Metal 4 apps.","end":1388},{"start":1388,"title":"Next steps","summary":"Metal 4 enables a new generation of apps and games with an incredible feature set. The sample code, a great example of how to start your Metal 4 adoption, is available now.","end":1446}]},"related":{"activities":["wwdc2025-8082","wwdc2025-8082","wwdc2025-8082","wwdc2025-8082","wwdc2025-8082","wwdc2025-8081","wwdc2025-8079","wwdc2025-8080","wwdc2025-8083","wwdc2025-8152","wwdc2025-211","wwdc2025-294","wwdc2025-262","wwdc2025-254","wwdc2025-209","wwdc2025-437"],"resources":[4053,4052,4036,4035]}},"wwdc2025-222":{"id":"wwdc2025-222","staticContentId":9915,"eventContentId":222,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/222","languageCode":"eng","description":"Create a seamless experience for anyone who uses multiple languages. Learn how Language Discovery allows you to optimize your app using a person\u2019s preferred languages. Explore advances in support for right-to-left languages, including Natural Selection for selecting multiple ranges in bidirectional text. We\u2019ll also cover best practices for supporting multilingual scenarios in your app.","title":"Enhance your app\u2019s multilingual experience","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["\ud83c\udf0d","\ud83c\udf0e","\ud83c\udf0f","alternate calendars","i18n","ltr","rtl"],"primaryTopicID":83,"topicIds":[100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4498DDBC-5903-48A6-85EB-47BCACA39DFB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/222\/6\/0c2c6210-4f59-409a-ba23-36a7895563d3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/222\/6\/0c2c6210-4f59-409a-ba23-36a7895563d3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/222\/6\/0c2c6210-4f59-409a-ba23-36a7895563d3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/222\/6\/0c2c6210-4f59-409a-ba23-36a7895563d3\/downloads\/wwdc2025-222_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/222\/6\/0c2c6210-4f59-409a-ba23-36a7895563d3\/downloads\/wwdc2025-222_sd.mp4","duration":1238,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"iOS and iPadOS 26 introduce new features that make the multilingual experience even better, and your apps can tap into these improvements too. Internationalization is a first step in building apps for a global audience, and Apple\u2019s tools and technologies make it easy to prepare your app to support multiple languages.","end":237},{"start":237,"title":"Language discovery","summary":"With the new language discovery feature, Siri uses on-device intelligence to recognize people's language preferences and helps them enable additional languages. The new preferredLocales API replaces preferredLanguages and provides more details, including language and region, spellings, date formats, currencies, and more. Apps like Translate, Calendar, and Apple Music now utilize preferredLocales to optimize their UI and recommend content. Support preferredLocales to make your apps feel more personal and natural for people worldwide.","end":523},{"start":523,"title":"Alternate calendars","summary":"All platforms now support 11 new alternate calendars, including Gujarati, Marathi, and Korean, bringing the total to 27 alternate calendars.","end":569},{"start":569,"title":"Bidirectional text","summary":"iOS and iPadOS introduce improvements to handling bidirectional text, where text combines languages written from left-to-right (LTR), like English, with languages written from right-to-left (RTL), like Arabic and Hebrew.\n\nNatural selection is now supported in iOS and iPadOS so people can select text easily and naturally, regardless of the language direction. To support it, you need to use the new selectedRanges property instead of the selectedRange property, as it can handle multiple, noncontiguous ranges of text.\n\nAdditionally, the writing direction for bidirectional text is now determined by its content. If you type in LTR followed by RTL, the writing direction can automatically switch to RTL.","end":1180},{"start":1180,"title":"Next steps","summary":"The video covers new features that help your apps support multilingual users, including language discovery, alternate calendars, and enhanced support for bidirectional text in iOS and iPadOS.","end":1238}]},"related":{"activities":["wwdc2022-10107","wwdc2025-280","wwdc2024-10185"],"resources":[4043,1738,109]}},"wwdc2025-221":{"id":"wwdc2025-221","staticContentId":9907,"eventContentId":221,"eventId":"wwdc2025","contentUpdatedAt":"2026-02-16T11:56:22-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/221","languageCode":"eng","description":"Learn about new features in AdAttributionKit, including how to measure overlapping reengagement conversions and customize ad attribution rules for your app. Gain insight on a new postback property you can use to measure the success of ad campaigns across countries and regions. We\u2019ll also demonstrate new functionality and best practices for testing your AdAttributionKit implementation. To get the most out of this session, we recommend first watching \u201cMeet AdAttributionKit.\u201d","title":"What\u2019s new in AdAttributionKit","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[86,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"14B3929A-DA2F-4330-9073-55CA5CC20822","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/221\/4\/09c47047-90c9-48df-9ed1-f6d24303043e\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/221\/4\/09c47047-90c9-48df-9ed1-f6d24303043e\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/221\/4\/09c47047-90c9-48df-9ed1-f6d24303043e\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/221\/4\/09c47047-90c9-48df-9ed1-f6d24303043e\/downloads\/wwdc2025-221_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/221\/4\/09c47047-90c9-48df-9ed1-f6d24303043e\/downloads\/wwdc2025-221_sd.mp4","duration":1420,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"AdAttributionKit, designed with user privacy in mind, enables advertisers to measure ad campaign success while preserving user anonymity. The system involves three main actors: ad networks, publisher apps, and advertised apps. \n\nThe process starts with an ad network delivering an ad to a publisher app, which then displays it to users. Interactions with the ad can lead to installs or re-engagements, which are measured by the advertised app. After a specific conversion window, data is transmitted back to the ad network in a postback.\n\nAdAttributionKit, launched in iOS 17.4 and later updated to support re-engagement in iOS 18, now includes new features such as conversion tags for measuring overlapping re-engagement conversions, customizable attribution rules, new geography data in postbacks, and enhanced testability within the iOS Settings app.","end":203},{"start":203,"title":"Measure overlapping conversion windows","summary":"In iOS 18.4, you can now have multiple active re-engagement conversion windows simultaneously in your apps. Prior to this, only one conversion is active at a time. \n\nConversion tags, which act as bookmarks, now specify which re-engagement conversion to update when a user interacts with multiple ads or campaigns. This is particularly useful when running simultaneous promotions for different products.\n\nTo enable this new functionality, you must set the 'EligibleForAdAttributionKitOverlappingConversions' key in your app's Info.plist file. Once opted in, conversion tags are appended to re-engagement URLs, so you can extract and store them for later use. When someone performs an in-app action, the corresponding conversion tag is retrieved and used to update the conversion value directly through the Postback API, ensuring accurate attribution of conversions to the relevant campaigns.","end":470},{"start":470,"title":"Customize attribution rules","summary":"Advertisers can now customize their attribution rules for apps. This new feature enables two main ways to adjust the attribution flow:\n\nConfigurable Attribution Window. Using this feature, advertisers can specify the time period after an ad is displayed when it can still be considered for attribution. Previously, all click-through ads under 30 days old and view-through ads under one day old were considered. Now, advertisers can set these windows on a per-ad network and per-ad interaction type basis. They can also ignore specific ad types from certain networks by specifying the 'ignoreInteractionType' key, or set a global attribution window length that applies to all networks unless overridden by specific configurations.\n\nConfigurable Attribution Cooldown. This feature prevents multiple conversions from overlapping and potentially misattributing user engagement. After a conversion, you can set a cooldown period in the Info.plist, during which time any other conversions are not attributed. This ensures that the value of a conversion is accurately measured for the ad that drove it. Advertisers can specify cooldown periods on a per-conversion type basis, such as install or re-engagement conversions.","end":886},{"start":886,"title":"Receive geography data in postbacks","summary":"AdAttributionKit now has enhanced postbacks with new geography information, specifically country codes, to aid advertisers and ad networks in optimizing ad delivery across different countries. The country code field in postbacks is derived from the App Store storefront for initial installs and re-engagements. \n\nFor apps installed from alternative app marketplaces in iOS 17.4 and later, the country code is included in the install verification token payload, validated by Apple, and then added to the postback. This new field is subject to the Apple crowd anonymity algorithm to ensure user privacy, and is only included in postbacks for conversions with sufficient volume within the same country, providing an additional tier of data without compromising existing information.","end":1092},{"start":1092,"title":"Test AdAttributionKit","summary":"In iOS 18.4, you can now directly create development postbacks for your apps within the iOS Settings app. This new feature enables testing of various scenarios, like updating conversion values before your app is released to production and validating server implementation for processing different data tiers of postbacks. \n\nYou can configure postbacks by specifying the app's bundle identifier, destination URL, and various properties, including the new country code property. You can also adjust the data granularity of each postback.\n\nPostbacks created in Developer Settings have distinct characteristics, such as a new signature key and specific values for the ad network identifier ('development.adattributionkit') and advertised item identifier, to distinguish them from production postbacks. This enhancement streamlines the development and testing workflow for AdAttributionKit implementation.","end":1420}]},"related":{"activities":["wwdc2024-10060","wwdc2025-246"],"resources":[3952,3942,3941,3940,3939,3938,3752]}},"wwdc2025-294":{"id":"wwdc2025-294","staticContentId":9895,"eventContentId":294,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/294","languageCode":"eng","description":"Discover the latest improvements in Metal rendering for immersive apps with Compositor Services. Learn how to add hover effects to highlight your app\u2019s interactive elements, and how to render in higher fidelity with dynamic render quality. Find out about the new progressive immersion style. And explore how you can bring immersive experiences to macOS apps by directly rendering Metal content from Mac to Vision Pro. \n\nTo get the most out of this session, first watch \u201cDiscover Metal for immersive apps\u201d from WWDC23.","title":"What\u2019s new in Metal rendering for immersive apps","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["macOS","visionOS"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7EB32F9E-746C-4479-902D-C9BF86ADCD0B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/294\/4\/e0a53a43-a861-4846-9d3a-45232b5e959a\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/294\/4\/e0a53a43-a861-4846-9d3a-45232b5e959a\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/294\/4\/e0a53a43-a861-4846-9d3a-45232b5e959a\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/294\/4\/e0a53a43-a861-4846-9d3a-45232b5e959a\/downloads\/wwdc2025-294_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/294\/4\/e0a53a43-a861-4846-9d3a-45232b5e959a\/downloads\/wwdc2025-294_sd.mp4","duration":1480,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Intro","summary":"Metal rendering on visionOS, along with Compositor Services, bring exciting new features this year, including hover effects on objects that can be interacted with, dynamic render quality of your rendered content, a brand-new progressive immersion style, and the ability to render immersive content on the Vision Pro directly from macOS.","end":118},{"start":118,"title":"New render loop APIs","summary":"The render loop on visionOS has an important change this year. Instead of returning a single drawable, the queryDrawables object now returns an array of one or two drawables. The second drawable will be present whenever you are recording a high-quality video with Reality Composer Pro. Check Xcode for a template that can get you started. Both Metal and Metal 4 are supported.","end":261},{"start":261,"title":"Hover effects","summary":"Once you\u2019ve adopted the new render loop API, you can start implementing hover effects on the objects that can be interacted with. With hover effects, people can see which objects are interactive, and can anticipate the targets of their actions. The system will dynamically highlight the object someone is looking at. For example, a puzzle game can emphasize the pieces that can be selected by the player. You can do this using the new tracking areas texture, which defines the different interactive regions in your scene. There are a few additional considerations to keep in mind if you\u2019re using MSAA (multisample antialiasing). ","end":650},{"start":650,"title":"Dynamic render quality","summary":"You can now draw your content at even higher fidelity than before. By using dynamic render quality, you can adjust the resolution of your content based on the complexity of your scenes. It builds upon foveated rendering, which prioritizes pixel density where the viewer is looking. You can set a maximum render quality and then adjust runtime quality within that range. Higher quality improves text and UI clarity but increases memory and power usage. Balancing quality and performance is crucial. Use tools like Instruments and Metal debugger to find the right balance.","end":884},{"start":884,"title":"Progressive immersion","summary":"New this year, you can render content inside a progressive immersive portal. With this, people control the immersion level by rotating the Digital Crown. This grounds them to the real environment, and can help them feel more at ease when they're viewing complex scenes with movement. \n\nTo implement it, ask the system to provide a stencil buffer to mask content outside of the portal boundary. The system applies a fading effect to the edges of the portal, creating a seamless transition between the real and rendered environments. Pixels outside the portal's view aren\u2019t rendered, saving computing power. Implementation details are shared.","end":1112},{"start":1112,"title":"macOS spatial rendering","summary":"macOS spatial rendering enables you to leverage the power of your Mac to render to stream immersive content directly to the Apple Vision Pro. This new feature allows existing Mac apps to be enhanced with immersive experiences, such as real-time 3D modeling previews. ARKit and the worldTrackingProvider are now available on macOS. This allows you to query the Vision Pro\u2019s location in space. \nThe macOS RemoteImmersiveSpace hosts the CompositorLayer and ARKitSession, like a native visionOS app would. There\u2019s a new remoteDeviceIdentifier you\u2019ll use to connect your Mac's ARKit session to the Vision Pro. And, all of the relevant APIs have native equivalents in C.","end":1431},{"start":1431,"title":"Next steps","summary":"These new capabilities in Metal and Compositor Services on visionOS can enable you to bring better interactivity, higher fidelity, and the new progressive immersion style to your apps and games. Next, check \"Set the scene with SwiftUI in visionOS\u201d and \"What's new in visionOS 26.\u201d","end":1480}]},"related":{"activities":["wwdc2025-445","wwdc2025-8082","wwdc2025-8152","wwdc2025-8083","wwdc2025-8080","wwdc2025-8079","wwdc2025-8081","wwdc2025-317","wwdc2025-289","wwdc2024-10092","wwdc2023-10089","wwdc2025-205","wwdc2025-211","wwdc2025-254","wwdc2025-256"],"resources":[4095,4040,358]}},"wwdc2025-281":{"id":"wwdc2025-281","staticContentId":9999,"eventContentId":281,"eventId":"wwdc2025","contentUpdatedAt":"2025-11-03T12:25:57-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/281","languageCode":"eng","description":"Snippets are compact views invoked from App Intents that display information from your app. Now, snippets can allow your app to bring even more capability to Siri, Spotlight, and the Shortcuts app by including buttons and stateful information that offer additional interactivity as part of an intent. In this session, you\u2019ll learn best practices for designing snippets, including guidance on layout, typography, interaction, and intent types.","title":"Design interactive snippets","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"primaryTopicID":87,"topicIds":[94,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4D88FD13-E491-4499-AA3F-8A84CF4BA607","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/281\/4\/b85a7a8d-4835-4c00-b931-c7a7bdec6dd3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/281\/4\/b85a7a8d-4835-4c00-b931-c7a7bdec6dd3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/281\/4\/b85a7a8d-4835-4c00-b931-c7a7bdec6dd3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/281\/4\/b85a7a8d-4835-4c00-b931-c7a7bdec6dd3\/downloads\/wwdc2025-281_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/281\/4\/b85a7a8d-4835-4c00-b931-c7a7bdec6dd3\/downloads\/wwdc2025-281_sd.mp4","duration":448,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Snippets are compact views, which appear in Spotlight, Siri, and the Shortcuts app. They are made with App Intents, and display updated information and allow people to perform quick actions directly from the snippet without leaving their current context. ","end":90},{"start":90,"title":"Appearance","summary":"Snippets are designed for quick, in-the-moment use, so their content must be clear and concise. To achieve this, a larger type size is used to draw attention to important information, and ample spacing is employed to avoid clutter. Make sure to establish a consistent margin around content, and create layouts that adapt to different platforms and screen sizes. \n\nDue to limited space, keep content short to prevent scrolling. If more information is needed, snippets can link to relevant app views. Vibrant backgrounds can make snippets stand out but you must use them carefully with high contrast to ensure readability, especially from a distance.","end":205},{"start":205,"title":"Interaction","summary":"Interaction enhances snippets by making them stateful and actionable. This allows people to perform simple actions directly within the snippet, with visual feedback confirming the action. Even without interactivity, snippets can update in real time and use animations to bring attention to the latest information.","end":289},{"start":289,"title":"Types","summary":"There are two main types of snippets: results and confirmations. Result snippets display information that doesn't require further action, such as order status updates, and only include a \"Done\" button. Confirmation snippets present information that needs user action before a result can be shown. These snippets feature action verbs, and can be used for a variety of intents that relate to specific actions.","end":448}]},"related":{"resources":[4059]}},"wwdc2025-236":{"id":"wwdc2025-236","staticContentId":9934,"eventContentId":236,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/236","languageCode":"eng","description":"Learn how the WebGPU API provides safe access to GPU devices for graphics and general-purpose computation. We\u2019ll also explore the WGSL shading language to write GPU programs. And we\u2019ll dive into best practices to achieve optimal performance while using minimal power across desktop and mobile devices.","title":"Unlock GPU computing with WebGPU","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["metal","shader","webkit"],"primaryTopicID":98,"topicIds":[83,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8C4F56E8-690F-4C7E-B701-288616360CD4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/236\/5\/3eb6d0b1-48d5-46d6-bb81-a6ce4b03b8aa\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/236\/5\/3eb6d0b1-48d5-46d6-bb81-a6ce4b03b8aa\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/236\/5\/3eb6d0b1-48d5-46d6-bb81-a6ce4b03b8aa\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/236\/5\/3eb6d0b1-48d5-46d6-bb81-a6ce4b03b8aa\/downloads\/wwdc2025-236_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/236\/5\/3eb6d0b1-48d5-46d6-bb81-a6ce4b03b8aa\/downloads\/wwdc2025-236_sd.mp4","duration":1313,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"WebGPU enables high-performance 3D graphics and general-purpose parallel computing on GPUs. It builds on WebGL, offering greater flexibility and speed. WebGPU is designed to be platform-agnostic, with a Metal-like API, and is supported on Mac, iPhone, iPad, Vision Pro, and other non-Apple systems.\n\n","end":134},{"start":134,"title":"Explore the WebGPU API","summary":"The WebGPU pipeline processes content from websites or web apps through WebKit and the Metal framework. Metal generates GPU resources \u2014 buffers, textures, and samplers \u2014 organized into GPU bind groups for efficient use. These resources, along with compiled shader programs (compute, vertex, and fragment), are then utilized by the GPU.\n\nWebGPU's API, which is a flat API, provides interfaces for managing devices, resources, encoders, pipelines, bind groups, and shader modules. You can often use a canvas with WebGPU, and you can query a 'GPUCanvasContext' to create a GPU device.\n","end":594},{"start":594,"title":"Develop shaders","summary":"WebGPU uses WGSL, a language for web-based GPU programming. It supports three main program types: vertex, fragment, and compute. \n\nVertex programs define triangle positions on the screen. Fragment programs compute colors and depths for textures. Compute shaders, new to WebGPU, perform general computations in parallel, enabling physics simulations and other complex tasks.\n\n","end":837},{"start":837,"title":"Optimize performance","summary":"To optimize WebGPU performance, focus on memory efficiency. You can also minimize unnecessary buffer and texture update calls, as they require data copies and can be expensive. Reusing render commands through render bundles is highly recommended because it eliminates redundant validation, saving time and bringing performance closer to native levels. Further, reducing the number of resources \u2014 such as command buffers, render passes, and bind groups \u2014 is crucial.\n\nBy following these guidelines, you can create stunning and highly efficient websites and web apps that excel on Apple hardware and across all mobile and desktop devices.","end":1313}]},"related":{"activities":["wwdc2025-233","wwdc2020-10602","wwdc2020-10632","wwdc2025-231"],"resources":[4005,4004,4003,3596,3595,56]}},"wwdc2025-255":{"id":"wwdc2025-255","staticContentId":9957,"eventContentId":255,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/255","languageCode":"eng","description":"Learn how you can design beautiful widgets for visionOS 26 that blend effortlessly into someone\u2019s surroundings. Discover how you can add depth to your widget design and customize materials, sizes, and styles for spatial computing. We\u2019ll share how to adapt your existing widgets for visionOS, or design new widgets that feel like real objects.","title":"Design widgets for visionOS","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["visionOS"],"primaryTopicID":87,"topicIds":[85,100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4D354E1F-5016-49F7-9296-3D3722626480","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/255\/7\/af349b4f-e1db-4adc-a446-d92c8942a7c1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/255\/7\/af349b4f-e1db-4adc-a446-d92c8942a7c1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/255\/7\/af349b4f-e1db-4adc-a446-d92c8942a7c1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/255\/7\/af349b4f-e1db-4adc-a446-d92c8942a7c1\/downloads\/wwdc2025-255_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/255\/7\/af349b4f-e1db-4adc-a446-d92c8942a7c1\/downloads\/wwdc2025-255_sd.mp4","duration":1264,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"In this session, learn how to design thoughtful and beautiful widgets for visionOS. On Vision Pro, widgets are 3D objects that integrate into someone's physical space, and can be placed through the new Widgets app on visionOS.\n\nThis session covers a few of the design principles for designing native widgets: persistence, fixed size, customization, and proximity awareness. ","end":216},{"start":216,"title":"Persistence","summary":"In visionOS, widgets persist\u00a0when placed on horizontal or vertical surfaces in someone's space. When placed on a horizontal surface, like a desk, table, or shelf, the widget gently tilts toward the person placing it. This subtle angle helps legibility, and casts a shadow that makes it feel grounded in space.\n\nWhen designing widgets for visionOS, design with context in mind and consider how they might sit inside a room. Widgets sit in someone's real space \u2014\u00a0they don't attach or persist in environments.","end":399},{"start":399,"title":"Fixed size","summary":"Widgets on visionOS have defined, consistent dimensions to help them feel at home on a wall, desk, or shelf. You have access to the same widget template sizes as on other Apple platforms, but on visionOS they map to real-world dimensions. There's also a new extra-large portrait size to create \"statement piece\" widgets that feel more like wall art than an interface. \n\nWhen offering widgets on this platform, design with print or wayfinding principles in mind: use clear hierarchy, strong typography, and thoughtful scale to make sure your content stays clear from a range of distances. Note each widget can be resized using the corner affordance, scaling from 75% to 125% while still preserving your layout, so it's important to use high-resolution assets.","end":537},{"start":537,"title":"Customization","summary":"You can personalize the look and feel of your widget in addition to system personalization options. Choose a style that fits your content: Paper or Glass. Paper widgets have a print-like appearance that responds to ambient lighting while Glass widgets have a lighter, layered look with full-color foreground elements that remain sharp and legible regardless of lighting conditions. \n\nPeople can choose system-provided palettes to tint the color of your widgets, so it's important to test your content with these styles. While you can opt out of background tinting, the widget's frame always receives a tint color. People can also choose the size of a widget's frame, and if your widget is placed on a vertical surface, they can select a preferred mounting style \u2014\u00a0Elevated (which sits atop a wall like a picture frame) or Recessed (inset into the wall). \n\nYou can additionally offer further customization options for your widget to offer meaningful, content-specific customization, making your widget feel more expressive and adaptive.","end":1034},{"start":1034,"title":"Proximity awareness","summary":"Widgets can also take advantage of a person's proximity to adapt the information density in real time. Think of it like responsive design \u2014 but instead of screen size, it\u2019s the angular size that changes as someone moves closer or farther away. \n\nvisionOS provides two key thresholds you can design for: Default, when the widget is viewed up close, and Simplified, when it\u2019s seen from a distance. Not every widget needs it, but adapting to distance can improve clarity.\n\nMaintain shared elements across both distance thresholds whenever possible to help the layout feel continuous. If you include interactions, make sure the interactive areas of your widget are always easy to target, whether someone is standing close or further away.","end":1264}]},"related":{"resources":[4057]}},"wwdc2025-319":{"id":"wwdc2025-319","staticContentId":10068,"eventContentId":319,"eventId":"wwdc2025","contentUpdatedAt":"2025-11-04T16:52:14-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/319","languageCode":"eng","description":"Discover how the Cinematic Video API enables your app to effortlessly capture cinema-style videos. We\u2019ll cover how to configure a Cinematic capture session and introduce the fundamentals of building a video capture UI. We\u2019ll also explore advanced Cinematic features such as applying a depth of field effect to achieve both tracking and rack focus.","title":"Capture cinematic video in your app","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["camera","capture","cinematic"],"primaryTopicID":84,"topicIds":[95,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1B4FF924-1BE5-4EA2-9416-39EADE346719","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/319\/4\/55797f51-c074-44e8-85fe-5aaa0780ba91\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/319\/4\/55797f51-c074-44e8-85fe-5aaa0780ba91\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/319\/4\/55797f51-c074-44e8-85fe-5aaa0780ba91\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/319\/4\/55797f51-c074-44e8-85fe-5aaa0780ba91\/downloads\/wwdc2025-319_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/319\/4\/55797f51-c074-44e8-85fe-5aaa0780ba91\/downloads\/wwdc2025-319_sd.mp4","duration":1107,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Use the Cinematic Video API to capture pro-level cinema-style videos in your apps.  iPhone 13 and 13 Pro introduced Cinematic mode, which transformed iPhone into a cinematography powerhouse.","end":33},{"start":33,"title":"Cinematic video","summary":"Cinematic video uses shallow depth of field and tracking focus to guide viewer attention, mimicking film techniques. The Cinematic Video API in iOS 26 simplifies this process, enabling apps to automatically rack and track focus. \n\nTo build a Cinematic capture experience, set up a capture session, select a device, and then enable Cinematic video capture by setting 'isCinematicVideoCaptureEnabled' to true on the 'AVCaptureDeviceInput' class. This configures the session to output Cinematic video with disparity data, metadata, and the original video, allowing for non-destructive editing. You can play back or edit the bokeh rendering with the Cinematic Framework.","end":224},{"start":224,"title":"Build a great cinematic capture experience","summary":"The example begins by setting up an 'AVCaptureSession' to enable Cinematic video capture on compatible devices, such as the Dual Wide camera on the back and the TrueDepth camera on the front. The example selects an appropriate video format, with 'isCinematicVideoCaptureSupported' returning as true, and then adds audio input from the microphone to the session. Spatial audio capture is enabled to enhance the Cinematic experience. \nTo learn more about Spatial Audio, see \"Enhance your app's audio content creation capabilities\".\n\nNext, video stabilization is enabled, to enhance the user experience, and the capture session is previewed using a SwiftUI view. Then, the example creates a custom representable struct to wrap the 'AVCaptureVideoPreviewLayer', allowing it to be integrated seamlessly into the SwiftUI interface.\n\nThe example then delves into controlling the Cinematic video effect, specifically the shallow depth of field. By adjusting the 'simulatedAperture', the bokeh effect can be strengthened or weakened, providing more creative control over the video.\n\nTo enable manual focus control, the example implements metadata detection to identify focus candidates, such as faces. Then, it draws rectangles on the screen to represent these candidates, allowing users to tap and focus on specific subjects.\n\nThe Cinematic Video API provides several methods to control focus during video recording. The API outputs metadata objects that include information about detected subjects in the frame. \n\nThe 'focusMode' configuration parameter determines the tracking behavior of Cinematic video. There are three cases for this enum: 'none', 'strong', and 'weak'. Strong focus locks onto a subject, ignoring other potential focus candidates. \nWeak focus allows the algorithm to automatically rack focus based on the scene. \nThe none case is primarily used to determine focus status rather than set it.\n\nThe API offers three focus methods:\n\n'setCinematicVideoTrackingFocus' method takes a detected object ID as input and sets the focus to that object.\n\n'setCinematicVideoTrackingFocus' method takes a point in the view as input. Cinematic video then searches for an interesting object at that point and creates a new metadata object of type 'salient object', which can then be focused on.\n\n'setCinematicVideoFixedFocus' sets a fixed focus at a specific point in the scene, computing the distance internally using depth signals. When paired with a strong focus mode, this locks the focus on a particular plane, ignoring other activities in the scene.\n\nYou can implement custom focus logic in your apps. For example, tapping on a detection rectangle can switch focus between subjects, and a long press can set a strong fixed focus. The app visually differentiates between weak, strong, and no focus to guide the user.\n\nAdditionally, the API allows for still image capture during recording, which will automatically receive the Cinematic treatment with the bokeh effect. The app can also use key-value observation to observe the 'cinematicVideoCaptureSceneMonitoringStatuses' property, and inform the user when there is insufficient light for proper Cinematic video capture.","end":1107}]},"related":{"activities":["wwdc2025-253","wwdc2024-10204","wwdc2023-10105","wwdc2023-10256","wwdc2023-10106","wwdc2025-8273","wwdc2025-8098"],"resources":[3932,3523,227,52]}},"wwdc2025-223":{"id":"wwdc2025-223","staticContentId":9916,"eventContentId":223,"eventId":"wwdc2025","contentUpdatedAt":"2026-06-08T13:30:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/223","languageCode":"eng","description":"Discover how the latest enhancements and APIs in visionOS 26 expand access and extend enterprise capabilities announced last year. Learn how these all-new features make it easy to build model training workflows, enhance video feeds, and enable you to align coordinate systems over a local network to develop collaborative experiences in your in-house app.","title":"Explore enhancements to your spatial business app","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["visionOS"],"keywords":["camera","enterprise","follow","in-house","license","stereo"],"primaryTopicID":89,"topicIds":[83,85,89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D4CBFB48-3726-4AE2-BF7D-96768CEAA339","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/223\/4\/5af51454-839b-4a10-9b09-2f7018e9e3af\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/223\/4\/5af51454-839b-4a10-9b09-2f7018e9e3af\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/223\/4\/5af51454-839b-4a10-9b09-2f7018e9e3af\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/223\/4\/5af51454-839b-4a10-9b09-2f7018e9e3af\/downloads\/wwdc2025-223_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/223\/4\/5af51454-839b-4a10-9b09-2f7018e9e3af\/downloads\/wwdc2025-223_sd.mp4","duration":1537,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":4,"title":"Introduction","summary":"Last year, Apple introduced the Enterprise APIs, and this year, there are a host of new features and improvements. These APIs, designed for proprietary in-house apps, require managed entitlements and license files. The updates focus on streamlining development, enhancing user experience, and enabling new environment visualization capabilities.","end":97},{"start":97,"title":"Streamline development","summary":"The latest visionOS enhances developer capabilities by expanding API access. Key improvements include wider API availability, object-tracking enhancements, and simplified enterprise license management. \n\nSeveral APIs introduced last year, such as those for UVC-compatible webcam access and Neural Engine, are now open to all developers without enterprise licenses. You can now train object-tracking models directly from the command line, automating the process and integrating it into existing pipelines.\n\nLicense files are now accessible within the Apple Developer account, renewals are automatic, and a new framework enables developers to easily check license status and app approvals for specific features.","end":294},{"start":294,"title":"Enhance user experience","summary":"Several new features in visionOS 26 enhance user experiences in spatial applications. \n\nOne such feature is Window Follow Mode, which allows users to enable a window to move with them as they navigate through a spatial environment. This is particularly useful for tasks that require frequent reference to information while moving. To enable this mode, you need to request and manage a specific licensed entitlement.\n\nSpatial computing is also enhanced for collaboration. Shared coordinate spaces enable people who are physically together to share their spatial experiences. Everyone can interact with and discuss the app's content as if it were physically present. \n\nYou can utilize SharePlay for easy setup, or for more control, a new ARKit API called 'SharedCoordinateSpaceProvider' is available specifically for enterprise customers. This API allows multiple participants to align their coordinate systems and share data over a chosen local network transport, creating a common coordinate system for shared world anchors.\n\nData privacy and security are also of the utmost importance, especially in enterprise applications that handle sensitive information. A new API called 'contentCaptureProtected' allows you to mark specific user interface elements or entire scenes as protected. The system then automatically obscures this protected content in any screen captures, recordings, mirrored views, or shared sessions, ensuring that sensitive data remains visible only to the user wearing the device.","end":817},{"start":817,"title":"Visualize the environment","summary":"The latest visionOS enhances Apple Vision Pro's capabilities to bridge the physical and digital worlds. The camera system is expanded, providing you with greater access to the device's cameras through the ARKit 'CameraFrameProvider' API. This capability allows apps to utilize camera feeds in both immersive and shared space environments.\n\nA new feature enables people to magnify and enhance specific areas of their real-world view. Using VisionKit's 'CameraRegionView', developers can create windows that display dedicated video feeds of selected regions, making critical details clearer. This feature is particularly useful for professionals, such as technicians and inspectors, who need to monitor small gauges or components in poorly lit areas.\n\nYou can implement this feature with just a few lines of SwiftUI code, utilizing the 'CameraRegionView' and 'CameraRegionProvider' APIs. These APIs offer built-in processing options like contrast and vibrancy enhancement, and allow for custom image analysis and modification, providing flexibility for various applications. ARKit's Camera Regions feature enhances the pass-through camera feed in Apple Vision Pro, which can be applied to specific areas defined by virtual windows called 'CameraRegionAnchors'. \n\nYou can create these anchors by specifying their position, orientation, and size in the real world. ARKit then provides stabilized and enhanced pixel buffers for these regions. The feature allows for zooming and panning, and dynamically adjusts frame rate based on the chosen enhancement algorithm. Be sure to consider resource usage, with larger camera regions impacting memory and processing.","end":1441},{"start":1441,"title":"Next steps","summary":"For best results in Apple Vision Pro enterprise apps, prioritize safety, respect privacy by only collecting necessary data, ensure apps meet eligibility requirements (in-house or custom B2B), and request only the entitlements needed for specific functionality.","end":1537}]},"related":{"activities":["wwdc2024-10139","wwdc2024-10101","wwdc2024-10100","wwdc2025-318"],"resources":[3880,3836]}},"wwdc2025-268":{"id":"wwdc2025-268","staticContentId":9948,"eventContentId":268,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/268","languageCode":"eng","description":"Join us to learn the core Swift concurrency concepts. Concurrency helps you improve app responsiveness and performance, and Swift is designed to make asynchronous and concurrent code easier to write correctly. We\u2019ll cover the steps you need to take an app through from single-threaded to concurrent. We\u2019ll also help you determine how and when to make the best use of Swift concurrency features \u2013 whether it\u2019s making your code more asynchronous, moving it to the background, or sharing data across concurrent tasks.","title":"Embracing Swift concurrency","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D0CA59D7-A0CE-44B1-B553-AA18DBC87736","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/268\/4\/9de10aea-96a5-468d-a7b9-211a8f9b2d0a\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/268\/4\/9de10aea-96a5-468d-a7b9-211a8f9b2d0a\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/268\/4\/9de10aea-96a5-468d-a7b9-211a8f9b2d0a\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/268\/4\/9de10aea-96a5-468d-a7b9-211a8f9b2d0a\/downloads\/wwdc2025-268_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/268\/4\/9de10aea-96a5-468d-a7b9-211a8f9b2d0a\/downloads\/wwdc2025-268_sd.mp4","duration":1681,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Swift concurrency enables apps to perform multiple tasks simultaneously, improving responsiveness and offloading computation to the background. Swift's concurrency model makes concurrent code easier to write correctly by making the introduction of concurrency explicit, identifying data that is shared across concurrent tasks, and identifying potential data races at compile-time. \n\nApps start by running all code on the main thread. As complexity increases, asynchronous tasks can be introduced for high-latency operations like network access. Background threads can be used for more computationally intensive tasks. Swift provides tools like actors and tasks to express these concurrent operations.","end":197},{"start":197,"title":"Single-threaded code","summary":"In Swift, single-threaded code runs on the main thread, which is isolated to the main actor.  There is no concurrency on the main actor because there is only one main thread that can run it.  Data or code can be specified on the main actor using the @MainActor notation.\n\nSwift will ensure that main-actor code only ever runs on the main thread, and main-actor data is only ever accessed from there. We say that such code is isolated to the main actor.  By default, Swift protects main thread code using the main actor, ensuring shared state can be accessed freely. \n\nProtecting code with the main actor by default is driven by a build setting. Use this primarily for your main app module and any modules that are focused on UI interactions.","end":360},{"start":360,"title":"Asynchronous tasks","summary":"Swift concurrency uses async and await to make functions non-blocking, allowing other work to run while waiting for data like network requests. This prevents hangs and improves UI responsiveness by breaking functions into parts that run before and after the awaited event.  ","end":444},{"start":444,"title":"Interleaving","summary":"Asynchronous functions run in a task, executing independently of other tasks.  A single thread can alternate between running independent tasks as they become ready, using 'interleaving'.  This improves performance by avoiding idle time and makes efficient use of system resources. \n\nMultiple asynchronous tasks are effective when performing many independent operations at the same time.  When performing work in a specific order, use a single task.\n\nUsing asynchronous tasks in a single thread is often sufficient.  If the main thread becomes too burdened, profiling tools such as Instruments can help identify bottlenecks for optimization before introducing concurrency.","end":622},{"start":622,"title":"Introducing concurrency","summary":"Concurrency allows parts of code to run on a background thread in parallel with the main thread, getting work done faster by using more of the CPU cores in your system.  To improve performance, the example introduces concurrency to run code on background threads, freeing up the main thread. ","end":667},{"start":667,"title":"Concurrent functions","summary":"By applying the @concurrent attribute, Swift is instructed to run a function in the background. The Swift compiler highlights data access on the main actor to safely introduce concurrency.  \n\nOne best practice, to ensure work happens synchronously, is to move the main actor code into a caller that always runs on the main thread.  ","end":790},{"start":790,"title":"Nonisolated code","summary":"An @concurrent function will always switch off of an actor to execute.  The 'nonisolated' keyword allows clients to choose where to run code \u2014 main or background. For general-purpose libraries, it is recommended to provide a nonisolated API and let clients decide whether they want to offload work. \n\nFor more concurrency options, see \"Beyond the basics of structured concurrency\" from WWDC23.","end":853},{"start":853,"title":"Concurrent thread pool","summary":"When offloading work to the background, the system manages scheduling the work on threads in a concurrent thread pool.  Smaller devices may have fewer threads in the pool, while larger systems with more cores will have more. Tasks are assigned to available threads in the pool, which may change as tasks suspend and resume, optimizing resource usage. ","end":898},{"start":898,"title":"Sharing data","summary":"When working with concurrency and sharing data between different threads, there is a risk of introducing runtime bugs due to accessing shared mutable state. Swift's design helps mitigate this issue by providing compile-time checks, enabling developers to write concurrent code more confidently. ","end":949},{"start":949,"title":"Value types","summary":"The use of value types provides a significant advantage when dealing with concurrent tasks. When a value type is copied into a background thread, it creates an independent copy, ensuring that any changes made on the main thread do not impact the background thread's value. This independence makes value types safe to share between threads.\n\nValue types that conform to the 'Sendable' protocol are always safe to share concurrently.  Main actor types are implicitly Sendable.","end":1036},{"start":1036,"title":"Actor-isolated types","summary":"Swift actors safeguard non-Sendable state by ensuring single-task access. When values are sent to and from actors, the Swift compiler verifies safety. ","end":1110},{"start":1110,"title":"Classes","summary":"In Swift, classes are reference types, meaning changes to an object through one variable are visible through all variables pointing to that object. \n\nWhen multiple threads access and modify the same non-Sendable object concurrently, it can result in data races, crashes, or glitches. Swift's concurrency system prevents this at compile-time by enforcing that only Sendable types are shared between actors and tasks.\n\nTo avoid data races, it is crucial to ensure that mutable objects are not shared concurrently. Complete modifications to objects before sending them to another task or actor for display or processing. If an object needs to be modified on a background thread, make it 'nonisolated' but not Sendable. \n\nClosures with shared state can also be safe as long as they are not called concurrently.","end":1398},{"start":1398,"title":"Actors","summary":"As an app grows, the main actor can manage a lot of state, leading to frequent context switching. Introducing actors can mitigate this. Actors isolate their data, allowing only one thread to access it at a time, preventing contention. \n\nBy moving state from the main actor to dedicated actors, more code can execute concurrently on background threads. This frees up the main thread to maintain responsiveness. UI-facing classes and model classes generally need to remain on the main actor or be kept as non-Sendable.","end":1572},{"start":1572,"title":"Wrap-up","summary":"Apps often start single-threaded and evolve to use asynchronous tasks, concurrent code, and actors for better performance. Swift concurrency aids in this transition, making it easier to move code off the main thread and improve responsiveness. Profiling tools like Instruments help identify when and what code needs to be moved off the main thread. Use the recommended build settings to help simplify introducing concurrency, and the Approachable Concurrency setting to enable a suite of upcoming features to make working with concurrency easier.","end":1681}]},"related":{"activities":["wwdc2025-270","wwdc2023-10170"],"resources":[3855,1712]}},"wwdc2025-231":{"id":"wwdc2025-231","staticContentId":9929,"eventContentId":231,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/231","languageCode":"eng","description":"Discover how you can use WebKit to effortlessly integrate web content into your SwiftUI apps. Learn how to load and display web content, communicate with webpages, and more.","title":"Meet WebKit for SwiftUI","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["browser","css","javascript","webkit"],"primaryTopicID":83,"topicIds":[98,100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"05297ADF-B9B3-4463-ACE1-1B52CA119A28","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/231\/5\/b6c4d9dc-8351-437b-bc3b-95372381cf23\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/231\/5\/b6c4d9dc-8351-437b-bc3b-95372381cf23\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/231\/5\/b6c4d9dc-8351-437b-bc3b-95372381cf23\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/231\/5\/b6c4d9dc-8351-437b-bc3b-95372381cf23\/downloads\/wwdc2025-231_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/231\/5\/b6c4d9dc-8351-437b-bc3b-95372381cf23\/downloads\/wwdc2025-231_sd.mp4","duration":1319,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"WebKit, the browser engine powering Safari and many Apple apps, now has a SwiftUI API. This new API simplifies integrating web content into SwiftUI apps across iOS, iPadOS, visionOS, and macOS, enabling you to combine web experiences with SwiftUI's ease of use, and customize web content interactions.","end":114},{"start":114,"title":"Load and display web content","summary":"A SwiftUI app that allows people to browse information about lakes worldwide demonstrates this new API. The app utilizes the new WebView API, a SwiftUI view designed to effortlessly display web content. With just a URL, the WebView can automatically load and show web pages, and you can easily update it to display different content based on someone's interactions, such as toggling between URLs.\n\nWebPage is an Observable class that represents web content and enables you to load, control, and communicate. It allows for the loading of remote URLs, HTML content directly, and various types of data, providing flexibility in how web content is presented within the app.\n\nIn the example app, an 'ArticleViewModel' class manages the data for each article, including the associated WebPage. This allows SwiftUI to react easily to changes in the page and article content. The app's interface is then set up, with a WebView displaying the content loaded from the 'ArticleViewModel'.\n\nTo provide a seamless user experience, the app includes pre-loaded articles. The new 'URLSchemeHandler' protocol handles custom URLs within the app. This allows the app to load content bundled directly within the application, such as HTML and CSS assets, rather than fetching everything from the web. By implementing a custom scheme handler, the example app can efficiently manage and display pre-populated lake information, giving people an immediate starting point.","end":577},{"start":577,"title":"Communicate with the page","summary":"The new Observable 'currentNavigationEvent' property on WebPage simplifies monitoring web content navigation. You can now easily observe navigation events, such as page starts, redirects, content commits, finishes, and failures, using the Observations API. \n\nThis allows for real-time updates, like populating a sidebar with the table of contents once the page loads. Beyond navigation events, WebPage offers various observable properties like title, URL, and loading progress, which seamlessly integrate with SwiftUI.\n\nFor more complex tasks, the 'callJavaScript' API enables direct communication with the page's HTML. You can also customize navigation policies using the 'WebPage.NavigationDeciding' protocol, determining how navigation is handled, such as opening external links in the default browser.","end":944},{"start":944,"title":"Customize content interaction","summary":"WebKit for SwiftUI enables you to seamlessly integrate web content into apps and customize appearance. \n\nUse various view modifiers to tailor user experience. For example, you can configure the 'scrollBounceBehavior' modifier to disable horizontal bouncing unless the content exceeds the view size. 'look to scroll' is new in visionOS. You can enable it using the 'webViewScrollInputBehavior' modifier, allowing someone to scroll by looking at the content.\n\nYou can easily add Find-In-Page support by using the 'findNavigator' modifier, and place a button in the toolbar to display the find navigator. To enhance accessibility and navigation, sync the scroll position of the WebView with a selected section in a sidebar. Do this by using JavaScript functions to determine the section's position and then associating the position with the WebView using the 'webViewScrollPosition' modifier.\nThe 'onScrollGeometryChange' modifier keeps the sidebar updated as someone scrolls. \n\nWebKit for SwiftUI provides a simple yet powerful API to create a great user experience across all platforms. Migrate to this new API and share your feedback.","end":1319}]},"related":{"activities":["wwdc2025-256","wwdc2025-245","wwdc2025-233","wwdc2025-237","wwdc2025-236"],"resources":[571]}},"wwdc2025-226":{"id":"wwdc2025-226","staticContentId":9920,"eventContentId":226,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/226","languageCode":"eng","description":"Learn how to optimize your app for maximum battery life. Discover how to identify the root cause of power issues in your app \u2014 whether you can reproduce the issue while connected to Xcode or on the go. Find out how to measure power use so you can make better decisions about new features and proactively build more efficient apps.","title":"Profile and optimize power usage in your app","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":88,"topicIds":[101,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"571FB71F-732F-4959-9B4B-989924EEE722","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/226\/4\/b8318d6d-95e6-42c6-b883-c4164edfa29e\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/226\/4\/b8318d6d-95e6-42c6-b883-c4164edfa29e\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/226\/4\/b8318d6d-95e6-42c6-b883-c4164edfa29e\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/226\/4\/b8318d6d-95e6-42c6-b883-c4164edfa29e\/downloads\/wwdc2025-226_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/226\/4\/b8318d6d-95e6-42c6-b883-c4164edfa29e\/downloads\/wwdc2025-226_sd.mp4","duration":1183,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Welcome","summary":"Learn about power optimization for apps.","end":112},{"start":112,"title":"Debug reproducible issues","summary":"The Power Profiler in Instruments is a valuable tool for identifying power consumption issues in apps. Wiam works through an example of how to use this tool to investigate a performance regression in a video streaming app after adding a new library pane. \n\nIn the example, the Power Profiler reveals a significant spike in CPU usage and power consumption when opening the library pane. By analyzing the trace in Instruments, Wiam pinpointed the issue to inefficient code that loaded all video thumbnails upfront.\n\nTo optimize performance, she replaced the 'VStack' with 'LazyVStack', which only loads views as needed. After implementing this change, the app becomes more responsive, and CPU power impact decreases significantly, demonstrating the effectiveness of the Power Profiler instrument in identifying and resolving performance bottlenecks.","end":577},{"start":577,"title":"Uncover hidden issues","summary":"With the Power Profiler tool, you can gather data from real-world app usage, which is crucial for identifying issues that can't be reproduced during development. For instance, an app's battery life problems may only manifest when used outdoors or during specific navigation scenarios.\n\nThe tool allows you to remotely collect power metrics from test devices. When you enable Developer Mode and Performance Trace, testers can record data while using the app, which can then be shared with you for analysis.\n\nThrough this process, Wiam diagnoses a battery life issue in the app caused by a location-based recommendation feature that was repeatedly performing resource-intensive file I\/O and JSON parsing operations. By optimizing this function to load and parse data lazily, the app's power efficiency is improved, and the issue is successfully resolved.","end":979},{"start":979,"title":"Compare power usage","summary":"When developing a new feature and faced with two implementation approaches, use Power Profiler to compare their battery-life impact. Run multiple tests under various conditions to account for variables like data size, network, and device state, then average the results to make an informed decision.","end":1105},{"start":1105,"title":"Optimize proactively","summary":"Xcode, Instruments, and the platform SDKs offer a suite of tools \u2014 Energy Gauges, Instruments, XCTest, Organizer, MetricKit, and the App Store Connect API \u2014 for you to monitor and optimize app energy efficiency throughout development and after shipping an app.","end":1183}]},"related":{"activities":["wwdc2025-308"],"resources":[3989,3977]}},"wwdc2025-304":{"id":"wwdc2025-304","staticContentId":10042,"eventContentId":304,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/304","languageCode":"eng","description":"Learn about the different ways you can create and present immersive video experiences within your app. We\u2019ll explore the diverse media types available in visionOS 26, including profiles for 180\u00b0, 360\u00b0, and wide FOV video; options for creating and playing Apple Immersive Video; and expanded capabilities for 2D, 3D, and spatial video. Discover which profiles are best for your app and its content.","title":"Explore video experiences for visionOS","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[84,87,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3F1BA6AB-BC74-4A1A-A440-90BA4AE5A23D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/304\/4\/4051f77f-237f-4404-bdec-006dced0b2a2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/304\/4\/4051f77f-237f-4404-bdec-006dced0b2a2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/304\/4\/4051f77f-237f-4404-bdec-006dced0b2a2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/304\/4\/4051f77f-237f-4404-bdec-006dced0b2a2\/downloads\/wwdc2025-304_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/304\/4\/4051f77f-237f-4404-bdec-006dced0b2a2\/downloads\/wwdc2025-304_sd.mp4","duration":1552,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about the different ways you can create and present immersive video experiences within your app. We\u2019ll explore the diverse media types available in visionOS 26, including profiles for 180\u00b0, 360\u00b0, and wide FOV video; options for creating and playing Apple Immersive Video; and expanded capabilities for 2D, 3D, and spatial video. ","end":96},{"start":96,"title":"2D and 3D video","summary":"visionOS offers versatile video playback capabilities for both 2D and 3D content. You can display videos inline within your app's interface, expanded in its own window, or docked within a custom environment. \n\nNew in visionOS 26, per-frame dynamic masks enable videos to change size and aspect ratio seamlessly, enhancing storytelling and eliminating the need for letterboxing or pillarboxing.","end":256},{"start":256,"title":"Spatial video","summary":"Spatial Video is a stereo media format that you can capture using devices like iPhone 15 Pro, iPhone 16, iPhone 16 Pro, Apple Vision Pro, and specific third-party cameras. It's a great point-and-shoot format, and includes specific metadata to support more immersive presentations. In visionOS 26, you can integrate Spatial Video directly into your apps using new frameworks. ","end":490},{"start":490,"title":"180\u00b0, 360\u00b0, and Wide FOV video","summary":"visionOS 26 introduces the new Apple Projected Media Profile (APMP) to support formats like 180\u00b0, 360\u00b0, and wide-field-of-view video. \n\nTo enhance comfort during high-motion scenes, automatic high-motion detection is added, reducing immersion when necessary. Developers can find detailed information on how to work with APMP for their own content on Apple's developer website.","end":1165},{"start":1165,"title":"Apple Immersive Video","summary":"Apple Immersive Video is a new format, available to developers and creators, that you can play back in your own apps and experiences. \n\nThe content-creation pipeline involves capturing video on the URSA Cine camera, editing it in DaVinci Resolve Studio, previewing and validating it using new Apple Immersive Video Utility apps, and then segmenting it for distribution. You can also create custom tools to work with Apple Immersive Video using the ImmersiveMediaSupport framework.","end":1385},{"start":1385,"title":"Choosing a profile","summary":"Learn the differences between the media profiles available on visionOS 26, including traditional 2D and 3D video, spatial video, APMP, and Apple Immersive Video. Each profile is detailed in terms of capture, visual characteristics, field of view, and projection type. ","end":1552}]},"related":{"activities":["wwdc2025-237","wwdc2025-287","wwdc2025-403","wwdc2025-296","wwdc2025-297","wwdc2025-8268","wwdc2024-10166","wwdc2023-10071"],"resources":[3984,3983,3982,3981,3980,3934,3930,3929,3928,3926,3820,3819,3818]}},"wwdc2025-318":{"id":"wwdc2025-318","staticContentId":10055,"eventContentId":318,"eventId":"wwdc2025","contentUpdatedAt":"2025-08-19T15:32:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/318","languageCode":"eng","description":"Learn how to create shared experiences for people wearing Vision Pro in the same room. We\u2019ll show you how to integrate SharePlay and leverage ARKit in your app, introduce the updated window sharing flows for nearby and FaceTime participants, and cover new API designed for seamless collaboration. Discover best practices to make your collaborative features stand out, easily discoverable, and engaging for people together in the same space.","title":"Share visionOS experiences with nearby people","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[84,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"27EAC954-289C-4966-9422-B86B964D4BED","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/318\/5\/b5e843e6-41fc-4ddd-8aa6-91e3ede41898\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/318\/5\/b5e843e6-41fc-4ddd-8aa6-91e3ede41898\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/318\/5\/b5e843e6-41fc-4ddd-8aa6-91e3ede41898\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/318\/5\/b5e843e6-41fc-4ddd-8aa6-91e3ede41898\/downloads\/wwdc2025-318_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/318\/5\/b5e843e6-41fc-4ddd-8aa6-91e3ede41898\/downloads\/wwdc2025-318_sd.mp4","duration":1385,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"In visionOS 26, people using FaceTime can share apps and experiences with nearby people wearing Apple Vision Pro. This means you can collaboratively view, listen, and interact in the same physical space using SharePlay and ARKit.","end":56},{"start":56,"title":"Learn about nearby sharing","summary":"A new sharing feature in visionOS 26 enables people to easily share apps with nearby individuals by tapping the button to the right of the window bar. The shared window appears in the same physical location for everyone in the room, creating a shared context where people can discuss, point to, and interact with the app as if it were tangible. \n\nThe system ensures consistent appearance and size for everyone. Anyone can move or resize the window, and these changes are reflected for everyone. Remote users can join the sharing session via FaceTime on visionOS, appearing as spatial Personas within the shared space, or as video feeds next to the shared window if they join from iOS or macOS, enabling seamless collaboration regardless of location.","end":261},{"start":261,"title":"Build nearby activities","summary":"Any existing SharePlay app on visionOS can be shared with nearby people, no changes required. However, there are new features you can use to enhance SharePlay experiences specifically for people in the same space. These include: making SharePlay activities discoverable in the new Share menu, detecting nearby participants, positioning content based on their poses, and synchronizing media playback. ","end":335},{"start":335,"title":"Allow sharing from the share menu","summary":"In visionOS 26, you can enable SharePlay in your apps by exposing a GroupActivity using SwiftUI or UIKit API. When enabled, people can initiate SharePlay directly from the new Share menu. For volumetric windows, an activity must be exposed for the Share menu to be usable. \n\nFor immersive spaces, where the traditional Share menu is inaccessible, you can provide an in-app button to activate the Share menu. Alternatively, offering a non-immersive mode allows people to share from the Share menu and then transition into immersive mode once everyone has joined the session.","end":555},{"start":555,"title":"Enhance for nearby participants","summary":"Use the SharePlay API to identify nearby participants in a GroupSession. By observing the active participants publisher and checking the 'isNearbyWithLocalParticipant' property, you can differentiate between local and remote users. This approach enables features like automatically teaming up nearby players in games for in-person gameplay against remote participants joining via FaceTime.","end":637},{"start":637,"title":"Place content relative to people","summary":"The new 'pose' property on 'ParticipantState' provides you with the spatial location of participants in an app session, enabling you to dynamically place content, next to each person. This enhances the immersive experience,  and allows for more advanced features like guiding people to their optimal seating positions.","end":800},{"start":800,"title":"Coordinate shared media playback","summary":"In visionOS 26, AVPlayer is enhanced to synchronize audio and video playback for people in the same physical space, addressing issues caused by audio delays and echo. This new feature enables seamless shared media experiences, where everyone sees and hears the content simultaneously. You can utilize 'AVPlaybackCoordinator' to achieve this precise synchronization. ","end":938},{"start":938,"title":"Support multiple windows","summary":"Using the new SharePlay API in visionOS 26, you can specify which 'WindowGroup' within an app is associated with SharePlay using the 'groupActivityAssociation' view modifier. This view modifier enables seamless switching between shared content, enhancing experiences within multi-window apps.","end":1010},{"start":1010,"title":"Share anchored content","summary":"ARKit introduces shared world anchors in visionOS 26, enabling apps to place virtual content in fixed physical locations that remain persistent across sessions and for multiple users. This persistence is particularly useful for collaborative apps, where virtual objects need to stay anchored in the real world.\n\nYou can mark world anchors as shared during SharePlay sessions with the new 'sharedWithNearbyParticipants' parameter, allowing nearby participants to see and interact with the same virtual content. Use the 'worldAnchorSharingAvailability' API to ensure that sharing is available.\n\nThis feature extends beyond SharePlay, enabling business apps to utilize shared anchors with custom networking layers.\n\nShared world anchors open up new possibilities for collaborative experiences, such as virtual whiteboarding, immersive games, and shared movie nights, making virtual content feel more present and interactive in the physical world.","end":1385}]},"related":{"activities":["wwdc2021-10187","wwdc2023-10087","wwdc2024-10201","wwdc2021-10225","wwdc2023-10070","wwdc2025-223"],"resources":[4017,4016,4014,4012,4009,3814]}},"wwdc2025-305":{"id":"wwdc2025-305","staticContentId":9960,"eventContentId":305,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/305","languageCode":"eng","description":"Discover how you can use procedural tools to create beautiful immersive environments for your visionOS app or game. We\u2019ll share the building blocks for creating a high-quality environment, then dive deep into the optimization process. Learn how to use a series of Apple-provided workflows for Houdini to reduce your scene\u2019s polygon count, clean up geometry, package UV maps, and create USD assets to import into Reality Composer Pro or your game engine of choice.","title":"Optimize your custom environments for visionOS","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["macOS","visionOS"],"keywords":["3d","3d content","dcc","digital content creation","environment","environments","geometry","houdini","immersive","immersive boundary","immersive experiences","optimization","rendering","rendering techniques","uv","visionos"],"primaryTopicID":85,"topicIds":[87,91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"14305C5E-EFDC-468C-BC70-169AE4AD285F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/305\/4\/abf788b6-8972-46f4-980f-6ddb018734f3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/305\/4\/abf788b6-8972-46f4-980f-6ddb018734f3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/305\/4\/abf788b6-8972-46f4-980f-6ddb018734f3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/305\/4\/abf788b6-8972-46f4-980f-6ddb018734f3\/downloads\/wwdc2025-305_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/305\/4\/abf788b6-8972-46f4-980f-6ddb018734f3\/downloads\/wwdc2025-305_sd.mp4","duration":1966,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Discover how you can use procedural tools to create beautiful immersive environments for your visionOS app or game. We\u2019ll share the building blocks for creating a high-quality environment, then dive deep into the optimization process. Learn how to use a series of Apple-provided workflows for Houdini to reduce your scene\u2019s polygon count, clean up geometry, package UV maps, and create USD assets to import into Reality Composer Pro or your game engine of choice.","end":231},{"start":231,"title":"Prepare for Vision Pro","summary":"Creating content for Apple Vision Pro requires a unique approach because of its spatial computing capabilities. You need to consider the device's rendering demands \u2014 especially in full immersion, where every pixel is rendered. \n\nWhen someone is in a fully immersive environment, they appear within an immersive boundary \u2014\u00a0a 3m traversable space. This boundary allows you to optimize your graphics budget by only rendering the parts of the environment that people can see and move to within this area. ","end":455},{"start":455,"title":"Optimize geometry","summary":"Learn how you can utilize the immersive boundary and apply techniques in Houdini to decrease the number of polygons in your scene without decreasing the quality of your environment's appearance.","end":1042},{"start":1042,"title":"UV projection","summary":"Find out how you can optimize your texture mapping and data organization to efficiently pack the textures of your environment and further reduce your rendering costs.","end":1460},{"start":1460,"title":"Baking textures","summary":"Learn how to use spherical renders and a projection method directly from the source geometry onto the optimized UV atlas to capture full-surface coverage. ","end":1538},{"start":1538,"title":"USD setup","summary":"Find out how to export your optimized environment into USD for import into Reality Composer Pro or your engine of choice. ","end":1715},{"start":1715,"title":"Wrap-up","summary":"Learn how you can use these same techniques to create a diverse array of different environments, including portal experiences or environments with multiple immersive boundaries. ","end":1966}]},"related":{"activities":["wwdc2024-10186","wwdc2024-10087","wwdc2024-10115","wwdc2023-10086"],"resources":[4074,3955,3828]}},"wwdc2025-252":{"id":"wwdc2025-252","staticContentId":9951,"eventContentId":252,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/252","languageCode":"eng","description":"Explore the new monetization, subscription, and offer analytics coming to App Analytics. We\u2019ll cover how powerful, new data visualizations and automated reports can help you make data-driven decisions that drive revenue growth, and discuss how to pair these metrics with acquisition features such as custom product pages to optimize and improve your monetization strategy. ","title":"Optimize your monetization with App Analytics","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["cohort","consumable","engagement","subscription"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1D8783F5-89A8-4E71-B49B-4C5EAC3D759D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/252\/5\/adef7487-7011-47b3-8efb-93421930f6d2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/252\/5\/adef7487-7011-47b3-8efb-93421930f6d2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/252\/5\/adef7487-7011-47b3-8efb-93421930f6d2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/252\/5\/adef7487-7011-47b3-8efb-93421930f6d2\/downloads\/wwdc2025-252_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/252\/5\/adef7487-7011-47b3-8efb-93421930f6d2\/downloads\/wwdc2025-252_sd.mp4","duration":949,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"There are several new features available for App Analytics designed to help developers measure and optimize their apps' performance. Updates include:\n\nA revamped home page with expanded filtering capabilities\nNew payer metrics and benchmarks to assess monetization\nEnhanced subscriptions analytics\nNew offer metrics to see how well apps convert, retain, and win back paying users\nUpdated Analytics Reports for offline analysis","end":72},{"start":72,"title":"New home and capabilities","summary":"App Analytics has moved to the Apps tab in App Store Connect for streamlined access. The new homepage features a sidebar with key sections, an overview page organized by the customer journey, and App Store feature analytics in the middle. The Metrics section now allows up to seven filters, enabling more detailed analysis of various metrics.","end":180},{"start":180,"title":"Payer metrics and benchmarks","summary":"The App Store is introducing new payer metrics and benchmarks to assist you in optimizing your monetization strategies. These tools are demonstrated using the 'Exercise' app, which offers personalized training sessions for runners and bikers through In-App Purchases.\n\nThe new Monetization section in App Store Connect provides detailed revenue metrics, including two new cohort metrics: Download to Paid Conversion and Proceeds per Download. These metrics, along with benchmarks, allow you to compare your performance to your peer group.","end":499},{"start":499,"title":"Subscription analytics","summary":"Following the introduction of auto-renewable group running and biking class subscriptions within the Fitness app, a new \"Subscriptions\" section in App Analytics provides detailed performance insights. \n\nKey metrics include active and paid plans, monthly recurring revenue, and a Net Paid Plans graph that tracks plan starts, churn, and retention. The data shows that biking subscriptions are more popular than running ones.","end":702},{"start":702,"title":"Offer metrics","summary":"The new App Store Offers section provides metrics on active offers, new offers, and conversion rates. ","end":811},{"start":811,"title":"Analytics reports","summary":"The Reports API enables users to export App Analytics data at scale, including eight categories and two new subscription reports. These new reports, which replace the older Sales and Trends subscription reports, provide comprehensive subscription performance data and tie download information to subscriptions in a privacy-friendly manner. \n\nApp Analytics has been enhanced with a new home, expanded filtering, and over 100 new metrics to measure In-App Purchases, subscriptions, and offers. App Analytics helps you analyze app performance, understand the unique needs of users, and optimize your monetization strategies.","end":949}]},"related":{"activities":["wwdc2021-10115","wwdc2022-10044","wwdc2025-241","wwdc2025-328"],"resources":[3936,3029,3008,3005,1629,1628,804,53]}},"wwdc2025-280":{"id":"wwdc2025-280","staticContentId":9982,"eventContentId":280,"eventId":"wwdc2025","contentUpdatedAt":"2026-05-05T14:32:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/280","languageCode":"eng","description":"Learn how to build a rich text experience with SwiftUI\u2019s TextEditor API and AttributedString. Discover how you can enable rich text editing, build custom controls that manipulate the contents of your editor, and customize the formatting options available. Explore advanced capabilities of AttributedString that help you craft the best text editing experiences.","title":"Code-along: Cook up a rich text experience in SwiftUI with AttributedString","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"primaryTopicID":100,"topicIds":[99,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E0CFC096-1BF0-4EB2-9EA9-98F359110337","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/280\/5\/3596f3d4-e661-4414-a6ba-79128adcc8e6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/280\/5\/3596f3d4-e661-4414-a6ba-79128adcc8e6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/280\/5\/3596f3d4-e661-4414-a6ba-79128adcc8e6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/280\/5\/3596f3d4-e661-4414-a6ba-79128adcc8e6\/downloads\/wwdc2025-280_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/280\/5\/3596f3d4-e661-4414-a6ba-79128adcc8e6\/downloads\/wwdc2025-280_sd.mp4","duration":2110,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"This section introduces the session's goal: to demonstrate how to build rich text editing experiences in SwiftUI using AttributedString. The presenter, Max, will cover three main areas: upgrading `TextEditor` to support rich text, building custom controls to enhance the editor, and creating a custom text formatting definition to ensure consistent styling.\n","end":75},{"start":75,"title":"TextEditor and AttributedString","summary":"This section focuses on upgrading a SwiftUI `TextEditor` to support rich text by changing the underlying data type from `String` to `AttributedString`. This immediately unlocks support for system UI controls for formatting options like bold, italics, font size, colors, and Genmoji. `TextEditor` supports a wide range of attributes, including paragraph styling. The section also provides a quick refresher on `AttributedString` basics, including its structure (characters and attribute runs), its value type nature, its UTF-8 encoding, and its conformance to common Swift protocols. It highlights the use of predefined attributes and the ability to define custom attributes.\n","end":336},{"start":336,"title":"Build custom controls","summary":"This section explains how to build custom controls for a `TextEditor` that interact with the rest of the application. It demonstrates how to add a button that allows the user to mark selected text as an ingredient. It covers the use of preference keys to communicate between the editor and other parts of the UI. The section also dives into the complexities of text selections in `AttributedString`, explaining why the `AttributedTextSelection` type uses a `RangeSet` instead of a single `Range` to handle bidirectional text and discontiguous selections. It also highlights the use of a subscript API that slices an AttributedString with a selection directly. Finally, the section demonstrates how to use a closure to mutate the editor text, marking up occurrences of the selected text with a custom `Ingredient` attribute. It also discusses the problem of the selection getting reset after mutating the attributed string and introduces the concept of AttributedString indices and the importance of updating them after mutations using the transform function.\n","end":1322},{"start":1322,"title":"Define your text format","summary":"This section focuses on using the attributed text formatting definition protocol to control the formatting options available in the `TextEditor`. It explains how to create a custom formatting definition that specifies which `AttributedStringKeys` the editor should respond to, limiting the available formatting options. It also introduces `AttributedTextValueConstraint` to enforce specific formatting rules, such as ensuring that ingredients are always highlighted green. The section further explains how to constrain attribute values using the `AttributedStringKey` protocol. It covers properties like `inheritedByAddedText` and `invalidationConditions` to control how attributes are inherited and invalidated during text mutations. Finally, the section discusses the `runBoundaries` property to enforce consistent values across sections of text, such as paragraphs.\n","end":2048},{"start":2048,"title":"Next steps","summary":"This section provides final tips and resources. It mentions a sample project that demonstrates lossless drag and drop, RTFD export, and persisting `AttributedString` with Swift Data. It highlights that `AttributedString` is part of Swift's open-source Foundation project and encourages contributions. The section also encourages developers to add Genmoji support to their apps using the new `TextEditor`.\n","end":2110}]},"related":{"activities":["wwdc2025-222","wwdc2021-10109","wwdc2022-10107"],"resources":[4072,4063,4062,4046]}},"wwdc2025-403":{"id":"wwdc2025-403","staticContentId":10238,"eventContentId":403,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/403","languageCode":"eng","description":"Explore the capabilities of Apple Immersive Video and Apple Spatial Audio Format technologies to create truly immersive experiences. Meet the new ImmersiveMediaSupport framework, which offers functionality to read and write the necessary metadata for enabling Apple Immersive Video. Learn guidelines for encoding and publishing Apple Immersive Video content in standalone files for playback or streaming via HLS.\n\nTo get the most out of this session, we recommend first watching \u201cExplore video experiences for visionOS.\u201d","title":"Learn about Apple Immersive Video technologies","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[84,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2291324F-48DC-45F5-8C83-56E6BB7062D1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/403\/4\/ef519281-1213-4ddf-892a-ca33ae288ef1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/403\/4\/ef519281-1213-4ddf-892a-ca33ae288ef1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/403\/4\/ef519281-1213-4ddf-892a-ca33ae288ef1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/403\/4\/ef519281-1213-4ddf-892a-ca33ae288ef1\/downloads\/wwdc2025-403_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/403\/4\/ef519281-1213-4ddf-892a-ca33ae288ef1\/downloads\/wwdc2025-403_sd.mp4","duration":890,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"visionOS 26 offers new capabilities allowing to create Apple Immersive Video experiences with Spatial Audio.","end":48},{"start":48,"title":"Apple Immersive Video overview","summary":"Apple Immersive Video provides high-fidelity, stereoscopic video playback with fully immersive audio on Apple Vision Pro. Specialized cameras, like the Blackmagic URSA Cine Immersive, are calibrated to capture the exact curvature of each stereoscopic lens, and this calibration info is carried with the video files for correct projection. macOS and visionOS 26 support this format through the Immersive Media Support framework, enabling custom workflows for content creation, previewing, and publishing.","end":156},{"start":156,"title":"Apple Immersive Video metadata ","summary":"Apple Immersive Video can be produced using multiple cameras, each with unique calibrations. The combination of these cameras describes the venues captured. The VenueDescriptors include camera information, edge-blending masks, custom backdrops, and dynamic calibration data for each video frame and stored as Apple Immersive Media Embedded, or AIMEData.\n\nThe Immersive Media Support framework enables the integration of presentation commands such as shot flops, fades, and dynamic rendering, which are automatically handled by visionOS during playback, simplifying the editorial process for stereoscopic immersive videos. Refer to the PresentationDescriptor and PresentationCommand types for more details.","end":313},{"start":313,"title":"Read AIVU files","summary":"Apple Immersive Video Universal (AIVU) file is a container of output video with metadata muxed. You can play AIVU files on visionOS via Quick Look in the Files app, and in custom apps using AVKit. The new quickTimeMetadataAIMEData AVAsset metadata identifier provides access to AIMEData as a VenueDescriptor, and the PresentationDescriptor metadata is available through the AVTimedMetadataGroup.","end":436},{"start":436,"title":"Write AIVU files","summary":"To create Apple Immersive Video (AIVU) files, use the AppleImmersiveVideo projection kind and write VenueDescriptor and PresentationCommand values to your asset's metadata using AVAssetWriter. The AIVUValidator's validate function can then verify the files. For more details, see the \"Authoring Apple Immersive Video\" sample project.","end":523},{"start":523,"title":"Publish Apple Immersive Video content","summary":"To publish your Apple immersive content, use HLS segmentation with MV-HEVC video at 4320x4320 per eye, 90 frames per second, and a P3-D65-PQ color space. The recommended tiers for segmenting Apple Immersive Video are ranging between 25-150Mbps for average bandwidth. Include your AIME file (VenueDescriptor) with your HLS multi-variant playlist, as well as the APAC audio track. Your playlist needs to specify version 12 or higher, the fully immersive content type, and the stereo video layout with Apple Immersive Video projection.","end":629},{"start":629,"title":"Preview Apple Immersive Video content","summary":"The new ImmersiveMediaRemotePreviewSender and Receiver APIs in the Immersive Media Support framework support low-bitrate live previewing of Apple Immersive Video from Mac to Apple Vision Pro during editorial workflows, allowing for real-time viewing while editing. Check out the Immersive Media Support documentation for more details.","end":681},{"start":681,"title":"Apple Spatial Audio Format","summary":"Apple Spatial Audio Format (ASAF) is a new production format that uses new metadata, linear PCM, and a spatial renderer to create high-resolution Spatial Audio. ASAF enables externalized audio with adaptive sound from all directions, distances, and positions. ASAF is carried inside of Broadcast Wave Files with linear PCM signals and metadata.","end":759},{"start":759,"title":"Apple Positional Audio Codec","summary":"To stream ASAF audio via HLS, encode it as an MP4 APAC file using Apple Pro Tools plugins or Blackmagic Design's DaVinci Resolve Studio Editor. APAC is required for any Apple Immersive Video experience, and is available on all Apple platforms except watchOS, enabling efficient spatial audio delivery at low bitrates. Include the media tag with channel information, and specify APAC in the stream info tag to deliver spatial audio with HLS.","end":890}]},"related":{"activities":["wwdc2025-304","wwdc2025-297","wwdc2025-296","wwdc2025-237"],"resources":[3927,3926,3899,3898,574,175,52]}},"wwdc2025-323":{"id":"wwdc2025-323","staticContentId":10020,"eventContentId":323,"eventId":"wwdc2025","contentUpdatedAt":"2026-05-05T14:33:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/323","languageCode":"eng","description":"Explore the ways Liquid Glass transforms the look and feel of your app. Discover how this stunning new material enhances toolbars, controls, and app structures across platforms, providing delightful interactions and seamlessly integrating your app with the system. Learn how to adopt new APIs that can help you make the most of Liquid Glass.","title":"Build a SwiftUI app with the new design","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[87,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EE85F0F4-F2D4-4BC9-8872-B1068DB928E1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/323\/4\/0fd37581-632a-4827-b656-d192163cece0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/323\/4\/0fd37581-632a-4827-b656-d192163cece0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/323\/4\/0fd37581-632a-4827-b656-d192163cece0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/323\/4\/0fd37581-632a-4827-b656-d192163cece0\/downloads\/wwdc2025-323_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/323\/4\/0fd37581-632a-4827-b656-d192163cece0\/downloads\/wwdc2025-323_sd.mp4","duration":1337,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"iOS 26 and macOS Tahoe introduce Liquid Glass, a new adaptive material for controls and navigational elements inspired by glass and liquid. This material changes color as someone scrolls and makes controls like toggles and sliders more interactive and visually appealing. \n\nThe updates apply across all Apple platforms and include changes to structural components like TabView and NavigationSplitView, toolbars, search experiences, and the introduction of new APIs for developers to customize their apps' UI. \n\nThe Landmarks app demonstrates these new features.","end":187},{"start":187,"title":"App structure","summary":"App structure is updated with refined APIs, including NavigationSplitView, TabView, and Sheets, all featuring the new Liquid Glass design. \n\nNavigationSplitView now has a floating Liquid Glass sidebar with a 'backgroundExtensionEffect' modifier that allows views to extend outside the safe area without clipping. \n\nTabViews on iPhone have a floating tab bar that can minimize on scroll, enhancing content visibility, and can include a bottom accessory view for additional controls.\n\nSheets now have a Liquid Glass background that transitions smoothly between partial and full heights. They can also morph out of presenting buttons, creating a seamless user experience. \n\nOther presentations like menus, alerts, and popovers also flow smoothly from Liquid Glass controls. Dialogs now automatically morph out of their presenting buttons.","end":469},{"start":469,"title":"Toolbars","summary":"The new app design features floating toolbars on Liquid Glass surfaces with automatic item grouping. You can use the ToolbarSpacer API to create custom grouping and spacing, enhancing visual clarity. Add badges with a single line of code to indicate notifications. \n\nMonochrome icons reduce noise and an automatic scroll edge effect blurs content under toolbars for legibility. \n\nYou can remove extra backgrounds and adjust for denser UIs.","end":670},{"start":670,"title":"Search","summary":"The new design introduces two main search patterns across platforms:\n\nToolbar Search. The search field is at the bottom of the screen on iPhone, top-trailing on iPad\/Mac, or minimized to a button which expands when tapped.\n\nDedicated Search Page. Search is accessed via a tab, replacing the tab bar with a search field and app content. The search field appears centered above suggestions on iPad and Mac.","end":843},{"start":843,"title":"Controls","summary":"The new design introduces a consistent family resemblance across platforms for various controls. \n\nButtons now have a capsule shape by default, with taller heights on macOS for better readability and larger click targets. Extra-large buttons and new glass styles are also available. Sliders now support tick marks, manual tick placement, and starting track fills from specific values. \n\nMenus have a fresh design with consistent icon placement across platforms. The new design also includes corner concentricity, ensuring controls align perfectly within their containers. \n","end":1077},{"start":1077,"title":"Liquid Glass effects","summary":"To customize an app further, you can build custom Liquid Glass elements. For example, the Landmarks app uses badges with the Liquid Glass effect. To achieve this, apply the 'glassEffect' modifier to custom views, which you can shape and tint for emphasis. \n\nThe 'interactive' modifier is now available for iOS controls to enable scaling, bouncing, and shimmering upon interaction. Group multiple glass elements within a 'GlassEffectContainer' to ensure consistent visual results because glass cannot sample other glass.\n\nCreate transitions between glass elements by using the 'glassEffectID' modifier, which allows for fluid morphing effects. This technique enhances an app's visual appeal and uniqueness, making it stand out.","end":1291},{"start":1291,"title":"Next steps","summary":"The new design in Xcode 26 includes standard controls that provide automatic enhancements and Liquid Glass for creating expressive components. \n\nAudit your app flows, remove unnecessary background colors, and leverage Liquid Glass to make your apps stand out.","end":1337}]},"related":{"activities":["wwdc2025-356"],"resources":[3908,3905,3904]}},"wwdc2025-102":{"id":"wwdc2025-102","staticContentId":10371,"eventContentId":102,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-10T12:07:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/102","languageCode":"eng","description":"Discover the newest advancements on Apple platforms.","title":"Platforms State of the Union","startTime":"2025-06-09T13:00:00-07:00","endTime":"2025-06-09T14:00:00-07:00","originalPublishingDate":"2025-06-09T13:00:00-07:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["asl","sotu","sotu 2025"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"4AA6F7F1-B617-439E-B47E-500C445BAEB8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/102\/2\/137f7e3a-caee-4bb1-bdea-adca731aa1ed\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/102\/2\/137f7e3a-caee-4bb1-bdea-adca731aa1ed\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/102\/2\/137f7e3a-caee-4bb1-bdea-adca731aa1ed\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/102\/2\/137f7e3a-caee-4bb1-bdea-adca731aa1ed\/downloads\/wwdc2025-102_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/102\/2\/137f7e3a-caee-4bb1-bdea-adca731aa1ed\/downloads\/wwdc2025-102_sd.mp4","duration":3473,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["de","en","es","fr","ja","ko","zh"]}},"wwdc2025-241":{"id":"wwdc2025-241","staticContentId":9940,"eventContentId":241,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/241","languageCode":"eng","description":"Learn about the latest StoreKit API enhancements to help you deliver great In-App Purchase experiences to your customers. We\u2019ll review new fields added to AppTransaction, Transaction, and RenewalInfo, and updates to In-App Purchase offer codes. We\u2019ll also cover creating signed In-App Purchase requests using the App Store Server Library and updates to merchandising subscriptions using SwiftUI.","title":"What\u2019s new in StoreKit and In-App Purchase","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["merchandising","receipt","signature"],"primaryTopicID":83,"topicIds":[86,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0F1C39F3-6C00-4B4B-B16E-AD77C771664C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/241\/5\/bb873ce3-f42a-498c-9c03-4cd7fadb6075\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/241\/5\/bb873ce3-f42a-498c-9c03-4cd7fadb6075\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/241\/5\/bb873ce3-f42a-498c-9c03-4cd7fadb6075\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/241\/5\/bb873ce3-f42a-498c-9c03-4cd7fadb6075\/downloads\/wwdc2025-241_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/241\/5\/bb873ce3-f42a-498c-9c03-4cd7fadb6075\/downloads\/wwdc2025-241_sd.mp4","duration":1208,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about new StoreKit features including core framework updates, the App Store Server Library for signing In-App Purchase requests, and SwiftUI views for merchandising subscriptions.","end":36},{"start":36,"title":"Explore new features","summary":"There are new updates to three key types in StoreKit: 'AppTransaction', 'Transaction', and 'RenewalInfo'. These types provide you with valuable insights into the purchase of your app,  as well as your customers\u2019 transaction history and subscription status. 'AppTransaction' now includes two new fields as of iOS 18.4. The 'appTransactionID' is a globally unique value for each Apple Account that downloads your app, and is back-deployed to iOS 15. This ID is also unique for each family group member for apps supporting Family Sharing. The 'originalPlatform' field indicates the platform on which the customer originally purchased the app, such as iOS, macOS, tvOS, or visionOS. This information helps you support business model changes and entitle customers appropriately. The 'Transaction' type represents a successful In-App Purchase and includes details like the purchase date, product ID, and expiration date for auto-renewable subscriptions. Starting in iOS 18.4, the Transaction.currentEntitlement(for:)' API has a replacement named 'Transaction.currentEntitlements(for:)\u2019. This new API returns an asynchronous sequence of transactions entitling the customer to a given product, as a customer can have multiple entitlements through different means. The 'Transaction' model has three new fields this year: 'appTransactionID', \u2018offer period', which details the subscription period associated with a redeemed offer, and 'advancedCommerceInfo', which applies only to apps using the Advanced Commerce API. The Advanced Commerce API enables easier support for In-App Purchases for large content catalogs, creator experiences, and subscriptions with optional add-ons. Lastly, the 'RenewalInfo' type, specifically for auto-renewable subscriptions, contains details about the subscription's renewal status, helping you manage and understand subscription-based business effectively.  This includes details like the date of the next subscription renewal., and for subscribers whose subscriptions have expired, the expiration reason. These reasons can be valuable for you to understand customer behavior and tailor your strategies accordingly. For instance, if a subscription expires due to a price increase, you can use this information to offer win-back promotions and encourage customers to resubscribe. Starting in iOS 18.4, the 'SubscriptionStatus' API is enhanced to allow you to query subscription statuses using a Transaction ID, providing more flexibility and data access. Additionally, four new fields are introduced to the 'RenewalInfo' type, offering you more comprehensive insights into subscription details.","end":624},{"start":624,"title":"Sign In-App purchase requests","summary":"This year, there are new Purchase Option and View Modifier APIs that require JSON Web Signatures (JWS). With these APIs, you can set customer eligibility for introductory offers and sign promotional offers using the JWS format. The App Store Server Library simplifies the JWS signing process. You need to retrieve your In-App Purchase signing key from App Store Connect and use it along with the Library to create signed requests.","end":861},{"start":861,"title":"Merchandise Subscriptions","summary":"A new SwiftUI view called 'SubscriptionOfferView' is designed to help you showcase and promote auto-renewable subscriptions in your apps. This view simplifies the process of merchandising subscriptions by automatically loading product metadata from the App Store when declared using an auto-renewable subscription ID. You can customize the appearance of the 'SubscriptionOfferView' by using the subscription image set up in App Store Connect or by providing a custom icon. You can also set a placeholder icon to display while the subscription metadata is downloading. You can also enhance the view with the 'subscriptionOfferViewDetailAction' modifier, which adds a 'detailLink' button. When tapped, this button performs a custom action you define. A common pattern for this action is to directs customers to an in-app subscription store, allowing them to explore and purchase available plans. To determine which subscription plan to display on a SubscriptonOfferView, consider the customer's subscription status by using the 'subscriptionStatusTask' modifier introduced in iOS 17. By translating StoreKit subscription statuses into an app-specific model, you can update the view hierarchy accordingly. You can configure the 'SubscriptionOfferView' to display different plans based on the customer's current status, using the 'visibleRelationship' parameter. Options include 'upgrade', 'downgrade', 'crossgrade', 'current', and 'all'.","end":1208}]},"related":{"activities":["wwdc2021-10114","wwdc2023-10013","wwdc2024-10062","wwdc2025-328"],"resources":[3953,3935,3802,1696,1630,53]}},"wwdc2025-282":{"id":"wwdc2025-282","staticContentId":10000,"eventContentId":282,"eventId":"wwdc2025","contentUpdatedAt":"2026-07-02T10:18:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/282","languageCode":"eng","description":"Find out how your UIKit app can become more flexible on iPhone, iPad, Mac, and Apple Vision Pro by using scenes and container view controllers. Learn to unlock your app\u2019s full potential by transitioning from an app-centric to a scene-based lifecycle, including enhanced window resizing and improved multitasking. Explore enhancements to UISplitViewController, such as interactive column resizing and first-class support for inspector columns. And make your views and controls more adaptive by adopting new layout APIs.","title":"Make your UIKit app more flexible","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"keywords":["\u26a1\ufe0f"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A8CAF870-197F-4982-83D8-56513E5D7D0B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/282\/4\/24e46505-a3b3-4027-ac3f-0bd2b53dcdeb\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/282\/4\/24e46505-a3b3-4027-ac3f-0bd2b53dcdeb\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/282\/4\/24e46505-a3b3-4027-ac3f-0bd2b53dcdeb\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/282\/4\/24e46505-a3b3-4027-ac3f-0bd2b53dcdeb\/downloads\/wwdc2025-282_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/282\/4\/24e46505-a3b3-4027-ac3f-0bd2b53dcdeb\/downloads\/wwdc2025-282_sd.mp4","duration":1003,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Make UIKit apps flexible and adaptable across different screen sizes and platforms using scenes, container view controllers, and other APIs. ","end":58},{"start":58,"title":"Scenes","summary":"Scenes represent distinct instances of an app's UI. Each Scene independently manages its state, and seamlessly restores upon reconnection. Scenes provide context about the app's display, such as screen size and window geometry.\n\nStarting with the next major release following iOS 26, adopting the UIScene life cycle will be mandatory.","end":298},{"start":298,"title":"Container view controllers","summary":"Container view controllers like 'UISplitViewController' and 'UITabBarController' manage the layout of one or more child view controllers. They help make apps flexible, adaptable, and customizable. Use the UISceneSizeRestrictions API to express the minimum size for scenes in the app.","end":645},{"start":645,"title":"Adaptivity","summary":"Layout guides and margins help position an app\u2019s content consistently within the device\u2019s safe area.\n\niPadOS 26 introduces a new window control. Apps can specify 'preferredWindowingControlStyle' and layout guides to accommodate these controls.\n\nAdaptive UIs need to respond quickly to resizing and orientation changes, but certain apps may want to override 'prefersInterfaceOrientationLocked' to temporarily lock the orientation. For computationally expensive operations, check 'isInteractivelyResizing' to perform the operations after an interaction finishes.\n\n'UIRequiresFullscreen' is deprecated. ","end":939},{"start":939,"title":"Future compatibility","summary":"With iOS 26 SDK, apps automatically adapt to new screen sizes without needing manual updates or resubmission.","end":967},{"start":967,"title":"Next steps","summary":"To build a flexible app, adopt scene life cycle, use container view controllers, and leverage APIs like layout guides. ","end":1003}]},"related":{"activities":["wwdc2024-10147","wwdc2025-243"],"resources":[3901,3069]}},"wwdc2025-112":{"id":"wwdc2025-112","staticContentId":10372,"eventContentId":112,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-11T14:53:39-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/112","languageCode":"eng","description":"Discover the newest advancements on Apple platforms.","title":"Platforms State of the Union (ASL)","startTime":"2025-06-09T13:00:00-07:00","endTime":"2025-06-09T14:00:00-07:00","originalPublishingDate":"2025-06-09T13:00:00-07:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["sotu","sotu 2025"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"F12A993A-DBB4-4CE6-9179-77980FE59504","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/112\/2\/185eed6d-badf-45be-ab91-f18c30c4cc71\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/112\/2\/185eed6d-badf-45be-ab91-f18c30c4cc71\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/112\/2\/185eed6d-badf-45be-ab91-f18c30c4cc71\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/112\/2\/185eed6d-badf-45be-ab91-f18c30c4cc71\/downloads\/wwdc2025-112_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/112\/2\/185eed6d-badf-45be-ab91-f18c30c4cc71\/downloads\/wwdc2025-112_sd.mp4","duration":3473,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["de","en","es","fr","ja","ko","zh"]}},"wwdc2025-346":{"id":"wwdc2025-346","staticContentId":10031,"eventContentId":346,"eventId":"wwdc2025","contentUpdatedAt":"2026-06-06T11:08:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/346","languageCode":"eng","description":"Meet Containerization, an open source project written in Swift to create and run Linux containers on your Mac. Learn how Containerization approaches Linux containers securely and privately. Discover how the open-sourced Container CLI tool utilizes the Containerization package to provide simple, yet powerful functionality to build, run, and deploy Linux Containers on Mac.","title":"Meet Containerization","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["macOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8F2F2B8B-9FD0-48D5-AED5-08163E0B7887","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/346\/5\/addb7968-a35a-4c71-967f-a125b913b4c3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/346\/5\/addb7968-a35a-4c71-967f-a125b913b4c3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/346\/5\/addb7968-a35a-4c71-967f-a125b913b4c3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/346\/5\/addb7968-a35a-4c71-967f-a125b913b4c3\/downloads\/wwdc2025-346_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/346\/5\/addb7968-a35a-4c71-967f-a125b913b4c3\/downloads\/wwdc2025-346_sd.mp4","duration":752,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"A new open-source Swift framework called Containerization enables developers to build secure, private, and high-performing containerized Linux applications with a native feel. The framework includes APIs and a command-line tool for container creation, management, and execution.","end":48},{"start":48,"title":"What is a container?","summary":"Linux containers revolutionize server-side application deployment by isolating workloads and dependencies, enabling developers to package applications with their specific requirements. This packaging allows for consistent environments across local and production settings, streamlining development and testing. \n\nContainers provide runtime isolation, and to run Linux containers on macOS, virtualization is necessary. \n\nThe goal of Containerization is to achieve strong security isolation, reduce virtual machine overhead, enhance privacy with per-container directory access control, and deliver a performant experience that respects user resources.","end":230},{"start":230,"title":"Containerization deep dive: Image management","summary":"Containerization provides APIs for image management, container execution, and a powerful initialization system built in Swift.\n\nContainerization works by fetching images from a registry. The image serves as a template, containing the file system contents and default configuration for a new container.\n\nThe image's configuration can specify the default process to execute, the working directory, and the user identity. Containerization exposes the file system of the image as a block device for performant access, formatting the block device using EXT4, a widely used Linux file system.","end":353},{"start":353,"title":"Containerization deep dive: Virtualization","summary":"To directly populate an EXT4 file system from Swift, the system starts a Linux VM to run a container that, via Containerization, provides lightweight VM-level isolation, sub-second start times, dedicated IPs for each container, and secure file and directory sharing.","end":413},{"start":413,"title":"Containerization deep dive: Container environment","summary":"Containerization utilizes a VM where resources like CPU and memory are dynamically allocated only when containers are running. Within this VM, a minimal file system contains the 'vminitd' binary, an initialization system built in Swift. 'vminitd' runs as the first process, managing network interfaces, mounting file systems, and launching and supervising all subsequent processes. \n\nTo enhance security, the file system is stripped of core utilities, dynamic libraries, and 'libc'. To do this, 'vminitd' is compiled as a static executable using Swift\u2019s Static Linux SDK.","end":559},{"start":559,"title":"Command line tooling","summary":"Containerization provides a powerful API to build solutions around Linux containers. A command-line tool, 'container', utilizes these APIs to manage storage, images, networks, and run containers. \n\nUsers can pull images locally with 'container image pull' and then run containers interactively with 'container run -t -i <image> <command>'. This approach creates a lightweight VM, providing isolation, as shown by 'ps aux' only displaying container processes. The tool is available on GitHub.","end":705},{"start":705,"title":"Wrap-up","summary":"macOS now supports Containerization APIs enabling secure, private, and performant Linux containers. Access the Containerization framework on GitHub, explore the source code, and check out example projects. The container tool is available for immediate use, and community feedback is encouraged through GitHub.","end":752}]},"related":{"resources":[4076,4075]}},"wwdc2025-272":{"id":"wwdc2025-272","staticContentId":9973,"eventContentId":272,"eventId":"wwdc2025","contentUpdatedAt":"2026-02-16T10:56:02-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/272","languageCode":"eng","description":"Learn about the latest advancements in the Vision framework. We\u2019ll introduce RecognizeDocumentsRequest, and how you can use it to read lines of text and group them into paragraphs, read tables, etc. And we\u2019ll also dive into camera lens smudge detection, and how to identify potentially smudged images in photo libraries or your own camera capture pipeline.","title":"Read documents using the Vision framework","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["machine learning &amp; vision"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"66CDA5A9-A398-4E72-9A32-1FD03826DE7B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/272\/4\/4e80b3e0-9c62-4150-84e9-6b051c14dfa9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/272\/4\/4e80b3e0-9c62-4150-84e9-6b051c14dfa9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/272\/4\/4e80b3e0-9c62-4150-84e9-6b051c14dfa9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/272\/4\/4e80b3e0-9c62-4150-84e9-6b051c14dfa9\/downloads\/wwdc2025-272_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/272\/4\/4e80b3e0-9c62-4150-84e9-6b051c14dfa9\/downloads\/wwdc2025-272_sd.mp4","duration":1222,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"The Vision framework provides APIs for integrating machine learning into apps across various Apple platforms. These APIs enable tasks such as person and object detection, pose tracking, and trajectory analysis, all running on-device for optimal performance and security. The framework currently comprises 31 APIs, with two new additions for document reading and camera lens smudge detection, and an update to hand pose detection.","end":82},{"start":82,"title":"Reading documents","summary":"There's a new API called 'RecognizeDocumentsRequest' that builds upon the existing 'RecognizeTextRequest' feature by enabling you to extract structured information from documents. \n\nWith 'RecognizeDocumentsRequest', you can now process images and obtain a hierarchical structure of the document's contents. The API can detect various elements, such as tables, lists, paragraphs, and machine-readable codes like QR codes. It goes beyond just extracting text; it understands how the text is formatted, making it much easier to parse and interpret the data.\n\nFor instance, consider a sign-up sheet with names, email addresses, and phone numbers. Previously, extracting this information was complex, requiring manual determination of cell relationships. However, with 'RecognizeDocumentsRequest', the system automatically parses the table and groups cells into rows, simplifying the process of creating contacts from the scanned sheet.","end":815},{"start":815,"title":"Camera lens smudge detection","summary":"Vision's new camera lens smudge-detection feature, 'DetectLensSmudgeRequest', identifies smudged images using a confidence score between 0 and 1. You can set thresholds to filter out poor-quality images, with higher confidences indicating a smuggled image. Higher thresholds process more images but may include lower-quality ones, while lower thresholds reject more images, potentially including good ones. \n\nFactors like camera motion blur, long exposure, clouds, or fog can sometimes cause false positives. Additionally, Vision offers other APIs to assess image quality, such as 'DetectFaceCaptureQualityRequest' for images with faces and 'CalculateImageAestheticScoresRequest' for images with no faces, including documents or receipts.","end":1079},{"start":1079,"title":"Hand pose update","summary":"The Vision framework also has an updated hand pose detection model. The original, available since 2020, identifies 21 joints in a hand for gesture recognition in apps. The new model is smaller, faster, and more accurate but uses different joint locations, necessitating retraining of existing classifiers.","end":1222}]},"related":{"activities":["wwdc2024-10163","wwdc2023-10045","wwdc2023-111241","wwdc2025-360","wwdc2025-440"],"resources":[4047,378,200,134]}},"wwdc2025-302":{"id":"wwdc2025-302","staticContentId":10056,"eventContentId":302,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/302","languageCode":"eng","description":"Learn how to build advanced multiview playback experiences in your app. We\u2019ll cover how you can synchronize playback between multiple players, enhance multiview playback with seamless AirPlay integration, and optimize playback quality to deliver engaging multiview playback experiences.","title":"Create a seamless multiview playback experience","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6A68D017-0C76-49FC-96A3-25BBC90FE5B1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/302\/5\/87e78c55-cb0a-4d6f-9567-bc3f91ecb747\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/302\/5\/87e78c55-cb0a-4d6f-9567-bc3f91ecb747\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/302\/5\/87e78c55-cb0a-4d6f-9567-bc3f91ecb747\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/302\/5\/87e78c55-cb0a-4d6f-9567-bc3f91ecb747\/downloads\/wwdc2025-302_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/302\/5\/87e78c55-cb0a-4d6f-9567-bc3f91ecb747\/downloads\/wwdc2025-302_sd.mp4","duration":1174,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about creating multiview playback experiences with synchronized and non-synchronized streams. For example, multiple angles of a soccer game and non-synchronized streams of different events. You can use AVFoundation and AVRouting APIs for synchronization, and AirPlay routing, and playback quality optimization across multiple players.","end":128},{"start":128,"title":"Multiview playback coordination","summary":"AVPlaybackCoordinationMedium from the AVFoundation framework simplifies synchronizing playback across multiple video players in an app.\n\nThe framework handles complex behaviors like rate changes, time jumps, stalling, interruptions, and startup synchronization. By connecting each AVPlayer to the coordination medium, actions like play, pause, and seek are automatically applied to all players in sync.","end":549},{"start":549,"title":"Support AirPlay in an app with multiview experiences","summary":"AirPlay allows people to stream video from their devices to larger screens or stream audio to their HomePods. For multiview experiences, where multiple streams are playing simultaneously, use AVRoutingPlaybackArbiter to manage which stream is routed to an external device.\n\nBy default, the arbiter prioritizes the person's preferred stream for external playback. For example, in a multiview video app, the bird's-eye view video can be set as the preferred stream, so it automatically plays on the Apple TV when AirPlay is enabled, while the close-up view continues on the iPad. People can easily switch between streams by updating the preferred player.\n\nThe arbiter also handles audio routing, ensuring that the preferred audio stream plays on a HomePod when audio is routed externally. This seamless integration allows people to control their multiview playback experience effortlessly, with the ability to pause, play, and switch streams while maintaining sync.","end":854},{"start":854,"title":"Optimize quality of the streams in multiview","summary":"In multiview content streaming, different streams may have varying importance. For example, a bird's-eye view of a sports field may be more crucial than close-ups of the crowd.\n\nTo optimize playback quality based on these priorities, use the AVPlayer's networkResourcePriority setting. This allows you to assign high priority to essential streams, ensuring they receive more network bandwidth and maintain higher resolution, while less important streams can be set to low priority, consuming less bandwidth and playing at lower resolution.\n\nWhen network conditions are limited, the system automatically adjusts the resolution of streams based on their priority, preserving the quality of the most important content for people.","end":1174}]},"related":{"activities":["wwdc2021-10225"],"resources":[3933,3931,52]}},"wwdc2025-275":{"id":"wwdc2025-275","staticContentId":9976,"eventContentId":275,"eventId":"wwdc2025","contentUpdatedAt":"2026-06-08T13:30:45-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/275","languageCode":"eng","description":"Explore all the new enhancements available in the App Intents framework in this year\u2019s releases. Learn about developer quality-of-life improvements like deferred properties, new capabilities like interactive app intents snippets, entity view annotations, how to integrate Visual Intelligence, and much more. We\u2019ll take you through how App Intents is more expressive than ever, while becoming even easier and smoother to adopt. We\u2019ll also share exciting new clients of App Intents this year like Spotlight and Visual Intelligence, and learn to write app intents that work great in those contexts.","title":"Explore new advances in App Intents","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["app intents","machine learning"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"350FBC3B-A98B-4980-9F4E-7805C1CB5127","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/275\/5\/354f4cf3-69e7-40de-b8ac-a7a5ce248c11\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/275\/5\/354f4cf3-69e7-40de-b8ac-a7a5ce248c11\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/275\/5\/354f4cf3-69e7-40de-b8ac-a7a5ce248c11\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/275\/5\/354f4cf3-69e7-40de-b8ac-a7a5ce248c11\/downloads\/wwdc2025-275_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/275\/5\/354f4cf3-69e7-40de-b8ac-a7a5ce248c11\/downloads\/wwdc2025-275_sd.mp4","duration":1609,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"App Intents is a framework that enables apps to integrate features across devices, such as Shortcuts, Spotlight, and Visual Intelligence. Learn about new interactive snippets, system-wide app integration, refined user experiences, and convenience APIs for developers.","end":55},{"start":55,"title":"Interactive snippets","summary":"With the latest updates, you can now enhance your apps with interactive snippets. These snippets are dynamic views that display tailored information based on App Intents. For instance, a gardening app can suggest turning on the sprinklers, or a food-ordering app can allow people to configure their orders before placing them.\n\nThe TravelTracking sample app serves as an excellent example. When a user searches for the closest landmark, an interactive snippet appears. This snippet includes the landmark's name and a heart button. By tapping the heart button, a person can favorite the landmark, and the snippet instantly updates to reflect the new status, all without leaving the current view.\n\nThis interactivity is achieved through the new 'SnippetIntent' protocol. You can create result snippets that display information after an action, and these snippets can include buttons or toggles that trigger other App Intents. For example, in the TravelTracking app, the heart button runs the Update Favorites intent, and you can add a Find Tickets button to launch another intent.\n\nWhen someone interacts with these buttons, the system runs the corresponding intent, and the snippet updates accordingly. The system ensures that the data is always fresh and up to date by fetching app entities from queries whenever the snippet refreshes. This process is seamless and animated, providing a smooth user experience.\n\nYou can also create confirmation snippets that ask people to provide additional information before proceeding. For instance, in the TravelTracking app, when someone taps Find Tickets, a confirmation snippet appears, asking how many tickets they want to search for. The person can then interact with this snippet, and the system updates the view in real time based on their inputs.","end":495},{"start":495,"title":"New system integrations","summary":"App Intents in iOS 26 enhances system integration, enabling image search directly from camera captures or screenshots. Apps can now display their search results in the system search panel. To support this capability, implement queries that conform to the 'IntentValueQuery' protocol, processing 'SemanticContentDescriptor' data to return arrays of app entities.\n\nWhen someone taps a result, the corresponding 'OpenIntent' is triggered, opening the app to the relevant page. 'OpenIntents' aren't limited to image search, and you can also use them in Spotlight. Consider optimizing search performance, returning multiple pages of results, and allowing people to continue the search within the app.\n\nBeyond image search, App Intents enable on-screen entities, allowing people to interact with Siri and ChatGPT about content visible in the app. You can associate entities with views, conform them to the 'Transferable' protocol, and support various data types, like PDF, plain text, and rich text.\n\nTo enhance Spotlight search, make app entities conform to 'IndexedEntity', donate them to Spotlight, and annotate on-screen content with entities. Implementing 'PredictableIntent' allows the system to learn from user behavior and provide personalized suggestions.","end":901},{"start":901,"title":"User experience refinements","summary":"The new features in the app-development platform enhance user experiences through improved undo functionality, multiple-choice options, and supported modes. \n\nThe 'UndoableIntent' protocol allows people to reverse actions performed with App Intents using familiar gestures, providing a safety net for experimentation. You can implement this by conforming their intents to the protocol and registering undo actions with the undo manager.\n\nWith the multiple-choice API, you can present people with several options for an intent, rather than just a binary confirmation. You can also customize with a dialog and a custom SwiftUI view.\n\nSupported Modes gives intents greater control over foregrounding the app. This capability allows intents to behave differently depending on how a person is interacting with the device. For example, an intent can provide voice-only information when the person is driving but take them directly to the app when they're looking at the device. You can specify the supported modes for their intents and use the 'currentMode' property to check which mode is active.","end":1262},{"start":1262,"title":"Convenience APIs","summary":"With the new view control APIs in SwiftUI, you can refactor App Intents by removing UI code and letting views handle navigation directly. Use the 'onAppIntentExecution' view modifier, which enables views to respond to specific App Intents, and modify the UI accordingly. \n\nThe system runs the action closure shortly before foregrounding the app, and multiple views can respond to the same intent. You can control which scene handles an intent using 'handlesExternalEvents' APIs, ensuring contextually appropriate navigation.\n\nAdditionally, new macros like 'ComputedProperty' and 'DeferredProperty' optimize 'AppEntities', reducing storage and instantiation costs.\n\nApp Intents can also now be packaged in Swift Packages, providing greater flexibility and reusability.","end":1609}]},"related":{"activities":["wwdc2024-10210","wwdc2024-10176","wwdc2024-10134","wwdc2024-10133","wwdc2025-8090","wwdc2025-8088","wwdc2025-8087","wwdc2025-244","wwdc2025-260","wwdc2025-281"],"resources":[4045,3896,3844,3843,3842,3840,3839,3811,2958,2399]}},"wwdc2025-216":{"id":"wwdc2025-216","staticContentId":9903,"eventContentId":216,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/216","languageCode":"eng","description":"Learn how to bring your Live Activities and widgets to CarPlay and CarPlay Ultra so people can view progress of their activities and see relevant information at a glance. Explore new template options available to all CarPlay apps, and learn how navigation apps can provide turn-by-turn metadata for display in the car\u2019s instrument cluster or HUD.","title":"Turbocharge your app for CarPlay","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS"],"keywords":["\ud83d\ude97","\ud83d\ude99","car","instrument cluster"],"primaryTopicID":83,"topicIds":[101,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3AE21C44-8831-4C0A-BCBE-68C437FB8FC8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/216\/4\/e2928559-f686-450b-899e-329e93341e5b\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/216\/4\/e2928559-f686-450b-899e-329e93341e5b\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/216\/4\/e2928559-f686-450b-899e-329e93341e5b\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/216\/4\/e2928559-f686-450b-899e-329e93341e5b\/downloads\/wwdc2025-216_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/216\/4\/e2928559-f686-450b-899e-329e93341e5b\/downloads\/wwdc2025-216_sd.mp4","duration":1329,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"In iOS 26, CarPlay features widgets, Live Activities, display zoom, and an updated appearance which your apps get automatically.","end":87},{"start":87,"title":"CarPlay Ultra","summary":"CarPlay Ultra is the best of your iPhone and the best of the car, together in a unified, consistent, and personalized experience. All the new features, including your apps, are also available in CarPlay Ultra.","end":134},{"start":134,"title":"Widgets","summary":"Your widgets appear in CarPlay even if you don't have a CarPlay app. All you need to do is support the 'systemSmall' widget family. If your widget is not functional or suitable in the car, set 'disfavoredLocations' to include 'carPlay\u2019.","end":307},{"start":307,"title":"Live Activities","summary":"Live Activities appear in CarPlay Dashboard or as notifications. CarPlay uses the activity family small size class, the same that's used for the watchOS Smart Stack. If you don't implement activity family small, CarPlay will use your compact leading and trailing views. Use the CarPlay Simulator app for macOS to test widgets and Live Activities.","end":409},{"start":409,"title":"CarPlay framework","summary":"Use the CarPlay framework to present a version of your app in CarPlay. CarPlay supports audio, communication, driving task, EV charging, fueling, navigation, parking, and quick food ordering app categories via template APIs.\n\nThe list template has been updated with 5 new presentation styles for image row items, and pinned elements at the top of lists for quick access. The now playing template has a new sports mode to show team scores for streaming events. Audio apps can support Spatial Audio and Dolby Atmos via AirPlay enhanced audio buffering. Navigation apps can present information on multiple screens, including maneuver metadata in the instrument cluster or head-up display in supported cars.","end":1035},{"start":1035,"title":"Demo","summary":"For this demo, the CarPlay navigation app 'Coastal Roads' has been updated to send maneuver metadata to the car. The app provides an array of maneuver types, distances, and street names that are rendered by the car for display, in this case on the instrument cluster display.","end":1298},{"start":1298,"title":"Next steps","summary":"With support for widgets and Live Activities, there are more ways than ever to bring your app to CarPlay. Updates to the CarPlay framework enable your app to be more expressive and capable.","end":1329}]},"related":{"activities":["wwdc2025-278","wwdc2022-10016","wwdc2024-10112","wwdc2024-10111","wwdc2025-308"],"resources":[4055,3968,509]}},"wwdc2025-315":{"id":"wwdc2025-315","staticContentId":10026,"eventContentId":315,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/315","languageCode":"eng","description":"MLX is a flexible and efficient array framework for numerical computing and machine learning on Apple silicon. We\u2019ll explore fundamental features including unified memory, lazy computation, and function transformations. We\u2019ll also look at more advanced techniques for building and accelerating machine learning models across Apple\u2019s platforms using Swift and Python APIs.","title":"Get started with MLX for Apple silicon","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"85FAA13F-1A6B-46CA-84FF-D4526484F674","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/315\/4\/7321e1ec-e5c2-45a5-a0ea-5e84afc61e0b\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/315\/4\/7321e1ec-e5c2-45a5-a0ea-5e84afc61e0b\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/315\/4\/7321e1ec-e5c2-45a5-a0ea-5e84afc61e0b\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/315\/4\/7321e1ec-e5c2-45a5-a0ea-5e84afc61e0b\/downloads\/wwdc2025-315_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/315\/4\/7321e1ec-e5c2-45a5-a0ea-5e84afc61e0b\/downloads\/wwdc2025-315_sd.mp4","duration":1169,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"MLX is an open-source array framework purpose-built for Apple silicon. It enables efficient machine learning tasks and allows you to run large language models directly on device using Python and Swift.","end":75},{"start":75,"title":"MLX overview","summary":"This high-performance machine learning framework is optimized for Apple silicon, enabling fast numerical computing and machine learning tasks on CPU and GPU. It has a NumPy-like core API, and the higher-level API is similar to PyTorch and JAX.\n\nUse it in applications like LM Studio for on-device text generation with large language models. MLX has APIs in Python, Swift, C++, and C.\n\nMLX is open-source under MIT license, and has an active community on Hugging Face.","end":261},{"start":261,"title":"Key features","summary":"MLX is incredibly efficient because it\u2019s tailored for Apple silicon, leveraging its unified memory architecture. Sharing memory between the CPU and GPU eliminates the need for data copying; operations simply specify the desired device.\n\nInstead of immediately executing a computation, MLX builds computation graphs that are executed only when a result is needed.\n\nWith function transformations, MLX can take functions as input and return new functions, facilitating automatic differentiation and other optimizations.\n\nMLX includes higher-level packages for building and training neural networks, as well as common machine learning operations. These packages are modular and designed to be similar to popular frameworks like PyTorch, making it easy for developers to switch.","end":615},{"start":615,"title":"Accelerating MLX","summary":"Function compilations with 'mx.compile' fuse multiple GPU kernel launches into a single kernel, reducing memory bandwidth and execution overhead. \n\nFor more complex operations, the 'mx.fast' sub-package provides highly tuned, specialized implementations of common machine learning operations, such as RMS norm and attention mechanisms.\n\nMLX enables quantization for faster and more efficient inference with less memory overhead, reducing precision without overly impacting quality. \n\nLarge-scale computations can utilize the 'mx.distributed' sub-package to distribute work across multiple machines.","end":1050},{"start":1050,"title":"MLX Swift","summary":"MLX also offers a Swift API that offers the same improvements in efficiency, for seamless development across Apple platforms in Xcode.\n\nVisit the MLX website or download the sample repos to get started and learn more.","end":1169}]},"related":{"activities":["wwdc2025-298","wwdc2025-8139","wwdc2025-8138","wwdc2025-8267"],"resources":[4070,4069,4068,4067,4066,4065,4064,4060]}},"wwdc2025-289":{"id":"wwdc2025-289","staticContentId":10011,"eventContentId":289,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/289","languageCode":"eng","description":"Learn how you can integrate spatial accessories into your app. Display virtual content, interact with your app, track them in space, and get information on interactions for enhanced virtual experiences on visionOS.","title":"Explore spatial accessory input on visionOS","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["visionOS"],"keywords":["3d","6dof","accessory","controller","input","pencilkit","spatial computing"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A9BD3F7B-17F8-4655-A626-8F7AA63EB80F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/289\/4\/7934a0e5-f8a8-4530-b614-5ed367076da5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/289\/4\/7934a0e5-f8a8-4530-b614-5ed367076da5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/289\/4\/7934a0e5-f8a8-4530-b614-5ed367076da5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/289\/4\/7934a0e5-f8a8-4530-b614-5ed367076da5\/downloads\/wwdc2025-289_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/289\/4\/7934a0e5-f8a8-4530-b614-5ed367076da5\/downloads\/wwdc2025-289_sd.mp4","duration":1064,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Start ","summary":"This session on visionOS development focuses on creating a spatial sculpting app using new spatial accessory support. visionOS now enables you to build apps utilizing the PlayStation VR2 Sense controller and Logitech Muse for enhanced control and immersion.\n\nThe PS VR2 Sense controller, with its buttons, joystick, and trigger, is well-suited for gaming and navigation, while the Logitech Muse, featuring force sensors and haptic feedback, helps with productivity and creativity apps.\n\nThis session focuses on creating a spatial sculpting app for using new spatial accessory support. visionOS now enables you to build apps utilizing the PlayStation VR2 Sense controller and Logitech Muse for enhanced control and immersion.\n\nThe PS VR2 Sense controller, with its buttons, joystick, and trigger, is well-suited for gaming and fun interactive experiences, while the Logitech Muse, featuring force sensors and haptic feedback, helps with productivity and creativity apps.\n\nConnect these accessories using the Game Controller framework and leverage RealityKit or ARKit for tracking the accessory movement and rotation. The session demonstrates building a sculpting app and explores design considerations for incorporating spatial accessory input into visionOS full-space and shared-space apps.","end":161},{"start":161,"title":"Build a sculpting app","summary":"The example project builds the sculpting app by setting up the Xcode project and configuring spatial game controller support through a plist entry.\n\nThen, the project uses the Game Controller framework to discover and connect to spatial accessories. Once a connection is established, the app anchors virtual content to the accessory's 'Aim' location using RealityKit AnchorEntity.\n\nThis anchoring technique enables displaying a virtual sculpting tool that accurately tracks the accessory's movements in space. The app also handles connection and disconnection events and utilizes the predicted tracking mode to smooth out the rendering of virtual content, ensuring a responsive and intuitive sculpting experience.\n\nTo enable interactions with the virtual clay, the app needs to access the sculpting tool's transform. This is achieved through the 'SpatialTrackingSession', which now supports accessory tracking, allowing the app to obtain the transforms of any accessory 'AnchorEntity'.\n\nNext, the project adds haptics to provide tactile feedback, making the sculpting experience more immersive. The app can determine which hand is holding the accessory using ARKit's 'AccessoryAnchor', which also provides information about relative motion and tracking state.\n\nBy combining RealityKit and ARKit APIs, the app displays a reactive toolbar that appears based on the user's handedness, allowing them to swap between sculpting modes. This enhances user experience and enables precise control over the sculpting process.\n","end":817},{"start":817,"title":"Track accessories with ARKit","summary":"If you\u2019re creating an app using your own rendering, ARKit offers APIs for tracking spatial accessories like 'GCStylus' and 'GCController'. Use an Accessory tracking provider to create and manage Accessory objects. When accessories connect and disconnect, re-run the ARKit session with new Accessory configuration. Accessory anchors provide updates similar to hand anchors: you can choose between streamed accurate updates or on-demand prediction for interactive feedback.","end":885},{"start":885,"title":"Design considerations","summary":"Adaptive support for hands and spatial accessories is recommended for maximum user accessibility.\n\nARKit now enables you to integrate spatial accessories with game controllers for enhanced input control and haptic feedback in SwiftUI views. Use the 'receivesEventsInView' modifier to handle both standard hand gestures and game controller events.\n\nYou can display App Store badges to indicate support for spatial game controllers. For full-space apps, APIs are available to hide the home indicator and upper limbs, increasing immersion.","end":1064}]},"related":{"activities":["wwdc2024-10100","wwdc2020-10614","wwdc2024-10104","wwdc2021-10081","wwdc2025-287"],"resources":[3918]}},"wwdc2025-274":{"id":"wwdc2025-274","staticContentId":9990,"eventContentId":274,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/274","languageCode":"eng","description":"Discover how to seamlessly blend SwiftUI and RealityKit in visionOS 26. We\u2019ll explore enhancements to Model3D, including animation and ConfigurationCatalog support, and demonstrate smooth transitions to RealityView. You\u2019ll learn how to leverage SwiftUI animations to drive RealityKit component changes, implement interactive manipulation, use new SwiftUI components for richer interactions, and observe RealityKit changes from your SwiftUI code. We\u2019ll also cover how to use unified coordinate conversion for cross-framework coordinate transformations.\n","title":"Better together: SwiftUI and RealityKit","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":100,"topicIds":[87,85,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D27A2297-5986-4F17-AFAC-712744CE9DAE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/274\/4\/af6a131e-f3ee-4d68-8371-4f52e9c4a3d6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/274\/4\/af6a131e-f3ee-4d68-8371-4f52e9c4a3d6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/274\/4\/af6a131e-f3ee-4d68-8371-4f52e9c4a3d6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/274\/4\/af6a131e-f3ee-4d68-8371-4f52e9c4a3d6\/downloads\/wwdc2025-274_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/274\/4\/af6a131e-f3ee-4d68-8371-4f52e9c4a3d6\/downloads\/wwdc2025-274_sd.mp4","duration":1825,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about RealityKit SwiftUI enhancements that enable seamless integration of traditional UI and interactive 3D content. Key updates include enhancements to Model3D and RealityView, the introduction of the Object Manipulation API, new Component types, bidirectional data flow between SwiftUI and RealityKit, easier coordinate space conversion, and SwiftUI-driven animations for RealityKit components.","end":84},{"start":84,"title":"Model3D enhancements","summary":"In visionOS 26, Model3D enables the display of 3D models with animations and loading from a 'ConfigurationCatalog'. You can now create interactive 3D experiences with just a few lines of code. \n\nUse the new 'Model3DAsset' type to load and control animations, and 'ConfigurationCatalog' enables switching between different representations of an entity, such as outfits or body types.\n\nThe example of a robot named Sparky, who you can animate, dress up in different outfits, and control using SwiftUI views and pickers, making it ready to interact with other robots in a virtual greenhouse, demonstrates these features.","end":373},{"start":373,"title":"RealityView transition","summary":"To add a particle emitter to a 3D model at runtime, you must switch from using 'Model3D' to 'RealityView' in RealityKit because Model3D doesn't support adding components. \n\nRealityView is loaded with the model entity, but this causes layout issues as it defaults to taking up all available space. The 'realityViewLayoutBehavior' modifier is applied with 'fixedSize' to resolve this, making RealityView wrap the model's initial bounds tightly.\n\nThere are three different 'realityViewLayoutBehavior' options: 'flexible', 'centered', and 'fixedSize', each affecting the RealityView's origin point without repositioning the entities.\n\nUse Reality Composer Pro to design particle emitters that are configurable in code. Particle emitters are added to entities as components. RealityKit is based on the \"Entity Component System\" paradigm. The example adds particle emitters to create spark effects, involving invisible entities as containers for the sparks. \n\nRealityView is great for detailed creation and fine-grained control over 3D content behavior, while Model3D is suitable for displaying self-contained 3D assets. You can transition smoothly between the two as needed.","end":712},{"start":712,"title":"Object manipulation","summary":"The new Object Manipulation API in visionOS 26, enables people to interact with virtual objects in apps that use SwiftUI and RealityKit. People can move, rotate, and scale objects with their hands, and even pass objects between hands. \n\nFor SwiftUI views, you can apply the 'manipulable' modifier, allowing customization of supported operations and object inertia. In RealityKit, add the 'ManipulationComponent' to entities via the static 'configureEntity' function, which also adds collision, input target, and hover effect components. The function has several parameters for behavior customization.\n\nSubscribe to 'ManipulationEvents' triggered during interactions, such as starts, stops, updates, releases, and hand-offs, to update app state and customize the experience, including replacing default sounds with custom audio resources.","end":935},{"start":935,"title":"SwiftUI components","summary":"The new SwiftUI RealityKit components enhance user interaction and connection within RealityKit scenes. These components enable you to seamlessly integrate SwiftUI views into 3D environments. \n\nKey features include the 'ViewAttachmentComponent', which allows you to add SwiftUI views directly to entities; the 'GestureComponent', making entities responsive to touch and gestures; and the 'PresentationComponent', which enables the presentation of SwiftUI views, like popovers, within the scene. The configuration parameter on 'PresentationComponent' is the type of presentation to show.\n\nThese improvements simplify the development process, enabling you to create more dynamic and engaging experiences. In the example, a robot named Bolts can have a name sign that toggles on and off with a tap gesture, and people can choose Bolts' outfit from a popover menu, all within the immersive RealityKit environment.","end":1148},{"start":1148,"title":"Information flow","summary":"In visionOS 26, entities are now observable, which allows entities, such as the robot Bolts, to notify other code when their properties change. This is particularly useful for tracking Bolts' movements as it waters plants in the greenhouse. \n\nThe example uses SwiftUI to implement a minimap that displays Bolts' position in real-time. By accessing Bolts' observable position property, SwiftUI automatically updates the minimap whenever Bolts moves. This two-way data flow between SwiftUI and RealityKit, enabled by observable entities, is a significant new tool.\n\nThis new observable functionality also introduces the potential for infinite loops if not managed carefully. To avoid these loops, be mindful of where you modify observed state. Don't make changes to observed state within the 'update' closure of 'RealityView', because this can trigger a recursive update cycle. Instead, make modifications  in specific places like custom systems, gesture closures, or the 'make' closure, which are outside the scope of SwiftUI's view body evaluation.\n\nBy breaking down larger views into smaller, self-contained ones, and being cautious about where state is modified, you can ensure smooth and efficient data flow between SwiftUI and RealityKit, avoiding infinite loops and enhancing the overall performance of the application.","end":1496},{"start":1496,"title":"Unified coordinate\u2028conversion","summary":"The new Unified Coordinate Conversion API bridges the gap between RealityKit and SwiftUI. By implementing the 'CoordinateSpace3D' protocol, you can seamlessly convert values between the two frameworks. This allows calculating the absolute distance between Bolts, an Entity in RealityKit, and Sparky, a Model3D in SwiftUI, as they move closer together, dynamically generating sparks based on their proximity.","end":1621},{"start":1621,"title":"Animation","summary":"In visionOS 26, you can now leverage SwiftUI's animation APIs to implicitly animate changes to RealityKit components. This enables smooth and bouncy movements of entities by simply setting supported components within an animation block. \n\nThere are two methods to achieve this: using 'content.animate()' within a RealityView or calling 'Entity.animate()' directly. This integration allows for custom release behaviors when manipulating entities, making interactions with 3D objects more engaging and fun. Various RealityKit components, including Transform, Audio, Model, and Light, support these implicit animations.","end":1781},{"start":1781,"title":"Next steps","summary":"Use this new connection between SwiftUI and RealityKit to create innovative spatial apps by integrating SwiftUI components with RealityKit scenes, enabling dynamic interactions between the virtual and physical worlds, and inspiring new possibilities in app development.","end":1825}]},"related":{"activities":["wwdc2024-10102","wwdc2021-10074","wwdc2023-10149","wwdc2020-10040"],"resources":[4040,4037]}},"wwdc2025-288":{"id":"wwdc2025-288","staticContentId":10010,"eventContentId":288,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/288","languageCode":"eng","description":"Understand SceneKit deprecation and explore how to transition your 3D projects to RealityKit, Apple\u2019s recommended high-level 3D engine. We\u2019ll clarify what SceneKit deprecation means for your projects, compare key concepts between the two engines, and show you how to port a sample SceneKit game to RealityKit. We\u2019ll also explore the potential of RealityKit across all supported platforms to help you create amazing 3D experiences with your apps and games.","title":"Bring your SceneKit project to RealityKit ","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8BDDD7B5-6089-4F52-B687-89A59948B405","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/288\/5\/810e7d3c-54d7-43e5-82ba-d0f45b804193\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/288\/5\/810e7d3c-54d7-43e5-82ba-d0f45b804193\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/288\/5\/810e7d3c-54d7-43e5-82ba-d0f45b804193\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/288\/5\/810e7d3c-54d7-43e5-82ba-d0f45b804193\/downloads\/wwdc2025-288_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/288\/5\/810e7d3c-54d7-43e5-82ba-d0f45b804193\/downloads\/wwdc2025-288_sd.mp4","duration":1661,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Start","summary":"Apple is officially deprecating SceneKit across all platforms. Existing SceneKit apps and games will continue to work but will only receive critical bug fixes moving forward. Developers are advised to use RealityKit instead, a modern and powerful 3D engine that leverages SwiftUI and is supported on visionOS, iOS, macOS, iPadOS, and now tvOS.","end":303},{"start":303,"title":"Core differences ","summary":"SceneKit and RealityKit are Apple 3D rendering engines. SceneKit is node-based, with properties for geometry, animations, audio, physics, and lights. RealityKit uses Entity Component System (ECS), where entities are modified by adding components. \n\nBoth engines use the same right-handed coordinate system. SceneKit uses proprietary SCN files, while RealityKit employs the open industry standard USD.","end":539},{"start":539,"title":"Asset conversion","summary":"When transitioning to RealityKit, consider architecture, coordinate systems, asset support, and views. \n\nAssets, particularly 3D models, need to be converted from SCN to USD format. The best option is to export directly from the original DCC tool like Blender. If original files are unavailable, Xcode offers an export function, though results may vary. For animations in separate SCN files, the SCN tool CLI shipped with Xcode 26 can be used to convert and append animations to USDZ files.","end":717},{"start":717,"title":"Scene composition","summary":"Reality Composer Pro, a tool included with Xcode, facilitates scene composition for visionOS projects. It allows users to import USD assets, arrange entities, edit materials, shaders, and lights, and prepare scenes for Xcode. ","end":921},{"start":921,"title":"Animations","summary":"See how to animate the 3D character Max coming from SceneKit in RealityKit. After converting Max to a USD file with animations, the example accesses these animations through the AnimationLibraryComponent in Reality Composer Pro. This simplifies the process compared to the previous SceneKit version, where animations had to be loaded and managed separately. Now, you can easily find the Max entity, select the desired animation by name, and play it back in the app. ","end":1018},{"start":1018,"title":"Lights","summary":"Lighting in Reality Composer Pro is a powerful tool that can greatly enhance realism and mood in a scene. Using the app, you can easily add directional lights, adjust their orientation, and enable shadows to create depth and dimension.\n\nThe process is similar in SceneKit and RealityKit, with RealityKit offering various light types including point, spotlight, and image-based lights.","end":1117},{"start":1117,"title":"Audio","summary":"The SceneKit project enhances the game's engagement by adding ambient audio. It loads an audio file as a source, configures it to loop non-spatially, and attaches it to the terrain node. \n\nIn RealityKit, the process is similar; attach an AudioLibraryComponent to the terrain entity, add an ambient audio component to disable positional audio. To optimize memory usage, set the audio to stream.","end":1279},{"start":1279,"title":"Visual effects","summary":"This last section covers how to use visual effects in RealityKit as you bring over your SceneKit project.\n\nThe example starts by showing how to create particle effects in Reality Composer Pro, using a USD file named 'volcano_smoke'. The developer compares the settings in Reality Composer Pro to those in SceneKit, enabling them to achieve a similar Volcano Smoke effect in RealityKit.\n\nThe example then moves on to post-processing, which adds the finishing touches to the rendered output. In the original SceneKit version of the game, a bloom effect was used to create a soft, radiant glow around bright lights. While RealityKit doesn't have a simple property for this effect, you can now add post-processing effects to RealityViews using the post-processing API.\n\nThe example creates a custom bloom effect by extracting highlights, blurring them, and compositing them back onto the original texture. This effect enhances the game's environment, making it more vibrant. The game is then demonstrated running on various Apple platforms, including iOS, iPadOS, macOS, and tvOS, showcasing RealityKit's cross-platform capabilities.","end":1661}]},"related":{"activities":["wwdc2025-287","wwdc2024-10102","wwdc2023-10083","wwdc2024-111801"],"resources":[4102]}},"wwdc2025-297":{"id":"wwdc2025-297","staticContentId":10067,"eventContentId":297,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/297","languageCode":"eng","description":"Dive into the Apple Projected Media Profile (APMP) and see how APMP enables 180\u00ba\/360\u00ba and Wide FoV projections in QuickTime and MP4 files using Video Extended Usage signaling. We\u2019ll provide guidance on using OS-provided frameworks and tools to convert, read\/write, edit, and encode media containing APMP. And we\u2019ll review Apple Positional Audio Codec\u2019s (APAC) capabilities for creating and delivering spatial audio content for the most immersive experiences.","title":"Learn about the Apple Projected Media Profile","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[84,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5FEAE7C2-ECAB-4749-A126-B8CE69E30A3C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/297\/5\/331d65eb-4973-4be1-a3b2-c1ae3ec8703a\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/297\/5\/331d65eb-4973-4be1-a3b2-c1ae3ec8703a\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/297\/5\/331d65eb-4973-4be1-a3b2-c1ae3ec8703a\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/297\/5\/331d65eb-4973-4be1-a3b2-c1ae3ec8703a\/downloads\/wwdc2025-297_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/297\/5\/331d65eb-4973-4be1-a3b2-c1ae3ec8703a\/downloads\/wwdc2025-297_sd.mp4","duration":1171,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn how non-rectilinear video projection is represented in QuickTime files. Discover new APIs for creating, editing, and publishing APMP videos with Spatial Audio. This video is tailored for camera vendors, video editing software developers, and app developers interested in immersive media, particularly for visionOS","end":72},{"start":72,"title":"Non-rectilinear video fundamentals","summary":"visionOS 26 introduces the Apple Projected Media Profile, which supports various non-rectilinear video formats beyond the traditional 2D, 3D, and spatial videos. This profile includes half-equirectangular projections for 180-degree videos, equirectangular projections for 360-degree videos, and parametric projections for Wide FOV videos captured with wide-angle or fisheye lenses.\n\nEquirectangular projections map spherical coordinates to a rectangular frame using latitude and longitude angles. Parametric immersive projections, accounts for lens distortion parameters such as focal length, optical center, skew, and radial distortion, which corrects for barrel distortion commonly seen in wide-angle lenses. This allows for more accurate and immersive representation of Wide FOV video content.","end":222},{"start":222,"title":"Apple Projected Media Profile specification","summary":"Apple Projected Media Profile (APMP) enables signaling of 180, 360, and Wide FOV projections. Apple APIs allow you to work with APMP content in QuickTime and MP4 files. \n\nNew boxes within the Video Extended Usage (vexu) box in visionOS 26 specify projection types, lens parameters, and view packing arrangements. These boxes allow for the representation of various immersive media formats, such as monoscopic equirectangular and stereoscopic 180-degree videos.","end":359},{"start":359,"title":"APMP content capturing and workflows","summary":"Various cameras and editing software support APMP for capturing and editing 180 and 360-degree video. APMP signaling is used throughout the workflow \u2014 capture, editing, and delivery \u2014 for efficient playback on visionOS devices. For non-APMP-enabled software, you can use spherical metadata and avconvert utility for conversion before transferring files to Apple Vision Pro.","end":513},{"start":513,"title":"Asset conversion capabilities","summary":"macOS and visionOS 26 introduce new capabilities for working with APMP files. AVFoundation now recognizes compatible spherical assets and synthesizes APMP signaling. visionOS 26 has built-in support for popular camera vendors' lens projection parameters and field of view modes, enabling automatic conversion upon opening. Use new frameworks and objects to convert Wide FOV content to APMP format, making it recognizable by system APIs.","end":645},{"start":645,"title":"APMP video reading","summary":"The updated CoreMedia and AVFoundation frameworks in visionOS enable you to read and identify APMP videos using system media APIs. 'AVAssetPlaybackAssistant' can be used to check for non-rectilinear projection configurations, and 'viewPackingKind' format description extension supports side-by-side and over-under frame packing for immersive video playback experiences.","end":707},{"start":707,"title":"APMP video editing","summary":"AVFoundation's AVVideoComposition object and CMTaggedDynamicBuffer is used for stereoscopic video editing. CMTaggedDynamicBuffer, which contain CM Tags with categories and values, group related buffers like CVPixelBuffer for the left and right eye. To enable stereoscopic editing, define the outputBufferDescription and pass tagged buffers to composition requests after constructing the stereoscopic pair.","end":822},{"start":822,"title":"APMP video publishing","summary":"APMP content publishing on visionOS needs to use HEVC Main or Main 10 encoding with specific color primaries and resolutions. Stereo mode can be monoscopic or stereoscopic, with recommended frame rates and bitrates varying by resolution.\n\nThe Apple Advanced Video Quality Tool (AVQT) has been updated to support immersive formats and assess video quality. HLS has been enhanced to support APMP streaming, and updated tools and guidelines are available on the Apple Developer website.\n","end":974},{"start":974,"title":"Apple Positional Audio Codec","summary":"Apple Positional Audio Codec (APAC) is a technology designed to encode ambisonic audio to enable immersive Spatial Audio experiences. Ambisonic audio is a technique for full-sphere sound field recording and playback. It uses mathematical functions and an array of microphones, enabling sound to come from any direction.\n\nAPAC supports first, second, and third-order ambisonics, with higher orders providing greater spatial resolution. The codec is highly efficient and recommended for encoding spatial audio with APMP video. APAC decodes on all major Apple platforms except watchOS and allows for segmented and streamed audio via HLS.","end":1171}]},"related":{"activities":["wwdc2025-304","wwdc2025-296","wwdc2021-10145","wwdc2022-10149","wwdc2025-403","wwdc2025-237"],"resources":[3983,3928,3572,2484,574,487,175,52]}},"wwdc2025-234":{"id":"wwdc2025-234","staticContentId":9924,"eventContentId":234,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/234","languageCode":"eng","description":"Learn about the APIs in the NetworkExtension framework that give your app the power and flexibility to extend the system\u2019s core networking features \u2014 like implementing network content filters, creating and managing VPN configurations, and more. In iOS, iPadOS and macOS 26, you can now build robust content filters that make traffic decisions using the entire URL \u2014 not just the hostname \u2014 all without compromising privacy and security. We\u2019ll start by briefly covering many of the key use cases for the NetworkExtension framework, including network relays and VPN. Then, we\u2019ll dive into the new URL filter API and its key components, including Private Information Retrieval, Privacy Pass, and more.","title":"Filter and tunnel network traffic with NetworkExtension","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"669D2A7F-87BB-4942-B422-37CE60C8D7E1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/234\/4\/54f59553-dbd4-48aa-8240-99dbbc735d7b\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/234\/4\/54f59553-dbd4-48aa-8240-99dbbc735d7b\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/234\/4\/54f59553-dbd4-48aa-8240-99dbbc735d7b\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/234\/4\/54f59553-dbd4-48aa-8240-99dbbc735d7b\/downloads\/wwdc2025-234_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/234\/4\/54f59553-dbd4-48aa-8240-99dbbc735d7b\/downloads\/wwdc2025-234_sd.mp4","duration":1691,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Welcome","summary":"Learn about Network Extension, a framework you can use to build apps that customize networking on Apple platforms. In iOS and macOS 26, the framework offers VPNs, relays, and content filters, and new URL-based filtering capabilities.","end":108},{"start":108,"title":"Tour NetworkExtension","summary":"The Network Extension framework enables apps in iOS and macOS to customize networking. This includes Wi-Fi management, hotspot interaction, local push notifications for restricted networks, DNS security, content filtering, and secure remote resource access.","end":201},{"start":201,"title":"Access remote resources","summary":"Secure Remote Access lets people connect securely to internal systems from external locations or protect personal traffic on unsecured networks.\n\nNetwork Extension offers two main approaches for tunneling traffic: network relays and IP-based VPNs. Network relays, using the MASQUE protocol, are optimized for performance and are suitable for tunneling TCP or UDP traffic to specific apps, such as cloud-hosted enterprise apps. You can configure relays using 'NERelayManager', or through an MDM profile.\n\nIP-based VPNs are best reserved for extending corporate networks to employees, providing full network access, or for highly regulated organizations that need to send all traffic through the corporate network. Individuals can also use them to protect their privacy on unsecured networks.\n\nYou can create IP-based VPN tunnels using the NEVPNManager API, leveraging built-in protocols like IKEv2 or IPsec, or custom protocols. Network Extension allows apps to enforce VPN routes, ensuring they take precedence, and supports split-tunnel and full-tunnel VPN configurations with configurable exceptions. Network Extension is the recommended and supported API for building VPN apps. Using other methods is highly discouraged and may lead to compatibility issues. Migrate your VPN app to Network Extension as soon as possible.","end":520},{"start":520,"title":"Filter content","summary":"The Content Filter API lets you to create personal firewalls and enterprise traffic monitoring apps. It allows apps to inspect traffic flows and provide 'allow' or 'drop' verdicts. ","end":654},{"start":654,"title":"Create URL filters","summary":"In iOS 26, you can create a URL Filter to make apps that block specific resources on the internet system-wide. This technology is particularly useful for parental control apps, schools, and enterprises to restrict access to inappropriate or non-work-related content.\n\nURL Filter uses advanced cryptographic techniques to prioritize user privacy. The system employs a combination of four key technologies: Bloom filters, Private Information Retrieval (PIR), Privacy Pass, and Oblivious HTTP Relay.\n\nYour app doesn\u2019t execute in the filtering path and has no access to URL traffic. Additionally, neither Apple nor your server have access to URL traffic or identity information. URL filters are supported on both managed and unmanaged devices.\n\nURL filters use an Apple hosted OHTTP relay, which you must apply to configure and use for distribution-signed apps. Development-signed builds are exempt from this requirement.\n\nIf you\u2019re building an app that doesn\u2019t use WebKit or URLSession, pass each URL to the NEURLFilter API and honor the returned verdict.\n\nFor enterprise deployments, the URL Filter configuration profile can be pushed via Mobile Device Management onto managed devices.","end":1691}]},"related":{"activities":["wwdc2019-714","wwdc2025-246"],"resources":[4024,3999,3998,3997,3996,3995,3994,3993,136]}},"wwdc2025-260":{"id":"wwdc2025-260","staticContentId":9969,"eventContentId":260,"eventId":"wwdc2025","contentUpdatedAt":"2026-06-08T12:30:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/260","languageCode":"eng","description":"Learn about how building App Intents that make actions available and work best with the new features in Shortcuts and Spotlight on Mac. We\u2019ll show you how your actions combine in powerful ways with the new Apple Intelligence actions available in the Shortcuts app. We\u2019ll deep-dive into how the new \u201cUse Model\u201d action works, and how it interacts with your app\u2019s entities. And we\u2019ll discuss how to use the App Intents APIs to make your actions available in Spotlight.","title":"Develop for Shortcuts and Spotlight with App Intents","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ai","app intents","machine learning","spotlight","spot light"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F0B061F9-2529-4A75-8A9F-2E47F518418A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/260\/8\/8d3b0b9e-3bdb-4661-b333-069c3612b565\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/260\/8\/8d3b0b9e-3bdb-4661-b333-069c3612b565\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/260\/8\/8d3b0b9e-3bdb-4661-b333-069c3612b565\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/260\/8\/8d3b0b9e-3bdb-4661-b333-069c3612b565\/downloads\/wwdc2025-260_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/260\/8\/8d3b0b9e-3bdb-4661-b333-069c3612b565\/downloads\/wwdc2025-260_sd.mp4","duration":1136,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"The App Intents framework enhances app visibility across Apple platforms, enabling people to integrate app features into Shortcuts and Spotlight. \n\nThe Shortcuts app automates tasks by connecting apps, and Apple Intelligence is now integrated to simplify shortcut creation. You can adopt App Intents to make your apps work with Shortcuts and Spotlight; new features include running Shortcuts from Spotlight on Mac and utilizing Apple Intelligence models in shortcuts.","end":76},{"start":76,"title":"Use Model","summary":"The new Use Model action in Shortcuts streamlines complex tasks using language models. People can choose from server-based, on-device, or ChatGPT models for various requests, such as filtering calendar events, summarizing web content, or organizing notes. \n\nThe action can generate different output types, including Text, Dictionary, and Content from apps. Text output can be rich, so ensure your apps support attributed strings to preserve formatting. Dictionary output is useful for structured data, enabling tasks like extracting information from invoices and adding it to spreadsheets. Content from apps allows people to work with app entities defined using the App Intents Framework, facilitating seamless integration between different apps and the language models.\n\nThe Shortcuts app's 'Find' action is commonly used to retrieve entities based on their properties. You can implement 'Find' actions by conforming to specific protocols or by associating app entity properties with Core Spotlight attribute keys.\n\nThe 'Use Model' action allows people to interact with the model's output. For example, someone can extract ingredients from a recipe, then use the 'Follow Up' feature to modify the request, such as doubling the recipe, before saving the ingredients to a grocery list app.","end":700},{"start":700,"title":"Spotlight on Mac","summary":"Spotlight on Mac is a powerful search feature that enables people to locate apps and documents across their system. This update introduces the ability to run actions directly from Spotlight, enhancing user efficiency. You can achieve this in your apps by adopting App Intents, which allow apps to display actions in Spotlight. \n\nTo optimize the user experience, follow these best practices:\n\nProvide suggestions for filling in parameters.\nImplement search functionality.\nSupport both background and foreground running options. \nPair background intents with foreground intents to provide a seamless user flow.\n","end":1038},{"start":1038,"title":"Automations on Mac","summary":"This Mac update introduces personal automations, enabling people to create shortcuts triggered by specific events like folder changes or Bluetooth connections. These automations can use existing iOS shortcuts and intents from macOS apps, enhancing system-wide efficiency. \n\nOptimize your apps for Spotlight and Shortcuts, allowing for richer text integration and more intelligent actions.","end":1136}]},"related":{"activities":["wwdc2023-10102","wwdc2023-10193","wwdc2025-8095","wwdc2025-8094","wwdc2025-8090","wwdc2025-8087","wwdc2025-8088","wwdc2025-8269"],"resources":[3105,2958,2399,350,348]}},"wwdc2025-232":{"id":"wwdc2025-232","staticContentId":9930,"eventContentId":232,"eventId":"wwdc2025","contentUpdatedAt":"2026-05-20T15:42:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/232","languageCode":"eng","description":"Learn how Digital Credentials can enhance online identity verification flows. We\u2019ll cover how websites can integrate the Digital Credentials API to enable requesting information from IDs in Wallet. We\u2019ll also explore how apps can provide their own identity documents for online verification using the new IdentityDocumentServices framework.","title":"Verify identity documents on the web","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["credential","identity","signature","standard"],"primaryTopicID":98,"topicIds":[83,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9C10C8CC-6BDB-408E-AD5B-86E4AA4BEE37","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/232\/4\/c1386ee3-b8b0-4086-99fe-9f05e4b1cd17\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/232\/4\/c1386ee3-b8b0-4086-99fe-9f05e4b1cd17\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/232\/4\/c1386ee3-b8b0-4086-99fe-9f05e4b1cd17\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/232\/4\/c1386ee3-b8b0-4086-99fe-9f05e4b1cd17\/downloads\/wwdc2025-232_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/232\/4\/c1386ee3-b8b0-4086-99fe-9f05e4b1cd17\/downloads\/wwdc2025-232_sd.mp4","duration":1964,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"This session focuses on enhancing online identity verification using digital identity documents, specifically mobile documents (mdocs) compliant with the ISO 18013-5 standard. \n\nMdocs offer a more secure, private, and user-friendly experience compared to traditional physical IDs. Users can store mdocs in apps like Apple Wallet, which already supports in-person verification at select locations in the U.S.\n\nThe upcoming releases introduces support for the W3C\u2019s Digital Credentials API in Safari and WebKit. This enables online identity verification across devices and platforms. People can choose which app to use for verification, review the requested information, and authorize with biometric authentication like Face ID. The process is standardized, ensuring interoperability between different operating systems and browsers, making online identity verification more convenient and trustworthy for people and businesses.","end":377},{"start":377,"title":"Digital Credentials API","summary":"The system utilizes industry-leading standards, including the W3C\u2019s Digital Credentials API and FIDO CTAP protocol, enabling seamless cross-platform identity verification. The process is designed to be user-friendly and secure, allowing people to verify their identity using mobile documents stored on their iPhone across various browsers and operating systems.\n\nFor developers, there are two main entry points: Document Provider APIs for iOS apps and the W3C\u2019s Digital Credentials API for websites. \n\nWebsites must follow a three-step process: build and sign a document request, pass it to the browser using the Digital Credentials API, and then send the encrypted response to their server for decryption and validation. The W3C's Digital Credentials API is utilized to request digital credentials from users through a standardized \"org-iso-mdoc\" string. \n\nA detailed example is discussed showing details involved in verifying a Drivers License.","end":1358},{"start":1358,"title":"Document Provider API","summary":"The Document Provider API enables apps to participate in online mobile document (mdoc) verification. \n\nWhen a user initiates identity verification, iOS displays a selection UI of registered document provider apps. The chosen app then receives a partial request from iOS within a secure sandbox. After user authorization, the full request is released, and the app validates signatures, builds a response, and encrypts it to the requesting website.\n\nThe process involves registering the document with iOS, specifying its type and trusted certificate authorities. This registration makes the document available for selection during verification, and the app then handles the secure validation and transmission of the mdoc data to the website.\n\nAn example UI App Extension is discussed and added to a sample app via Xcode, enabling online identity verification.\n\nThe authorization UI consists of three main parts: a view displaying request information, an 'Accept' button, and a 'Decline' button. When 'Accept' is tapped, the app validates the request, encrypts the document response, and sends it back to the requesting website. If the request is invalid, it is declined.\n\nAdditional considerations for registering with Apple Business Connect to obtain certificates for requesting identity information from IDs in Wallet are discussed.","end":1964}]},"related":{"activities":["wwdc2025-233","wwdc2025-235","wwdc2022-10041"],"resources":[4094,4019,4015,4013]}},"wwdc2025-308":{"id":"wwdc2025-308","staticContentId":10028,"eventContentId":308,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/308","languageCode":"eng","description":"Learn how to optimize your app for Apple silicon with two new hardware-assisted tools in Instruments. We\u2019ll start by covering how to profile your app, then dive deeper by showing every single function called with Processor Trace. We\u2019ll also discuss how to use CPU Counters\u2019 modes to analyze your code for CPU bottlenecks.","title":"Optimize CPU performance with Instruments","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[94,91,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EFEBB72A-55C0-4B9C-8DCF-B7BA654B2CC9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/308\/4\/5c144645-dea8-4f16-97ac-a6dd76cf72d8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/308\/4\/5c144645-dea8-4f16-97ac-a6dd76cf72d8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/308\/4\/5c144645-dea8-4f16-97ac-a6dd76cf72d8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/308\/4\/5c144645-dea8-4f16-97ac-a6dd76cf72d8\/downloads\/wwdc2025-308_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/308\/4\/5c144645-dea8-4f16-97ac-a6dd76cf72d8\/downloads\/wwdc2025-308_sd.mp4","duration":1979,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction & Agenda","summary":"Optimizing code for Apple silicon CPUs is complex due to the layers of abstraction between Swift source code and machine instructions, as well as the complex ways CPUs execute instructions out-of-order and utilize memory caches. \n\nInstruments helps developers navigate these complexities and enables performance investigations, profiles system performance to identify excessive CPU usage. Use Processor Trace and CPU Counters instruments to record instructions, measure costs, and analyze bottlenecks, ultimately leading to more efficient code and improved app performance.","end":148},{"start":148,"title":"Performance mindset","summary":"When you investigate performance issues in your apps, it's crucial to maintain an open mind and collect data to validate assumptions. Slowdowns can result from various factors, such as blocked threads waiting on resources, misused APIs, or inefficient algorithms.\n\nTools like CPU Gauge in Xcode as well as System Trace and Hangs instruments in Instruments are invaluable for identifying CPU usage patterns, blocking behaviors, and UI unresponsiveness. Before diving into micro-optimizations, which can make code harder to maintain, it's best to explore alternative approaches.\n\nThese alternatives include avoiding unnecessary work, delaying that work with concurrency, precomputing values, and caching state computed by complex operations. If these strategies are exhausted, optimizing the CPU-bound code becomes necessary.\n\nFocus on code that significantly impacts user experience, such as the critical path of user interactions. Incremental optimization is recommended, with progress measured using automated tests and performance metrics in both Xcode and Instruments.","end":530},{"start":530,"title":"Profilers","summary":"To analyze the CPU performance of the binary search example in this session, two profilers in Instruments are available: Time Profiler and CPU Profiler. \n\nTime Profiler periodically samples CPU activity but can suffer from aliasing, where periodic work distorts the representation of CPU usage. CPU Profiler, on the other hand, samples CPUs independently based on their clock frequency, making it more accurate and suitable for CPU optimization.\n\nFor this analysis, the CPU Profiler instrument is chosen and launched from Xcode's test navigator, then the recording in Instruments is set to Deferred Mode to minimize overhead. The areas within Instruments is introduced, including the timeline view, its tracks and lanes, and the detail view which shows the profiled results.\n\nBy examining the Points of Interest track and the Process track for the 'xctest' process, the specific region where binary searches occur in the example app is identified. The call tree in the detail view shows that functions related to the 'Collection' protocol consume significant CPU time. To optimize performance, switching to a more efficient container type, such as 'Span', is suggested to avoid overheads associated with 'Array'\u2014which has copy-on-write semantics\u2014and generics.","end":800},{"start":800,"title":"Span","summary":"Swift 6.2 introduces 'Span', a memory-efficient data structure that represents a contiguous memory range with a base address and count. Using 'Span' for binary search input and output types improves performance by 400% without altering the algorithm. Next, to further optimize performance, the Processor Trace instrument is used to investigate bounds checking overhead.","end":845},{"start":845,"title":"Processor Trace","summary":"Instruments 16.3 introduced a significant new instrument called Processor Trace. This tool allows you to capture a comprehensive trace of all the instructions executed by your app's process in user space on Mac and iPad Pro with M4 chips and later, or iPhone with A18 chips and later. \n\nProcessor Trace requires specific device settings to be enabled and is most effective when used for short tracing sessions, as it can generate substantial amounts of data. By recording every branching decision, cycle count, and current time, Instruments reconstructs the exact execution path of the app.\n\nThe data is presented visually in a flame graph, which shows the time taken by each function call over time. Unlike traditional flame graphs that use sampling, Processor Trace's flame graph provides an exact representation of how the CPU executed the code. This allows you to identify performance bottlenecks with unprecedented precision.\n\nThrough analysis of the trace data, it's clear that protocol metadata overheads and the inability to inline number comparisons are causing significant slowdowns in a specific binary search function. To address this, the function is manually specialized for the Int type, resulting in a substantial performance improvement of about 170%. However, further optimization is still needed because the app's binary search implementation continues to contribute to overall app slowdowns.","end":1191},{"start":1191,"title":"Bottleneck analysis","summary":"Apple Silicon CPUs execute instructions in two phases: Instruction Delivery and Instruction Processing, which are pipelined to enable instruction-level parallelism. This allows multiple operations to be processed simultaneously, maximizing efficiency. However, bottlenecks can occur in the pipeline, stalling operations and limiting parallelism.\n\nThe CPU Counters instrument helps identify these bottlenecks by counting events in each CPU unit. It uses preset modes to measure CPU performance and break down work into broad categories. When you analyze the sampled data, they can pinpoint specific instructions causing issues, such as mispredicted branch directions, which can lead to wasted cycles and performance degradation.\n\nCPUs execute instructions out-of-order using branch predictors to enhance performance. However, random branches can mislead these predictors. To mitigate this, the code is rewritten to avoid difficult-to-predict branches, resulting in a branchless binary search that is about twice as fast.\n\nThe focus of the app's optimization then shifts to memory access, as CPUs utilize a hierarchy of caches to speed up data retrieval. The binary search algorithm's access pattern was pathological for this hierarchy, leading to frequent cache misses. By rearranging the array elements using an Eytzinger layout, cache locality is improved, and the binary search became another 200% faster.\n\nDespite these significant optimizations, the code is still technically bottlenecked on instruction processing, but the overall search function has been made about 2500% faster through various profiling and micro-optimization techniques.","end":1893},{"start":1893,"title":"Recap","summary":"By measuring and optimizing software overheads first, then focusing on CPU bottlenecks, the binary search app's performance was improved by addressing easily overlooked issues and becoming more attuned to CPU architecture.","end":1933},{"start":1933,"title":"Next steps","summary":"To optimize apps, use Instruments to collect data, run performance tests, and analyze results. You can also watch sessions on Swift performance and read the \"Apple Silicon CPU Optimization Guide\" in developer documentation. Ask questions or provide feedback on the Developer Forums.","end":1979}]},"related":{"activities":["wwdc2022-110350","wwdc2023-10248","wwdc2024-10217","wwdc2025-306","wwdc2025-226","wwdc2025-312"],"resources":[3989,3979,3973,836]}},"wwdc2025-247":{"id":"wwdc2025-247","staticContentId":9947,"eventContentId":247,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/247","languageCode":"eng","description":"Discover the latest productivity and performance advancements in Xcode 26. Learn how to leverage large language models in your development workflow. Explore editing and debugging enhancements, improved performance and testing tools, and Swift Build - the open-source build system engine used by Xcode.","title":"What\u2019s new in Xcode 26","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[87,99,100,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6FEF5403-507C-42F9-B109-84865BD02378","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/247\/5\/5455d9cc-d071-4119-84e7-db8eadeaaeb0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/247\/5\/5455d9cc-d071-4119-84e7-db8eadeaaeb0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/247\/5\/5455d9cc-d071-4119-84e7-db8eadeaaeb0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/247\/5\/5455d9cc-d071-4119-84e7-db8eadeaaeb0\/downloads\/wwdc2025-247_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/247\/5\/5455d9cc-d071-4119-84e7-db8eadeaaeb0\/downloads\/wwdc2025-247_sd.mp4","duration":2216,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about Xcode's improvements for app developers, including optimizations for download size and performance, enhancements to the workspace and source editor, new code intelligence features, debugging and performance tools, build updates, and testing improvements.","end":49},{"start":49,"title":"Optimizations","summary":"Xcode features significant optimizations this year, resulting in a 24% smaller download size, achieved by removing default Intel support from Simulator runtimes and conditional downloads of the Metal toolchain. Text input is improved by up to 50% in complex expressions, and workspace loading performance is boosted by 40%, particularly benefiting large projects.","end":102},{"start":102,"title":"Workspace and editing","summary":"This year's Xcode release brings significant improvements to the source editor, enhancing user experience and productivity. The editor tabs now feature a new start page, similar to Safari, and allow users to pin tabs, providing greater control over the workspace.\n\nThe search functionality is revamped with the introduction of Multiple Words search. This new mode utilizes search engine techniques to find clusters of words in the project, enabling you to locate specific code snippets more efficiently, even if the search terms appear in different orders or across multiple lines.\n\nAccessibility has also taken a major leap forward. Xcode now supports Swift Mode for Voice Control, allowing you to write and pronounce Swift code naturally. Voice Control understands Swift syntax, automatically inserting spaces and formatting code correctly, making it a powerful tool for developers with accessibility needs, or those who prefer voice-based input.\n\nBeyond these core improvements, Xcode introduces a new macro called '#Playground', enabling you to iterate on any code quickly. You can add playgrounds inline in documents, and the results of code execution appear in a separate canvas tab, providing real-time feedback as code is modified.\n\nA new app called Icon Composer is bundled with Xcode, simplifying the process of creating multilayered icons that work across various platforms and modes, such as dark and tinted.","end":637},{"start":637,"title":"Intelligence","summary":"Xcode 26 integrates large language models like ChatGPT to enhance coding assistance. You can now ask general questions about Swift or specific questions about their projects, and the model can provide explanations, make changes, or generate code. \n\nA new lightweight menu allows you to automatically apply changes to selected code. The model can also analyze the context of the entire project, enabling it to understand references and make relevant modifications.\n\nYou have control over whether the system includes project context and whether it applies code changes  automatically. Xcode keeps snapshots of code before each change, allowing for easy review and reversal.\n\nBeyond code explanation and modification, Xcode can now generate playgrounds, fix errors, and resolve deprecation warnings. You can choose from various language model providers, including ChatGPT, Anthropic, or local models, and switch between them easily within Xcode.","end":1067},{"start":1067,"title":"Debugging and performance","summary":"The new Xcode introduces significant enhancements to debugging and performance analysis for app developers. \n\nDebugging Swift concurrency code is now more streamlined, with Xcode following execution into asynchronous functions, displaying task IDs, and providing easy-to-read representations of concurrency types. Xcode also now automatically identifies when an app stops due to a missing usage description for accessing private resources, offering a direct Add button to fix the issue in the Signing & Capabilities editor.\n\nFor performance analysis, there's an updated Instruments. The Processor Trace instrument, introduced in Xcode 16.3 and supported by M4 and iPhone 16 devices, captures every low-level branching decision the CPU makes, providing a high-fidelity visualization of execution flow. The CPU Counters instrument is also significantly updated, using preset modes to help you understand how your code interacts with the CPU, enabling microarchitecture optimizations and identifying bottlenecks. \n\nInstruments also includes new features for SwiftUI, enabling you to track view updates and identify performance bottlenecks. The Power Profiler instrument helps optimize battery life by recording power metrics and visualizing system power usage and the impact of the application on various device components.\n\nThe Xcode Organizer is updated with expanded Trending Insights, which highlights increasing performance issues like hangs and disk writes across app versions. Metrics are expanded to include Recommendations, comparing an app's performance with similar apps and historical data, providing clear targets for improvement, such as launch time optimization.","end":1670},{"start":1670,"title":"Builds","summary":"Xcode 26 enhances build efficiency by enabling Explicitly Built Modules by default, improving reliability and debugging speed. Swift Build, the open source build engine, is being integrated into Swift Package Manager for cross-platform support and community contributions. Xcode also introduces Enhanced Security capabilities for apps, akin to those used in Apple's apps, to bolster protection against attacks.","end":1815},{"start":1815,"title":"Testing","summary":"Xcode's UI testing capabilities are also significantly improved. The new code-generation system enhances UI automation recording, allowing you to create tests more efficiently. \n\nBy using the recording feature, you can interact with the app in Simulator, and Xcode automatically generates concise test code for each action. This capability streamlines the test-creation process, making it easier to build comprehensive UI tests.\n\nThe Automation Explorer in test reports further aids debugging by providing video recordings and element-inspection tools. Xcode also now includes expanded support for measuring UI responsiveness, detecting hitches, and performing runtime API checks, ensuring code adheres to best practices and remains responsive and stable.","end":2170},{"start":2170,"title":"Wrap-up","summary":"Xcode 26 enhances coding efficiency, feature building, and language support. It aids in debugging, performance inspection, and UI testing. You can download Xcode 26 and utilize Xcode Cloud for testing and distribution.","end":2216}]},"related":{"activities":["wwdc2025-220","wwdc2025-361","wwdc2025-225","wwdc2025-245","wwdc2025-308","wwdc2025-256","wwdc2025-306","wwdc2025-226","wwdc2024-10171","wwdc2025-344","tech-talks-10855"],"resources":[3979,3977,3976,3975,3044]}},"wwdc2025-251":{"id":"wwdc2025-251","staticContentId":10050,"eventContentId":251,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/251","languageCode":"eng","description":"Learn how to improve your app\u2019s audio recording functionality. Explore the flexibility of audio device selection using the input picker interaction on iOS and iPadOS 26. Discover APIs available for high-quality voice recording using AirPods. We\u2019ll also introduce spatial audio recording and editing capabilities that allow you to isolate speech and ambient background sounds \u2014 all using the the AudioToolbox, AVFoundation, and Cinematic frameworks.","title":"Enhance your app\u2019s audio recording capabilities","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":95,"topicIds":[84,85,95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"785DC1ED-0091-4FD2-BD9E-E8749C110318","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/251\/4\/d14e1f6d-5996-4c7a-8576-c7cb4e6eaf02\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/251\/4\/d14e1f6d-5996-4c7a-8576-c7cb4e6eaf02\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/251\/4\/d14e1f6d-5996-4c7a-8576-c7cb4e6eaf02\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/251\/4\/d14e1f6d-5996-4c7a-8576-c7cb4e6eaf02\/downloads\/wwdc2025-251_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/251\/4\/d14e1f6d-5996-4c7a-8576-c7cb4e6eaf02\/downloads\/wwdc2025-251_sd.mp4","duration":1159,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"iOS 26 introduces API updates for app audio recording enhancements, including input device selection, high-quality AirPods recording, Spatial Audio capture, audio processing, and the Audio Mix feature during Spatial Audio playback.","end":62},{"start":62,"title":"Input route selection","summary":"AVKit includes a new API, 'AVInputPickerInteraction', that enhances audio input management for content creators using multiple devices. 'AVInputPickerInteraction' allows apps to display a live input selection menu with sound-level metering and microphone mode selection, enabling you to switch audio sources directly within the app without navigating to System Settings. The audio stack remembers the selected device for future use.","end":186},{"start":186,"title":"Recording with AirPods","summary":"Starting in iOS 26, AirPods offer LAV microphone-like sound quality with a new media tuning mode, allowing you to use AirPods as a recording tool. Apps can easily enable this high-quality Bluetooth recording feature through 'AVAudioSession' or 'AVCaptureSession', providing a reliable and convenient high-quality solution with built-in stem controls for easy start and stop.","end":311},{"start":311,"title":"Spatial Audio capturing","summary":"iOS 26 introduces several updates to Spatial Audio recording capabilities. \n\nSpatial Audio capture now allows apps using 'AVAssetWriter' to record in First Order Ambisonics (FOA) format. FOA utilizes four spherical harmonic components to capture a 3D audio scene, enabling immersive Spatial Audio playback with features like head-tracking on AirPods.\n\nNew APIs enable you to adjust the balance of foreground and background sounds using the Audio Mix effect and to save audio-only data in the QuickTime audio format (.qta).\n\nA properly formatted Spatial Audio asset includes two audio tracks: a stereo track in AAC format for compatibility and a Spatial Audio track in the new Apple Positional Audio Codec (APAC) format. Additionally, there is at least one metadata track containing essential playback information.\n\niOS 26 also allows simultaneous operation of 'MovieFileOutput' and 'AudioDataOutput', enabling real-time audio processing and visualization while recording to a file. ","end":664},{"start":664,"title":"Audio Mix","summary":"In iOS and macOS 26, the Cinematic framework introduces new Audio Mix controls for Spatial Audio videos. This feature, like the Photos app's edit feature, allows you to adjust the balance between foreground sounds, such as speech, and background ambient noise. \n\nThe framework provides various mix modes, including Cinematic, Studio, and In-Frame, as well as six additional modes that extract speech or ambience separately. You can implement these controls using UI elements to adjust the effect intensity and rendering style in real-time.\n\nThe new AudioUnit called AUAudioMix enables more specific and customized workflows for apps that don't use AVPlayer. It separates speech and ambience, and allows you to render to different outputs, such as headphones, speakers, or surround sound systems. The framework also includes 'SpatialAudioMixMetadata' that automatically tunes the dialog and ambience components during playback.\n\nA new command-line tool sample project, SpatialAudioCLI, is available for Spatial Audio processing. Download it to get started with Spatial Audio.","end":1159}]},"related":{"activities":["wwdc2025-253","wwdc2025-319"],"resources":[3961,3925,3924,3523,52]}},"wwdc2025-359":{"id":"wwdc2025-359","staticContentId":10047,"eventContentId":359,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/359","languageCode":"eng","description":"Great apps feel clear, intuitive, and effortless to use. In this session, you\u2019ll discover how app design can elevate functionality, communicate purpose, guide people through your content, and use components thoughtfully to keep the experience simple without losing impact. This session is for designers and developers of all skill levels \u2014 as well as anyone curious about design.","title":"Design foundations from idea to interface","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":87,"topicIds":[90,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"257059C7-A05C-4C00-ABEB-894C83BE93A4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/359\/4\/5ad3ea3a-0dda-4b07-bdc3-c638d2a8f709\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/359\/4\/5ad3ea3a-0dda-4b07-bdc3-c638d2a8f709\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/359\/4\/5ad3ea3a-0dda-4b07-bdc3-c638d2a8f709\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/359\/4\/5ad3ea3a-0dda-4b07-bdc3-c638d2a8f709\/downloads\/wwdc2025-359_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/359\/4\/5ad3ea3a-0dda-4b07-bdc3-c638d2a8f709\/downloads\/wwdc2025-359_sd.mp4","duration":1146,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"The Design Evangelism Team at Apple assists designers and developers in crafting superior apps for Apple platforms. This session will focus on four key areas of an app: structure, navigation, content organization, and visual design. By addressing these elements, you can provide more clarity about the purpose, value and interaction patterns of your app. This video will use a fictional vinyl collection app as an example to illustrate these focus areas and opportunity for improving your apps.","end":71},{"start":71,"title":"Structure","summary":"Effective app design relies on a solid structure that provides clarity and ease of use. A well-designed app needs to immediately orient the user, clearly state what actions can be taken, and guide them to the next steps.\n\nEven if an app looks visually appealing, if someone has to work to understand where they are, what they can do, and how to navigate, it will lead to frustration and hesitation.\n\nThe process of improving app design involves organizing and prioritizing information, removing unnecessary features, and simplifying the layout. By doing so, the app's purpose becomes sharper, and the user experience becomes more intuitive and enjoyable.","end":295},{"start":295,"title":"Navigation","summary":"An app's navigation can enhance a feeling of clarity and confidence. The iOS tab bar component is utilized to access main features, but its simplicity is crucial; each extra tab adds complexity. Through careful consideration, non-essential elements are merged, and the primary action, 'Add', is relocated to its most logical context within the app.\n\nThe tab bar is then refined to include three distinct sections with clear, direct labels, and familiar SF Symbols icons, making the app's scope and purpose evident. A toolbar is introduced to provide screen-specific titles and actions, further clarifying the user's location and available options, leading to a more supportive and predictable user experience.","end":499},{"start":499,"title":"Content","summary":"The app's content organization is refined to enhance user experience. Initially, two types of content, Groups and Records, were mixed together, leading to clutter. To address this, the content is split into separate sections.\n\nProgressive disclosure is implemented, showing only essential information upfront and revealing more as users interact. This approach, along with consistent design elements like toolbars, can help orient users and make navigation intuitive.\n\nThe layout is adjusted from a grid to a list format, which is more flexible and usable for structured information. Grouping is a great way to manage large amounts of content. Consider grouping by relevance such as time, progress, or patterns, to make it easier for users to find what they need and reduce decision fatigue.\n\nFamiliar platform components, like collection views, are utilized to display images. Through these thoughtful organization and layout techniques, the app aims to create an intuitive and inviting space for users.","end":808},{"start":808,"title":"Visual Design","summary":"Effective app visual design uses thoughtful elements like hierarchy, typography, images, and color to communicate personality and guide user experience.\n\nThrough analysis and refinement, the example improves the app's layout by implementing visual anchors, system text styles, and a cohesive visual style. This ensures clarity, legibility, and flexibility across different screen conditions and user preferences.\n\nThe example also utilizes semantic colors and adds images to enhance scannability and personality. The result is a simplified, intuitive, and inclusive interface that adapts to peoples needs, making the app more enjoyable and effective to use.","end":1146}]},"related":{"resources":[3111]}},"wwdc2025-287":{"id":"wwdc2025-287","staticContentId":10008,"eventContentId":287,"eventId":"wwdc2025","contentUpdatedAt":"2025-10-27T12:38:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/287","languageCode":"eng","description":"Unleash your creativity with new RealityKit features that can help you build rich 3D content for iOS, iPadOS, macOS, tvOS and visionOS. Learn how you can access ARKit data directly through RealityKit. Explore how you can interact with your 3D content more naturally using the object manipulation feature. Discover some new APIs for scene understanding, environment blending, instancing and much more, all using an interactive sample.","title":"What\u2019s new in RealityKit","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"keywords":["accessories","component","reality","reality composer","reality composer pro","reality converter","realitykit","realitykit audio","realityview","spatial","spatial accessories","spatial computing","spatial photos and videos","spatial tracking","swiftui"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"134EE99D-1022-4C03-BCD2-C0D097D21532","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/287\/4\/23ef24fe-2271-4352-b5af-b350e85dc101\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/287\/4\/23ef24fe-2271-4352-b5af-b350e85dc101\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/287\/4\/23ef24fe-2271-4352-b5af-b350e85dc101\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/287\/4\/23ef24fe-2271-4352-b5af-b350e85dc101\/downloads\/wwdc2025-287_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/287\/4\/23ef24fe-2271-4352-b5af-b350e85dc101\/downloads\/wwdc2025-287_sd.mp4","duration":1568,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"The RealityKit framework, introduced in 2019, enables developers to create immersive 3D apps and games across various Apple platforms, including visionOS, iOS, iPadOS, macOS, and now tvOS. \n\nBuilding on feedback, the latest update introduces several new features, such as direct access to ARKit data, the 'ManipulationComponent' for adding interactions to 3D entities, the 'EnvironmentBlendingComponent' for seamless real-world occlusion, and the 'MeshInstancesComponent' for efficient rendering of multiple 3D models.\n\nThese features are demonstrated through the creation of a spatial puzzle game where players interact with objects to unlock a chest, showcasing how RealityKit enhances the blending of virtual and real-world experiences.  ","end":199},{"start":199,"title":"Anchoring updates","summary":"With this new API, you can directly access ARKit data through RealityKit, enhancing the power of 'AnchorEntities'. By creating a 'SpatialTrackingSession' with plane tracking enabled, you can set up 'AnchorEntities' to filter specific real-world surfaces, such as tables with minimum dimensions.  \n\nWhen the system detects a matching surface, it triggers an 'AnchorStateEvent', providing ARKit data, like transform and extents. This data can then be used to position entities accurately on the anchored surface, ensuring they are centered and aligned to the viewer.","end":412},{"start":412,"title":"ManipulationComponent","summary":"In the immersive space, game objects spawn on suitable surfaces. The 'ManipulationComponent' in RealityKit enables people to pick up, rotate, and swap hands with these 3D entities.  \n\nCalling the 'configureEntity' function automatically adds the necessary components. To prevent objects from resetting after release, set the `releaseBehavior` property to 'stay'.\n\nAn added 'PhysicsBodyComponent' makes objects fall to the floor. The 'ManipulationEvents' API is used to toggle gravity on and off; gravity is turned on when someone releases an object (`WillEnd` event) and turned off when it's picked up (`WillBegin` event), allowing for realistic interactions while maintaining control during manipulation.","end":601},{"start":601,"title":"Scene understanding","summary":"In visionOS, with RealityKit's Scene Understanding API, you can integrate the real-world environment into a game's physics simulation. By utilizing the 'SpatialTrackingSession' API, you can generate a mesh of the surroundings. For game objects to collide with this real-world mesh, the 'SceneUnderstandingFlags' for collision and physics need to be set in the 'SpatialTrackingSession' configuration before starting the session. This update allows game objects to interact realistically with the physical environment, such as dropping them on tables or floors. ","end":678},{"start":678,"title":"EnvironmentBlendingComponent","summary":"With the latest RealityKit update, you can use the 'EnvironmentBlendingComponent' in your immersive space apps to occlude virtual entities  with the real world surroundings. When you add this component and set the blending mode, then entities can be realistically occluded by static real-world objects, creating a more seamless experience.  However, it's important to note that these entities are always drawn behind other virtual objects in the scene and won't be occluded by dynamic moving objects, like people or pets.   ","end":746},{"start":746,"title":"MeshInstancesComponent","summary":"The latest RealityKit update also introduces the 'MeshInstancesComponent', which enhances rendering efficiency by allowing you to draw a single mesh multiple times within an entity. This new component replaces the need to clone entities, significantly reducing memory and processing footprint.    \n\nBy utilizing the 'MeshInstancesComponent', you can provide a list of transforms for each mesh instance, enabling unique appearances through 'CustomMaterials' on supported platforms. This method improves performance by optimizing GPU data transfer.\n\nWhen using this component for large areas, for proper culling, break it into smaller entities. There's a demonstration of how to initialize and populate the 'MeshInstancesComponent' with randomized transforms, creating a playable area with decorations.\n\nTogether these APIs, namely, 'AnchorStateEvent', 'ManipulationComponent', sceneUnderstanding flags, and 'EnvironmentBlendingComponent' \u2014 together enable interactive, real-world-blending AR experiences.","end":988},{"start":988,"title":"Immersive media","summary":"RealityKit is receiving significant updates this year, enhancing its support for immersive media. With a new component, 'ImagePresentationComponent', you can display three types of images: traditional 2D images, spatial photos, and spatial scenes. \n\nSpatial scenes are a notable addition; they're 3D images generated from 2D photos, creating a diorama-like effect with motion parallax, making static images more engaging. To present spatial scenes, you generate them from a 2D image or spatial photo using the 'Spatial3DImage' class, and then set the desired viewing mode. \n\nThe 'VideoPlayerComponent' is also updated to support various immersive video formats, including spatial videos, Apple Projected Media Profile videos such as 180\u00b0 and 360\u00b0 videos, and Apple Immersive Video. You can play these videos in different viewing modes and you can configure comfort settings for Apple Projected Media Profile videos. ","end":1303},{"start":1303,"title":"Accessories and more","summary":"This year's RealityKit update significantly enhances 3D app development. Key updates include the following.\n\nSpatial accessories: RealityKit now supports tracking spatial accessories in six degrees of freedom with haptics, enabling more immersive interactions in Shared and Full space.\n\nSwiftUI integration: New components like 'ViewAttachmentComponent', 'PresentationComponent', and 'GestureComponent' simplify adding SwiftUI views, modal presentations, and gestures to entities.\n\nEntity updates: A new entity attach method streamlines attaching meshes to animated skeletons, and an initializer allows loading entities from in-memory data objects, supporting online scene and USD streaming. \n\nTexture and hover effect support: RealityKit now supports AVIF encoded textures for smaller file sizes without compromising quality. The 'HoverEffectComponent' is updated with 'GroupID's, enabling more control over hover effect activations. \n\nPost-processing effects: 'RealityViews' now support post-processing effects, allowing you to add custom effects like bloom using Metal Performance Shaders, 'CIFilter's, or custom shaders, across iOS, iPadOS, macOS, and tvOS.","end":1568}]},"related":{"activities":["wwdc2025-274","wwdc2025-296","wwdc2025-289"],"resources":[4110,3980,3930]}},"wwdc2025-328":{"id":"wwdc2025-328","staticContentId":9858,"eventContentId":328,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/328","languageCode":"eng","description":"Get the latest updates for App Store Connect, including the new web UI for build delivery and enhancements to TestFlight notifications. We\u2019ll also discuss new app discovery features and enhancements, such as keywords for custom product pages, Accessibility Nutrition Labels, and age ratings updates. Additionally, learn about new functionalities like In-App Purchase offer codes and review summarization tools. ","title":"What\u2019s new in App Store Connect","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["metadata","offers"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"650FDA3F-6D8E-4FC5-B348-6FC65B23E37C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/328\/6\/e2b4ccaa-ad5a-421e-898e-2f1825e6c7ab\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/328\/6\/e2b4ccaa-ad5a-421e-898e-2f1825e6c7ab\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/328\/6\/e2b4ccaa-ad5a-421e-898e-2f1825e6c7ab\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/328\/6\/e2b4ccaa-ad5a-421e-898e-2f1825e6c7ab\/downloads\/wwdc2025-328_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/328\/6\/e2b4ccaa-ad5a-421e-898e-2f1825e6c7ab\/downloads\/wwdc2025-328_sd.mp4","duration":1551,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about recent improvements to App Store Connect across the web, iPhone, iPad, and the App Store Connect API. Enhancements include a streamlined app management and distribution process, new tools for app discovery, and an updated way to inform users if an app is suitable for them.","end":82},{"start":82,"title":"Manage your app","summary":"App Store Connect is enhancing its build management system for developers. Starting later this year, you can upload builds using the App Store Connect API, providing new flexibility for integrating custom workflows. \n\nBuild uploads are now displayed in a new section within App Store Connect, offering real-time status updates and retaining all builds, even those that fail. This allows you to reuse build numbers and access detailed information on warnings or errors.\n\nAdditionally, you receive real-time notifications for build status changes through Webhooks. Apple is introducing Apple Hosted Background Assets to help manage build size. This provides an enhanced way to distribute assets of up to 200GB for your app. You can update these Apple Hosted assets to introduce new content exactly when you want.\n\nTestFlight feedback and notifications are now being brought to the App Store Connect app on iPhone and iPad, enabling you to review feedback, screenshots, and crash logs in real-time. Webhooks and new APIs for TestFlight feedback further support automation. These improvements aim to increase the connection between developers and their testing community to enhance app quality.","end":514},{"start":514,"title":"Get discovered","summary":"The App Store is introducing several enhancements to boost app discoverability: App Store Tags, custom product pages, and offer codes.\n\nApp Store Tags, generated using large language models and human-reviewed, will highlight specific features and functionalities of apps. Users can tap on tags to find personalized collections of similar apps. Tags will appear in key areas in the App Store such as alongside app categories and in search results. You can view and customize tags associated with your apps in App Store Connect.\n\nKeywords are introduced to custom product pages. You can assign keywords for your app to tailor how your app appears in search results. Keywords can be assigned without needing to submit for review.\n\nOffer codes are expanded to include consumables, non-consumables, and non-renewing subscriptions. You can generate free and discount codes, set redemption eligibility criteria, and test codes in the sandbox environment. Offer codes can be distributed through deep links, QR codes, or in-app entry, and automatic app installation will occur upon redemption if the user doesn't already have the app.","end":899},{"start":899,"title":"Inform people","summary":"The App Store is introducing several new features to enhance user trust and transparency: review summaries, age rating system updates, and Accessibility Nutrition Labels.\n\nReview Summaries, generated using large language models, provide concise overviews of customer reviews for apps and games with a sufficient number of customer reviews. These summaries are regularly refreshed and you can review them in App Store Connect.\n\nThe age-rating system is improved with 3 new thresholds, offering greater granularity to better suit different age groups and regional requirements. You can declare in-app controls and capabilities, such as messaging, user-generated content, and advertising, which may influence the age rating.\n\nAccessibility Nutrition Labels are introduced and displayed in a new section on an app\u2019s product page. These labels inform users about the specific accessibility features supported by the app, declared independently for each device. Refer to the session \u201cEvaluating your app for Accessibility Nutrition Labels\u201d for guidance on accurately determining and declaring accessibility support.","end":1331},{"start":1331,"title":"Explore more","summary":"There are additional updates and enhancements across the developer and App Store ecosystem. Support is now added for over 100 new metrics in App Analytics in App Store Connect for better business growth insights. \n\nGame Center has been revamped with an all-new games app and improved multiplayer and social experiences. The App Review submission process is also refined, allowing developers to submit new review items, group items into draft submissions, and use an updated user interface and submission flow.\n\nApple Developer Support is available to assist developers with any issues. Explore the new capabilities, provide feedback, and refer to the App Store Connect Help guide for detailed information.","end":1551}]},"related":{"activities":["wwdc2024-10110","wwdc2025-324","wwdc2025-325","wwdc2025-224","wwdc2025-252","wwdc2025-215","wwdc2025-241"],"resources":[4033,4032,3954,3951,3950,3949,3895]}},"wwdc2025-248":{"id":"wwdc2025-248","staticContentId":10049,"eventContentId":248,"eventId":"wwdc2025","contentUpdatedAt":"2025-08-21T13:37:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/248","languageCode":"eng","description":"Design generative AI experiences that leverage the strengths of the Foundation Models framework. We\u2019ll start by showing how to design prompts for the on-device large language model at the core of Apple Intelligence. Then, we\u2019ll introduce key ideas around AI safety, and offer concrete strategies to make your generative AI features safe, reliable, and delightful.","title":"Explore prompt design & safety for on-device foundation models","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":94,"topicIds":[87,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6F92E66E-52A5-4289-9F76-A3E6983F9250","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/248\/7\/5f4b2840-b27c-42a1-992f-179475029fb9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/248\/7\/5f4b2840-b27c-42a1-992f-179475029fb9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/248\/7\/5f4b2840-b27c-42a1-992f-179475029fb9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/248\/7\/5f4b2840-b27c-42a1-992f-179475029fb9\/downloads\/wwdc2025-248_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/248\/7\/5f4b2840-b27c-42a1-992f-179475029fb9\/downloads\/wwdc2025-248_sd.mp4","duration":1331,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"The new Foundation Models framework simplifies designing generative AI experiences for apps across Apple devices. Generative AI, powered by Large Language Models (LLMs), can reason and generate text in natural language. The framework enables you to utilize on-device LLMs, which are general-purpose and integrated into iOS, iPadOS, macOS, and VisionOS. ","end":150},{"start":150,"title":"Design for on-device LLM","summary":"This on-device language model is optimized for various common language tasks such as summarization, classification, conversations, text composition, and revision. Be aware that the model's small size means it has some limitations. It may not perform as well on complex reasoning tasks, math, or code generation, and its world knowledge is limited to events before its training date. However, it can be useful for creative tasks like generating dialogue or ideas, especially when accuracy is not critical. \n\n\n\n","end":374},{"start":374,"title":"Prompting best practices","summary":"You can control the system model's responses by specifying the desired length of output using phrases like \"in three sentences\" or \"in detail.\" You can also assign roles to the model, or supply examples of desired outputs, to enhance the model's performance. Finally, you can influence the model's behavior across multiple prompts by including instructions, such as specifying the tone or purpose of the responses.","end":663},{"start":663,"title":"AI safety","summary":"The Foundation Models framework provides a safe starting point for app developers using generative AI, with built-in guardrails trained by Apple to block harmful inputs and outputs. However, you are still responsible for ensuring the safety and appropriateness of your app's content. A layering-based approach to safety is recommended, with the framework's guardrails as the foundation, followed by safety instructions in the model, careful handling of user input, and finally, use-case-specific mitigations. This approach means that safety problems occur only when multiple layers fail.\n","end":1117},{"start":1117,"title":"Evaluate and test","summary":"Effective evaluation and testing of generative AI-powered apps involves curating diverse datasets, including those for major use cases and potential safety triggers. Use automation to run datasets through your AI features end-to-end. Manual inspection of the results is suitable for small datasets, while larger ones can be scaled using another large language model to automatically grade responses. Make sure to handle guardrail errors, incorporate safety into instructions, and balance between flexibility and safety when including user input in your prompts. ","end":1331}]},"related":{"resources":[4021,3962,3911,595]}},"wwdc2025-224":{"id":"wwdc2025-224","staticContentId":9917,"eventContentId":224,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/224","languageCode":"eng","description":"Use Accessibility Nutrition Labels on your App Store product page to highlight the accessibility features supported by your app. You\u2019ll learn how to evaluate your app\u2019s accessibility features \u2014 such as VoiceOver, Larger Text, Captions, and more \u2014 and choose accurate and informative Accessibility Nutrition Labels. You\u2019ll also find out how to approach accessibility throughout the design phase.","title":"Evaluate your app for Accessibility Nutrition Labels","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":82,"topicIds":[82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"163752B6-501D-4816-BA92-DBF33CCF0CD2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/224\/5\/da32cbb0-5f05-4589-8055-fe7a473056e9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/224\/5\/da32cbb0-5f05-4589-8055-fe7a473056e9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/224\/5\/da32cbb0-5f05-4589-8055-fe7a473056e9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/224\/5\/da32cbb0-5f05-4589-8055-fe7a473056e9\/downloads\/wwdc2025-224_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/224\/5\/da32cbb0-5f05-4589-8055-fe7a473056e9\/downloads\/wwdc2025-224_sd.mp4","duration":1448,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Welcome","summary":"Learn how to evaluate your app to add Accessibility Nutrition Labels. Core accessibility principles, design best practices, app testing, implementing accessibility APIs, and ensuring that video and audio-only media is accessible are covered.","end":58},{"start":58,"title":"Meet Accessibility Nutrition Labels","summary":"App accessibility is important and enables a wider audience. Accessibility Nutrition Labels on the App Store inform people about the supported accessibility features of your app. \n\nIdentify your app's common tasks \u2014 such as login, purchase, and settings \u2014 and then evaluate these tasks against all available accessibility features available in Accessibility Nutrition Labels. Test on every device that your app supports. \n\nAccurate representation of supported features is crucial, and you can consult Accessibility Nutrition Labels documentation for evaluation criteria. When you add Accessibility Nutrition Labels for your app in App Store Connect, all of your app\u2019s supported accessibility features then appear on the product page.","end":186},{"start":186,"title":"Evaluate your app","summary":"Accessibility starts in app design. By designing with inclusivity in mind and following accessibility guidelines, you can create apps that everyone can enjoy and use effectively. Testing with assistive technologies and engaging with the disability community are highly recommended to ensure accessibility.\n\nAccessibility areas to consider and evaluate are text, color, motion, interaction (like Voice Control and VoiceOver), and media, like captions and audio descriptions.\n\nSpecific visual Accessibility Nutrition Labels include the following:\n\nSufficient Contrast: Use high contrast with color to ensure legibility. Verify contrast when the 'Increase Contrast' setting is enabled.\n\nDark Interface: Dark interfaces are crucial for people who are sensitive to light. Support Dark Mode, and test to ensure compatibility with other accessibility features providing dark interfaces, like Smart Invert.\n\nLarger Text: People should be able to scale text size up to at least 200%. Make sure your apps accommodate larger text without overlapping or truncation. Dynamic Type is recommended to achieve this effectively.\n\nDifferentiate Without Color Alone: People can perceive color differently. Use shapes, icons, or text in addition to color to communicate important information.\n\nReduced Motion: Review your app\u2019s commons tasks and avoid zooming or sliding transitions, flashing or blinking, animations that play without user interaction, and parallax effects when the Reduced Motion setting is enabled.\n\nWorking through the Landmarks app as an example, James and Lisa demonstrate how to evaluate an app for each feature. For people with larger text needs, test to identify and address any issues \u2014 such as misalignment, truncation, or nonscrolling text fields \u2014 that might hinder usability. For color, ensure you use shapes, icons, or text in addition to color to convey important information. For motion, ensure you minimize or avoid triggers in your apps.\n\nUse Voice Control to test whether people can complete common tasks using only voice commands, and use VoiceOver to ensure all elements have descriptive labels. Get familiar with how to use VoiceOver \u2014 including using gestures like swiping, double-tapping, and three-finger swiping \u2014 to move through your app's content.\n\nWhen testing consider media accessibility features, like captions and audio descriptions.","end":1304},{"start":1304,"title":"Indicate feature support","summary":"Evaluated for accessibility, the Landmarks app supports several key features, including Sufficient Contrast, Dark Interface, Reduced Motion, Voice Control, and VoiceOver. The app's supported features are selected for Accessibility Nutrition Labels in App Store Connect and are ready to be published.\n\nRemember to consider accessible design, evaluate common tasks in your app for accessibility, and showcase your app\u2019s accessibility features using Accessibility Nutrition Labels.","end":1448}]},"related":{"activities":["wwdc2024-10074"],"resources":[3895,3669,1798]}},"wwdc2025-286":{"id":"wwdc2025-286","staticContentId":9965,"eventContentId":286,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/286","languageCode":"eng","description":"Learn how to tap into the on-device large language model behind Apple Intelligence! This high-level overview covers everything from guided generation for generating Swift data structures and streaming for responsive experiences, to tool calling for integrating data sources and sessions for context management. This session has no prerequisites.","title":"Meet the Foundation Models framework","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ai","machine learning"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5647196D-90F3-4FC0-851F-7CF0F69BE7D2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/286\/4\/6f221dca-f35f-4dad-bfec-0ec0970849bb\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/286\/4\/6f221dca-f35f-4dad-bfec-0ec0970849bb\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/286\/4\/6f221dca-f35f-4dad-bfec-0ec0970849bb\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/286\/4\/6f221dca-f35f-4dad-bfec-0ec0970849bb\/downloads\/wwdc2025-286_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/286\/4\/6f221dca-f35f-4dad-bfec-0ec0970849bb\/downloads\/wwdc2025-286_sd.mp4","duration":1404,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"The Foundation Models framework provides you with access to an on-device Large Language Model for macOS, iOS, iPadOS, and visionOS. The framework enables you to create personalized and innovative features such as search suggestions, itineraries, and in-game dialog, all while prioritizing user privacy as data remains on-device and can operate offline. \n\nThe framework is optimized for content generation, text summarization, and user input analysis. To assist developers, Apple has prepared a series of videos that cover the framework's overview, guided generation, streaming APIs, tool calling, multi-turn support, and seamless integration into the Apple developer ecosystem.","end":125},{"start":125,"title":"The model","summary":"Xcode's new Playgrounds feature is the optimal starting point to experiment with prompting the on-device large language model. With just a few lines of code, you can test prompts and see the model's responses in real-time. \n\nThe on-device model, though impressive with 3 billion parameters, is optimized for specific tasks like summarization, extraction, and classification, and is not suitable for world knowledge or advanced reasoning. Break down tasks into smaller pieces to maximize its effectiveness.\n\nGuided Generation, a core component of the FoundationModels framework, addresses the challenge of integrating model output into apps. It enables you to build features more reliably by providing a structured approach to model generation, overcoming the limitations of relying on the model to produce easily parsable formats like JSON or CSV.","end":320},{"start":320,"title":"Guided generation","summary":"With the import of FoundationModels, two new macros, '@Generable' and '@Guide', are introduced. '@Generable' enables the description of types for model-generated instances, which can be constructed from primitives, arrays, and composed or recursive types. '@Guide' provides natural language descriptions of properties and controls generated values, ensuring structural correctness through constrained decoding. \n\nThis Guided Generation approach simplifies prompts, improves model accuracy, and speeds up inference. It allows you to receive rich Swift objects directly from the model, which can be easily mapped onto engaging views, all without needing to specify the output format in the prompt.","end":465},{"start":465,"title":"Snapshot streaming","summary":"The FoundationModels framework differs from traditional token-based delta streaming for large language models. Instead, it streams snapshots \u2014 partially generated responses with optional properties \u2014 which are more robust and convenient for handling structured output. \n\nThis approach leverages the '@Generable' macro, which produces a 'PartiallyGenerated' type mirroring the outer structure with optional properties. The 'streamResponse' method returns an async sequence of these partially generated types, enabling seamless integration with declarative frameworks like SwiftUI.\n\nUse SwiftUI animations and transitions to enhance user experience during streaming. Proper consideration of view identity and property declaration order is also crucial for optimal results.","end":688},{"start":688,"title":"Tool calling","summary":"Tool calling enables an AI model to execute custom code within an app, enhancing its capabilities. This feature allows the model to autonomously decide when to use external tools to retrieve information or perform actions, such as querying restaurants, hotels, or weather data, based on the context of the person's request. \n\nThe model can integrate with various sources of truth, like MapKit, to provide accurate and up-to-date information. This process involves the model generating tool calls, which are then automatically executed by the FoundationModels framework, and the results are inserted back into the conversation transcript for the model to use in formulating its final response.","end":971},{"start":971,"title":"Stateful session","summary":"The Foundation Models framework enables stateful sessions with an on-device general-purpose model. You can provide custom instructions to guide the model's responses, specifying style and verbosity, though this is optional. You set your instructions, which are distinct from user prompts, and the model is trained to obey instructions over prompts to enhance security. \n\nWithin a session, the model retains context across multi-turn interactions, allowing it to understand and refer to previous prompts and responses. The transcript property can be used to inspect these interactions.\n\nThe framework also offers built-in specialized use cases, such as the content-tagging adapter, which supports tag generation, entity extraction, and topic detection. Customize these adapters for specific needs.\n\nBefore creating a session, check the model's availability because it can only run on Apple Intelligence-enabled devices in supported regions. Proper error handling is also essential to manage potential issues like guardrail violations, unsupported languages, or exceeded context windows.","end":1262},{"start":1262,"title":"Developer experience","summary":"Playgrounds enable rapid iteration of prompts for large language models within an app project, allowing you to access all project types. The new Instruments app profiling template helps optimize latency by identifying areas for improvement in model requests and prompt verbosity. \n\nYou are encouraged to provide feedback through Feedback Assistant","end":1404}]},"related":{"activities":["wwdc2025-360","wwdc2025-248","wwdc2025-259","wwdc2025-301","wwdc2025-8267","wwdc2025-8153","wwdc2025-440","wwdc2025-8157"],"resources":[3962]}},"wwdc2025-317":{"id":"wwdc2025-317","staticContentId":10062,"eventContentId":317,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/317","languageCode":"eng","description":"Explore exciting new features in visionOS 26. Discover enhanced volumetric APIs and learn how you can combine the power of SwiftUI, RealityKit and ARKit. Find out how you can build more engaging apps and games using faster hand tracking and input from spatial accessories. Get a sneak peek at updates to SharePlay, Compositor Services, immersive media, spatial web, Enterprise APIs, and much more.","title":"What\u2019s new in visionOS 26","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["visionOS"],"keywords":["arkit","audio","audio &amp; video","business","businessconnect","compositorservices","enterprise","games","immersive","occlusion","quicklook","quick look","realitykit","realitykit audio","safari","safari &amp; web","shareplay","spatial","spatial accessories","spatial audio","spatial computing","swiftui","tabletopkit","video","visionos","web","widgetkit"],"primaryTopicID":85,"topicIds":[84,89,87,91,95,98,100,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E7CF3FC8-4F0D-49AD-A2E4-43DDE07FE109","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/317\/4\/4700af86-65f4-429a-b0a7-7dd18247c03d\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/317\/4\/4700af86-65f4-429a-b0a7-7dd18247c03d\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/317\/4\/4700af86-65f4-429a-b0a7-7dd18247c03d\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/317\/4\/4700af86-65f4-429a-b0a7-7dd18247c03d\/downloads\/wwdc2025-317_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/317\/4\/4700af86-65f4-429a-b0a7-7dd18247c03d\/downloads\/wwdc2025-317_sd.mp4","duration":2327,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about updates to visionOS 26, including new volumetric APIs, system level features, improved gaming and SharePlay capabilities, Apple Immersive Video integration, Safari spatial experiences, enterprise tools, and more.","end":94},{"start":94,"title":"Volumetric features","summary":"In visionOS 26, you can use SwiftUI to create more immersive volumetric experiences for Apple Vision Pro apps. New features in SwiftUI build on existing capabilities and make it easier to work with 3D content.\n\nYou can create rich 3D layouts using familiar 2D tools and modifiers, and compose 3D scenes with depth alignments and layout-aware rotations that ensure your content is legible and visually appealing. Volumetric experiences now include UI presentations, such as popovers, alerts, and sheets, that you can display inside and on top of volumes.\n\nApps blend more seamlessly with the real world by rendering content outside their bounds, creating a more natural and immersive feel. The new Object Manipulation API lets people interact more easily with virtual objects using natural hand movements.\n\nSwiftUI, RealityKit, and ARKit are more integrated, providing you with a powerful toolbox to build spatial experiences. New APIs enable easy movement of views and entities between scenes, observable RealityKit entities in SwiftUI, and direct attachment of SwiftUI gestures to RealityKit entities.","end":628},{"start":628,"title":"System features","summary":"visionOS 26 introduces several new system features.\n\nThe Foundation Models framework has new machine learning capabilities, enabling on-device language model access and autonomous actions. \n\nImage Playground, available across visionOS, iOS, and macOS, now lets people create images using ChatGPT, apply new styles like oil painting, and customize expressions.\n\nA new speech-to-text API, SpeechAnalyzer, powered by Swift, enables you to build advanced speech recognition features into your app. SpeechAnalyzer runs entirely on-device, ensuring data privacy.\n\nvisionOS now allows windows, scenes, and content to persist in the same physical location even across system reboots. Spatial widgets can snap to walls and tables, and 'levelOfDetail' API enables you to adjust widget appearance and detail based on proximity.","end":921},{"start":921,"title":"Games and spatial accessories","summary":"Hand tracking is up to three times faster in visionOS 26, making games more responsive. Apple Vision Pro now supports two new spatial accessories: the Sony PlayStation VR2 Sense controller for immersive gaming experiences, and the Logitech Muse for precise tasks like drawing and sculpting. You can integrate these accessories using familiar frameworks. Additionally, visionOS 26 introduces increased memory limit support, enabling high-end compatible iPad games to run on Apple Vision Pro.\n\nFeatures like the new 'progressive' immersion style treatments, hover effects, dynamic render quality, and macOS spatial rendering let you create more dimensional and visually stunning apps and games. You can use new APIs in TabletopKit to build more flexible and engaging shared gaming experiences, all while handling networking and input seamlessly.","end":1380},{"start":1380,"title":"Shared experiences","summary":"visionOS 26 brings nearby window sharing for people in the same room, ARKit support for shared world anchors, and improved Spatial Personas. You can integrate these features into existing SharePlay apps for seamless virtual interactions in the same room.","end":1503},{"start":1503,"title":"Immersive media ecosystem","summary":"People use Apple Vision Pro to relive memories through spatial photos and videos, and watch 2D, 3D, and spatial videos, including Apple Immersive Video. visionOS 26 introduces system-level support for three new types of media experiences: 180\u00ba, 360\u00ba, and wide-field-of-view media captured by popular third-party cameras like Canon, GoPro, and Insta360. You create these experiences with the Apple Projected Media Profile (APMP), a metadata-based approach that enables correct playback and editing workflows for these formats.\n\nAPMP automatically generates metadata for select cameras and corrects wide-angle fisheye lens distortion, making video content more immersive. The combination of media support, new tools for creators, and enhanced simulator capabilities opens up new creative possibilities and makes Apple Vision Pro the leading device for immersive media consumption and creation.","end":1864},{"start":1864,"title":"Spatial web","summary":"The new Spatial Browsing feature in Safari transforms pages into immersive 3D environments. People can watch videos while browsing, interact with inline spatial media, and drag 3D models into the real world using Quick Look. You can embed 3D models and spatial videos into web pages with a simple, declarative API.\n\nAdditionally, a new developer preview called Web Backdrop lets you offer custom immersive environments through HTML markup, and a new Look to Scroll feature enables hands-free navigation using eye movements.","end":2053},{"start":2053,"title":"New enterprise APIs","summary":"visionOS 26 introduces several enhancements to improve enterprise experiences in industries like healthcare, manufacturing, and transportation. These enhancements include shared space main camera access - you to run camera-enabled experiences concurrently with other spatial apps,  stereo camera access - allowing both left and right eye camera feeds to be available simultaneously, the new camera region API allows you to receive an enhanced, stabilized video feed of a select region of interest, and window follow mode - enabling apps to automatically follow the your position, as you move around in your space.\n\nThere are also new APIs to protect sensitive data by disabling content captures, and enable apps to follow the user's position. You can protect content with a single view modifier, 'contentCaptureProtected'. The Return to Service feature simplifies device sharing within organizations by erasing sensitive information between sessions.\n\nQuickStart enhancements speed up device setup, and you can now create locally shared experiences using enterprise infrastructure. These improvements help make Apple Vision Pro more integrated and secure for business use.","end":2327}]},"related":{"activities":["wwdc2025-294","wwdc2025-256","wwdc2025-287","wwdc2025-273","wwdc2025-290","wwdc2025-274","wwdc2025-286","wwdc2025-259","wwdc2025-289","wwdc2024-10093","wwdc2025-318","wwdc2025-304","wwdc2025-296","wwdc2025-297","wwdc2025-403","wwdc2025-237","wwdc2025-223"],"resources":[4038,4037,3740]}},"wwdc2025-257":{"id":"wwdc2025-257","staticContentId":9902,"eventContentId":257,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/257","languageCode":"eng","description":"Learn how to support EnergyKit in your app so people can optimize electricity usage at home. This can help people run appliances or charge EVs during times when electricity is cleaner and cheaper. Get details about onboarding, generating a charging schedule, and providing energy usage insights back to people through electricity usage feedback.","title":"Optimize home electricity usage with EnergyKit","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["apple 2030"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E8DACC4C-3776-4F79-81AC-C94B12639A6C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/257\/5\/af3f4fb6-a561-4208-8035-3f6a77252946\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/257\/5\/af3f4fb6-a561-4208-8035-3f6a77252946\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/257\/5\/af3f4fb6-a561-4208-8035-3f6a77252946\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/257\/5\/af3f4fb6-a561-4208-8035-3f6a77252946\/downloads\/wwdc2025-257_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/257\/5\/af3f4fb6-a561-4208-8035-3f6a77252946\/downloads\/wwdc2025-257_sd.mp4","duration":928,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"The EnergyKit framework enables you to integrate local electricity grid insights into your apps, so people can reduce usage, save money, and prioritize cleaner energy sources when using devices such as smart thermostats, or charging electric vehicles.","end":128},{"start":128,"title":"Onboard EnergyKit","summary":"To onboard EnergyKit, users opt-in to clean energy charging for a specific location. Your app retrieves the location (known as an energy venue) and stores its identifier.","end":208},{"start":208,"title":"Generate a charging schedule","summary":"EnergyKit provides electricity guidance, based on the location, grid info, and utility data, to create a clean energy charging schedule. It can suggest \"reduce\" actions (for devices like smart thermostats) or \"shift\" actions (for uses like electric vehicle charging). Electricity guidance prioritizes cleaner, cheaper off-peak hours, optimizing cost and environmental impact.","end":455},{"start":455,"title":"Insights","summary":"EnergyKit insights help simplify the presentation of electricity information for users, and can categorize electricity usage based on grid cleanliness. \n\nFor electric vehicle manufacturers to generate insights, apps provide feedback to EnergyKit in the form of load events which track progress during the charging session. By batching and submitting these events, EnergyKit can accurately analyze the charging data.","end":898},{"start":898,"title":"Next steps","summary":"Adopt EnergyKit in your apps that manage electricity usage. For more details, see the sample code that accompanies this session.","end":928}]},"related":{"activities":["wwdc2025-266","wwdc2025-227"],"resources":[3920,3913]}},"wwdc2025-324":{"id":"wwdc2025-324","staticContentId":9859,"eventContentId":324,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/324","languageCode":"eng","description":"Learn how the new Webhook API can provide you with real-time notifications from App Store Connect. We\u2019ll also introduce new APls that can help you manage user feedback and build delivery, and discuss how to integrate these tools into your development workflow to improve efficiency and streamline your processes.","title":"Automate your development process with the App Store Connect API","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["json","webhook"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"697CD6B5-701D-4991-9C76-7C37735BCD16","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/324\/4\/73f2b9d1-c998-4828-a323-9613bc559bd3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/324\/4\/73f2b9d1-c998-4828-a323-9613bc559bd3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/324\/4\/73f2b9d1-c998-4828-a323-9613bc559bd3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/324\/4\/73f2b9d1-c998-4828-a323-9613bc559bd3\/downloads\/wwdc2025-324_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/324\/4\/73f2b9d1-c998-4828-a323-9613bc559bd3\/downloads\/wwdc2025-324_sd.mp4","duration":999,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"App Store Connect now has an enhanced API suite to streamline the app development process. The new APIs, including the Webhooks API, BuildUpload API, and Feedback API, enable you to automate key tasks such as app management, TestFlight distribution, build uploads, and feedback collection. \n\nBy automating these iterative steps \u2014 from build uploads to feedback incorporation \u2014 you can respond more swiftly to user feedback, fix bugs faster, and enhance the overall user experience, ultimately accelerating your app-development cycle.","end":116},{"start":116,"title":"Webhook notifications","summary":"App Store Connect now has Webhook notifications, revolutionizing how you receive updates about your apps. Webhooks enable push communication between servers, replacing the need for constant polling. \n\nYou can set up webhook listeners by providing App Store Connect with the URL of your server endpoint. When specific events occur, such as build upload completion, feedback submissions, or beta state changes, App Store Connect sends a POST request to this URL that contains relevant information.\n\nThis new feature allows you to build event-driven workflows, making the development cycle more efficient. By registering webhooks through the App Store Connect website or API, you can ensure your systems receive timely and secure notifications, enabling you to take immediate actions and streamline your app-management processes.","end":410},{"start":410,"title":"Build upload API","summary":"The new build upload API for App Store Connect helps you automate the build upload process using any language or platform. This API provides standardized instructions and well-formatted error messages for efficient automation. \n\nThe process involves creating a 'BuildUpload' with version and target platform details, then specifying the build file details. App Store Connect responds with instructions for uploading the build binary, which may be split into chunks for large files. \n\nOnce the binary is uploaded, notify App Store Connect, which then processes the build. Webhook notifications inform you when the build processing is complete, transitioning from the 'PROCESSING' to 'COMPLETE' state, allowing you to proceed to the next step.","end":678},{"start":678,"title":"Beta testing builds","summary":"After a build is processed by App Store Connect, you can distribute it to beta testers through TestFlight. Internal testers can receive builds directly, while external testers require a Beta App Review submission. The TestFlight APIs automate this distribution process. \n\nA build beta-state webhook event notifies you immediately when TestFlight beta review is complete, indicating the build is ready for external testing. The API documentation provides comprehensive details on these features.","end":771},{"start":771,"title":"Feedback API","summary":"The Feedback API and webhook events enhance TestFlight feedback management. You now receive real-time webhook notifications for new screenshot and crash feedback. These notifications include basic feedback type and instance information, with the full details accessible via the Feedback API. \n\nThe API allows you to retrieve device information, screenshot URLs, and crash logs programmatically. This new capability enables swift responses to feedback, improves user experience, and streamlines the app-development process, complementing existing APIs for build uploads and other functionalities.","end":905},{"start":905,"title":"Additional development APIs","summary":"App Store Connect's new APIs and webhook events automate app version state changes, streamlining the development process from creation to release. Build webhook listeners and implement reactive behaviors to automate tasks, so you can focus on enhancing user experience. Explore the full range of App Store Connect APIs to further expedite your development cycle. \n","end":999}]},"related":{"activities":["wwdc2025-325","wwdc2025-328"],"resources":[4051,4050,4049,4048,4034,463]}},"wwdc2025-316":{"id":"wwdc2025-316","staticContentId":9961,"eventContentId":316,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/316","languageCode":"eng","description":"Discover how understanding disability can help you create better apps for everyone. Find out how to make your apps more inclusive by supporting multiple types of interaction, providing customization, and adopting accessibility APIs.","title":"Principles of inclusive app design","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":87,"topicIds":[82,90,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F5AEB5B6-FF48-4201-B110-A0EDA465F3B4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/316\/6\/59b25911-3ac3-41d5-a2db-2175a37a118f\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/316\/6\/59b25911-3ac3-41d5-a2db-2175a37a118f\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/316\/6\/59b25911-3ac3-41d5-a2db-2175a37a118f\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/316\/6\/59b25911-3ac3-41d5-a2db-2175a37a118f\/downloads\/wwdc2025-316_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/316\/6\/59b25911-3ac3-41d5-a2db-2175a37a118f\/downloads\/wwdc2025-316_sd.mp4","duration":1270,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Designing inclusive apps involves considering various aspects of people's characteristics and experiences \u2013 including language, race, ethnicity, and culture. The focus of this talk is on disability, which is a universal part of the human experience. By incorporating disability into your design process, you can make more thoughtful decisions and ultimately create better apps for everyone.\n\nApproximately one in seven people globally has a disability. Designing with disability in mind benefits everyone, as temporary or permanent impairments can affect anyone at some point in their life.  \n\nThere are five main categories to consider when thinking about disability: vision, hearing, motor, speech, and cognitive abilities. Each of these senses exists on a spectrum, so it's crucial to avoid making assumptions about what people's specific individual needs are. ","end":235},{"start":235,"title":"The inclusion gap","summary":"Disability is not solely determined by physical or mental characteristics but is significantly influenced by the environment. Society often makes implicit assumptions about human abilities based on age and development, leading to the design of physical and digital spaces that exclude those who deviate from these norms. \n\nThis 'inclusion gap' arises when there is a mismatch between what individuals can do and what society expects. The presence of this gap can create barriers, but it also drives innovation. Examples of such innovations include microphones, glasses, and curb cuts, which benefit everyone, not just those with specific disabilities.\n\nInclusive design can make society more flexible and convenient for all. To create more inclusive products and spaces, avoid assumptions, involve the disability community in the process, and consider supporting multiple senses, providing customization, adopting accessibility APIs, and tracking inclusion debt.","end":535},{"start":535,"title":"Support multiple senses","summary":"To create an inclusive app, consider how people with different abilities will interact with it. This involves providing multiple ways to access and input information, such as captions for videos, which benefit both deaf and hard-of-hearing users and those in quiet environments.\n\nIn the new Accessibility Reader feature, people can customize their reading experiences through visual text, audio, and highlighting. This is a great example of allowing people to experience content in a way that works for them. Another great example is the 3rd party recipe app Crouton, which enables people to import recipes via image, camera, or text, and also offers a hands-free mode for those with physical limitations.\n\nBy exploring different design options like visuals, audio, or haptics, you can make your apps accessible to a wider audience, closing the inclusion gap.","end":756},{"start":756,"title":"Provide customization","summary":"Adding customization to your app is crucial for enhancing inclusivity beyond multi-sensory design. By allowing people to personalize the UI and interactions for each sense, apps can better cater to individual needs and preferences. \n\nExamples like Accessibility Reader and Carrot Weather demonstrate this effectively. Accessibility Reader enables people to adjust text size, colors, and fonts, while Carrot Weather offers customizable visuals and charts, ranging from data-rich to minimalist layouts, making the app accessible and user-friendly for a wider audience, including those with cognitive disabilities.","end":867},{"start":867,"title":"Adopt Accessibility API","summary":"After providing customization, adopt Accessibility APIs to ensure your apps work seamlessly with assistive technologies. These technologies, such as VoiceOver, Switch Control, Voice Control, and Larger Text, enable people with disabilities to interact with devices effectively. \n\nBy utilizing these APIs, you can make your apps more inclusive. Blackbox, a puzzle game, is a great example of an app that has successfully implemented accessibility API to make their game available to everyone. Blackbox uses VoiceOver, audio labels, and audio and haptic design to allow blind or low-vision players to navigate and solve challenges.","end":1126},{"start":1126,"title":"Track inclusion debt","summary":"Designing inclusive apps is an iterative process. Track inclusion debt that arises during app development. By acknowledging and actively seeking to understand this gap, you can collaborate with people with disabilities to make conscious design decisions and close it. This process leads to more flexible and inclusive apps, benefiting everyone and creating a more accessible environment.","end":1270}]},"related":{"activities":["wwdc2025-224","wwdc2021-10275","wwdc2021-10304"],"resources":[3669,3558]}},"wwdc2025-360":{"id":"wwdc2025-360","staticContentId":10048,"eventContentId":360,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/360","languageCode":"eng","description":"Tour the latest updates to machine learning and AI frameworks available on Apple platforms. Whether you are an app developer ready to tap into Apple Intelligence, an ML engineer optimizing models for on-device deployment, or an AI enthusiast exploring the frontier of what is possible, we\u2019ll offer guidance to help select the right tools for your needs.","title":"Discover machine learning & AI frameworks on Apple platforms","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ai","machine learning"],"primaryTopicID":94,"topicIds":[90,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"51620FBA-75C7-46B5-BCBA-800F38AEE3A5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/360\/5\/ea6bc2a8-c1b8-4735-857d-4526abe1348a\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/360\/5\/ea6bc2a8-c1b8-4735-857d-4526abe1348a\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/360\/5\/ea6bc2a8-c1b8-4735-857d-4526abe1348a\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/360\/5\/ea6bc2a8-c1b8-4735-857d-4526abe1348a\/downloads\/wwdc2025-360_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/360\/5\/ea6bc2a8-c1b8-4735-857d-4526abe1348a\/downloads\/wwdc2025-360_sd.mp4","duration":1167,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Apple's On-Device Machine Learning team offers tools for developers and enthusiasts to integrate Apple Intelligence and machine learning into apps and personal projects. Learn more about platform intelligence, system frameworks, model optimization and deployment, and staying updated on the latest ML and AI innovations on Apple hardware.","end":78},{"start":78,"title":"Platform intelligence","summary":"Machine Learning and artificial intelligence are at the core of our operating system, powering various built-in apps and features. These technologies enable seamless user experiences, such as secure authentication, handwriting recognition, and noise reduction during calls. \n\nLast year brought generative intelligence into the core of our operating system with Writing Tools, Genmoji, and Image Playground. These features are designed to be easily integrated into existing apps, allowing you to enhance your user interfaces with minimal effort.\n\nA wide range of ML-powered APIs are available. These APIs provide programmatic access to system models and capabilities, enabling tasks like image generation with ImageCreator, and smart reply suggestions. The introduction of the Foundation Models framework in iOS 26 further simplifies this process.\n\nThis framework provides access to a highly optimized on-device language model specialized for everyday tasks. It can be used for summarization, extraction, classification, and more, all while ensuring user data privacy as the model operates entirely offline. You can easily prompt the model, generate structured responses, and even integrate it with live or personal data using tool calling, enabling the model to perform actions and cite sources of truth.","end":500},{"start":500,"title":"ML-powered APIs","summary":"Updated Machine Learning-powered APIs provide you with a comprehensive suite of tools for enhancing app intelligence. The frameworks include Vision for image and video analysis, Natural Language for text processing, Translation for languages, Sound Analysis for recognizing sounds, and Speech for recognition and transcription.\n\nNotable new additions include document recognition and lens-smudge detection in Vision, and the SpeechAnalyzer API in Speech, which enables faster and more flexible speech-to-text processing, particularly for long-form and distant audio. Developers can also customize these models using the CreateML app and framework.","end":675},{"start":675,"title":"ML models","summary":"Core ML simplifies the process of integrating machine learning models into apps for Apple devices. You can utilize models already in CoreML format, available on developer.apple.com and the Apple space on Hugging Face, or convert trained models from other formats using CoreML Tools. \n\nCoreML Tools optimizes these models for on-device execution, reducing size and improving performance through automatic and manual techniques. You can then easily integrate these models into Xcode, where you can inspect performance, visualize the model architecture, and generate type-safe Swift interfaces.\n\nAt runtime, CoreML leverages the CPU, GPU, and Neural Engine for efficient execution. For more advanced control, combine CoreML models with MPSGraph, Metal compute, or Accelerate\u2019s BNNS Graph API, which has new capabilities this year, including a BNNSGraphBuilder for real-time CPU-based ML tasks.","end":894},{"start":894,"title":"Exploration","summary":"The rapid pace of machine learning research demands sophisticated tools and resources to keep up. Apple's MLX, an open-source array framework for numerical computing and machine learning, is designed to leverage the power of Apple Silicon. \n\nMLX enables efficient fine-tuning, training, and distributed learning of state-of-the-art models on Apple devices. It can run large language models with a single command line call and takes advantage of Apple Silicon's unified memory architecture, allowing parallel CPU and GPU operations on the same buffer.\n\nYou can access MLX in Python, Swift, C++, and other languages. Additionally, Apple supports popular training frameworks like PyTorch and Jax through Metal. \n\nThe developer.apple.com website and Apple Github repositories are valuable resources for AI enthusiasts and researchers, providing access to the latest machine learning resources from Apple.","end":1167}]},"related":{"activities":["wwdc2025-8267","wwdc2025-440","wwdc2025-8153"],"resources":[3962,595]}},"wwdc2025-300":{"id":"wwdc2025-300","staticContentId":10054,"eventContentId":300,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/300","languageCode":"eng","description":"Discover how to add effects like frame rate conversion, super resolution, and noise filtering to improve video editing and live streaming experiences. We\u2019ll explore the ML-based video processing algorithms optimized for Apple Silicon available in the Video Toolbox framework. Learn how to integrate these effects to enhance the capabilities of your app for real-world use cases.","title":"Enhance your app with machine-learning-based video effects","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":84,"topicIds":[95,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8C2F4810-9A63-439C-ADE0-CE516D9506D8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/300\/4\/be89fd99-ba12-4e24-96ed-a626da355488\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/300\/4\/be89fd99-ba12-4e24-96ed-a626da355488\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/300\/4\/be89fd99-ba12-4e24-96ed-a626da355488\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/300\/4\/be89fd99-ba12-4e24-96ed-a626da355488\/downloads\/wwdc2025-300_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/300\/4\/be89fd99-ba12-4e24-96ed-a626da355488\/downloads\/wwdc2025-300_sd.mp4","duration":1017,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Video Toolbox, a widely used framework for video applications, is enhanced with the 'VTFrameProcessor' API \u2014 a new set of ML-based video-processing algorithms optimized for Apple silicon. This API, first introduced in macOS 15.4, is now available in iOS 26. This video demonstrates the available effects, app integration steps, and implementation examples for major use cases.","end":64},{"start":64,"title":"Video effects overview","summary":"The 'VTFrameProcessor' API provides video-editing effects, including frame rate conversion for slow motion, super resolution for enhancing low-resolution videos, motion blur for natural movement, temporal noise filtering for smoothing, and low-latency interpolation and super resolution for real-time applications like video conferencing, improving quality and clarity in various video scenarios.","end":295},{"start":295,"title":"Add effects to your app","summary":"This API, accessed through the Video Toolbox framework, enables applications to process video clips through a two-step process: selecting an effect and sending input frames for processing, with the framework returning output frames. The API is suitable for video editing and live video enhancement, with features like frame rate conversion, super resolution, motion blur, and temporal noise filtering. Reference sample code is attached to this presentation.","end":406},{"start":406,"title":"Example use: frame rate conversion","summary":"Frame-rate conversion is a video-processing technique that increases the number of frames in a clip by synthesizing new frames. This capability improves playback smoothness, eliminates judder, and enables slow-motion effects, commonly used in filmmaking and sports to enhance visual impact and analysis.\n\nThe implementation process involves using the 'VTFrameProcessor' API in two main steps. The first step is creating a session with a configuration object that specifies settings like input frame size, quality level, and algorithm revision. The second step is  processing frames using a parameters object that manages input and output buffers and interpolation settings.\n\nAn important decision for developers is whether to precompute optical flow, a computationally expensive process, as it can impact app performance.","end":676},{"start":676,"title":"Example use: motion blur effect","summary":"Motion blur in video editing simulates slow shutter speed, blurring moving objects to make motion look natural and add speed. You can apply it using the 'VTMotionBlurConfiguration' class, requiring two reference frames (next and previous) with blur strength adjustable from 1-100. \n","end":826},{"start":826,"title":"Example use: low latency super resolution effect","summary":"Low-latency super resolution enhances real-time video streams by upscaling resolution. The process involves two simple classes: a configuration class and a parameters class. An example demonstrates how these capabilities improve the clarity of a video call.","end":895},{"start":895,"title":"Example use: low latency frame interpolation","summary":"Low-latency frame interpolation helps to improve real-time video streams, especially on slow connections, by smoothing out juddering and making streams more pleasant to watch. \n\nThe API also offers a filter that combines frame-rate doubling and resolution upscaling, resulting in sharper facial features, backgrounds, and smoother streams. In addition to these capabilities, the API enables you to create compelling applications with features like slow motion, motion blur, and improved live-streaming experiences.","end":1017}]},"related":{"resources":[3903,3902,1533]}},"wwdc2025-337":{"id":"wwdc2025-337","staticContentId":9994,"eventContentId":337,"eventId":"wwdc2025","contentUpdatedAt":"2025-11-03T12:26:19-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/337","languageCode":"eng","description":"Explore the latest updates to SF Symbols, Apple\u2019s library of iconography. Meet Draw, a new animation system that allows symbols to imitate the organic flow of a handwritten stroke, and Variable Draw, which can be used to convey strength or progress. Discover Gradients, which add dimension and visual interest to symbols, and Magic Replace enhancements, which offer greater continuity between related symbols. And learn how to preview and integrate these features into your own apps.","title":"What\u2019s new in SF Symbols 7","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["\ud83e\udd86"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4F1E5BC7-921E-46C0-927A-D84295787A94","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/337\/4\/28c79e89-c364-4095-9e5b-cbbbbbd29b17\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/337\/4\/28c79e89-c364-4095-9e5b-cbbbbbd29b17\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/337\/4\/28c79e89-c364-4095-9e5b-cbbbbbd29b17\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/337\/4\/28c79e89-c364-4095-9e5b-cbbbbbd29b17\/downloads\/wwdc2025-337_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/337\/4\/28c79e89-c364-4095-9e5b-cbbbbbd29b17\/downloads\/wwdc2025-337_sd.mp4","duration":1372,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about updates to SF Symbols, a collection of meticulously crafted icons designed to be instantly recognizable. \n\nUpdates include:\nNew animation and rendering presets called Draw\nEnhanced 'Magic Replace' capabilities\nIntroduction of gradients, tools for annotating custom symbols\nUpdates to the APIs","end":139},{"start":139,"title":"Draw","summary":"SF Symbols introduces Draw, a new feature that enables symbols to animate along their paths with two presets: \"Draw On\" and \"Draw Off.\" These presets support various playback options, including \"By Layer,\" \"Whole Symbol,\" and a new \"Individually\" option for more intentional animation. \n\nThe draw direction of each symbol is customizable based on its design and meaning, and complex composed shapes are also supported. Use Draw to bring symbols to life and convey progress. A new \"Variable Draw\" option allows for visualizing progress through partial rendering, similar to how variable color conveys strength or progress.","end":362},{"start":362,"title":"Magic Replace","summary":"Magic Replace in SF Symbols now has enhanced features including enclosure matching and integration with Draw animations. This allows for seamless transitions between related symbols by preserving enclosures and replacing differing layers, with the option to use Draw On and Off effects. You can preview these improvements in the animation inspector.","end":421},{"start":421,"title":"Gradients","summary":"SF Symbols now includes linear gradients, adding depth and dimension to symbols with smooth color transitions. Available on system and custom colors across all rendering modes, gradients enhance visual interest and you can apply them to custom symbols.","end":482},{"start":482,"title":"Custom Symbols","summary":"Learn how to annotate custom symbols in the SF Symbols app to enable draw animations. The process involves placing guide points along the desired draw path. \n\nA minimum of two guide points \u2014 a start (open circle) and an end (closed circle) \u2014 are required for each path. You may need additional guide points for complex shapes, sharp bends, or multiple subpaths. You can also use specialized guide points for specific scenarios.\n\nThere are tools you can use to enter guide point mode, place points, and adjust their positions. People can customize animations by changing end cap styles, enabling bidirectional drawing, and toggling the direction of rotation for symbols with multiple subpaths. Precise placement of guide points is crucial for smooth and accurate animations.\n\nTo animate arrowheads, you must draw them as separate paths and attach them to guide points. Guide points can be manually placed, adjusted, or overridden, and there are specific types for start, end, and corner points. The system automatically interpolates guide points across different symbol weights, but it is crucial to ensure they are in the same order.\n\nAdvanced options include adjusting guide point placement, selecting subpaths directly, and using variable draw, which allows for more dynamic animation by enabling specific layers to participate in the drawing process.","end":1252},{"start":1252,"title":"New APIs","summary":"SF Symbol 7 introduces new features including animation presets, variable draw, and gradient rendering. You can apply these in SwiftUI, AppKit, and UIKit via modifiers and configuration options. Download the beta, review documentation, and update custom drawings to utilize these new features. ","end":1372}]},"related":{"activities":["wwdc2024-10188"]}},"wwdc2025-277":{"id":"wwdc2025-277","staticContentId":9978,"eventContentId":277,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/277","languageCode":"eng","description":"Discover the new SpeechAnalyzer API for speech to text. We\u2019ll learn about the Swift API and its capabilities, which power features in Notes, Voice Memos, Journal, and more. We\u2019ll dive into details about how speech to text works and how SpeechAnalyzer and SpeechTranscriber can enable you to create exciting, performant features. And you\u2019ll learn how to incorporate SpeechAnalyzer and live transcription into your app with a code-along.","title":"Bring advanced speech-to-text to your app with SpeechAnalyzer","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["machine learning","speech-to-text"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F4AAE89A-F884-41E4-B520-7B68B92E9A04","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/277\/4\/9eedc53d-668f-48f3-9cca-4f2530bbb2ce\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/277\/4\/9eedc53d-668f-48f3-9cca-4f2530bbb2ce\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/277\/4\/9eedc53d-668f-48f3-9cca-4f2530bbb2ce\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/277\/4\/9eedc53d-668f-48f3-9cca-4f2530bbb2ce\/downloads\/wwdc2025-277_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/277\/4\/9eedc53d-668f-48f3-9cca-4f2530bbb2ce\/downloads\/wwdc2025-277_sd.mp4","duration":1147,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Apple is introducing SpeechAnalyzer, a new speech-to-text API and technology in iOS 26, replacing SFSpeechRecognizer introduced in iOS 10. SpeechAnalyzer, built with Swift, is faster, more flexible, and supports long-form and distant audio, making it suitable for various use cases such as lectures, meetings, and conversations. \n\nThe new API enables you to create live transcription features and is already powering system apps like Notes, Voice Memos, and Journal. When combined with Apple Intelligence, it facilitates powerful features like Call Summarization.","end":161},{"start":161,"title":"SpeechAnalyzer API","summary":"The API design centers around the SpeechAnalyzer class, which manages analysis sessions. By adding a transcriber module, the session becomes a transcription session capable of performing speech-to-text processing. Audio buffers are passed to the analyzer instance, which routes them through the transcriber's speech-to-text model. The model predicts text and metadata, which are returned asynchronously to the application using Swift's async sequences.\n\nAll API operations are scheduled using timecodes on the audio timeline, ensuring predictable order and independence. The transcriber delivers results in sequence, covering specific audio ranges. An optional feature allows iterative transcription within a range, providing immediate, though less accurate, \"volatile results\" for faster UI feedback, which are later refined into finalized results.\n\nLooking forward in this presentation, a use case is discussed that demonstrates how to create a transcriber module, set the locale, read audio from a file, concatenate results using async sequences, and return the final transcription as an attributed string. The API enables concurrent and asynchronous processing, decoupling audio input from results, and can be expanded to handle more complex needs across different views, models, and view models, which is demonstrated later.","end":423},{"start":423,"title":"SpeechTranscriber model","summary":"Apple developed a new speech-to-text model for the SpeechTranscriber class, designed to handle various scenarios such as long-form recordings, meetings, and live transcriptions with low latency and high accuracy. The model operates entirely on-device, ensuring privacy and efficiency. It does not increase the app's size or memory usage and automatically updates. \n\nYou can easily integrate the model into your applications using the AssetInventory API. The SpeechTranscriber class currently supports several languages and is available across most Apple platforms, with a fallback option, DictationTranscriber, provided for unsupported languages or devices.","end":546},{"start":546,"title":"Build a speech-to-text feature","summary":"In iOS 18, the Notes app has been enhanced with new features that allow people to record and transcribe phone calls, live audio, and recorded audio. These features are integrated with Apple Intelligence to generate summaries. The Speech team developed SpeechAnalyzer and SpeechTranscriber, enabling high-quality, on-device transcription that is fast and accurate, even at distances.\n\nYou can now use these tools to create your own customized transcription features. An example app is designed for kids; it records and transcribes bedtime stories. The app displays real-time transcription results and highlights the corresponding text segment during audio playback.\n\nTo implement live transcription in an app, follow three main steps: configure the SpeechTranscriber with the appropriate locale and options, ensure the necessary speech-to-text model is downloaded and installed on the device, and then handle the transcription results as they are received via an AsyncStream. The results include both volatile (realtime guesses) and finalized text, allowing for smooth syncing between text and audio playback.\n\nWhen a finalized result is obtained, the 'volatileTranscript' is cleared, and the result is added to the 'finalizedTranscript' to prevent duplicates. The finalized result is also written to the Story model for later use and visualized with conditional formatting using SwiftUI AttributedString APIs. \n\nSet up audio input by requesting permission, starting the 'AVAudioSession', and configuring the AVAudioEngine to return an AsyncStream. The audio is written to disk and passed to the transcriber after being converted to the best available audio format.\n\nUpon stopping recording, the audio engine and transcriber are stopped, and any volatile results are finalized. The 'TranscriptView' displays the concatenation of finalized and volatile transcripts during recording and the final transcript from the data model during playback, with words highlighted in time with the audio.\n\nIn the example app, Apple Intelligence is utilized to generate a title for the story using the FoundationModels API showing how you can use Apple Intelligence to perform useful transformations on the speech-to-text output. \n\nThe Speech Framework enables the development of this app with minimal startup time, and further details can be found in its documentation.","end":1147}]},"related":{"activities":["wwdc2023-10033","wwdc2025-8158","wwdc2025-8153","wwdc2025-8267","wwdc2025-8157","wwdc2025-440"],"resources":[3923,3049]}},"wwdc2025-249":{"id":"wwdc2025-249","staticContentId":9939,"eventContentId":249,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/249","languageCode":"eng","description":"Discover the latest updates for the App Store Server API, App Store Server Notifications, and App Store Server Library to help manage customer purchase data directly on your server and deliver great In-App Purchase experiences. We\u2019ll cover updates to appAccountToken and signature signing, new fields in signed transaction and renewal info, and new APIs. Then, we\u2019ll show how to generate a promotional offer signature on your server, and how to use the Send Consumption Information endpoint.","title":"Dive into App Store server APIs for In-App Purchase","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":86,"topicIds":[83,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F4B9150E-AEB0-4058-A249-00D00FFF469E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/249\/4\/7efe7148-7440-40ff-a24c-becb06197f36\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/249\/4\/7efe7148-7440-40ff-a24c-becb06197f36\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/249\/4\/7efe7148-7440-40ff-a24c-becb06197f36\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/249\/4\/7efe7148-7440-40ff-a24c-becb06197f36\/downloads\/wwdc2025-249_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/249\/4\/7efe7148-7440-40ff-a24c-becb06197f36\/downloads\/wwdc2025-249_sd.mp4","duration":1367,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about updates to the App Store server APIs for In-App Purchase, specifically how the updates streamline app server responsibilities. The three main areas covered are:\n\nManaging In-App Purchases by associating transaction data with customer accounts\nSigning requests to authorize server communications with the App Store\nParticipating in the refund decision process by sharing consumption data\n\nThe updates include improvements to transaction identifiers, signature generation, and refund processes.","end":96},{"start":96,"title":"Manage In-App Purchases","summary":"Managing In-App Purchases involves assigning unique account IDs to customers and linking them to App Store transactions. The App Store provides data through three structures, with the focus initially on 'JWSTransaction'. This signed transaction object, verified and decoded using the App Store Server Library, contains details about the app, product type, purchase metadata, and offer information. \n\nNew fields include 'offerPeriod' which indicates the duration of redeemed offers using ISO 8601 format, and is present in both 'JWSTransaction' and 'JWSRenewalInfo' for subscription renewals. Transaction identifiers are also included to uniquely track each purchase, restore, or renewal.","end":737},{"start":737,"title":"Sign requests","summary":"The JWS Signature Format is introduced as a means for unified signing requests across all use cases.  This includes, for example, generating promotional offer signatures, introductory offers per transaction and per user.  An example is discussed showing the details involved.  ","end":924},{"start":924,"title":"Participate in refunds","summary":"Features allowing developers to participate in the refund decision process are discussed.  This includes the expanded Send Consumption Information V2 endpoint the provides simpler integration options and additional support for all product types including non-consumables and non-renewing subscriptions.  Details explaining what you need to do to support the new Send Consumption Information V2 endpoint are discussed including the new prorated refund option. This allows you to provide a prorated refund option in cases where customers can partially consume a product.\n\n","end":1367}]},"related":{"activities":["wwdc2024-10062","wwdc2025-241"],"resources":[3937,3935,3802,1637,1508,765]}},"wwdc2025-361":{"id":"wwdc2025-361","staticContentId":10087,"eventContentId":361,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/361","languageCode":"eng","description":"Learn how to use Icon Composer to make updated app icons for iOS, iPadOS, macOS, and watchOS. Find out how to export assets from your design tool of choice, add them to Icon Composer, apply real-time glass properties and other effects, and preview and adjust for different platforms and appearance modes.","title":"Create icons with Icon Composer","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["branding","color","composition","dock","drawing","identity","launching","layout","logo"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"93AA149B-9ACF-4281-8BAF-5AFF7CFA1CF0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/361\/4\/cb0f14cc-9cef-42f7-a4bb-26e8c751691a\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/361\/4\/cb0f14cc-9cef-42f7-a4bb-26e8c751691a\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/361\/4\/cb0f14cc-9cef-42f7-a4bb-26e8c751691a\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/361\/4\/cb0f14cc-9cef-42f7-a4bb-26e8c751691a\/downloads\/wwdc2025-361_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/361\/4\/cb0f14cc-9cef-42f7-a4bb-26e8c751691a\/downloads\/wwdc2025-361_sd.mp4","duration":873,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about Icon Composer, a new tool for creating app icons that look and feel at home across iOS, iPadOS, macOS and watchOS.","end":51},{"start":51,"title":"Overview","summary":"With screen resolution advancements and the introduction of appearance app icon modes on multiple Apple platforms, the process of creating app icons had grown more complex and time-consuming. Icon Composer pairs with your existing design tool and greatly streamlines the app icon design process.\n\nFrom one artwork, you can now create a single icon file that adapts to multiple Apple platforms \u2014 iPhone, iPad, Mac, and Watch \u2014 and appearance modes, including dark, tinted, and clear light\/dark.","end":235},{"start":235,"title":"Design","summary":"If working with flat graphics, use a vector tool that can export SVGs for the best appearance at any scale. Utilize the app icon templates which are pre-built to export properly formatted assets and include the new app icon grid.\n\nDesign with layers to make it easy to quickly adjust colors and other properties for different app icon appearance modes. Keep source artwork flat, opaque, and simple. Use Icon Composer to add dynamic effects like blur, shadow, and specular highlights.\n","end":370},{"start":370,"title":"Export Layers","summary":"If you use Illustrator, use the script included in the app icon template to automatically generate assets. Download the script from the Apple Design Resources website.\n\nEnsure canvas size is consistent for exported artwork to maintain their position once placed in Icon Composer which uses numbered file names to control the Z-index composite order.\n\nAdd solid background colors and gradients in Icon Composer. Convert text to outlines before exporting. Export custom gradients, raster images, and non-SVG elements as PNGs with transparent backgrounds. Note that rounded rectangle or circle masks are not included in exports because they are applied automatically later.","end":442},{"start":442,"title":"Icon Composer","summary":"To customize the background of app icons, select the canvas in the sidebar and chooses a color or gradient in the inspector. \n\nThe sidebar organizes layers into groups, which control how elements stack and receive glass properties. Groups can have between one to four layers. At the bottom of the canvas are options for platform and appearance modes.\n\nThe inspector provides controls for appearance properties and document settings. Layers automatically receive Liquid Glass, but you can toggle this off.\n\nColor and composition controls are useful to create variants for different appearance modes. When designing for dark mode, fills and other color-related properties might need adjustment to ensure legibility. For mono appearances, setting at least one element to white and mapping other colors to tones of gray is recommended.\n\nThe preview panel allows people to see icons in different contexts, test legibility, and overlay icon grids.","end":796},{"start":796,"title":"Delivery","summary":"To deliver, save the .icon file, drag it into Xcode, and select it in the Project Editor. The tool streamlines the asset-generation process, reducing time spent in design tools recreating glass effects and generating assets.","end":873}]},"related":{"activities":["wwdc2025-220","wwdc2025-219","wwdc2025-356"],"resources":[3967,2383]}},"wwdc2025-344":{"id":"wwdc2025-344","staticContentId":10029,"eventContentId":344,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/344","languageCode":"eng","description":"Learn to record, run, and maintain XCUIAutomation tests in Xcode. Replay your XCTest UI tests in dozens of locales, device types, and system conditions using test plan configurations. Review your test results using the Xcode test report, and download screenshots and videos of your runs. We\u2019ll also cover best practices for preparing your app for automation with Accessibility and writing stable, high-quality automation code.","title":"Record, replay, and review: UI automation with Xcode","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"05AF99DB-0D1B-4265-B736-82D2C1AA18A6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/344\/6\/d83ce906-0fb6-484b-a0f2-4f678161d5b8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/344\/6\/d83ce906-0fb6-484b-a0f2-4f678161d5b8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/344\/6\/d83ce906-0fb6-484b-a0f2-4f678161d5b8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/344\/6\/d83ce906-0fb6-484b-a0f2-4f678161d5b8\/downloads\/wwdc2025-344_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/344\/6\/d83ce906-0fb6-484b-a0f2-4f678161d5b8\/downloads\/wwdc2025-344_sd.mp4","duration":1481,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction and agenda","summary":"Xcode's UI automation, powered by the XCUIAutomation framework, enables you to test your apps comprehensively. It works alongside Swift Testing and the XCTest framework, providing a complete app-testing suite. UI automation tests validate an app's user experience, its integration with Apple hardware, and the behavior of common workflows, complementing unit tests which focus on app logic and data models.\n\nThe process involves three main phases: \nRecording interactions, which are then automatically converted into code.\nReplaying these interactions across various devices, languages, regions, and orientations.\nReviewing video recordings and results of each UI test run.\n\nThese automations allow you to test your apps as real users would, ensuring accessibility, language support, and hardware integration. It is supported on all Apple platforms, enabling you to build and run automation tests once for multiple devices, such as iPhone, iPad, Mac, Apple TV, and Apple Watch, with a single click.","end":238},{"start":238,"title":"UI automation overview","summary":"UI automation mimics user interactions with an app, launching it, tapping buttons, and navigating through screens. It relies on the app's accessibility features \u2014 which provide labels, values, and unique identifiers for elements \u2014 to perform these actions independently. Accessibility, a core Apple value, ensures apps are usable by everyone and also powers UI automation.","end":386},{"start":386,"title":"Prepare your app for automation","summary":"To prepare the app automation, several steps are involved. First, add accessibility identifiers to the app's elements. These identifiers are unique labels written in SwiftUI, UIKit, or AppKit that help automation tools recognize and interact with specific parts of the app. They are particularly useful for elements with localized strings or dynamic content and need to be descriptive, static, and unique within the entire app.\n\nNext, conduct a quick review of the app's accessibility using Accessibility Inspector. This tool helps identify and fix any accessibility issues, ensuring that the app is well-prepared for automation. Accessibility Inspector allows you to view and modify accessibility properties for each view, making the app more usable for both assistive technologies and automation scripts.\n\nFinally, add a new UI testing target to the Xcode project. This target provides a dedicated space for storing the automation code. Once the target is set up, you can begin recording your interactions with the app, which will be automatically translated into Swift code, streamlining the automation process.","end":692},{"start":692,"title":"Record your interactions","summary":"The Landmarks sample project, shown in Xcode and Simulator, demonstrates planning a virtual vacation to Australia. UI recordings capture interactions within the app as code. The example adds a new collection, renames it \"Max\u2019s Australian Adventure,\" and populates it with landmarks like the Great Barrier Reef and Uluru.\n\nAfter the recording stops, the example reviews the generated code, selects appropriate UI queries, and adds validations using XCTest to ensure the app's functionality. The test is then rerun, successfully verifying the creation of the collection and the addition of landmarks. You can further enhance the tests by setting up specific device states, simulating locations, and performing accessibility audits.","end":1050},{"start":1050,"title":"Replay in multiple configurations","summary":"Xcode Cloud enables automated app testing in various configurations at-desk and in the cloud, as well as for different languages and devices. Test plans organize tests, set system settings, and manage properties. Configurations allow testing in specific locales, including languages with longer strings or right-to-left scripts. \n\nXcode Cloud runs tests in the cloud, saving videos and screenshots of failures for review. An entire team can view run history, logs, and results, facilitating collaboration and remote monitoring. Advanced configurations and further details are available in Developer Documentation.","end":1254},{"start":1254,"title":"Review videos and results","summary":"The Xcode test report provides a comprehensive tool for analyzing test results. Upon identifying a failed test run, you can access video recordings and detailed descriptions. The report overlays UI interactions on the video and includes a timeline with failure diamonds for quick navigation. \n\nYou can view present UI elements at the failure point, receive code suggestions, and directly edit your test code. After making corrections, the test can be rerun, and the report allows you to verify functionality across different languages and layouts, ultimately enhancing app quality and accessibility.","end":1456},{"start":1456,"title":"Next steps","summary":"For more information on unit testing and Swift testing, see \"Meet Swift Testing\" session from WWDC24; for questions or feedback, visit the Developer Forums.","end":1481}]},"related":{"activities":["wwdc2021-10119","wwdc2023-10036","wwdc2023-10035","wwdc2022-110361","wwdc2023-10278","wwdc2023-10175","wwdc2024-10179"],"resources":[3666,3121,391]}},"wwdc2025-227":{"id":"wwdc2025-227","staticContentId":9921,"eventContentId":227,"eventId":"wwdc2025","contentUpdatedAt":"2026-03-19T09:46:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/227","languageCode":"eng","description":"Discover background execution advancements and understand how the system schedules runtime. We\u2019ll discuss how to get the most out of background runtime to allow your app to deliver features in the background while maintaining a great foreground experience. We\u2019ll also cover how APIs provide background runtime for your app, and how each API is tailored for different use cases \u2014 including new APIs in iOS and iPadOS 26 that let your app finish tasks as your app transitions from the foreground to the background.\n\n","title":"Finish tasks in the background","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"89C3C849-78AC-4EA9-8256-E4E4E896E77A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/227\/4\/b4d5d5a5-5c5a-4f37-a4ad-66fea0b6f25d\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/227\/4\/b4d5d5a5-5c5a-4f37-a4ad-66fea0b6f25d\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/227\/4\/b4d5d5a5-5c5a-4f37-a4ad-66fea0b6f25d\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/227\/4\/b4d5d5a5-5c5a-4f37-a4ad-66fea0b6f25d\/downloads\/wwdc2025-227_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/227\/4\/b4d5d5a5-5c5a-4f37-a4ad-66fea0b6f25d\/downloads\/wwdc2025-227_sd.mp4","duration":1118,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Welcome","summary":"Learn how apps can use background runtime to perform tasks like prefetching and syncing in your app.","end":82},{"start":82,"title":"Introduction","summary":"Apps load into memory, become foregrounded, and are the main focus. When someone switches away from an app, it goes to the background, and the system suspends it to save battery and resources. The app can request a brief time to finish tasks. Upon return, it's resumed to the foreground.","end":129},{"start":129,"title":"Behaviors and constraints","summary":"In iOS and iPadOS, background runtime is tightly managed to prioritize battery life and optimize performance. Background execution is opportunistic and discretionary, with energy being the most fundamental constraint. You should design your app's background tasks to be efficient, lightweight, and purpose-driven. The system coalesces work and may throttle, suspend, or terminate processes that consume too many resources.\n\nKeep background work minimal, defer nonessential tasks until charging, and ensure tasks are atomic and resilient. Apps should be courteous, honoring people's preferences and the system conditions. The system provides transparency to people, allowing them to influence scheduling decisions. The success of background workloads depends on their adaptability and alignment with the system's priorities.","end":449},{"start":449,"title":"Background task APIs","summary":"iOS and iPadOS offer various APIs for designing tasks that run in the background. The system optimizes these tasks based on app usage patterns and device constraints. \n\n'BGAppRefreshTask' allows apps to silently fetch content before use, with frequently used apps receiving more frequent scheduling.\n\n'Background Push Notifications' wake the app to fetch new content when the server sends a notification, but these are considered discretionary and low-priority to minimize overhead.\n\n'BGProcessingTask' enables apps to perform more complex work like running ML models or database maintenance. This task needs to be registered during launch, and you can configure it to run only when the device is on a charger and connected to a network.\n\nbeginBackgroundTask and endBackgroundTask APIs give apps extra time to complete crucial work, such as saving state or closing connections, when transitioning to the background. ","end":683},{"start":683,"title":"Continued processing tasks","summary":"In iPadOS and iOS 26, there's a new 'BGContinuedProcessingTask' API, which allows apps to complete tasks started by someone in the foreground even after being backgrounded. This feature enhances the experience by enabling the app to complete complex tasks without the app needing to be open.\n\nFor example, the Journal app uses this API to export files in the background. Someone initiates the export with a button tap, and the app then provides progress updates through the system UI. The person can monitor the progress and cancel the task at any time, maintaining complete control.\n\nThese tasks always need to start with an explicit action, such as a button tap or gesture. They represent clear and immediate goals, like exporting files, publishing social media content, or completing updates on connected accessories. The system expects these tasks to make measurable progress.\n\nYou need to register a launch handler to manage state and progress reporting. Provide timely updates about the workload progression using the progress-reporting protocol. If the task's progress is slower than expected, the system prompts the person to decide whether to continue.\n\nWhen the task completes, you need to inform the system by using the 'setTaskCompleted' method. Additionally, the app must handle potential interruptions gracefully by providing an expiration handler.\n\nThe API also supports background GPU access on supported devices, allowing you to create more powerful and efficient background experiences. However, remember that iOS prioritizes the foreground experience, and background tasks may receive a lower quality of service. Nevertheless, the system intelligently boosts the task priority when the app returns to the foreground.","end":1118}]},"related":{"resources":[4111,4018,523]}},"wwdc2025-321":{"id":"wwdc2025-321","staticContentId":9855,"eventContentId":321,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/321","languageCode":"eng","description":"Discover the new Medications API in HealthKit. Explore an example app that uses the new API, learn how to access medications and doses, and find out how your app will manage authorization for this new kind of data.","title":"Meet the HealthKit Medications API","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","visionOS"],"keywords":["dose","medication"],"primaryTopicID":92,"topicIds":[83,92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7DE5718A-6B6C-41A6-A60B-2C9A6D7B7CE1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/321\/6\/70a69650-e4ac-44fc-ac42-cb7ca679de9d\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/321\/6\/70a69650-e4ac-44fc-ac42-cb7ca679de9d\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/321\/6\/70a69650-e4ac-44fc-ac42-cb7ca679de9d\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/321\/6\/70a69650-e4ac-44fc-ac42-cb7ca679de9d\/downloads\/wwdc2025-321_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/321\/6\/70a69650-e4ac-44fc-ac42-cb7ca679de9d\/downloads\/wwdc2025-321_sd.mp4","duration":1513,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"HealthKit has introduced new medications APIs enabling iOS, iPadOS, and visionOS apps to read and utilize medication data. The Health App in iOS 15 allows users to track medications, set reminders, and log doses securely within HealthKit. Developers can now leverage these APIs to create personalized health experiences. ","end":132},{"start":132,"title":"Medications API overview","summary":"HealthKit's data capabilities are now expanded to include medications and dose events. Apps can access this information through new objects and queries. \n\nYou can use new query descriptors and 'HKQueries' to fetch these medications and dose events, enabling apps to provide more comprehensive medication management and interoperability with other health systems.","end":335},{"start":335,"title":"Examples of medication data","summary":"In the Health app, when someone adds a medication, like amoxicillin, it's represented as an object with customizable properties. This object includes the medication's official name, form (like tablet), unique identifier, and an RxNorm code. The person can also set up a schedule and give it a nickname, such as \"Antibiotics,\" for easy reference. \n\nApps can use specific queries to fetch this data. To retrieve a list of medications, apps can use a new query descriptor that allows filtering by active or archived status and schedule presence. To fetch dose events, apps can use existing sample type-based queries, specifying the 'HKMedicationDoseEvent' sample type, and filtering by medication or log status.","end":538},{"start":538,"title":"Sample app walk-through","summary":"The sample app utilizes HealthKit's medications API to enable users to view their authorized medications, log the most recent dose taken, and record side effects. The app requests user permission to read and share medication data and symptom samples such as headaches and nausea. \n\nUpon authorization, the app queries HealthKit to fetch the complete list of authorized medications and their corresponding dose events. \n\nThe app retrieves the most recent dose of a specific medication logged today using a HealthKit query with a compound predicate. If it doesn't find a dose, nothing is displayed. \n\nThe app then associates medications with side effects using RxNorm codes, a system that uniquely identifies clinical drugs. A static dictionary in the app maps RxNorm codes to symptom models.\n\nPeople can view a list of associated side effects for a medication and log their symptom intensity using emojis, which are then saved as category samples in HealthKit. ","end":1101},{"start":1101,"title":"Anchored object queries","summary":"One consideration is to add a feature to the app to track medication doses over time using anchored object queries. An anchored object query is an ideal solution for updating charts with new dose data from HealthKit. This query method provides a snapshot of existing samples and subsequent updates, including deletions. However, careful handling is essential due to the dynamic nature of dose event data, which you can log retroactively, edit, or save for reminders.\n\nWhen implementing an anchored object query, it's crucial to use the returned query anchor to avoid reprocessing data. Configure the query with a predicate that filters doses by medication and falls within the relevant date window. \n\nThe Swift async interface is recommended for efficient execution on a background thread. This real-time data synchronization provides people with a convenient way to monitor their medication intake over time.","end":1359},{"start":1359,"title":"Authorization for new meds","summary":"When a person adds a new medication to their Health app, they're prompted to choose which apps, already authorized for medications data, can access the new medication. This seamless process occurs within the Health app and doesn't require any additional development work. \n\nAfter the user selects the app, the medication is saved, and the app can then display the newly added medication. The medications API enables apps to create comprehensive medication management experiences, utilizing clinical coding systems like RxNorm for enhanced categorization and data association.","end":1513}]},"related":{"activities":["wwdc2020-10664","wwdc2025-322"],"resources":[4028,4027,4026,4025,3897]}},"wwdc2025-243":{"id":"wwdc2025-243","staticContentId":9943,"eventContentId":243,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/243","languageCode":"eng","description":"Modernize your app with the latest APIs in UIKit, including enhanced menu bar support, automatic observation tracking, a new UI update method, and improvements to animations. We\u2019ll also cover how you can include SwiftUI scenes in your UIKit app and explore SF Symbols, HDR color pickers, and more.","title":"What\u2019s new in UIKit","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["\u26a1\ufe0f"],"primaryTopicID":100,"topicIds":[96,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"704FF981-7B42-474F-AC51-1478B5216DFF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/243\/4\/9d493d7f-4ae0-47d2-9b97-c3ad66cdf3c4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/243\/4\/9d493d7f-4ae0-47d2-9b97-c3ad66cdf3c4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/243\/4\/9d493d7f-4ae0-47d2-9b97-c3ad66cdf3c4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/243\/4\/9d493d7f-4ae0-47d2-9b97-c3ad66cdf3c4\/downloads\/wwdc2025-243_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/243\/4\/9d493d7f-4ae0-47d2-9b97-c3ad66cdf3c4\/downloads\/wwdc2025-243_sd.mp4","duration":1562,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about UIKit's enhancements across iOS, iPadOS, tvOS, visionOS, and Mac Catalyst. This video covers the new design system, containers and adaptivity, APIs for the menu bar on iPadOS and Mac Catalyst, core architectural advancements, and general framework improvements.","end":59},{"start":59,"title":"New design system","summary":"The new design system features Liquid Glass: a translucent, dynamic material that refreshes standard UIKit components and enhances navigation transitions. UIKit also has new API for bringing Liquid Glass to your custom UI.","end":149},{"start":149,"title":"Containers and adaptivity","summary":"iOS 26 enhances 'UISplitViewController' with inspectors for detailed content display and dynamic column resizing.","end":201},{"start":201,"title":"The menu bar","summary":"iOS 26 improves the menu bar on iPad, which is now accessible via a swipe from the top of the screen, to provide quick access to app functionality without a hardware keyboard. The menu bar should always display all app commands, even those that are disabled or without keyboard shortcuts. \n\nCustomize the menu bar using the new API for main menu configuration, and implement dynamic menus based on the focused view. \n\nStandard actions like 'Close',  and 'New from Clipboard' are introduced. Actions for text alignment, sidebar toggling, and inspector toggling are now exposed for customization.\n\nMake sure that actions are available in your app without relying on the menu bar.","end":598},{"start":598,"title":"Architectural \u2028improvements","summary":"UIKit continues to evolve with new features for modern patterns, best practices and deeper SwiftUI interoperability.","end":621},{"start":621,"title":"Automatic observation tracking","summary":"UIKit now automatically tracks Observable objects referenced in update methods such as 'layoutSubviews', eliminating the need for manual calls to 'setNeedsLayout'. This feature is enabled by default in iOS 26 and you can back-deploy it to iOS 18 with the 'UIObservationTrackingEnabled' Info.plist key. \n\nChanges to Observable model properties that update UI elements automatically trigger view invalidation and reruns of the relevant update methods, keeping the UI in sync without additional code.","end":753},{"start":753,"title":"New UI update method","summary":"UIKit introduces a new method, 'updateProperties', available in 'UIView' and 'UIViewController'. This method runs independently before 'layoutSubviews' and allows you to populate content, apply styling, and configure behaviors more efficiently. \n\n'updateProperties' automatically tracks Observables and can otherwise be manually triggered by calling 'setNeedsUpdateProperties'. By using this method, you can avoid unnecessary layout passes, improving your app's performance.","end":945},{"start":945,"title":"Improvements to animations","summary":"In iOS 26, UIKit introduces 'flushUpdates', an animation option that automatically applies pending updates before and after animations, eliminating the need for manual 'layoutIfNeeded' calls. This simplifies code, reduces errors, and works with Observable objects and auto layout constraint changes.","end":1065},{"start":1065,"title":"Scene updates","summary":"You can now integrate SwiftUI scenes into UIKit apps using the new 'UIHostingSceneDelegate' protocol. Create apps that adapt to different devices \u2014 like a meditation app with a 2D zen garden on iPhone and iPad and an immersive visionOS experience \u2014 by programmatically requesting a specific SwiftUI scene.","end":1135},{"start":1135,"title":"HDR Color support","summary":"In iOS 26, UIKit also enhances HDR rendering beyond images to include colors. Create HDR colors using 'UIColor' and enable HDR color selection in color pickers. \n\nUse the new 'UITraitHDRHeadroomUsage' trait to monitor when your HDR content should fall back to SDR.","end":1238},{"start":1238,"title":"Swift notifications","summary":"UIKit represents each notification as a dedicated 'NotificationCenter.Message' type in iOS 26, providing strongly typed notifications for easier event handling, as seen in an example of adjusting layout when the keyboard appears.","end":1280},{"start":1280,"title":"Migrate to a scene-based life cycle","summary":"'UIScene' replaces 'UIApplication' as the standard for app development, making apps more portable and flexible. You must adopt the 'UIScene' life cycle because legacy methods are deprecated and, starting with the release following iOS 26, apps that have not adopted the scene life cycle will not launch.","end":1360},{"start":1360,"title":"OpenURL support for file URLs","summary":"The 'openURL' method now allows apps to hand off non-native documents to default viewers or use quick look preview controllers if no default exists.","end":1397},{"start":1397,"title":"SF Symbols 7","summary":"SF Symbols 7 introduces new drawing capabilities including 'Draw Off' and 'Draw On' effects, variable draw mode for drawing arbitrary values along a path, and special draw animations with Magic Replace transitions. UIKit now has API for easy adoption of these transitions in 'UIButton', and symbols can be colored with automatically-generated gradients.","end":1513},{"start":1513,"title":"Next steps","summary":"To update your app for iOS 26, compile with the new SDK, refine UIs to match the new design, utilize standard containers and new menu APIs, and adopt the 'updateProperties' method and observation tracking for improved performance.","end":1562}]},"related":{"activities":["wwdc2025-284","wwdc2025-356","wwdc2025-282","wwdc2025-208","wwdc2021-10057","wwdc2024-10177","wwdc2023-10181","wwdc2025-337","wwdc2023-10258"],"resources":[3111,3069]}},"wwdc2025-303":{"id":"wwdc2025-303","staticContentId":10053,"eventContentId":303,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/303","languageCode":"eng","description":"Discover how to create advanced interactions for your visionOS apps. We\u2019ll explore how you can design compelling custom hover effects and animations, avoid common mistakes, take advantage of interactions like Look to Scroll, and build intuitive media controls with persistence effects.","title":"Design hover interactions for visionOS","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["visionOS"],"keywords":["animation","animations","custom effects","custom hover effects","design","eyes","gaze","hover","hover effects","input","interactions","look","look to scroll","spatial","vision","visionos","vision pro"],"primaryTopicID":87,"topicIds":[85,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CA8CE5A1-B113-403F-BCB7-87871B4BBB52","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/303\/4\/e69ceb99-2702-4bcc-a24d-6b8b2d37ccff\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/303\/4\/e69ceb99-2702-4bcc-a24d-6b8b2d37ccff\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/303\/4\/e69ceb99-2702-4bcc-a24d-6b8b2d37ccff\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/303\/4\/e69ceb99-2702-4bcc-a24d-6b8b2d37ccff\/downloads\/wwdc2025-303_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/303\/4\/e69ceb99-2702-4bcc-a24d-6b8b2d37ccff\/downloads\/wwdc2025-303_sd.mp4","duration":850,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Discover how to create advanced interactions for your visionOS apps. We\u2019ll explore how you can design compelling custom hover effects and animations, avoid common mistakes, take advantage of interactions like Look to Scroll, and build intuitive media controls with persistence effects.","end":33},{"start":33,"title":"Fundamentals","summary":"Get a quick recap of the fundamentals of eye input.","end":117},{"start":117,"title":"Custom effects","summary":"Learn how you can enhance your app's interactions through custom hover effects on visionOS. These effects are animations that replace the standard highlight effect, providing visual feedback and bringing personality to your app.","end":577},{"start":577,"title":"Look to Scroll","summary":"Learn how to adopt Look to Scroll and discover how people can scroll through content by simply looking at the edges of a scroll view in your app. ","end":743},{"start":743,"title":"Persistent controls","summary":"Discover how you can adopt persistent controls in your apps and experiences. In visionOS 26, the standard video player controls now stay visible while someone is looking at them, hiding only once they look away. \n\nThis persistent controls behavior applies to standard video players, and you can enable it for custom controls and other auto-hiding UIs in apps like FaceTime and Mindfulness.","end":850}]},"related":{"resources":[4040]}},"wwdc2025-220":{"id":"wwdc2025-220","staticContentId":9911,"eventContentId":220,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/220","languageCode":"eng","description":"Get an overview of the new app icon appearances for iOS, iPadOS, and macOS, including light and dark tints, and clear options. Learn how to use frostiness and translucency to make your app icon more vibrant, dynamic, and expressive, and find out how to ensure your icon works well with specular highlights.","title":"Say hello to the new look of app icons","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["branding","color","dock","home screen","identity","launching","layered images","lighting","materials"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2C0F206D-6728-49F7-940E-DC5BC5C51B54","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/220\/4\/eb340303-3d49-4fcc-84c9-9dc98543ddaf\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/220\/4\/eb340303-3d49-4fcc-84c9-9dc98543ddaf\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/220\/4\/eb340303-3d49-4fcc-84c9-9dc98543ddaf\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/220\/4\/eb340303-3d49-4fcc-84c9-9dc98543ddaf\/downloads\/wwdc2025-220_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/220\/4\/eb340303-3d49-4fcc-84c9-9dc98543ddaf\/downloads\/wwdc2025-220_sd.mp4","duration":714,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Intro","summary":"Learn about the completely reimagined look of app icon look, with details of the creative vision, new appearance modes, and underlying design system.","end":53},{"start":53,"title":"Overview","summary":"The redesign drew inspiration from layered icons on visionOS and real glass properties. The material layers elements like edge highlights, frostiness, and translucency to add depth, appear lit from within, and reflect movement based on gyro input. \n\nThe new material treatment looks beautiful on light and dark mode and there are new translucent appearance modes, including monochrome glass in light and dark, and two tinted models (dark tint that adds color to the foreground, and light tint that infuses color into the glass.)\n\nAll appearance modes are available on iPhone, iPad, and Mac; on Apple Watch, light mode app icons have the updated look.","end":140},{"start":140,"title":"Design System","summary":"The new unified iconography language works across Apple devices, with a simplified design grid for both rounded rectangle and circular formats. The new icon grid provides more breathing room and enables the creation of optically balanced artwork for all kinds of proportions.\n\nmacOS icons are now masked or adjusted to fit the new rounded rectangle template, receiving a modern material appearance. watchOS icons have an updated circular grid that closely aligns with the updated rounded rectangle grid.\n\nUpdated templates are available for the new design system, for Figma, Sketch, Photoshop, and Illustrator.","end":318},{"start":318,"title":"Drawing Icons","summary":"The new design language for app icons emphasizes the effective use of layering, translucency, and blurs.\n\nLayering is essential for create dimensional designs. Even simple icons with a single foreground layer benefit from material effects like translucency and shadows, giving them depth and realism. However, it is crucial to strike a balance; realistic 3D objects can compete with the material qualities, so a more flat and frontal view is often preferred.\n\nTranslucency and blur are now easier to implement, adding nuances, lightness and depth to designs. They work well on both light and dark modes and can translates beautifully to transparent modes, allowing the wallpaper to peek through.\n\nAvoid sharp edges and thin lines, opting instead for rounder corners and bolder line weights. Softer light-to-dark gradients harmonize best with the new lighting effects, and the System Light and System Dark gradients ensure contrast. Expanded use of colored backgrounds for light mode (or default) app icons is recommended to provide more distinction between modes.","end":714}]},"related":{"activities":["wwdc2025-361","wwdc2025-219","wwdc2025-356"],"resources":[2383]}},"wwdc2025-215":{"id":"wwdc2025-215","staticContentId":9893,"eventContentId":215,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/215","languageCode":"eng","description":"Meet the Games app \u2013 a new destination for players to keep up with what\u2019s happening in their games, discover new ones, and play with friends, all in one place. Learn how to set up your game for optimal visibility in the Games app, integrate Game Center to enable social play, and keep players coming back with In-App Events.\n\nTo get the most out of this session, we also recommend watching \u201cGet started with Game Center\u201d.","title":"Engage players with the Apple Games app","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0C96EE37-E8A0-46DB-88B3-3BF6C3F633DD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/215\/4\/e02f5046-a82b-4e61-8d1d-7baaf1c5a28b\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/215\/4\/e02f5046-a82b-4e61-8d1d-7baaf1c5a28b\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/215\/4\/e02f5046-a82b-4e61-8d1d-7baaf1c5a28b\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/215\/4\/e02f5046-a82b-4e61-8d1d-7baaf1c5a28b\/downloads\/wwdc2025-215_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/215\/4\/e02f5046-a82b-4e61-8d1d-7baaf1c5a28b\/downloads\/wwdc2025-215_sd.mp4","duration":1275,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Intro","summary":"Learn about the new Apple Games app, the brand-new, all-in-one destination for players and the games they love to play.","end":27},{"start":27,"title":"Meet the Apple Games app","summary":"The new Games app on iPhone, iPad, and Mac is a centralized hub for players. It features a Home tab with game events, updates on what their friends are playing, and curated game collections; a dedicated home page for each of your games; a Play Together tab where players can invite their friends to compete; a Library tab where players can view and launch installed games; and a Search tab for players to discover new games. The app integrates with Game Center, widgets, notifications, and the App Store, enhancing the gaming experience for players and providing developers with higher visibility as well as tools to increase player engagement.","end":150},{"start":150,"title":"Set up game information","summary":"Games appear in the Games app if their Primary or Secondary App Store Category is set to 'Games.\u2019 Each game\u2019s page features the game's icon, name, subtitle, and an automatically customized background. Subcategories help players find games in their preferred genres. Additionally, games that integrate with Game Center show friends' Memoji. Making sure your game\u2019s meta data in App Store Connect is an important step toward making sure your game is showcased in the best possible light on the Games app. A pre-order can be a great way to generate excitement before your game is launched.","end":353},{"start":353,"title":"Leverage Game Center features","summary":"Your game can show up in more places in the Games app (and across the system) when you integrate Game Center features, which include achievements, leaderboards, challenges, and activities. Challenges and activities are new this year. You can easily configure these features using App Store Connect, the App Store Connect API, or (new this year) directly in Xcode.","end":474},{"start":474,"title":"Achievements","summary":"Achievements are in-game goals that motivate players to explore, progress, and compete with friends. Upon completion, players receive rewards for achieving milestones and can share these accomplishments.","end":515},{"start":515,"title":"Leaderboards","summary":"Leaderboards help players measure their skill progression, and encourage them to compete with friends and continue to strive for a higher score. In the Games app, the Home and Play Together tabs show score updates from leaderboards. ","end":638},{"start":638,"title":"Challenges","summary":"Challenges, new this year in Game Center, are a great way to help players bring their friends into your game. They\u2019re built on top of leaderboards, and turn single-player games into social experiences with friends. Players can compete in score-based rounds with any of their friends, see scores in real time, crown a winner, and start a rematch. Challenges are featured throughout the Games app. You can configure and customize challenges for your game in Xcode or App Store Connect.","end":832},{"start":832,"title":"Activities","summary":"With activities, you can configure deep links that directly transport players to specific game levels or modes. Activities are associated with Game Center features, such as Leaderboards and Achievements, and are prominently displayed in the Games app, including on the Home and Play Together tabs.","end":995},{"start":995,"title":"Keep players engaged","summary":"Setting up an In-App Event is a great way to keep players coming back for more fun. They promote time-limited content, seasonal activities, and special promotions, creating a sense of urgency and excitement among players. Events are prominently featured throughout the Games app, including in Home, Library, and Search tabs. In-App Events are a great way to retain existing players and re-engage those who have taken a break from the game.","end":1235},{"start":1235,"title":"Next steps","summary":"If you have an existing game, take a look at your game page in the Games app, and see if you need to update any information. Make sure you have Game Center enabled, and integrate any features you haven't added yet, like achievements, leaderboards, challenges, and activities, so your game can appear in more places across the new Games app. And don\u2019t forget to set up a new In-App Event!","end":1275}]},"related":{"activities":["wwdc2025-209","wwdc2025-214","wwdc2025-8083","wwdc2025-8081","wwdc2025-8082","wwdc2025-8080","wwdc2025-8079","wwdc2025-8152","wwdc2025-437","wwdc2021-10081","wwdc2021-10171","wwdc2023-10015","wwdc2025-328"],"resources":[4093,3910,3909,827]}},"wwdc2025-299":{"id":"wwdc2025-299","staticContentId":10025,"eventContentId":299,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/299","languageCode":"eng","description":"Learn how to deliver age-appropriate experiences in your app with the new Declared Age Range API. We\u2019ll cover how parents can allow their child to share an age range with an app to ensure a safe experience in a privacy-preserving way. We\u2019ll also explore how this framework can help you tailor your app\u2019s content and features based on a user\u2019s age, and show you how to implement age gates, understand caching, and respect user privacy while creating safer and more engaging experiences.","title":"Deliver age-appropriate experiences in your app","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["\ud83c\udf88"],"primaryTopicID":96,"topicIds":[101,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7E99D784-C9F0-4010-AA54-991F6F661B8E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/299\/4\/ffa39510-a851-4af3-9584-7e37abdfc5bf\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/299\/4\/ffa39510-a851-4af3-9584-7e37abdfc5bf\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/299\/4\/ffa39510-a851-4af3-9584-7e37abdfc5bf\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/299\/4\/ffa39510-a851-4af3-9584-7e37abdfc5bf\/downloads\/wwdc2025-299_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/299\/4\/ffa39510-a851-4af3-9584-7e37abdfc5bf\/downloads\/wwdc2025-299_sd.mp4","duration":817,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn more about the Declared Age Range framework and how you can request age ranges to create age-appropriate app experiences in apps.","end":34},{"start":34,"title":"Helping protect kids online","summary":"Apple released a white paper in February 2025 that outlines commitment to protecting children online. Following this, Apple launched a streamlined child setup flow. Beginning in iOS 26, parents can correct child account ages and App Store's global age ratings are now more specific (4+, 9+, 13+, 16+, 18+). ","end":145},{"start":145,"title":"Declared Age Range\u2028framework","summary":"The Declared Age Range framework is designed to help protect user privacy, particularly for children and teens. When an app requests an age, the framework presents people with age ranges to choose from, rather than asking for their exact birthdate. Each app can specify up to three ages in one request, resulting in four age ranges, each at least two years in duration. \n\nParents can select from three sharing settings: 'Always Share,' 'Ask First', and 'Never Share'. The framework also includes regional max age settings and default prompting frequencies to minimize the disclosure of personal information. Parents can manage their child\u2019s age range settings during onboarding or in the Settings app.","end":420},{"start":420,"title":"Requesting an age range","summary":"You can now create age-appropriate experiences by modifying features based on user age. To achieve this, your app must enable the 'Declared Age Range' capability. \n\nYou then add code to request the user's age range from the DeclaredAgeRange API. The API responds with an enum that indicates whether the user shared their age and, if so, the lower and upper bounds of the age range. The app then enables or disables specific features, such as a photo-sharing button, accordingly.\n\nThe system caches responses to avoid frequent user prompts, and these cached responses are synced across devices. People can manage their cached responses in the Settings app. Additionally, if the user is under the age of majority, the API returns a set of additional parental control settings.","end":742},{"start":742,"title":"More ways to keep kids safe","summary":"Apple offers APIs and frameworks to help developers protect users, particularly children, from nudity in images, videos, and live streams. You can review Apple's child safety tools at developer.apple.com.","end":817}]},"related":{"activities":["wwdc2025-293"],"resources":[4081,4030,4007]}},"wwdc2025-214":{"id":"wwdc2025-214","staticContentId":9892,"eventContentId":214,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-18T16:28:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/214","languageCode":"eng","description":"Explore the features of Game Center and learn how to get started. We\u2019ll show you best practices for implementing achievements, challenges, leaderboards, and activities to maximize your game\u2019s discoverability, attract new players, and increase engagement.\n\nTo get the most out of this session, we also recommend watching \u201cEngage players with the Apple Games app\u201d.","title":"Get started with Game Center","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["macOS"],"primaryTopicID":91,"topicIds":[88,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0BEC1E9E-5221-48F9-853B-BEDA2BE23D63","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/214\/5\/c6c0d647-5ddc-44aa-869b-d27b44774678\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/214\/5\/c6c0d647-5ddc-44aa-869b-d27b44774678\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/214\/5\/c6c0d647-5ddc-44aa-869b-d27b44774678\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/214\/5\/c6c0d647-5ddc-44aa-869b-d27b44774678\/downloads\/wwdc2025-214_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/214\/5\/c6c0d647-5ddc-44aa-869b-d27b44774678\/downloads\/wwdc2025-214_sd.mp4","duration":1776,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","fr","ja","ko","zh"],"chapters":[{"start":0,"title":"Intro","summary":"Game Center is Apple\u2019s social gaming network. It offers a suite of features, including Achievements, Leaderboards, Challenges, and Activities, that enhance player engagement within games. Simply enabling Game Center increases your game's visibility across the Apple ecosystem, including in the new Apple Games app, which comes pre-installed on macOS, iPadOS, and iOS this Fall. Game Center also fosters social interaction through push notifications, encouraging friendly competition and keeping players invested in the game.","end":161},{"start":161,"title":"Project setup","summary":"It\u2019s easy to integrate Game Center in your game. There are two steps: add the Game Center entitlement to your Xcode project, and add two lines of code to initialize GameKit. That\u2019s it! You can optionally configure additional Game Center features directly in Xcode using GameKit bundles, a new feature in Xcode 26 that can be synchronized with App Store Connect.","end":411},{"start":411,"title":"Integrate Game Center features","summary":"Using the example of a game called The Coast, Josh walks you through exactly how to use a GameKit bundle in Xcode to integrate Game Center features. He adds a new leaderboard for the Cape Code level, where players tap ships to guide them to safety, avoiding sneaky lobsters that end the level. The same steps also apply when you create other Game Center features like achievements, challenges, and activities.","end":600},{"start":600,"title":"Challenges and activities","summary":"Game Center has two new features this year: Challenges and Activities. \n\nChallenges build upon existing leaderboards, and allow players to invite friends to compete in real-time, time-limited matches. Players can customize challenges, choosing participants, duration, and number of tries, making each competition personalized. \n\nActivities provide a way to deep link to specific areas of your game, like the start of a level or a boss fight. You can associate Activities with leaderboards, challenges, and even real-time multiplayer experiences. \n\nGame Center now provides support for shareable party codes, which games can use to connect player together in multiplayer experiences. ","end":1433},{"start":1433,"title":"Test your implementation","summary":"Josh walks you through the steps required to test a leaderboard and its associated activity deep link in Xcode.","end":1604},{"start":1604,"title":"Publish to App Store","summary":"See how creating a GameKit bundle, and testing your implementation with the Game Progress Manager, fits seamlessly into the process of getting your game published on the App Store.","end":1712},{"start":1712,"title":"Next steps","summary":"Add a GameKit bundle to your game in Xcode to make the process of developing your game easier. Then, add the code to initialize GameKit to your game. Just by taking these two steps, you will make your game more visible throughout the operating system. \n\nAnd try the new Game Center features, activities and challenges, in your game. If you\u2019re a Unity developer, check out the GameKit plug-in on GitHub.","end":1776}]},"related":{"activities":["wwdc2025-8082","wwdc2025-8152","wwdc2025-8083","wwdc2025-8080","wwdc2025-8079","wwdc2025-8081","wwdc2025-215","wwdc2025-209","wwdc2025-437","wwdc2022-10065"],"resources":[3910,3909,3023,2431,827]}},"wwdc2025-237":{"id":"wwdc2025-237","staticContentId":9935,"eventContentId":237,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/237","languageCode":"eng","description":"Discover the latest spatial features for the web on visionOS 26. We\u2019ll cover how to display inline 3D models with the brand new HTML model element. And we\u2019ll share powerful features, including model lighting, interactions, and animations. Learn how to embed newly supported immersive media on your web site, such as 360-degree video and Apple Immersive Video. And get a sneak peek at adding a custom environment to your web pages.","title":"What\u2019s new for the spatial web","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["visionOS"],"keywords":["animation","javascript","model"],"primaryTopicID":98,"topicIds":[85,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"23567C38-0F39-4609-9921-D7DC2B6200E7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/237\/5\/f5fcabf4-e9fa-420b-a1a8-3e4868fccca9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/237\/5\/f5fcabf4-e9fa-420b-a1a8-3e4868fccca9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/237\/5\/f5fcabf4-e9fa-420b-a1a8-3e4868fccca9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/237\/5\/f5fcabf4-e9fa-420b-a1a8-3e4868fccca9\/downloads\/wwdc2025-237_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/237\/5\/f5fcabf4-e9fa-420b-a1a8-3e4868fccca9\/downloads\/wwdc2025-237_sd.mp4","duration":1769,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"The visionOS Safari team introduces new features for the spatial web this year, including stereoscopic 3D model rendering, immersive media playback, and developer preview features like website environments.","end":55},{"start":55,"title":"Embed 3D models","summary":"The evolution of web development introduces the HTML Model element, enabling the seamless embedding of 3D models directly onto webpages. This new feature, now available by default in Safari on visionOS, revolutionizes how people interact with web content by providing stereoscopic rendering, allowing them to perceive depth and explore 3D objects from various angles.","end":1284},{"start":1284,"title":"Present immersive media","summary":"Support for immersive media on websites is expanded, enabling you to embed various formats such as spatial, 180-degree, 360-degree, and wide-field-of-view videos. With iPhone 15 Pro or later, users can capture spatial video directly from the Camera app and view it on Apple Vision Pro. ","end":1574},{"start":1574,"title":"Provide custom environment","summary":"There's also a new developer preview feature for Safari called Website Environment. This feature allows websites to create virtual environments using USDZ files, enabling visitors to experience immersive settings \u2014 such as restaurants, submarines, or dungeons \u2014 while still keeping Safari and the website in view. \n\nYou can implement this feature by using specific HTML markup, linking to USDZ files, and customizing the environments with IBLs. The feature is currently in development, and feedback is encouraged to shape its future.","end":1769}]},"related":{"activities":["wwdc2025-233","wwdc2025-296","wwdc2025-304","wwdc2024-10087","wwdc2025-297","wwdc2023-10086","wwdc2023-10083"],"resources":[4103,4101,4100,4099,4098,3591,659]}},"wwdc2025-246":{"id":"wwdc2025-246","staticContentId":9945,"eventContentId":246,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/246","languageCode":"eng","description":"Learn how to build privacy into your apps from the planning stages through deployment. We\u2019ll cover practical ways to integrate privacy at each step of the development lifecycle, focusing on data minimization, on-device processing, and transparency and control. You\u2019ll discover how to use Apple\u2019s tools and frameworks to protect user data and create a privacy-respecting app experience. ","title":"Integrate privacy into your development process","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0A08BD06-2B59-45BA-AA75-C9206946195D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/246\/4\/37a0cde9-fca8-4877-b05c-95e677c0e2b0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/246\/4\/37a0cde9-fca8-4877-b05c-95e677c0e2b0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/246\/4\/37a0cde9-fca8-4877-b05c-95e677c0e2b0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/246\/4\/37a0cde9-fca8-4877-b05c-95e677c0e2b0\/downloads\/wwdc2025-246_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/246\/4\/37a0cde9-fca8-4877-b05c-95e677c0e2b0\/downloads\/wwdc2025-246_sd.mp4","duration":1542,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Intro","summary":"Learn the importance of data privacy in app development and how to integrate privacy into your entire app development process. This video shares practical ways to infuse apps with privacy at every step of development.","end":38},{"start":38,"title":"How does Apple think of privacy?","summary":"Apple thinks about privacy as clear, repeated communication of how user data is handled, allowing people to make informed choices based on their expectations and preferences. Apple respects context, as it is crucial when entrusted with people's data. Apple privacy pillars include data minimization, on-device processing, transparency and control, and security protections.","end":227},{"start":227,"title":"Planning","summary":"Effective app privacy begins with comprehensive planning. Integrating privacy into the development process from the start is essential, as it is more challenging to implement later. \n\nDuring planning, Apple defines privacy assurances, which are high-level statements outlining what users can expect regarding their personal data. These assurances are guided by principles such as data minimization, which involves using only the necessary data, and implementing strong defaults that respect privacy.\n\nApps need to clearly communicate how data is used, provide customization options, and ensure that any data sharing beyond defaults offers clear value. Security protections, such as end-to-end encryption, are essential to support privacy goals and maintain limits on data flows to avoid harm.","end":433},{"start":433,"title":"Design","summary":"Effective app design involves clear communication and education about data collection and usage. This builds trust. Key design principles include:\n\n- Proactively setting expectations through onboarding flows and privacy summaries\n- Making state changes clear and visible\n- Offering meaningful and contextual data choices, relevant to current actions\n\nBy applying these principles, create intuitive and user-friendly apps that respect user privacy.","end":567},{"start":567,"title":"Development: User interface","summary":"Apple platforms prioritize privacy by limiting data sharing to only what is necessary. Achieve this in your app with privacy-preserving APIs provided by Apple.\n\nFor example, use the PhotosPicker to select specific photos without full access to the Photos library, and the Location Button to share location with a single tap. These tools implicitly signal permission and streamline the experience.","end":768},{"start":768,"title":"Development: Client-server","summary":"Apple provides several tools and techniques for developers to enhance privacy in their apps.\n\n- CloudKit enables end-to-end encryption for app data stored in iCloud when Advanced Data Protection is enabled\n- Homomorphic encryption allows computations on encrypted data\n- Private Access Tokens to help assure legitimate device requests\n- DeviceCheck to help prevent fraudulent activity\n- AdAttributionKit to measure ad campaign success without needing to show App Tracking Transparency prompts","end":1100},{"start":1100,"title":"Development: local resources","summary":"Use Core ML to efficiently run and train machine learning models directly on-device. Use App group containers to safely facilitate data sharing between apps. Avoid user prompts by ensuring that app processes are terminated when an app is quit.","end":1246},{"start":1246,"title":"Testing","summary":"Testing is crucial for ensuring an app delivers on its privacy assurances. Apple uses a pyramid model of unit, integration, and UI tests to validate privacy controls, data flows, and customer-facing behaviors. Use the App Privacy Report to help review data access and network activity for consistency with customer expectations.","end":1348},{"start":1348,"title":"Deployment","summary":"Deployment involves sharing the app's privacy story and meeting App Store requirements. Privacy nutrition labels, configured in App Store Connect, provide concise information on data types transmitted and their usage. Other crucial requirements include a clear privacy policy, privacy manifests, and purpose strings for permission prompts, with an optional Privacy Choices link to help people manage their data.","end":1542}]},"related":{"activities":["wwdc2023-10107","wwdc2021-10102","wwdc2021-10086","wwdc2022-10077","wwdc2021-10244","wwdc2024-10060","wwdc2025-221","wwdc2024-10161","wwdc2024-10159","wwdc2024-10123","wwdc2023-10060","wwdc2023-10060","wwdc2022-10167"],"resources":[3917,3916,3752,3581,2975]}},"wwdc2025-258":{"id":"wwdc2025-258","staticContentId":9950,"eventContentId":258,"eventId":"wwdc2025","contentUpdatedAt":"2026-04-14T11:38:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/258","languageCode":"eng","description":"Designed for IT administrators, MDM developers, and identity providers, this session covers the latest updates to Declarative Device Management, Apple Business Manager, Apple School Manager, Platform Single Sign-On, and more. Learn how these advancements streamline deployment, strengthen security, and improve the user experience.","title":"What\u2019s new in Apple device management and identity","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["enterprise"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"023E027A-60B7-4553-8291-45E29A4959BD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/258\/4\/00c0d5e4-631c-40a0-b535-65404ad0e9c1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/258\/4\/00c0d5e4-631c-40a0-b535-65404ad0e9c1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/258\/4\/00c0d5e4-631c-40a0-b535-65404ad0e9c1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/258\/4\/00c0d5e4-631c-40a0-b535-65404ad0e9c1\/downloads\/wwdc2025-258_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/258\/4\/00c0d5e4-631c-40a0-b535-65404ad0e9c1\/downloads\/wwdc2025-258_sd.mp4","duration":1183,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"Learn about enhancing device management for organizations and developers, updates to Apple Business Manager and Apple School Manager, improved device and app management, and new identity integrations, all aimed at balancing user productivity and organizational security.","end":71},{"start":71,"title":"Services","summary":"Apple Business Manager and Apple School Manager are free web-based services that enhance device deployment and management for organizations. \n\nManaged Apple Accounts, designed for work and school, provide IT with full ownership. Last year's updates included the ability for IT to lock domains. This year, administrators can download lists of personal accounts, and enforce the use of work accounts on organizationally owned devices, all without MDM dependency.\n\nDevice inventory is expanded to include more details, such as Activation Lock status, storage, and cellular information. Later this year, MAC addresses for Bluetooth and Wi-Fi on iPhone and iPad will be added, as well as AppleCare coverage information. New APIs allow organizations to interact with device inventory data and MDM server assignment, streamlining management processes.\n\nAutomated Device Enrollment is now extended to include Apple Vision Pro, and account-driven enrollments are easier to set up, utilizing the MDM server to configure the service discovery URL.\n\nA new feature enables device management migration between MDM servers, simplifying the process for acquisitions, shifts in MDM solutions, or changes in infrastructure, and preserving apps and data during the transition. Device management migration is now available within Apple Business Manager and Apple School Manager.","end":484},{"start":484,"title":"Device management","summary":"Device management is enhanced across all platforms, including Apple Vision Pro and Apple TV. Key updates include the expansion of Declarative Device Management for software updates, which is now the standard method, replacing the older, deprecated MDM system. Safari management is also improved, allowing organizations to control bookmarks and set default homepages. All Safari management is now available in Declarative Device Management.\n\nThe Return to Service process is streamlined for iPhone, iPad, and now Apple Vision Pro, preserving managed apps during resets, saving time and reducing network strain. Additionally, new features for battery health monitoring, default app settings for messaging and calling, new restrictions to limit Messaging and FaceTime, and a new Network Extension URL Filtering API are introduced.","end":738},{"start":738,"title":"App management","summary":"iOS, iPadOS, and macOS now offer enhanced app management features for IT teams, including per-app update control, version pinning, real-time visibility into app installations, and cellular download restrictions. These updates, released in iOS and iPadOS 18.4 and visionOS 2.4, and coming to macOS Tahoe, provide greater security and control over managed apps. The new ManagedApp framework enables secure app configurations and customization.","end":882},{"start":882,"title":"Identity integrations","summary":"Updates to identity integrations for Mac enhance security and user experience. \n\nPlatform SSO registration is now integrated into Setup Assistant during Automated Device Enrollment, streamlining the process for one-to-one deployments. The system prompts people to authenticate with their identity provider, and creates a local account with synchronized passwords or Secure Enclave-backed keys.\n\nFor shared-use deployments, Authenticated Guest Mode allows people to log in using their cloud identity, and all data is wiped upon logout. Tap to Login, enabled by NFC readers and corporate badges or school IDs in Apple Wallet, further expedites this process, providing a secure and convenient way for people to access resources in environments like education, retail, and healthcare.","end":1113},{"start":1113,"title":"Next steps","summary":"There are also new features for Managed Apple Accounts, including enhanced Services API capabilities, streamlined device migration, improved app distribution, and shared Apple Vision Pro. Platform SSO now allows Mac sign-in with iPhone or Apple Watch. Detailed documentation is available at developer.apple.com.","end":1183}]},"related":{"activities":["wwdc2025-234","wwdc2025-203"],"resources":[3960,3959,3108,584,330]}},"wwdc2025-367":{"id":"wwdc2025-367","staticContentId":10103,"eventContentId":367,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-08T09:07:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/367","languageCode":"eng","description":"Catch up quickly on the newest advancements for your apps and games.","title":"WWDC25 Platforms State of the Union Recap","originalPublishingDate":"2025-06-10T07:00:00-07:00","publishingExpiryDate":"2035-06-10T00:00:00-07:00","primaryTopicID":90,"topicIds":[90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C049475B-E020-407A-A7C9-3419C3A71CFB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/367\/2\/56654673-9cbe-4dc1-bdbe-7960bd7d92c2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/367\/2\/56654673-9cbe-4dc1-bdbe-7960bd7d92c2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/367\/2\/56654673-9cbe-4dc1-bdbe-7960bd7d92c2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/367\/2\/56654673-9cbe-4dc1-bdbe-7960bd7d92c2\/downloads\/wwdc2025-367_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/367\/2\/56654673-9cbe-4dc1-bdbe-7960bd7d92c2\/downloads\/wwdc2025-367_sd.mp4","duration":251,"availableSubtitleLanguageCodes":["en"]}},"wwdc2025-365":{"id":"wwdc2025-365","staticContentId":10101,"eventContentId":365,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-12T07:47:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/365","languageCode":"eng","description":"Here\u2019s your guide to some of the big announcements from this year\u2019s Worldwide Developers Conference.","title":"New things on the way from Apple","startTime":"2025-06-09T12:00:00-07:00","endTime":"2025-06-09T12:05:00-07:00","originalPublishingDate":"2025-06-09T12:00:00-07:00","publishingExpiryDate":"2035-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"CDF9F52F-C74B-4BD0-B148-37634F3F54AC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/365\/1\/ad920f70-357d-4c4e-8512-01aa88448227\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/365\/1\/ad920f70-357d-4c4e-8512-01aa88448227\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/365\/1\/ad920f70-357d-4c4e-8512-01aa88448227\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/365\/1\/ad920f70-357d-4c4e-8512-01aa88448227\/downloads\/wwdc2025-365_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/365\/1\/ad920f70-357d-4c4e-8512-01aa88448227\/downloads\/wwdc2025-365_sd.mp4","duration":128,"availableAudioLanguageCodes":["eng"]}},"wwdc2025-334":{"id":"wwdc2025-334","staticContentId":9956,"eventContentId":334,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/334","languageCode":"eng","description":"Discover the new features in watchOS 26 and learn how to integrate them into your watchOS and iOS apps. Explore the ARM64 architecture, and dive into the new design system. We\u2019ll also share updates for widgets and insights on how to bring controls to Apple Watch.","title":"What\u2019s new in watchOS 26","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["watchOS"],"primaryTopicID":100,"topicIds":[92,93,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"29B2363D-8DFB-4A25-A3DB-A804582858FD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/334\/6\/578bf261-7e37-4689-a465-bd1300c0f908\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/334\/6\/578bf261-7e37-4689-a465-bd1300c0f908\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/334\/6\/578bf261-7e37-4689-a465-bd1300c0f908\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/334\/6\/578bf261-7e37-4689-a465-bd1300c0f908\/downloads\/wwdc2025-334_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/334\/6\/578bf261-7e37-4689-a465-bd1300c0f908\/downloads\/wwdc2025-334_sd.mp4","duration":1256,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"watchOS 26 has new features and platform considerations.","end":56},{"start":56,"title":"Update for watchOS 26","summary":"Explore the new design system on watchOS with updates to controls, app icons, and system spaces. Learn tips to support the arm64 architecture on watchOS 26.","end":228},{"start":228,"title":"Bring apps to new places","summary":"Extend the presence of your app across watchOS. Controls help people to perform quick actions and can be added to the Control Center, Smart Stack, and Action button on Apple Watch Ultra. Controls are automatically available from iOS apps or can be built directly on watchOS. Apps that record workouts with HealthKit can be automatically suggested in the Smart Stack based on people\u2019s routine. MapKit APIs from iOS are also available on watchOS 26, like finding directions between two places, or displaying routes as overlays.","end":584},{"start":584,"title":"Be relevant and up-to-date","summary":"RelevanceKit powers a new way to show widgets in the Smart Stack when they\u2019re the most relevant, based on criteria like date, sleep schedule, or location. Building a relevant widget has similar steps to building a timeline-based widget. Learn tips to build and test your relevant widget but using Previews.","end":1256}]},"related":{"activities":["wwdc2025-219","wwdc2025-361","wwdc2024-10157","wwdc2023-10043","wwdc2025-278","wwdc2022-10051","wwdc2025-278"],"resources":[4029,3784,2905,1786,1704,100]}},"wwdc2025-208":{"id":"wwdc2025-208","staticContentId":10046,"eventContentId":208,"eventId":"wwdc2025","contentUpdatedAt":"2025-10-08T13:40:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/208","languageCode":"eng","description":"Make your app look and feel great on iPadOS. Learn best practices for designing a responsive layout for resizable app windows. Get familiar with window controls and explore the best ways to accommodate them. Discover the building blocks of a great menu bar. And meet the new pointer and its updated effects.","title":"Elevate the design of your iPad app","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iPadOS"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"873F40BE-101A-4C0D-99F0-F5C7CE7B47A3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/208\/5\/09c21eb9-8870-421d-af8e-7f152020b87b\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/208\/5\/09c21eb9-8870-421d-af8e-7f152020b87b\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/208\/5\/09c21eb9-8870-421d-af8e-7f152020b87b\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/208\/5\/09c21eb9-8870-421d-af8e-7f152020b87b\/downloads\/wwdc2025-208_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/208\/5\/09c21eb9-8870-421d-af8e-7f152020b87b\/downloads\/wwdc2025-208_sd.mp4","duration":920,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"The new updates to iPadOS 26 focus on elevating the user experience by building upon the iPad's core principle of simplicity.\n\nThe updates include window resizing for multitasking, new Window Controls in the toolbar, a more precise and responsive pointer, and the new menu bar. These features provide developers with the necessary tools to create more powerful and unique iPad apps.\n\nThe presentation will guide developers through optimizing their apps, starting with navigation, then exploring how windows function during multitasking, the new pointer and hover effects, and finally, the implementation of the new menu bar.","end":85},{"start":85,"title":"Navigation","summary":"iPad app navigation patterns include sidebars and tab bars. Sidebars are suitable for complex content hierarchies like Mail and Music, but they can also morph into tab bars for a more compact view. Sidebars are flexible and can adapt to various sizes, including portrait mode and floating windows. If you use a tab bar, you can gracefully adapt to size changes. \n\nApps need to adapt their layout non-destructively to size changes and extend content around navigation elements to create an immersive experience. Use the new 'scroll edge effect' to start extending your content around your navigation.","end":298},{"start":298,"title":"Windows","summary":"In iPadOS 26, a new windowing system enhances multitasking by allowing people to fluidly resize any app window. In the toolbar, you\u2019ll find the new Window Controls that are central to how you multitask on iPad. Apps need to wrap their toolbar around window controls so they appear in line.","end":520},{"start":520,"title":"Pointer","summary":"In iPadOS 26, the pointer has a new shape and is more precise. The is also a new highlight effect made of Liquid Glass that replaces the original hover effect that use to morph into a highlight. The new pointer will no longer magnetize or rubber band to any target and will always track your input directly.","end":624},{"start":624,"title":"The menu bar","summary":"The iPad menu bar for iPad is a familiar feature coming from the Mac. You can access it by moving the pointer to the top edge or swiping down with your finger. The menu bar consists of the app menu, system-provided default menus, and custom menus tailored to each app. When designing intuitive and predictable menu bars apps should consider organization of actions, keyboard shortcuts, navigation toggles and never hiding inactive items.","end":920}]},"related":{"resources":[3703,2921,598]}},"wwdc2025-356":{"id":"wwdc2025-356","staticContentId":10044,"eventContentId":356,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/356","languageCode":"eng","description":"Dive deeper into the new design system to explore key changes to visual design, information architecture, and core system components. Learn how the system reshapes the relationship between interface and content, enabling you to create designs that are dynamic, harmonious, and consistent across devices, screen sizes, and input modes.","title":"Get to know the new design system","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["app architecture","component","controls","design language","hierarchy","information architecture","layout","pattern","patterns","structure","views"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1AAA030E-2ECA-47D8-AE09-6D7B72A840F6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/356\/6\/689577bd-34c7-48cb-ba66-22d13d7aca5a\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/356\/6\/689577bd-34c7-48cb-ba66-22d13d7aca5a\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/356\/6\/689577bd-34c7-48cb-ba66-22d13d7aca5a\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/356\/6\/689577bd-34c7-48cb-ba66-22d13d7aca5a\/downloads\/wwdc2025-356_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/356\/6\/689577bd-34c7-48cb-ba66-22d13d7aca5a\/downloads\/wwdc2025-356_sd.mp4","duration":1094,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Intro","summary":"Apple's new design language fundamentally reshapes the relationship between interface and content and provides a harmonized, cohesive, and adaptive experience across all Apple devices and screen sizes.","end":126},{"start":126,"title":"Design Language","summary":"The system uses a refined color palette, bolder left-aligned typography, and concentricity to create a unified rhythm between hardware and software.","end":376},{"start":376,"title":"Structure","summary":"Understanding how to structure an app effectively is crucial when utilizing Liquid Glass. Liquid Glass introduces a new functional layer in the UI, floating above content without stealing focus. It achieves this by creating spatial relationships between surfaces, making interactions feel more intuitive and grounded.\n\nAction Sheets now spring from the specific action they relate to, rather than appearing at the bottom of the screen. This approach, applied to custom controls as well, helps the system understand and anchor interactions. \n\nRemove background colors from custom toolbars and tab bars. Rely on layout and grouping to express hierarchy rather than unnecessary decoration. Organize bar items logically by function and frequency of use. Use tinting to help primary actions stand out clearly. Tab bars should be well-structured, with a dedicated Search tab now included in iOS for quick access.\n\nLiquid Glass works in tandem with scroll edge effects, which replace hard dividers with subtle blur to reduce clutter. Scroll views now extend beneath sidebars by default, allowing carousels and other content to glide through naturally. Sidebars are inset and built with Liquid Glass, enabling content to flow behind them for a more immersive feel.\n\nBackground extension effects allow content to expand behind sidebars, filling the full width while keeping visuals centered in the layout. It's essential to ensure that text and controls are layered above to avoid distortion.","end":814},{"start":814,"title":"Continuity","summary":"Continuity is paramount in the new design system, ensuring a seamless user experience across all devices. The design process is simplified by creating the app's anatomy once, which then scales appropriately for each platform: iPhone's narrow vertical layout, iPad's scalable middle ground, and Mac's wide expansive canvas.\n\nShared content and consistent symbols and text labels build familiarity and prevent confusion. Structure components to scale, with a shared anatomy and core interactions that remain the same regardless of form factor. This approach not only bridges platforms but also enhances the cohesion within each one, making the app feel intuitive and connected.","end":1094}]},"related":{"activities":["wwdc2025-219","wwdc2025-361","wwdc2025-220"],"resources":[3963,3904,3900,3111,607]}},"wwdc2025-265":{"id":"wwdc2025-265","staticContentId":9964,"eventContentId":265,"eventId":"wwdc2025","contentUpdatedAt":"2025-07-15T15:57:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2025\/265","languageCode":"eng","description":"With Writing Tools, people can proofread, rewrite, and transform text directly within your app. Learn advanced techniques to customize Writing Tools for your app. Explore formatting options and how they work with rich text editing. If you have a custom text engine, learn how to seamlessly integrate the complete Writing Tools experience, allowing edits directly within the text view.","title":"Dive deeper into Writing Tools","originalPublishingDate":"2025-06-09T14:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["nsservices","nstextview","textkit","uitextview"],"primaryTopicID":94,"topicIds":[83,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4E5861EB-8BC7-45F2-9570-F06A8411EB23","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/265\/4\/65bf71d2-6fef-47fe-8239-405d7ad9db8d\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/265\/4\/65bf71d2-6fef-47fe-8239-405d7ad9db8d\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/265\/4\/65bf71d2-6fef-47fe-8239-405d7ad9db8d\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/265\/4\/65bf71d2-6fef-47fe-8239-405d7ad9db8d\/downloads\/wwdc2025-265_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2025\/265\/4\/65bf71d2-6fef-47fe-8239-405d7ad9db8d\/downloads\/wwdc2025-265_sd.mp4","duration":1074,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","es","fr","ja","ko","pt","zh"],"chapters":[{"start":0,"title":"Introduction","summary":"In this video we'll review what's new in Writing Tools, how to customize your app's experience, support rich text, and integrate them into custom text engines.","end":46},{"start":46,"title":"What\u2019s new","summary":"Writings Tools now support integration with ChatGPT, visionOS, follow-up requests for making tone adjustments, and automation using Shortcuts. Writings Tools also provide new APIs to help you to integrate them into your app.","end":141},{"start":141,"title":"Customize native text views","summary":"If your app uses native text views, you get Writing Tools support for free. You can further customize the experience by adopting lifecycle methods to react to operations like pausing syncing, specifying ignored ranges within text, providing a toolbar button, or customizing context menus.","end":240},{"start":240,"title":"Rich text formatting","summary":"Writing Tools now support rich text with semantic styles. If your app supports presentation intents such as headings, subheadings, quotes, tables, and lists, you can communicate that information to Writings Tools. Writings Tools will provide results using styles in your app's supported presentation intent whenever possible.","end":461},{"start":461,"title":"Custom text engines","summary":"If your app uses a custom text engine, you can now enable a fully integrated experience with Writing Tools. The basic Writing Tools experience works automatically, provided you adopt common text editing protocols. The full Writing Tools experience allows Writing Tools to rewrite text directly in place, provide animations, and show proofreading changes inline. For the full experience, use the new Writing Tools coordinator API to integrate them into your custom text engine.","end":1018},{"start":1018,"title":"Next steps","summary":"Explore new Writing Tools features and take advantage of customization and rich text support in your app. If you have a custom text engine, enable a full Writing Tools experience by adopting the coordinator API.","end":1074}]},"related":{"activities":["wwdc2024-10168"],"resources":[4044,3912]}},"wwdc2024-10084":{"id":"wwdc2024-10084","staticContentId":9195,"eventContentId":10084,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10084","languageCode":"eng","description":"Check out the latest in creating, customizing, and scheduling workouts using WorkoutKit. Sprint through the latest in pace and power alerts and expanded support for distance goals. And keep the momentum going with the benefits of custom step names.","title":"Build custom swimming workouts with WorkoutKit","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS","iPadOS","watchOS"],"primaryTopicID":92,"topicIds":[83,92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BBEC4C0B-FD83-4FEA-ACC1-EF8E54620C8D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10084\/5\/B6B1BB75-9C3C-4915-9878-B181CEC0C79C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10084\/5\/B6B1BB75-9C3C-4915-9878-B181CEC0C79C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10084\/5\/B6B1BB75-9C3C-4915-9878-B181CEC0C79C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10084\/5\/B6B1BB75-9C3C-4915-9878-B181CEC0C79C\/downloads\/wwdc2024-10084_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10084\/5\/B6B1BB75-9C3C-4915-9878-B181CEC0C79C\/downloads\/wwdc2024-10084_sd.mp4","duration":529,"availableAudioLanguageCodes":["und"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":85},{"start":85,"title":"User-selectable workout locations","end":193},{"start":193,"title":"Custom step names","end":260},{"start":260,"title":"Custom pool swimming workouts","end":529}]},"related":{"activities":["wwdc2023-10016"],"resources":[3688,3142]}},"wwdc2024-10144":{"id":"wwdc2024-10144","staticContentId":9272,"eventContentId":10144,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10144","languageCode":"eng","description":"Learn how you can use SwiftUI to build great apps for any Apple platform. Explore a fresh new look and feel for tabs and documents on iPadOS. Improve your window management with new windowing APIs, and gain more control over immersive spaces and volumes in your visionOS apps. We\u2019ll also take you through other exciting refinements that help you make expressive charts, customize and layout text, and so much more.","title":"What\u2019s new in SwiftUI","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":100,"topicIds":[90,85,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4EEF347C-F53A-48E6-9CB1-2E9DD5AAFA30","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10144\/4\/8A69C683-3259-454B-9F94-5BBE98999A1B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10144\/4\/8A69C683-3259-454B-9F94-5BBE98999A1B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10144\/4\/8A69C683-3259-454B-9F94-5BBE98999A1B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10144\/4\/8A69C683-3259-454B-9F94-5BBE98999A1B\/downloads\/wwdc2024-10144_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10144\/4\/8A69C683-3259-454B-9F94-5BBE98999A1B\/downloads\/wwdc2024-10144_sd.mp4","duration":1393,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":51},{"start":51,"title":"Fresh apps","end":64},{"start":64,"title":"Fresh apps: TabView","end":142},{"start":142,"title":"Fresh apps: Presentation sizing","end":159},{"start":159,"title":"Fresh apps: Zoom transition","end":182},{"start":182,"title":"Fresh apps: Custom controls","end":218},{"start":218,"title":"Fresh apps: Vectorized and function plots","end":250},{"start":250,"title":"Fresh apps: TableColumnForEach","end":265},{"start":265,"title":"Fresh apps: MeshGradient","end":291},{"start":291,"title":"Fresh apps: Document launch experience","end":333},{"start":333,"title":"Fresh apps: SF Symbols 6","end":397},{"start":397,"title":"Harnessing the platform","end":412},{"start":412,"title":"Harnessing the platform: Windowing","end":508},{"start":508,"title":"Harnessing the platform: Input methods","end":645},{"start":645,"title":"Harnessing the platform: Widgets and Live Activities","end":745},{"start":745,"title":"Intermezzo","end":775},{"start":775,"title":"Framework foundations","end":789},{"start":789,"title":"Framework foundations: Custom containers","end":828},{"start":828,"title":"Framework foundations: Ease of use","end":978},{"start":978,"title":"Framework foundations: Scrolling enhancements","end":1038},{"start":1038,"title":"Framework foundations: Swift 6 language mode","end":1081},{"start":1081,"title":"Framework foundations: Improved interoperability","end":1158},{"start":1158,"title":"Crafting experiences","end":1183},{"start":1183,"title":"Crafting experiences: Volumes","end":1227},{"start":1227,"title":"Crafting experiences: Immersive spaces","end":1287},{"start":1287,"title":"Crafting experiences: TextRenderer","end":1332},{"start":1332,"title":"Next steps","end":1393}]},"related":{"activities":["wwdc2024-111891","wwdc2024-111890","wwdc2024-111892","wwdc2024-10147","wwdc2024-10145","wwdc2024-10157","wwdc2024-10155","wwdc2024-10132","wwdc2024-10188","wwdc2024-10148","wwdc2024-10149","wwdc2024-10152","wwdc2024-10214","wwdc2024-10146","wwdc2024-10073","wwdc2024-10169","wwdc2024-10153","wwdc2024-10151","wwdc2024-10068"],"resources":[3797,3695]}},"wwdc2024-10218":{"id":"wwdc2024-10218","staticContentId":9368,"eventContentId":10218,"eventId":"wwdc2024","contentUpdatedAt":"2025-10-20T12:26:48-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10218","languageCode":"eng","description":"Learn how to accelerate your machine learning transformer models with new features in Metal Performance Shaders Graph. We\u2019ll also cover how to improve your model\u2019s compute bandwidth and quality, and visualize it in the all new MPSGraph viewer.","title":"Accelerate machine learning with Metal","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["machine learning","metal","metal compute"],"primaryTopicID":94,"topicIds":[91,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BAC8BF43-DBBE-4B27-9756-CEA4DF5F4959","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10218\/4\/170082E6-003F-44FE-BF57-99EA261406B4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10218\/4\/170082E6-003F-44FE-BF57-99EA261406B4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10218\/4\/170082E6-003F-44FE-BF57-99EA261406B4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10218\/4\/170082E6-003F-44FE-BF57-99EA261406B4\/downloads\/wwdc2024-10218_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10218\/4\/170082E6-003F-44FE-BF57-99EA261406B4\/downloads\/wwdc2024-10218_sd.mp4","duration":1506,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":127},{"start":127,"title":"Transformer support","end":821},{"start":821,"title":"Fast Fourier transforms","end":1002},{"start":1002,"title":"MPS Graph viewer","end":1506}]},"related":{"activities":["wwdc2022-10063","wwdc2023-10050","wwdc2021-10152","wwdc2024-10223"],"resources":[3826,3825,3690,3539]}},"wwdc2024-10198":{"id":"wwdc2024-10198","staticContentId":9328,"eventContentId":10198,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10198","languageCode":"eng","description":"Learn how to use LLDB to explore and debug codebases. We\u2019ll show you how to make the most of crashlogs and backtraces, and how to supercharge breakpoints with actions and complex stop conditions. We\u2019ll also explore how the \u201cp\u201d command and the latest features in Swift 6 can enhance your debugging experience.","title":"Run, Break, Inspect: Explore effective debugging in LLDB","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"01659696-1A73-4BBC-9558-001F74A3B54D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10198\/4\/A6D919A0-000B-4A54-AE83-6F261757D780\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10198\/4\/A6D919A0-000B-4A54-AE83-6F261757D780\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10198\/4\/A6D919A0-000B-4A54-AE83-6F261757D780\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10198\/4\/A6D919A0-000B-4A54-AE83-6F261757D780\/downloads\/wwdc2024-10198_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10198\/4\/A6D919A0-000B-4A54-AE83-6F261757D780\/downloads\/wwdc2024-10198_sd.mp4","duration":1728,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":42},{"start":42,"title":"Agenda","end":75},{"start":75,"title":"Debugging as a search problem","end":247},{"start":247,"title":"Crashlogs & starting the program","end":447},{"start":447,"title":"Breakpoints","end":730},{"start":730,"title":"Breakpoint actions","end":927},{"start":927,"title":"Help command","end":965},{"start":965,"title":"High-firing breakpoints","end":1164},{"start":1164,"title":"The p command","end":1539},{"start":1539,"title":"@DebugDescription macro","end":1670},{"start":1670,"title":"Wrap-up","end":1728}]},"related":{"activities":["wwdc2021-10211","wwdc2023-10226","wwdc2024-111967"],"resources":[3848,3686]}},"wwdc2024-10173":{"id":"wwdc2024-10173","staticContentId":9303,"eventContentId":10173,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:51-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10173","languageCode":"eng","description":"Dive into the basis for your app\u2019s dynamic memory: the heap! Explore how to use Instruments and Xcode to measure, analyze, and fix common heap issues. We\u2019ll also cover some techniques and best practices for diagnosing transient growth, persistent growth, and leaks in your app.","title":"Analyze heap memory","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2B479FC2-7457-4F09-8DFB-1E5BECF96C1D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10173\/4\/5ADD00F7-AAD5-4C66-A3ED-9FC7E27C7720\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10173\/4\/5ADD00F7-AAD5-4C66-A3ED-9FC7E27C7720\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10173\/4\/5ADD00F7-AAD5-4C66-A3ED-9FC7E27C7720\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10173\/4\/5ADD00F7-AAD5-4C66-A3ED-9FC7E27C7720\/downloads\/wwdc2024-10173_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10173\/4\/5ADD00F7-AAD5-4C66-A3ED-9FC7E27C7720\/downloads\/wwdc2024-10173_sd.mp4","duration":1983,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":65},{"start":65,"title":"Heap memory overview","end":225},{"start":225,"title":"Tools for inspecting heap memory issues","end":460},{"start":460,"title":"Transient memory growth overview","end":634},{"start":634,"title":"Managing autorelease pool growth in Swift","end":837},{"start":837,"title":"Persistent memory growth overview","end":960},{"start":960,"title":"How the Xcode memory graph debugger works","end":1215},{"start":1215,"title":"Reachability and ensuring memory is deallocated appropriately","end":1314},{"start":1314,"title":"Resolving leaks of Swift closure contexts","end":1453},{"start":1453,"title":"Leaks FAQ","end":1611},{"start":1611,"title":"Comparing performance of weak and unowned","end":1844},{"start":1844,"title":"Reducing reference counting overhead","end":1926},{"start":1926,"title":"Cost of measurement","end":1950},{"start":1950,"title":"Wrap up","end":1983}]},"related":{"activities":["wwdc2022-10106","wwdc2021-10180","wwdc2018-416","wwdc2024-10217","wwdc2024-10170"],"resources":[3851,3686]}},"wwdc2024-10132":{"id":"wwdc2024-10132","staticContentId":9260,"eventContentId":10132,"eventId":"wwdc2024","contentUpdatedAt":"2026-05-05T14:33:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10132","languageCode":"eng","description":"Make your document-based app stand out, and bring its unique identity into focus with the new document launch experience. Learn how to leverage the new API to customize the first screen people see when they launch your app. Utilize the new system-provided design, and amend it with custom actions, delightful decorative views, and impressive animations.","title":"Evolve your document launch experience","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iPadOS"],"keywords":["alien flower","document-based","fashion shirt","julia","yael"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"47F9E32A-22B9-499C-84FE-DB660523326A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10132\/4\/F41D2CAF-097E-4793-B867-78798357CBBC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10132\/4\/F41D2CAF-097E-4793-B867-78798357CBBC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10132\/4\/F41D2CAF-097E-4793-B867-78798357CBBC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10132\/4\/F41D2CAF-097E-4793-B867-78798357CBBC\/downloads\/wwdc2024-10132_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10132\/4\/F41D2CAF-097E-4793-B867-78798357CBBC\/downloads\/wwdc2024-10132_sd.mp4","duration":608,"availableAudioLanguageCodes":["und"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":61},{"start":61,"title":"Design overview","end":138},{"start":138,"title":"Getting started with SwiftUI","end":193},{"start":193,"title":"Getting started with UIKit","end":251},{"start":251,"title":"Customization","end":402},{"start":402,"title":"Adding template support to your app","end":608}]},"related":{"activities":["wwdc2020-10039","wwdc2023-10056"],"resources":[3735,3724,3695]}},"wwdc2024-10087":{"id":"wwdc2024-10087","staticContentId":9198,"eventContentId":10087,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10087","languageCode":"eng","description":"Discover how to create visually rich and performant customized app environments for Apple Vision Pro. Learn design guidelines, get expert recommendations, and explore techniques you can use in any digital content creation tool to begin building your immersive environment.","title":"Create custom environments for your immersive apps in visionOS","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":87,"topicIds":[85,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BEBF6FDD-D987-4A45-AF6F-6D4C4575E69F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10087\/4\/1BAC307D-DA03-4FDC-AB9B-F3B4494DE81E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10087\/4\/1BAC307D-DA03-4FDC-AB9B-F3B4494DE81E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10087\/4\/1BAC307D-DA03-4FDC-AB9B-F3B4494DE81E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10087\/4\/1BAC307D-DA03-4FDC-AB9B-F3B4494DE81E\/downloads\/wwdc2024-10087_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10087\/4\/1BAC307D-DA03-4FDC-AB9B-F3B4494DE81E\/downloads\/wwdc2024-10087_sd.mp4","duration":567,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":49},{"start":49,"title":"Design considerations","end":175},{"start":175,"title":"3d asset generation","end":336},{"start":336,"title":"Export workflow","end":388},{"start":388,"title":"Reality Composer Pro","end":567}]},"related":{"activities":["wwdc2024-10115","wwdc2024-10086","wwdc2024-10186"],"resources":[3828,3827,3685,3583]}},"wwdc2024-10164":{"id":"wwdc2024-10164","staticContentId":9292,"eventContentId":10164,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10164","languageCode":"eng","description":"Discover how intelligent tracking in DockKit allows for smoother transitions between subjects. We will cover what intelligent tracking is, how it uses an ML model to select and track subjects, and how you can use it in your app.","title":"What\u2019s new in DockKit","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["camera","dock","intelligence","machine learning","object detection"],"primaryTopicID":95,"topicIds":[94,95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8E1A50D3-01F4-413D-8434-5D58C3F522D2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10164\/6\/8F2F8C99-F0C7-4729-89F5-C5DAF97A9C4A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10164\/6\/8F2F8C99-F0C7-4729-89F5-C5DAF97A9C4A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10164\/6\/8F2F8C99-F0C7-4729-89F5-C5DAF97A9C4A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10164\/6\/8F2F8C99-F0C7-4729-89F5-C5DAF97A9C4A\/downloads\/wwdc2024-10164_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10164\/6\/8F2F8C99-F0C7-4729-89F5-C5DAF97A9C4A\/downloads\/wwdc2024-10164_sd.mp4","duration":966,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":169},{"start":169,"title":"Introduction to Intelligent Tracking","end":247},{"start":247,"title":"How it works","end":428},{"start":428,"title":"Custom control in your app","end":592},{"start":592,"title":"Button controls for DocKit","end":843},{"start":843,"title":"New camera modes","end":886},{"start":886,"title":"Monitor accessory battery","end":966}]},"related":{"activities":["wwdc2023-10304","wwdc2023-111336"],"resources":[3691]}},"wwdc2024-10135":{"id":"wwdc2024-10135","staticContentId":9263,"eventContentId":10135,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10135","languageCode":"eng","description":"Discover the latest productivity and performance improvements in Xcode 16. Learn about enhancements to code completion, diagnostics, and Xcode Previews. Find out more about updates in builds and explore improvements in debugging and Instruments.","title":"What\u2019s new in Xcode 16","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[90,99,100,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"33D0C880-AEDB-45BB-AC82-2FDB5111F311","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10135\/4\/A6AD3D2B-72D9-43AE-901E-8AFDBA304007\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10135\/4\/A6AD3D2B-72D9-43AE-901E-8AFDBA304007\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10135\/4\/A6AD3D2B-72D9-43AE-901E-8AFDBA304007\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10135\/4\/A6AD3D2B-72D9-43AE-901E-8AFDBA304007\/downloads\/wwdc2024-10135_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10135\/4\/A6AD3D2B-72D9-43AE-901E-8AFDBA304007\/downloads\/wwdc2024-10135_sd.mp4","duration":1334,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":29},{"start":29,"title":"Updates in editing","end":33},{"start":33,"title":"Code completion","end":61},{"start":61,"title":"Adopting Swift 6 data-race safety guarantees","end":169},{"start":169,"title":"Improvements to Previews","end":382},{"start":382,"title":"Updates in builds","end":386},{"start":386,"title":"Explicit modules","end":435},{"start":435,"title":"Package resolution","end":510},{"start":510,"title":"What's new in debugging","end":515},{"start":515,"title":"Build process and debugging","end":547},{"start":547,"title":"Thread performance checker","end":563},{"start":563,"title":"The organizer","end":736},{"start":736,"title":"The RealityKit debugger","end":775},{"start":775,"title":"Meet Swift Testing","end":1122},{"start":1122,"title":"What's new in Instruments","end":1184},{"start":1184,"title":"Meet the flame graph","end":1298},{"start":1298,"title":"Wrap up","end":1334}]},"related":{"activities":["wwdc2024-10169","wwdc2024-10171","wwdc2024-10172","wwdc2024-10198","wwdc2024-10179","wwdc2024-10195"],"resources":[3794,3762,3686,3044]}},"wwdc2024-10209":{"id":"wwdc2024-10209","staticContentId":9343,"eventContentId":10209,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10209","languageCode":"eng","description":"Find out how your journaling app can display journaling suggestions with richer content from the system. Explore new types of available content like state of mind data, reflection prompts, and support for third-party media content and motion-based activities.\n","title":"Enhanced suggestions for your journaling app","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","watchOS"],"primaryTopicID":83,"topicIds":[92,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F6425A5A-2CFB-401B-B4A3-35C74DCB31C9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10209\/5\/B042C450-AC1C-4278-BAA3-1D35E738E141\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10209\/5\/B042C450-AC1C-4278-BAA3-1D35E738E141\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10209\/5\/B042C450-AC1C-4278-BAA3-1D35E738E141\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10209\/5\/B042C450-AC1C-4278-BAA3-1D35E738E141\/downloads\/wwdc2024-10209_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10209\/5\/B042C450-AC1C-4278-BAA3-1D35E738E141\/downloads\/wwdc2024-10209_sd.mp4","duration":955,"availableAudioLanguageCodes":["und"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":116},{"start":116,"title":"Landscape support","end":154},{"start":154,"title":"Suggestion updates","end":834},{"start":834,"title":"Best practices","end":955}]},"related":{"activities":["wwdc2024-10109","tech-talks-111384"],"resources":[3744,3742,3681]}},"wwdc2024-10212":{"id":"wwdc2024-10212","staticContentId":9346,"eventContentId":10212,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10212","languageCode":"eng","description":"Location authorization is turning 2.0. Learn about new recommendations and techniques to get the authorization you need, and a new system of diagnostics that can let you know when an authorization goal can\u2019t be met.","title":"What\u2019s new in location authorization","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":93,"topicIds":[96,93],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"835E40F1-9F7E-4728-A2C2-8923B9AD5F03","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10212\/4\/4E06515C-912A-4159-8C07-9468D1209F8F\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10212\/4\/4E06515C-912A-4159-8C07-9468D1209F8F\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10212\/4\/4E06515C-912A-4159-8C07-9468D1209F8F\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10212\/4\/4E06515C-912A-4159-8C07-9468D1209F8F\/downloads\/wwdc2024-10212_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10212\/4\/4E06515C-912A-4159-8C07-9468D1209F8F\/downloads\/wwdc2024-10212_sd.mp4","duration":1096,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":112},{"start":112,"title":"Authorization goals","end":565},{"start":565,"title":"Session lifecycle","end":809},{"start":809,"title":"Diagnostic properties","end":1096}]},"related":{"resources":[3858,3838,3689]}},"wwdc2024-101":{"id":"wwdc2024-101","staticContentId":9737,"eventContentId":101,"eventId":"wwdc2024","contentUpdatedAt":"2024-06-12T14:42:51-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/101","languageCode":"eng","description":"Don\u2019t miss the exciting reveal of the latest Apple software and technologies.","title":"Keynote","startTime":"2024-06-10T10:00:00-07:00","endTime":"2024-06-10T12:00:00-07:00","originalPublishingDate":"2024-06-10T10:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"685A2FE3-F3FA-4E67-B208-CDB6CD9EEB50","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/events-delivery.apple.com\/1505clvgxdwlbjrjhxtjdgcdxaiabvuf\/m3u8\/vod_index-LHDoZDhTrsKLsbrZKqYpbWraixsWQHkw.m3u8","duration":6244,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["de","en","es","fr","ja","ko","zh"],"chapters":[{"start":89,"title":"Introduction","end":342},{"start":342,"title":"visionOS","end":869},{"start":869,"title":"iOS","end":1844},{"start":1844,"title":"Audio & Home","end":2156},{"start":2156,"title":"watchOS","end":2584},{"start":2584,"title":"iPadOS","end":3052},{"start":3052,"title":"macOS","end":3870},{"start":3870,"title":"Apple Intelligence","end":6244}]}},"wwdc2024-112":{"id":"wwdc2024-112","staticContentId":9736,"eventContentId":112,"eventId":"wwdc2024","contentUpdatedAt":"2024-06-10T13:47:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/112","languageCode":"eng","description":"Discover the newest advancements on Apple platforms.","title":"Platforms State of the Union (ASL)","startTime":"2024-06-10T13:00:00-07:00","endTime":"2024-06-10T14:00:00-07:00","originalPublishingDate":"2024-06-10T13:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["asl","sotu","sotu 2024"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"9A6653ED-86DE-49AB-867E-95061FC22650","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/112\/1\/34A4568B-A818-4742-8668-32D1812326DE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/112\/1\/34A4568B-A818-4742-8668-32D1812326DE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/112\/1\/34A4568B-A818-4742-8668-32D1812326DE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/112\/1\/34A4568B-A818-4742-8668-32D1812326DE\/downloads\/wwdc2024-112_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/112\/1\/34A4568B-A818-4742-8668-32D1812326DE\/downloads\/wwdc2024-112_sd.mp4","duration":3991,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["de","en","es","fr","ja","ko","zh"],"chapters":[{"start":21,"title":"Introduction","end":95},{"start":95,"title":"Apple Intelligence","end":554},{"start":554,"title":"Generative Tools","end":1270},{"start":1270,"title":"Xcode","end":1438},{"start":1438,"title":"Swift Assist","end":1664},{"start":1664,"title":"Swift","end":1981},{"start":1981,"title":"Swift Testing","end":2123},{"start":2123,"title":"SwiftUI","end":2518},{"start":2518,"title":"RealityKit","end":2657},{"start":2657,"title":"iOS","end":2844},{"start":2844,"title":"iPadOS","end":2970},{"start":2970,"title":"watchOS","end":3131},{"start":3131,"title":"macOS","end":3386},{"start":3386,"title":"visionOS","end":3735},{"start":3735,"title":"Native Experiences","end":3863},{"start":3863,"title":"Conclusion","end":3991}]}},"wwdc2024-10068":{"id":"wwdc2024-10068","staticContentId":9161,"eventContentId":10068,"eventId":"wwdc2024","contentUpdatedAt":"2025-06-09T13:32:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10068","languageCode":"eng","description":"Bring Live Activities into the Smart Stack on Apple Watch with iOS 18 and watchOS 11. We\u2019ll cover how Live Activities are presented on Apple Watch, as well as how you can enhance their presentation for the Smart Stack. We\u2019ll also explore additional considerations to ensure Live Activities on Apple Watch always present up-to-date information.","title":"Bring your Live Activity to Apple Watch","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS","watchOS"],"keywords":["activityattributes","activitykit","supplementalactivityfamilies"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"03D4BF63-D989-46C6-B79E-E3678E5A7B18","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10068\/4\/C621DA91-3F64-481C-8D10-25A5C5FCD587\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10068\/4\/C621DA91-3F64-481C-8D10-25A5C5FCD587\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10068\/4\/C621DA91-3F64-481C-8D10-25A5C5FCD587\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10068\/4\/C621DA91-3F64-481C-8D10-25A5C5FCD587\/downloads\/wwdc2024-10068_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10068\/4\/C621DA91-3F64-481C-8D10-25A5C5FCD587\/downloads\/wwdc2024-10068_sd.mp4","duration":627,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":67},{"start":67,"title":"Review your Live Activity","end":202},{"start":202,"title":"Customize for Apple Watch","end":362},{"start":362,"title":"Keep it live","end":627}]},"related":{"resources":[3681,2961,2960]}},"wwdc2024-10155":{"id":"wwdc2024-10155","staticContentId":9283,"eventContentId":10155,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10155","languageCode":"eng","description":"The plot thickens! Learn how to render beautiful charts representing math functions and extensive datasets using function and vectorized plots in your app. Whether you\u2019re looking to display functions common in aerodynamics, magnetism, and higher order field theory, or create large interactive heat maps, Swift Charts has you covered.","title":"Swift Charts: Vectorized and function plots","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":100,"topicIds":[83,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1D5DD902-550A-4532-9F48-4A11C7AB28EA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10155\/4\/61F720F1-1AED-48CC-A380-9E1D01E87E4A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10155\/4\/61F720F1-1AED-48CC-A380-9E1D01E87E4A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10155\/4\/61F720F1-1AED-48CC-A380-9E1D01E87E4A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10155\/4\/61F720F1-1AED-48CC-A380-9E1D01E87E4A\/downloads\/wwdc2024-10155_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10155\/4\/61F720F1-1AED-48CC-A380-9E1D01E87E4A\/downloads\/wwdc2024-10155_sd.mp4","duration":809,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":61},{"start":61,"title":"Function plots","end":408},{"start":408,"title":"Vectorized plots","end":687},{"start":687,"title":"Best practices","end":809}]},"related":{"activities":["wwdc2022-10136","wwdc2022-10137","wwdc2023-10037"],"resources":[3726,3725,3695]}},"wwdc2024-10217":{"id":"wwdc2024-10217","staticContentId":9363,"eventContentId":10217,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10217","languageCode":"eng","description":"Discover how Swift balances abstraction and performance. Learn what elements of performance to consider and how the Swift optimizer affects them. Explore the different features of Swift and how they\u2019re implemented to further understand the tradeoffs available that can impact performance.","title":"Explore Swift performance","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A5F01B0E-3EDB-4315-822A-F31EA6891818","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10217\/5\/8228D59A-1164-48DA-86CD-79F2191061DC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10217\/5\/8228D59A-1164-48DA-86CD-79F2191061DC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10217\/5\/8228D59A-1164-48DA-86CD-79F2191061DC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10217\/5\/8228D59A-1164-48DA-86CD-79F2191061DC\/downloads\/wwdc2024-10217_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10217\/5\/8228D59A-1164-48DA-86CD-79F2191061DC\/downloads\/wwdc2024-10217_sd.mp4","duration":2076,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":84},{"start":84,"title":"Agenda","end":106},{"start":106,"title":"What is performance?","end":271},{"start":271,"title":"Low-level principles","end":276},{"start":276,"title":"Function calls","end":509},{"start":509,"title":"Memory allocation","end":634},{"start":634,"title":"Memory layout","end":837},{"start":837,"title":"Value copying","end":1254},{"start":1254,"title":"Putting it together","end":1268},{"start":1268,"title":"Dynamically-sized types","end":1473},{"start":1473,"title":"Async functions","end":1691},{"start":1691,"title":"Closures","end":1836},{"start":1836,"title":"Generics","end":2040},{"start":2040,"title":"Wrap up","end":2076}]},"related":{"activities":["wwdc2024-10170","wwdc2019-411","wwdc2016-416"],"resources":[3696]}},"wwdc2024-10152":{"id":"wwdc2024-10152","staticContentId":9280,"eventContentId":10152,"eventId":"wwdc2024","contentUpdatedAt":"2026-05-05T14:33:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10152","languageCode":"eng","description":"Learn how to develop custom hover effects that update views when people look at them. Find out how to build an expanding button effect that combines opacity, scale, and clip effects. Discover best practices for creating effects that are comfortable and respect people\u2019s accessibility needs.","title":"Create custom hover effects in visionOS","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":100,"topicIds":[87,85,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9BCB9FE7-7686-4615-BC26-C122A1C0DCE7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10152\/5\/A8C4BDC1-D218-446B-AABE-C4419C65C6A6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10152\/5\/A8C4BDC1-D218-446B-AABE-C4419C65C6A6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10152\/5\/A8C4BDC1-D218-446B-AABE-C4419C65C6A6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10152\/5\/A8C4BDC1-D218-446B-AABE-C4419C65C6A6\/downloads\/wwdc2024-10152_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10152\/5\/A8C4BDC1-D218-446B-AABE-C4419C65C6A6\/downloads\/wwdc2024-10152_sd.mp4","duration":1000,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":155},{"start":155,"title":"Content effects","end":466},{"start":466,"title":"Effect groups","end":580},{"start":580,"title":"Delayed effects","end":729},{"start":729,"title":"Accessibility","end":1000}]},"related":{"activities":["wwdc2024-111893","wwdc2024-111895","wwdc2024-111894","wwdc2023-10110","wwdc2024-10103"],"resources":[3778,3707,3695,3583]}},"wwdc2024-10134":{"id":"wwdc2024-10134","staticContentId":9262,"eventContentId":10134,"eventId":"wwdc2024","contentUpdatedAt":"2026-06-08T12:30:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10134","languageCode":"eng","description":"Learn about improvements and all-new features with App Intents, and discover how this framework can help you expose your app\u2019s functionality to Siri, Spotlight, Shortcuts, and more. We\u2019ll show you how to make your entities more meaningful to the platform with the Transferable API, File Representations, new IntentFile APIs, and Spotlight Indexing, opening up powerful functionality in Siri and the Shortcuts app. Empower your intents to take people deep into your app with URL Representable Entities. Explore new techniques to model your entities and intents with new APIs for error handling and union values.","title":"What\u2019s new in App Intents","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["app intents","machine learning"],"primaryTopicID":94,"topicIds":[83,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AACE1F91-BDA2-45F8-9CF1-BD9898967484","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10134\/4\/E85B53EC-BD7E-4A59-BCB5-4CECA88B76DE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10134\/4\/E85B53EC-BD7E-4A59-BCB5-4CECA88B76DE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10134\/4\/E85B53EC-BD7E-4A59-BCB5-4CECA88B76DE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10134\/4\/E85B53EC-BD7E-4A59-BCB5-4CECA88B76DE\/downloads\/wwdc2024-10134_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10134\/4\/E85B53EC-BD7E-4A59-BCB5-4CECA88B76DE\/downloads\/wwdc2024-10134_sd.mp4","duration":1076,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","end":76},{"start":76,"title":"Spotlight integration","end":300},{"start":300,"title":"Entities and files","end":701},{"start":701,"title":"Universal links","end":864},{"start":864,"title":"Developer improvements","end":1076}]},"related":{"activities":["wwdc2022-10062","wwdc2021-10098","wwdc2024-10210","wwdc2024-10133","wwdc2023-10103","wwdc2024-10176","wwdc2024-10223"],"resources":[3844,3839,3690,2399]}},"wwdc2024-10075":{"id":"wwdc2024-10075","staticContentId":9168,"eventContentId":10075,"eventId":"wwdc2024","contentUpdatedAt":"2025-06-11T14:34:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10075","languageCode":"eng","description":"Reveal the history of your model\u2019s changes with SwiftData! Use the history API to understand when data store changes occurred, and learn how to use this information to build features like remote server sync and out-of-process change handing in your app. We\u2019ll also cover how you can build support for the history API into a custom data store.","title":"Track model changes with SwiftData history","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["historydescriptor","historyproviding","history tracking","model changes","nspersistenthistorytrackingkey","persistent history","transactions"],"primaryTopicID":99,"topicIds":[83,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6D8078C2-06EE-475C-8122-79DE1D787CF2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10075\/4\/0F3D64B6-B594-42E8-8B59-2088D1B251F8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10075\/4\/0F3D64B6-B594-42E8-8B59-2088D1B251F8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10075\/4\/0F3D64B6-B594-42E8-8B59-2088D1B251F8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10075\/4\/0F3D64B6-B594-42E8-8B59-2088D1B251F8\/downloads\/wwdc2024-10075_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10075\/4\/0F3D64B6-B594-42E8-8B59-2088D1B251F8\/downloads\/wwdc2024-10075_sd.mp4","duration":1012,"availableAudioLanguageCodes":["und"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":45},{"start":45,"title":"Fundamentals","end":318},{"start":318,"title":"Transactions and changes","end":757},{"start":757,"title":"Custom stores","end":1012}]},"related":{"activities":["wwdc2024-10138"],"resources":[3753,3696,3085]}},"wwdc2024-10063":{"id":"wwdc2024-10063","staticContentId":9156,"eventContentId":10063,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:48-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10063","languageCode":"eng","description":"Explore new features for discovery, testing, and marketing. Find out how to nominate your apps for featuring on the App Store, share exciting moments (like a version launch) with marketing assets generated for you, deep link to specific content in your app from custom product pages, use the latest enhancements to TestFlight, and more.","title":"What\u2019s new in App Store Connect","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8B8D23D0-F55C-40AC-B012-B543DD1B37A9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10063\/4\/EF7DC136-639D-44B2-A7E2-6C0A41CD90DB\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10063\/4\/EF7DC136-639D-44B2-A7E2-6C0A41CD90DB\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10063\/4\/EF7DC136-639D-44B2-A7E2-6C0A41CD90DB\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10063\/4\/EF7DC136-639D-44B2-A7E2-6C0A41CD90DB\/downloads\/wwdc2024-10063_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10063\/4\/EF7DC136-639D-44B2-A7E2-6C0A41CD90DB\/downloads\/wwdc2024-10063_sd.mp4","duration":1143,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":46},{"start":46,"title":"Get discovered","end":298},{"start":298,"title":"Test your app","end":710},{"start":710,"title":"Reach customers","end":1143}]},"related":{"resources":[3683]}},"wwdc2024-10216":{"id":"wwdc2024-10216","staticContentId":9362,"eventContentId":10216,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:48-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10216","languageCode":"eng","description":"Swift is a great language for writing your server applications, and powers critical services across Apple\u2019s cloud products. We\u2019ll explore tooling, delve into the Swift server package ecosystem, and demonstrate how to interact with databases and add observability to applications.","title":"Explore the Swift on Server ecosystem","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1F44F456-D4B7-4913-A3E3-DF4430124807","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10216\/4\/DB423F7B-5B55-47AE-958F-68C8BF6077A6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10216\/4\/DB423F7B-5B55-47AE-958F-68C8BF6077A6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10216\/4\/DB423F7B-5B55-47AE-958F-68C8BF6077A6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10216\/4\/DB423F7B-5B55-47AE-958F-68C8BF6077A6\/downloads\/wwdc2024-10216_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10216\/4\/DB423F7B-5B55-47AE-958F-68C8BF6077A6\/downloads\/wwdc2024-10216_sd.mp4","duration":1000,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":13},{"start":13,"title":"Agenda","end":27},{"start":27,"title":"Meet Swift on Server","end":150},{"start":150,"title":"Build a service","end":226},{"start":226,"title":"Swift OpenAPI generator","end":342},{"start":342,"title":"Database drivers","end":653},{"start":653,"title":"Observability","end":919},{"start":919,"title":"Explore the ecosystem","end":972},{"start":972,"title":"Wrap up","end":1000}]},"related":{"activities":["wwdc2023-10171","wwdc2023-10170"],"resources":[3850,3849,3696,2405]}},"wwdc2024-10136":{"id":"wwdc2024-10136","staticContentId":9264,"eventContentId":10136,"eventId":"wwdc2024","contentUpdatedAt":"2025-06-05T16:06:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10136","languageCode":"eng","description":"Join us for an update on Swift. We\u2019ll briefly go through a history of Swift over the past decade, and show you how the community has grown through workgroups, expanded the package ecosystem, and increased platform support. We\u2019ll introduce you to a new language mode that achieves data-race safety by default, and a language subset that lets you run Swift on highly constrained systems. We\u2019ll also explore some language updates including noncopyable types, typed throws, and improved C++ interoperability.","title":"What\u2019s new in Swift","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B57294F2-0337-4574-A8D4-EE345406D0AB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10136\/4\/14B6AAA9-EB58-4299-AA9B-A1F804631E6C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10136\/4\/14B6AAA9-EB58-4299-AA9B-A1F804631E6C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10136\/4\/14B6AAA9-EB58-4299-AA9B-A1F804631E6C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10136\/4\/14B6AAA9-EB58-4299-AA9B-A1F804631E6C\/downloads\/wwdc2024-10136_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10136\/4\/14B6AAA9-EB58-4299-AA9B-A1F804631E6C\/downloads\/wwdc2024-10136_sd.mp4","duration":1824,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":12},{"start":12,"title":"Swift over the years","end":224},{"start":224,"title":"Agenda","end":238},{"start":238,"title":"Swift project update","end":248},{"start":248,"title":"Community","end":299},{"start":299,"title":"Packages","end":350},{"start":350,"title":"Blogs","end":393},{"start":393,"title":"Swift everywhere","end":457},{"start":457,"title":"Cross compilation to Linux","end":687},{"start":687,"title":"Foundation","end":786},{"start":786,"title":"Swift Testing","end":874},{"start":874,"title":"Improvements to builds","end":975},{"start":975,"title":"Swift's new space","end":1023},{"start":1023,"title":"Language updates","end":1049},{"start":1049,"title":"Noncopyable types","end":1195},{"start":1195,"title":"Embedded Swift","end":1307},{"start":1307,"title":"C++ interoperability","end":1414},{"start":1414,"title":"Typed throws","end":1567},{"start":1567,"title":"Swift 6 language mode and data-race safety","end":1723},{"start":1723,"title":"Low-level synchronization primitives","end":1799},{"start":1799,"title":"Wrap up","end":1824}]},"related":{"activities":["wwdc2023-10171","wwdc2024-10179","wwdc2024-10195","wwdc2024-10171","wwdc2024-10170","wwdc2024-10217","wwdc2024-10197","wwdc2023-10172","wwdc2024-10169"],"resources":[3855,3765,3764,3763,3696,1743,45]}},"wwdc2024-10183":{"id":"wwdc2024-10183","staticContentId":9313,"eventContentId":10183,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10183","languageCode":"eng","description":"Explore updates to Create ML, including interactive data source previews and a new template for building object tracking models for visionOS apps. We\u2019ll also cover important framework improvements, including new time-series forecasting and classification APIs.","title":"What\u2019s new in Create ML","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["create ml","create ml framework","machine learning"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EB953FA2-2D4C-46BE-8F55-3E07A74ED3C5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10183\/5\/B9B17A0E-A4B7-49D9-AE9A-9E66CF25D999\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10183\/5\/B9B17A0E-A4B7-49D9-AE9A-9E66CF25D999\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10183\/5\/B9B17A0E-A4B7-49D9-AE9A-9E66CF25D999\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10183\/5\/B9B17A0E-A4B7-49D9-AE9A-9E66CF25D999\/downloads\/wwdc2024-10183_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10183\/5\/B9B17A0E-A4B7-49D9-AE9A-9E66CF25D999\/downloads\/wwdc2024-10183_sd.mp4","duration":692,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":51},{"start":51,"title":"Overview","end":116},{"start":116,"title":"App enhancements","end":225},{"start":225,"title":"Object tracking","end":311},{"start":311,"title":"Components","end":692}]},"related":{"activities":["wwdc2022-110332","wwdc2022-10019","wwdc2021-10037","wwdc2024-10223"],"resources":[3690]}},"wwdc2024-111977":{"id":"wwdc2024-111977","staticContentId":9740,"eventContentId":111977,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/111977","languageCode":"eng","description":"Watch a quick recap of the newest advancements on Apple platforms.","title":"Platforms State of the Union 5-Minute Recap","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["recap"],"primaryTopicID":90,"topicIds":[90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7E0747D9-2549-4931-B42B-B3E910DC5947","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/111977\/1\/0B66B228-1D2B-42E4-9609-B42FD8A37793\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/111977\/1\/0B66B228-1D2B-42E4-9609-B42FD8A37793\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/111977\/1\/0B66B228-1D2B-42E4-9609-B42FD8A37793\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/111977\/1\/0B66B228-1D2B-42E4-9609-B42FD8A37793\/downloads\/wwdc2024-111977_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/111977\/1\/0B66B228-1D2B-42E4-9609-B42FD8A37793\/downloads\/wwdc2024-111977_sd.mp4","duration":300,"availableSubtitleLanguageCodes":["de","en","es","fr","ja","ko","zh"]},"related":{"activities":["wwdc2024-102"]}},"wwdc2024-10151":{"id":"wwdc2024-10151","staticContentId":9279,"eventContentId":10151,"eventId":"wwdc2024","contentUpdatedAt":"2026-05-05T14:33:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10151","languageCode":"eng","description":"Discover how to create stunning visual effects in SwiftUI. Learn to build unique scroll effects, rich color treatments, and custom transitions. We\u2019ll also explore advanced graphic effects using Metal shaders and custom text rendering.","title":"Create custom visual effects with SwiftUI","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":100,"topicIds":[87,91,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A8C0D750-CF09-48F3-982B-0D1B870F273F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10151\/4\/8FDE6F53-E002-4F16-B401-64D22DFD6889\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10151\/4\/8FDE6F53-E002-4F16-B401-64D22DFD6889\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10151\/4\/8FDE6F53-E002-4F16-B401-64D22DFD6889\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10151\/4\/8FDE6F53-E002-4F16-B401-64D22DFD6889\/downloads\/wwdc2024-10151_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10151\/4\/8FDE6F53-E002-4F16-B401-64D22DFD6889\/downloads\/wwdc2024-10151_sd.mp4","duration":1566,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":89},{"start":89,"title":"Scroll effects","end":381},{"start":381,"title":"Color treatments","end":550},{"start":550,"title":"View transitions","end":769},{"start":769,"title":"Text transitions","end":1180},{"start":1180,"title":"Metal shaders","end":1528},{"start":1528,"title":"Next steps","end":1566}]},"related":{"activities":["wwdc2024-111891","wwdc2024-111890","wwdc2024-111892","wwdc2024-111782","wwdc2024-111783"],"resources":[3781,3695]}},"wwdc2024-10091":{"id":"wwdc2024-10091","staticContentId":9202,"eventContentId":10091,"eventId":"wwdc2024","contentUpdatedAt":"2025-09-09T13:11:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10091","languageCode":"eng","description":"Build a board game for visionOS from scratch using TabletopKit. We\u2019ll show you how to set up your game, add powerful rendering using RealityKit, and enable multiplayer using spatial Personas in FaceTime with only a few extra lines of code.","title":"Meet TabletopKit for visionOS","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["visionOS"],"keywords":["arkit","facetime","games","shareplay","spatial personas","tabletopkit","visionos games"],"primaryTopicID":91,"topicIds":[85,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"87B4B37A-325E-4974-9E0B-789127A3CC08","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10091\/4\/67E4D497-91F1-4537-9344-F08BBADDCD3F\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10091\/4\/67E4D497-91F1-4537-9344-F08BBADDCD3F\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10091\/4\/67E4D497-91F1-4537-9344-F08BBADDCD3F\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10091\/4\/67E4D497-91F1-4537-9344-F08BBADDCD3F\/downloads\/wwdc2024-10091_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10091\/4\/67E4D497-91F1-4537-9344-F08BBADDCD3F\/downloads\/wwdc2024-10091_sd.mp4","duration":999,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":157},{"start":157,"title":"Set up the play surface","end":465},{"start":465,"title":"Implement rules","end":721},{"start":721,"title":"Integrate RealityKit effects","end":810},{"start":810,"title":"Configure multiplayer","end":999}]},"related":{"activities":["wwdc2024-111939","wwdc2024-111940","wwdc2024-10201","wwdc2024-10102","wwdc2023-10239"],"resources":[3740,3739,3687]}},"wwdc2024-10210":{"id":"wwdc2024-10210","staticContentId":9344,"eventContentId":10210,"eventId":"wwdc2024","contentUpdatedAt":"2026-06-08T12:30:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10210","languageCode":"eng","description":"Learn the principles of the App Intents framework, like intents, entities, and queries, and how you can harness them to expose your app\u2019s most important functionality right where people need it most. Find out how to build deep integration between your app and the many system features built on top of App Intents, including Siri, controls and widgets, Apple Pencil, Shortcuts, the Action button, and more. Get tips on how to build your App Intents integrations efficiently to create the best experiences in every surface while still sharing code and core functionality.","title":"Bring your app\u2019s core features to users with App Intents","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["app intents","machine learning"],"primaryTopicID":94,"topicIds":[83,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CD2BF2ED-403B-4831-9B5C-8A774D0EB7C7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10210\/4\/6649F1E2-3988-4E91-8A3F-2A5414AA24BC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10210\/4\/6649F1E2-3988-4E91-8A3F-2A5414AA24BC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10210\/4\/6649F1E2-3988-4E91-8A3F-2A5414AA24BC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10210\/4\/6649F1E2-3988-4E91-8A3F-2A5414AA24BC\/downloads\/wwdc2024-10210_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10210\/4\/6649F1E2-3988-4E91-8A3F-2A5414AA24BC\/downloads\/wwdc2024-10210_sd.mp4","duration":1562,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","end":89},{"start":89,"title":"Friction versus flow","end":344},{"start":344,"title":"Understanding the framework","end":486},{"start":486,"title":"Building the code","end":1562}]},"related":{"activities":["wwdc2023-10103","wwdc2024-10176","wwdc2024-10133","wwdc2024-111965","wwdc2024-10223"],"resources":[3844,3842,3839,3690,2399]}},"wwdc2024-10085":{"id":"wwdc2024-10085","staticContentId":9196,"eventContentId":10085,"eventId":"wwdc2024","contentUpdatedAt":"2025-11-20T13:13:27-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10085","languageCode":"eng","description":"Learn how to adapt your high-end game so it feels at home on Mac, iPad, and iPhone. We\u2019ll go over how to make your game look stunning on different displays, tailor your input and controls to be intuitive on each device, and take advantage of Apple technologies that deliver great player experiences.","title":"Design advanced games for Apple platforms","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"keywords":["game controllers","game design","games","ios games","ipad games","mac games","virtual controllers"],"primaryTopicID":87,"topicIds":[91,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2DB746B8-E0B0-4ED1-B250-902DB7A0F3E7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10085\/5\/609DB92A-84CB-4E0B-A6C6-E14DB709877C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10085\/5\/609DB92A-84CB-4E0B-A6C6-E14DB709877C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10085\/5\/609DB92A-84CB-4E0B-A6C6-E14DB709877C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10085\/5\/609DB92A-84CB-4E0B-A6C6-E14DB709877C\/downloads\/wwdc2024-10085_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10085\/5\/609DB92A-84CB-4E0B-A6C6-E14DB709877C\/downloads\/wwdc2024-10085_sd.mp4","duration":1434,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":78},{"start":78,"title":"Design for the device","end":845},{"start":845,"title":"Design for input","end":1434}]},"related":{"activities":["wwdc2024-10089","wwdc2024-111736","wwdc2024-111734","wwdc2024-111730","wwdc2024-111731","wwdc2024-111735","wwdc2024-111732","wwdc2024-111733","wwdc2024-111784","wwdc2024-111937"],"resources":[3773,3698,3685,3679]}},"wwdc2024-10149":{"id":"wwdc2024-10149","staticContentId":9277,"eventContentId":10149,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10149","languageCode":"eng","description":"Learn how to create great single and multi-window apps in visionOS, macOS, and iPadOS. Discover tools that let you programmatically open and close windows, adjust position and size, and even replace one window with another. We\u2019ll also explore design principles for windows that help people use your app within their workflows.","title":"Work with windows in SwiftUI","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["macOS","visionOS"],"primaryTopicID":100,"topicIds":[85,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"580BAA77-0D13-4F7C-AD29-63777A12C28A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10149\/5\/D0809E73-22CA-4A6A-9F6B-BC3C19A39167\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10149\/5\/D0809E73-22CA-4A6A-9F6B-BC3C19A39167\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10149\/5\/D0809E73-22CA-4A6A-9F6B-BC3C19A39167\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10149\/5\/D0809E73-22CA-4A6A-9F6B-BC3C19A39167\/downloads\/wwdc2024-10149_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10149\/5\/D0809E73-22CA-4A6A-9F6B-BC3C19A39167\/downloads\/wwdc2024-10149_sd.mp4","duration":775,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":79},{"start":79,"title":"Fundamentals","end":375},{"start":375,"title":"Placement","end":583},{"start":583,"title":"Sizing","end":723},{"start":723,"title":"Next steps","end":775}]},"related":{"activities":["wwdc2024-111891","wwdc2024-111893","wwdc2024-111895","wwdc2024-111890","wwdc2024-111892","wwdc2024-111894","wwdc2024-10148","wwdc2023-10110","wwdc2023-10076"],"resources":[3821,3695]}},"wwdc2024-10161":{"id":"wwdc2024-10161","staticContentId":9289,"eventContentId":10161,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10161","languageCode":"eng","description":"Learn new ways to optimize speed and memory performance when you convert and run machine learning and AI models through Core ML. We\u2019ll cover new options for model representations, performance insights, execution, and model stitching which can be used together to create compelling and private on-device experiences.","title":"Deploy machine learning and AI models on-device with Core ML","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"keywords":["ai","coreml","coreml editor","machine learning"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1B44C549-065A-4B1E-BC12-222FF4B97E7A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10161\/4\/47C857D9-30F3-4FA6-AD90-26916A33426D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10161\/4\/47C857D9-30F3-4FA6-AD90-26916A33426D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10161\/4\/47C857D9-30F3-4FA6-AD90-26916A33426D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10161\/4\/47C857D9-30F3-4FA6-AD90-26916A33426D\/downloads\/wwdc2024-10161_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10161\/4\/47C857D9-30F3-4FA6-AD90-26916A33426D\/downloads\/wwdc2024-10161_sd.mp4","duration":1095,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":67},{"start":67,"title":"Integration","end":209},{"start":209,"title":"MLTensor","end":510},{"start":510,"title":"Models with state","end":753},{"start":753,"title":"Multifunction models","end":927},{"start":927,"title":"Performance tools","end":1095}]},"related":{"activities":["wwdc2017-703","wwdc2023-10049","wwdc2023-10047","tech-talks-10154"],"resources":[3690,2998,27]}},"wwdc2024-10117":{"id":"wwdc2024-10117","staticContentId":9245,"eventContentId":10117,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10117","languageCode":"eng","description":"Discover how you can translate text across different languages in your app using the new Translation framework.  We\u2019ll show you how to quickly display translations in the system UI, and how to translate larger batches of text for your app\u2019s UI.","title":"Meet the Translation API","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["language","language detection","machine learning","text analysis"],"primaryTopicID":94,"topicIds":[83,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3E9020F9-1758-449C-9BF8-965614E8B29E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10117\/4\/A394FB66-E7F5-4CB3-B2ED-697AD5C8CC7B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10117\/4\/A394FB66-E7F5-4CB3-B2ED-697AD5C8CC7B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10117\/4\/A394FB66-E7F5-4CB3-B2ED-697AD5C8CC7B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10117\/4\/A394FB66-E7F5-4CB3-B2ED-697AD5C8CC7B\/downloads\/wwdc2024-10117_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10117\/4\/A394FB66-E7F5-4CB3-B2ED-697AD5C8CC7B\/downloads\/wwdc2024-10117_sd.mp4","duration":991,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":130},{"start":130,"title":"Simple overlay translation","end":241},{"start":241,"title":"Flexible translation ","end":694},{"start":694,"title":"Language support ","end":768},{"start":768,"title":"Best practices","end":991}]},"related":{"activities":["wwdc2023-10101"],"resources":[3734,3733,3690]}},"wwdc2024-10137":{"id":"wwdc2024-10137","staticContentId":9265,"eventContentId":10137,"eventId":"wwdc2024","contentUpdatedAt":"2025-06-11T14:34:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10137","languageCode":"eng","description":"SwiftData makes it easy to add persistence to your app with its expressive, declarative API. Learn about refinements to SwiftData, including compound uniqueness constraints, faster queries with #Index, queries in Xcode previews, and rich predicate expressions. Join us to explore how you can use all of these features to express richer models and improve performance in your app.\nTo discover how to build a custom data store or use the history API in SwiftData, watch \u201cCreate a custom data store with SwiftData\u201d and \u201cTrack model changes with SwiftData history\u201d.","title":"What\u2019s new in SwiftData","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["datastore","expression","index","preservevalueondeletion","unique"],"primaryTopicID":99,"topicIds":[83,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"52B59859-E525-4A55-A6D3-05A084E879EB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10137\/4\/44213251-C991-4280-BBF1-5CA6AFCA5222\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10137\/4\/44213251-C991-4280-BBF1-5CA6AFCA5222\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10137\/4\/44213251-C991-4280-BBF1-5CA6AFCA5222\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10137\/4\/44213251-C991-4280-BBF1-5CA6AFCA5222\/downloads\/wwdc2024-10137_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10137\/4\/44213251-C991-4280-BBF1-5CA6AFCA5222\/downloads\/wwdc2024-10137_sd.mp4","duration":841,"availableAudioLanguageCodes":["und"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":57},{"start":57,"title":"Adopt SwiftData","end":131},{"start":131,"title":"Customize the schema","end":163},{"start":163,"title":"#Unique macro","end":217},{"start":217,"title":"History API","end":269},{"start":269,"title":"Tailor a model container","end":339},{"start":339,"title":"Custom data stores","end":401},{"start":401,"title":"Xcode previews","end":560},{"start":560,"title":"Customize queries","end":618},{"start":618,"title":"#Expression macro","end":716},{"start":716,"title":"#Index macro","end":841}]},"related":{"activities":["wwdc2023-10187","wwdc2024-10138","wwdc2024-10075"],"resources":[3696,3085,3084]}},"wwdc2024-10176":{"id":"wwdc2024-10176","staticContentId":9306,"eventContentId":10176,"eventId":"wwdc2024","contentUpdatedAt":"2026-06-08T12:30:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10176","languageCode":"eng","description":"App Intents power system experiences in controls, Spotlight, Siri, and more. Find out how to identify the functionality that\u2019s best for App Intents, and how to use parameters to make these intents flexible. Learn how to use App Intents to allow people to take action outside your app, and see examples of when to navigate into your app to show contextual information.","title":"Design App Intents for system experiences","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","watchOS"],"primaryTopicID":87,"topicIds":[94,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1B288F07-7EFB-44F7-A581-FFADD0AC475A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10176\/4\/A71031F6-5E78-4CA6-87CC-F203DCA5A133\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10176\/4\/A71031F6-5E78-4CA6-87CC-F203DCA5A133\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10176\/4\/A71031F6-5E78-4CA6-87CC-F203DCA5A133\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10176\/4\/A71031F6-5E78-4CA6-87CC-F203DCA5A133\/downloads\/wwdc2024-10176_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10176\/4\/A71031F6-5E78-4CA6-87CC-F203DCA5A133\/downloads\/wwdc2024-10176_sd.mp4","duration":559,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Intro","end":110},{"start":110,"title":"Which App Intents to make","end":233},{"start":233,"title":"Structuring App Intents","end":559}]},"related":{"activities":["wwdc2024-10134","wwdc2024-10133","wwdc2024-10210","wwdc2024-111698","wwdc2024-111699","wwdc2024-111700","wwdc2024-111701"],"resources":[3844,3842,3840,3839,3685,2399]}},"wwdc2024-10116":{"id":"wwdc2024-10116","staticContentId":9243,"eventContentId":10116,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10116","languageCode":"eng","description":"Learn how AVExperienceController can enable playback of multiple videos on Apple Vision Pro. Review best practices for adoption and explore great use cases, like viewing a sports broadcast from different angles or watching multiple games simultaneously. And discover how to design a compelling and intuitive multiview experience in your app.","title":"Explore multiview video playback in visionOS","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":84,"topicIds":[87,85,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7D0A949E-682E-4ECF-94BF-B4C8C215E892","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10116\/4\/E50DFC91-1CB7-4E9B-B204-72EA322434D8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10116\/4\/E50DFC91-1CB7-4E9B-B204-72EA322434D8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10116\/4\/E50DFC91-1CB7-4E9B-B204-72EA322434D8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10116\/4\/E50DFC91-1CB7-4E9B-B204-72EA322434D8\/downloads\/wwdc2024-10116_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10116\/4\/E50DFC91-1CB7-4E9B-B204-72EA322434D8\/downloads\/wwdc2024-10116_sd.mp4","duration":842,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":115},{"start":115,"title":"Introducing multiview","end":299},{"start":299,"title":"Design a multiview experience","end":842}]},"related":{"activities":["wwdc2023-10070"],"resources":[3682]}},"wwdc2024-111":{"id":"wwdc2024-111","staticContentId":9738,"eventContentId":111,"eventId":"wwdc2024","contentUpdatedAt":"2024-06-12T14:44:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/111","languageCode":"eng","description":"Don\u2019t miss the exciting reveal of the latest Apple software and technologies.","title":"Keynote (ASL)","startTime":"2024-06-10T10:00:00-07:00","endTime":"2024-06-10T12:00:00-07:00","originalPublishingDate":"2024-06-10T10:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["asl"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"3097BE00-A189-426A-B7A5-37C225D6C82D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/events-delivery.apple.com\/1505clvgxdwlbjrjhxtjdgcdxaiabvuf\/m3u8\/vod_asl_index-jTZXsamshpmJjncxPxevscCcyQyaWkkU.m3u8","duration":6244,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["de","en","es","fr","ja","ko","zh"],"chapters":[{"start":89,"title":"Introduction","end":342},{"start":342,"title":"visionOS","end":869},{"start":869,"title":"iOS","end":1844},{"start":1844,"title":"Audio & Home","end":2156},{"start":2156,"title":"watchOS","end":2584},{"start":2584,"title":"iPadOS","end":3052},{"start":3052,"title":"macOS","end":3870},{"start":3870,"title":"Apple Intelligence","end":6244}]}},"wwdc2024-10143":{"id":"wwdc2024-10143","staticContentId":9271,"eventContentId":10143,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10143","languageCode":"eng","description":"Learn about the latest management capabilities for iOS, iPadOS, macOS, and visionOS, then discover the latest changes to Apple Business Manager and Apple School Manager. We\u2019ll also share updates to Activation Lock, SoftwareUpdate, and Safari management.","title":"What\u2019s new in device management","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9D0EBBBA-766E-4306-A14C-39339DD76D58","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10143\/4\/DCF6DCB6-97B8-43FA-9BA4-4E73784D672E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10143\/4\/DCF6DCB6-97B8-43FA-9BA4-4E73784D672E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10143\/4\/DCF6DCB6-97B8-43FA-9BA4-4E73784D672E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10143\/4\/DCF6DCB6-97B8-43FA-9BA4-4E73784D672E\/downloads\/wwdc2024-10143_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10143\/4\/DCF6DCB6-97B8-43FA-9BA4-4E73784D672E\/downloads\/wwdc2024-10143_sd.mp4","duration":1512,"availableAudioLanguageCodes":["und"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":62},{"start":62,"title":"Apple Services","end":425},{"start":425,"title":"Platform updates","end":1305},{"start":1305,"title":"Education enhancements","end":1512}]},"related":{"activities":["wwdc2024-10139","wwdc2024-111964"],"resources":[3864,3684,3109,3108,2352,2350,2349,585,584,582,581,329]}},"wwdc2024-102":{"id":"wwdc2024-102","staticContentId":9735,"eventContentId":102,"eventId":"wwdc2024","contentUpdatedAt":"2024-06-10T13:47:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/102","languageCode":"eng","description":"Discover the newest advancements on Apple platforms.","title":"Platforms State of the Union","startTime":"2024-06-10T13:00:00-07:00","endTime":"2024-06-10T14:00:00-07:00","originalPublishingDate":"2024-06-10T13:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["sotu","sotu 2024"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"CCE8E525-8F10-4645-BF92-35732C537230","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/102\/1\/A8ECDDD9-F782-4267-B6E0-782B4D9ECB88\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/102\/1\/A8ECDDD9-F782-4267-B6E0-782B4D9ECB88\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/102\/1\/A8ECDDD9-F782-4267-B6E0-782B4D9ECB88\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/102\/1\/A8ECDDD9-F782-4267-B6E0-782B4D9ECB88\/downloads\/wwdc2024-102_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/102\/1\/A8ECDDD9-F782-4267-B6E0-782B4D9ECB88\/downloads\/wwdc2024-102_sd.mp4","duration":3991,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["de","en","es","fr","ja","ko","zh"],"chapters":[{"start":21,"title":"Introduction","end":95},{"start":95,"title":"Apple Intelligence","end":554},{"start":554,"title":"Generative Tools","end":1270},{"start":1270,"title":"Xcode","end":1438},{"start":1438,"title":"Swift Assist","end":1664},{"start":1664,"title":"Swift","end":1981},{"start":1981,"title":"Swift Testing","end":2123},{"start":2123,"title":"SwiftUI","end":2518},{"start":2518,"title":"RealityKit","end":2657},{"start":2657,"title":"iOS","end":2844},{"start":2844,"title":"iPadOS","end":2970},{"start":2970,"title":"watchOS","end":3131},{"start":3131,"title":"macOS","end":3386},{"start":3386,"title":"visionOS","end":3735},{"start":3735,"title":"Native Experiences","end":3863},{"start":3863,"title":"Conclusion","end":3991}]}},"wwdc2024-10211":{"id":"wwdc2024-10211","staticContentId":9345,"eventContentId":10211,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10211","languageCode":"eng","description":"Discover how you can use BNNSGraph to accelerate the execution of your machine learning model on the CPU. We will show you how to use BNNSGraph to compile and execute a machine learning model on the CPU and share how it provides real-time guarantees such as no runtime memory allocation and single-threaded running for audio or signal processing models.","title":"Support real-time ML inference on the CPU","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["bnns","machine learning"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9E4A005D-9A69-44A6-BD88-E1644B5390DA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10211\/4\/1410E4EC-04F1-4A67-B7A5-F31E500B8306\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10211\/4\/1410E4EC-04F1-4A67-B7A5-F31E500B8306\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10211\/4\/1410E4EC-04F1-4A67-B7A5-F31E500B8306\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10211\/4\/1410E4EC-04F1-4A67-B7A5-F31E500B8306\/downloads\/wwdc2024-10211_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10211\/4\/1410E4EC-04F1-4A67-B7A5-F31E500B8306\/downloads\/wwdc2024-10211_sd.mp4","duration":1203,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":78},{"start":78,"title":"Introducing BNNS Graph","end":407},{"start":407,"title":"Real-time processing","end":480},{"start":480,"title":"Adopting BNNS Graph","end":892},{"start":892,"title":"BNNS Graph in Swift","end":1203}]},"related":{"activities":["wwdc2024-10223"],"resources":[3690]}},"wwdc2024-10195":{"id":"wwdc2024-10195","staticContentId":9325,"eventContentId":10195,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10195","languageCode":"eng","description":"Learn how to write a sweet set of (test) suites using Swift Testing\u2019s baked-in features. Discover how to take the building blocks further and use them to help expand tests to cover more scenarios, organize your tests across different suites, and optimize your tests to run in parallel.","title":"Go further with Swift Testing","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"52DB5AB3-48AF-40E1-98C7-CCC9132EDD39","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10195\/4\/7FBA1EC9-FB05-46DA-852F-C090FB5A53E6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10195\/4\/7FBA1EC9-FB05-46DA-852F-C090FB5A53E6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10195\/4\/7FBA1EC9-FB05-46DA-852F-C090FB5A53E6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10195\/4\/7FBA1EC9-FB05-46DA-852F-C090FB5A53E6\/downloads\/wwdc2024-10195_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10195\/4\/7FBA1EC9-FB05-46DA-852F-C090FB5A53E6\/downloads\/wwdc2024-10195_sd.mp4","duration":1636,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":36},{"start":36,"title":"Why we write tests","end":51},{"start":51,"title":"Challenges in testing","end":81},{"start":81,"title":"Writing expressive code","end":95},{"start":95,"title":"Expectations","end":238},{"start":238,"title":"Required expectations","end":269},{"start":269,"title":"Tests with known issues","end":354},{"start":354,"title":"Custom test descriptions","end":443},{"start":443,"title":"Parameterized testing","end":767},{"start":767,"title":"Organizing tests","end":778},{"start":778,"title":"Test suites","end":813},{"start":813,"title":"The tag trait","end":1238},{"start":1238,"title":"Xcode Cloud support","end":1269},{"start":1269,"title":"Testing in parallel","end":1296},{"start":1296,"title":"Parallel testing basics","end":1466},{"start":1466,"title":"Asynchronous conditions","end":1592},{"start":1592,"title":"Wrap up","end":1636}]},"related":{"activities":["wwdc2024-10179","wwdc2021-10132"],"resources":[3758,3757,3751,3750,3749,3686,3121]}},"wwdc2024-10214":{"id":"wwdc2024-10214","staticContentId":9354,"eventContentId":10214,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:39-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10214","languageCode":"eng","description":"New in iOS 18, iPadOS 18, and visionOS 2, the PencilKit tool picker gains the ability to have completely custom tools, with custom attributes. Learn how to express your custom drawing experience in the tool picker using the same great tool picking experience available across the system. Discover how to access the new features of the Apple Pencil Pro, including roll angle, the squeeze gesture, and haptic feedback.","title":"Squeeze the most out of Apple Pencil","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","visionOS"],"keywords":["barrel roll","draw","finger","haptics","hover","pencil kit","roll"],"primaryTopicID":100,"topicIds":[83,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2104DC8F-01CE-453F-AF0E-A499CB193E97","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10214\/4\/AFB648F1-CAD7-4F62-8916-9DF4372C33C4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10214\/4\/AFB648F1-CAD7-4F62-8916-9DF4372C33C4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10214\/4\/AFB648F1-CAD7-4F62-8916-9DF4372C33C4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10214\/4\/AFB648F1-CAD7-4F62-8916-9DF4372C33C4\/downloads\/wwdc2024-10214_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10214\/4\/AFB648F1-CAD7-4F62-8916-9DF4372C33C4\/downloads\/wwdc2024-10214_sd.mp4","duration":898,"availableAudioLanguageCodes":["und"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":76},{"start":76,"title":"Configuring the tool picker","end":320},{"start":320,"title":"Custom tools in the tool picker","end":527},{"start":527,"title":"Apple Pencil Pro features and APIs","end":898}]},"related":{"activities":["wwdc2019-221","wwdc2020-10148","wwdc2020-10106"],"resources":[3730,3729,3728,3727,3695,1361]}},"wwdc2024-10148":{"id":"wwdc2024-10148","staticContentId":9276,"eventContentId":10148,"eventId":"wwdc2024","contentUpdatedAt":"2026-05-05T14:33:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10148","languageCode":"eng","description":"Make your windows feel tailor-made for macOS. Fine-tune your app\u2019s windows for focused purposes, ease of use, and to express functionality. Use SwiftUI to style window toolbars and backgrounds. Arrange your windows with precision, and make smart decisions about restoration and minimization.","title":"Tailor macOS windows with SwiftUI","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["macOS"],"keywords":["1984","borderless","close","floating","minimize","toolbar","window","windows","zoom"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"090F792B-C546-4145-8B87-40B8B5A52A9B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10148\/4\/B76C6719-6B90-4EA9-9EDA-03C08C4A02AA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10148\/4\/B76C6719-6B90-4EA9-9EDA-03C08C4A02AA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10148\/4\/B76C6719-6B90-4EA9-9EDA-03C08C4A02AA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10148\/4\/B76C6719-6B90-4EA9-9EDA-03C08C4A02AA\/downloads\/wwdc2024-10148_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10148\/4\/B76C6719-6B90-4EA9-9EDA-03C08C4A02AA\/downloads\/wwdc2024-10148_sd.mp4","duration":656,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":53,"title":"Anatomy of a window","end":113},{"start":113,"title":"App window structure","end":161},{"start":161,"title":"Style window toolbars","end":233},{"start":233,"title":"Refine window behaviors","end":355},{"start":355,"title":"Adjust window placement","end":656}]},"related":{"activities":["wwdc2022-10061","wwdc2024-10149"],"resources":[3754,3731,3695,3583]}},"wwdc2024-10207":{"id":"wwdc2024-10207","staticContentId":9337,"eventContentId":10207,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10207","languageCode":"eng","description":"SwiftUI helps you build great apps on all Apple platforms and is the preferred toolkit for bringing your content into the living room with tvOS 18. Learn how to use SwiftUI to create familiar layouts and controls from TVMLKit, and get tips and best practices.","title":"Migrate your TVML app to SwiftUI","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["tvOS"],"primaryTopicID":100,"topicIds":[84,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"19A9A2A1-2750-4778-89B4-5E1961058594","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10207\/4\/F0BA61BC-1F1D-4128-A2A3-C92C121EEE6F\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10207\/4\/F0BA61BC-1F1D-4128-A2A3-C92C121EEE6F\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10207\/4\/F0BA61BC-1F1D-4128-A2A3-C92C121EEE6F\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10207\/4\/F0BA61BC-1F1D-4128-A2A3-C92C121EEE6F\/downloads\/wwdc2024-10207_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10207\/4\/F0BA61BC-1F1D-4128-A2A3-C92C121EEE6F\/downloads\/wwdc2024-10207_sd.mp4","duration":1050,"availableAudioLanguageCodes":["und"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":234},{"start":234,"title":"Lockups","end":312},{"start":312,"title":"Shelves","end":455},{"start":455,"title":"Catalogs","end":667},{"start":667,"title":"Search","end":1050}]},"related":{"activities":["wwdc2024-10144","wwdc2024-10146","wwdc2024-10118","wwdc2024-111890","wwdc2024-111891","wwdc2024-111892"],"resources":[3695,3665]}},"wwdc2024-10181":{"id":"wwdc2024-10181","staticContentId":9311,"eventContentId":10181,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10181","languageCode":"eng","description":"Edit, debug, commit, repeat. Explore the suite of tools in Xcode that help you iterate quickly when developing apps. Discover tips and tricks to help optimize and boost your development workflow.","title":"Xcode essentials","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[90,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F19A2ABA-6125-4525-8B29-A834AB3E614A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10181\/4\/39C00926-6B07-4887-86C2-95B4CF6C8745\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10181\/4\/39C00926-6B07-4887-86C2-95B4CF6C8745\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10181\/4\/39C00926-6B07-4887-86C2-95B4CF6C8745\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10181\/4\/39C00926-6B07-4887-86C2-95B4CF6C8745\/downloads\/wwdc2024-10181_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10181\/4\/39C00926-6B07-4887-86C2-95B4CF6C8745\/downloads\/wwdc2024-10181_sd.mp4","duration":2187,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":91},{"start":91,"title":"Find the right content","end":105},{"start":105,"title":"Filter navigators","end":185},{"start":185,"title":"The Find navigator","end":343},{"start":343,"title":"Move between files","end":347},{"start":347,"title":"The tab bar","end":461},{"start":461,"title":"The jump bar","end":518},{"start":518,"title":"Tricks for creating new files","end":574},{"start":574,"title":"Warnings and error annotations","end":642},{"start":642,"title":"Using bookmarks","end":656},{"start":656,"title":"Using Mark comments","end":675},{"start":675,"title":"Leverage shortcuts","end":682},{"start":682,"title":"Open Quickly","end":732},{"start":732,"title":"Useful commands and shortcuts","end":859},{"start":859,"title":"Code completion","end":910},{"start":910,"title":"VIM mode","end":925},{"start":925,"title":"Common emacs commands","end":943},{"start":943,"title":"Get the most out of git","end":947},{"start":947,"title":"Show the last change for a line","end":967},{"start":967,"title":"Changes navigator","end":1015},{"start":1015,"title":"Debugging","end":1041},{"start":1041,"title":"Setting breakpoints","end":1300},{"start":1300,"title":"Using the console","end":1381},{"start":1381,"title":"Testing","end":1431},{"start":1431,"title":"Test Navigator","end":1569},{"start":1569,"title":"Running tests","end":1662},{"start":1662,"title":"Using Test plans","end":1718},{"start":1718,"title":"Code coverage","end":1776},{"start":1776,"title":"Explore the Test report","end":1823},{"start":1823,"title":"Distributing your app","end":1848},{"start":1848,"title":"TestFlight","end":1886},{"start":1886,"title":"Archiving","end":2006},{"start":2006,"title":"Explore the Organizer","end":2141},{"start":2141,"title":"Wrap up","end":2187}]},"related":{"activities":["wwdc2024-10179","wwdc2023-10224","wwdc2024-10198","wwdc2023-10226","wwdc2022-110370","wwdc2023-10278","wwdc2022-110374","wwdc2022-110361","tech-talks-110343"],"resources":[3829,3686,3047,3044]}},"wwdc2024-10098":{"id":"wwdc2024-10098","staticContentId":9220,"eventContentId":10098,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10098","languageCode":"eng","description":"Starting in watchOS 11, Live Activities from your iOS app will automatically appear in the Smart Stack on a connected Apple Watch. Learn how to optimize the layout of your Live Activity for the wrist, and provide the right level of information and interactivity at the right time.","title":"Design Live Activities for Apple Watch","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS","watchOS"],"primaryTopicID":87,"topicIds":[83,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F5E64E98-8296-44DA-89AE-814BAEA0A713","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10098\/7\/25EEDB0F-2C34-42C4-A647-CD4ACBF973C5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10098\/7\/25EEDB0F-2C34-42C4-A647-CD4ACBF973C5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10098\/7\/25EEDB0F-2C34-42C4-A647-CD4ACBF973C5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10098\/7\/25EEDB0F-2C34-42C4-A647-CD4ACBF973C5\/downloads\/wwdc2024-10098_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10098\/7\/25EEDB0F-2C34-42C4-A647-CD4ACBF973C5\/downloads\/wwdc2024-10098_sd.mp4","duration":518,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Intro","end":68},{"start":68,"title":"Smart Stack","end":163},{"start":163,"title":"Interactions","end":280},{"start":280,"title":"Guidelines","end":518}]},"related":{"activities":["wwdc2024-10068","wwdc2024-10205","wwdc2023-10194","wwdc2024-111724","wwdc2024-111725"],"resources":[3685,3104,2968]}},"wwdc2024-10074":{"id":"wwdc2024-10074","staticContentId":9167,"eventContentId":10074,"eventId":"wwdc2024","contentUpdatedAt":"2025-08-19T15:33:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10074","languageCode":"eng","description":"Dynamic Type lets people choose their preferred text size across the system and all of their apps. To help you get started supporting Dynamic Type, we\u2019ll cover the fundamentals: How it works, how to find issues with scaling text in your app, and how to take practical steps using SwiftUI and UIKit to create a great Dynamic Type experience. We\u2019ll also show how you can best use the Large Content Viewer to make navigation controls accessible to everyone.","title":"Get started with Dynamic Type","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["font","font scaling","font sizes","text accessibility","text styles"],"primaryTopicID":82,"topicIds":[100,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E4CD1309-352A-444E-96A5-FB5D6BA69725","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10074\/4\/3CB84B8B-3CC6-4EAB-AA46-E9FD7D160048\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10074\/4\/3CB84B8B-3CC6-4EAB-AA46-E9FD7D160048\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10074\/4\/3CB84B8B-3CC6-4EAB-AA46-E9FD7D160048\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10074\/4\/3CB84B8B-3CC6-4EAB-AA46-E9FD7D160048\/downloads\/wwdc2024-10074_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10074\/4\/3CB84B8B-3CC6-4EAB-AA46-E9FD7D160048\/downloads\/wwdc2024-10074_sd.mp4","duration":930,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":191},{"start":191,"title":"Scaled text","end":360},{"start":360,"title":"Dynamic layouts","end":536},{"start":536,"title":"Images and symbols","end":718},{"start":718,"title":"Large content viewer","end":930}]},"related":{"resources":[3680,3671,3670,3669,3668,3667]}},"wwdc2024-10109":{"id":"wwdc2024-10109","staticContentId":9232,"eventContentId":10109,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10109","languageCode":"eng","description":"Learn how to incorporate mental health and wellbeing into your app using HealthKit. There are new APIs for State of Mind, as well as for Depression Risk and Anxiety Risk. We\u2019ll dive into principles of emotion science to cover how reflecting on feelings can be beneficial, and how State of Mind can be used to represent different types of mood and emotion.","title":"Explore wellbeing APIs in HealthKit","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"primaryTopicID":92,"topicIds":[83,92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A7FCCDAF-8770-4E6C-86A2-56DDB2095E3E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10109\/4\/C6E12E83-F007-47F9-A74C-6DDC86BEE5AB\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10109\/4\/C6E12E83-F007-47F9-A74C-6DDC86BEE5AB\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10109\/4\/C6E12E83-F007-47F9-A74C-6DDC86BEE5AB\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10109\/4\/C6E12E83-F007-47F9-A74C-6DDC86BEE5AB\/downloads\/wwdc2024-10109_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10109\/4\/C6E12E83-F007-47F9-A74C-6DDC86BEE5AB\/downloads\/wwdc2024-10109_sd.mp4","duration":860,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":88},{"start":88,"title":"Mental wellbeing APIs","end":133},{"start":133,"title":"State of Mind API","end":534},{"start":534,"title":"State of Mind predicates","end":860}]},"related":{"activities":["wwdc2024-10209","wwdc2024-10083","wwdc2020-10664"],"resources":[3789,3688,87]}},"wwdc2024-10166":{"id":"wwdc2024-10166","staticContentId":9296,"eventContentId":10166,"eventId":"wwdc2024","contentUpdatedAt":"2025-06-06T12:35:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10166","languageCode":"eng","description":"Learn how to adopt spatial photos and videos in your apps. Explore the different types of stereoscopic media and find out how to capture spatial videos in your iOS app on iPhone 15 Pro. Discover the various ways to detect and present spatial media, including the new QuickLook Preview Application API in visionOS. And take a deep dive into the metadata and stereo concepts that make a photo or video spatial.","title":"Build compelling spatial photo and video experiences","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["audio &amp; video","camera","machine learning","photokit","spatial photos and videos"],"primaryTopicID":85,"topicIds":[95,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"81341A43-4694-4DA1-B1D6-919D65E3E87D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10166\/5\/6FC98319-6431-448D-9962-370826A7F6FC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10166\/5\/6FC98319-6431-448D-9962-370826A7F6FC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10166\/5\/6FC98319-6431-448D-9962-370826A7F6FC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10166\/5\/6FC98319-6431-448D-9962-370826A7F6FC\/downloads\/wwdc2024-10166_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10166\/5\/6FC98319-6431-448D-9962-370826A7F6FC\/downloads\/wwdc2024-10166_sd.mp4","duration":1312,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":67},{"start":67,"title":"Types of stereoscopic experiences","end":253},{"start":253,"title":"Tour of the new APIs","end":794},{"start":794,"title":"Deep dive into spatial media formats","end":1312}]},"related":{"activities":["wwdc2024-10115","wwdc2024-10065","wwdc2024-10105","wwdc2024-10093","wwdc2023-10071"],"resources":[3820,3819,3818,3694,227]}},"wwdc2024-10110":{"id":"wwdc2024-10110","staticContentId":9237,"eventContentId":10110,"eventId":"wwdc2024","contentUpdatedAt":"2025-11-19T09:18:44-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10110","languageCode":"eng","description":"Learn how to engage customers with App Store Offers using App Store Connect, as well as the latest StoreKit features and APIs. Discover how you can set up win-back offers (a new way to re-engage previous subscribers) and generate offer codes for Mac apps. And find out how to test offers in sandbox and Xcode to make sure they work smoothly.","title":"Implement App Store Offers","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":86,"topicIds":[83,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5182241F-AA98-4C98-BAE3-7AF11E2BB403","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10110\/4\/D12EC56F-E036-4B66-BC08-8F01A5D49690\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10110\/4\/D12EC56F-E036-4B66-BC08-8F01A5D49690\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10110\/4\/D12EC56F-E036-4B66-BC08-8F01A5D49690\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10110\/4\/D12EC56F-E036-4B66-BC08-8F01A5D49690\/downloads\/wwdc2024-10110_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10110\/4\/D12EC56F-E036-4B66-BC08-8F01A5D49690\/downloads\/wwdc2024-10110_sd.mp4","duration":1982,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":92},{"start":92,"title":"Updates to offers","end":277},{"start":277,"title":"Introducing win-back offers","end":430},{"start":430,"title":"Configure win-back offers","end":1010},{"start":1010,"title":"Support win-back offers","end":1724},{"start":1724,"title":"Streamlined purchasing","end":1982}]},"related":{"activities":["wwdc2023-10140","wwdc2024-10061","wwdc2024-10062","wwdc2024-10063","wwdc2023-10013"],"resources":[3879,3878,3877,3865,3811,3810,3809,3683,3506,3503,800,765,496]}},"wwdc2024-10171":{"id":"wwdc2024-10171","staticContentId":9301,"eventContentId":10171,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10171","languageCode":"eng","description":"Explore how builds are changing in Xcode 16 with explicitly built modules. Discover how modules are used to build your code, how explicitly built modules improve transparency in compilation tasks, and how you can optimize your build by sharing modules across targets.","title":"Demystify explicitly built modules","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7D2A895B-A345-468B-8FAE-DD7F2138530C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10171\/4\/7E1A626A-DE4F-4DEB-A2D9-ECCAAD10A34F\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10171\/4\/7E1A626A-DE4F-4DEB-A2D9-ECCAAD10A34F\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10171\/4\/7E1A626A-DE4F-4DEB-A2D9-ECCAAD10A34F\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10171\/4\/7E1A626A-DE4F-4DEB-A2D9-ECCAAD10A34F\/downloads\/wwdc2024-10171_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10171\/4\/7E1A626A-DE4F-4DEB-A2D9-ECCAAD10A34F\/downloads\/wwdc2024-10171_sd.mp4","duration":928,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":17},{"start":17,"title":"Agenda","end":34},{"start":34,"title":"What are modules?","end":237},{"start":237,"title":"Using modules","end":517},{"start":517,"title":"Module build log","end":688},{"start":688,"title":"Optimize your build","end":885},{"start":885,"title":"Wrap up","end":928}]},"related":{"activities":["wwdc2022-110364"],"resources":[3686]}},"wwdc2024-10102":{"id":"wwdc2024-10102","staticContentId":9224,"eventContentId":10102,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10102","languageCode":"eng","description":"Discover how the Timeline view in Reality Composer Pro can bring your 3D content to life. Learn how to create an animated story in which characters and objects interact with each other and the world around them using inverse kinematics, blend shapes, and skeletal poses. We\u2019ll also show you how to use built-in and custom actions, sequence your actions, apply triggers, and implement natural movements.","title":"Compose interactive 3D content in Reality Composer Pro","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["macOS","visionOS"],"keywords":["animation","blend shapes","content creation","cross platform","inverse kinematics","ios","macos","rcp","reality composer pro","realitykit","skeletal poses","timelines","visionos","vision pro"],"primaryTopicID":85,"topicIds":[88,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BCD51027-0E0F-4788-9635-6988DB67B722","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10102\/4\/5895A2B6-4F9A-4D45-A5F6-C7689F50F571\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10102\/4\/5895A2B6-4F9A-4D45-A5F6-C7689F50F571\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10102\/4\/5895A2B6-4F9A-4D45-A5F6-C7689F50F571\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10102\/4\/5895A2B6-4F9A-4D45-A5F6-C7689F50F571\/downloads\/wwdc2024-10102_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10102\/4\/5895A2B6-4F9A-4D45-A5F6-C7689F50F571\/downloads\/wwdc2024-10102_sd.mp4","duration":2076,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":174},{"start":174,"title":"Introducing timelines","end":1102},{"start":1102,"title":"Inverse kinematics","end":1375},{"start":1375,"title":"Animation actions","end":1643},{"start":1643,"title":"Blend Shapes animation","end":1835},{"start":1835,"title":"Skeletal poses","end":2076}]},"related":{"activities":["wwdc2023-10083","wwdc2023-10202","wwdc2024-10115","wwdc2024-10103","wwdc2024-10172","wwdc2024-10186"],"resources":[3813,3694]}},"wwdc2024-111801":{"id":"wwdc2024-111801","staticContentId":9546,"eventContentId":111801,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/111801","languageCode":"eng","description":"Elevate your spatial computing experience using RealityKit audio. Discover how spatial audio can make your 3D immersive experiences come to life. From ambient audio, reverb, to real-time procedural audio that can add character to your 3D content, learn how RealityKit audio APIs can help make your app more engaging.","title":"Enhance your spatial computing app with RealityKit audio","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["attenuation","audio","audio mix groups","collision","collision sounds","entity","gain","immersive music","music","play audio","reality composer pro","realitykit","realitykit audio","reverb","reverbcomponent","rolloff"],"primaryTopicID":85,"topicIds":[88,91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4F5FC12E-95C6-4CAD-9887-939EB4EF7F9E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/111801\/4\/8F764313-3800-4A2E-AD3F-92C75F4A02C2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/111801\/4\/8F764313-3800-4A2E-AD3F-92C75F4A02C2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/111801\/4\/8F764313-3800-4A2E-AD3F-92C75F4A02C2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/111801\/4\/8F764313-3800-4A2E-AD3F-92C75F4A02C2\/downloads\/wwdc2024-111801_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/111801\/4\/8F764313-3800-4A2E-AD3F-92C75F4A02C2\/downloads\/wwdc2024-111801_sd.mp4","duration":1400,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":121},{"start":121,"title":"Spatial audio","end":703},{"start":703,"title":"Collisions","end":1017},{"start":1017,"title":"Reverb presets","end":1104},{"start":1104,"title":"Immersive music","end":1241},{"start":1241,"title":"Mix groups","end":1400}]},"related":{"activities":["wwdc2024-10103","wwdc2024-10104","wwdc2024-10115"],"resources":[3748,3694]}},"wwdc2024-10066":{"id":"wwdc2024-10066","staticContentId":9159,"eventContentId":10066,"eventId":"wwdc2024","contentUpdatedAt":"2026-06-04T15:42:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10066","languageCode":"eng","description":"Discover how WebXR empowers you to add fully immersive experiences to your website in visionOS. Find out how to build WebXR experiences that take full advantage of the input capabilities of visionOS, and learn how you can use Simulator to test WebXR experiences on macOS.","title":"Build immersive web experiences with WebXR","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":98,"topicIds":[83,85,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6C07E5FF-1FB3-4DF1-899A-B5C804C8F0DB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10066\/4\/688EE2E3-325B-40BE-B36E-7067500DE40B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10066\/4\/688EE2E3-325B-40BE-B36E-7067500DE40B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10066\/4\/688ee2e3-325b-40be-b36e-7067500de40b\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10066\/4\/688EE2E3-325B-40BE-B36E-7067500DE40B\/downloads\/wwdc2024-10066_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10066\/4\/688EE2E3-325B-40BE-B36E-7067500DE40B\/downloads\/wwdc2024-10066_sd.mp4","duration":1576,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko"],"chapters":[{"start":0,"title":"Introduction","end":115},{"start":115,"title":"Discover WebXR","end":375},{"start":375,"title":"Integrate WebXR","end":1395},{"start":1395,"title":"Test and debug WebXR","end":1576}]},"related":{"activities":["wwdc2024-10065"],"resources":[3884,3883,3866,3790,3693,3601,3597,3596,3595,2365,773,772,771]}},"wwdc2024-10061":{"id":"wwdc2024-10061","staticContentId":9154,"eventContentId":10061,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10061","languageCode":"eng","description":"Learn how to build and deliver even better purchase experiences using the App Store In-App Purchase system. We\u2019ll demo new StoreKit views control styles and new APIs to improve your subscription customization, discuss new fields for transaction-level information, and explore new testability in Xcode. We\u2019ll also review an important StoreKit deprecation.","title":"What\u2019s new in StoreKit and In-App Purchase","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":86,"topicIds":[83,100,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9F28A37E-92AA-46D7-8805-8A7CDE31F9E8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10061\/4\/283D5AFD-5540-405F-A385-1B9CBB0474D4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10061\/4\/283D5AFD-5540-405F-A385-1B9CBB0474D4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10061\/4\/283D5AFD-5540-405F-A385-1B9CBB0474D4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10061\/4\/283D5AFD-5540-405F-A385-1B9CBB0474D4\/downloads\/wwdc2024-10061_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10061\/4\/283D5AFD-5540-405F-A385-1B9CBB0474D4\/downloads\/wwdc2024-10061_sd.mp4","duration":1380,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":36},{"start":36,"title":"Core API enhancements","end":192},{"start":192,"title":"Merchandise using SwiftUI","end":935},{"start":935,"title":"Test in Xcode","end":1266},{"start":1266,"title":"Update to StoreKit 2","end":1380}]},"related":{"activities":["wwdc2020-10659","wwdc2021-10114","wwdc2022-10039","wwdc2023-10013","wwdc2023-10140","wwdc2024-10110"],"resources":[3801,3800,3799,3683,3506,3503,1636,800,492,479]}},"wwdc2024-10160":{"id":"wwdc2024-10160","staticContentId":9288,"eventContentId":10160,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10160","languageCode":"eng","description":"Learn how to train your models on Apple Silicon with Metal for PyTorch, JAX and TensorFlow. Take advantage of new attention operations and quantization support for improved transformer model performance on your devices.","title":"Train your machine learning and AI models on Apple GPUs","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["ai","gpu","machine learning","metal","pytorch"],"primaryTopicID":94,"topicIds":[83,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C836C711-6EE2-47EA-841E-417A6A18C7E7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10160\/4\/1EF78DEB-091E-49EE-93FE-D764F58D45C2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10160\/4\/1EF78DEB-091E-49EE-93FE-D764F58D45C2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10160\/4\/1EF78DEB-091E-49EE-93FE-D764F58D45C2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10160\/4\/1EF78DEB-091E-49EE-93FE-D764F58D45C2\/downloads\/wwdc2024-10160_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10160\/4\/1EF78DEB-091E-49EE-93FE-D764F58D45C2\/downloads\/wwdc2024-10160_sd.mp4","duration":1101,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":96},{"start":96,"title":"Training frameworks on Apple silicon","end":256},{"start":256,"title":"PyTorch improvements","end":686},{"start":686,"title":"ExecuTorch","end":799},{"start":799,"title":"JAX features","end":1101}]},"related":{"activities":["wwdc2021-10152","wwdc2022-10063","wwdc2023-10050","wwdc2024-10223"],"resources":[3690]}},"wwdc2024-10089":{"id":"wwdc2024-10089","staticContentId":9200,"eventContentId":10089,"eventId":"wwdc2024","contentUpdatedAt":"2026-06-29T08:11:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10089","languageCode":"eng","description":"Discover how simple it can be to reach players on Apple platforms worldwide. We\u2019ll show you how to evaluate your Windows executable on Apple silicon, start your game port with code samples, convert your shader code to Metal, and bring your game to Mac, iPhone, and iPad. Explore enhanced Metal tools that understand HLSL shaders to validate, debug, and profile your ported shaders on Metal.","title":"Port advanced games to Apple platforms","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["game porting toolkit","game porting toolkit 2","gptk2","ios games","ipad games","mac games","metal","metal-cpp","metalfx","metal shader converter","metal shading language"],"primaryTopicID":91,"topicIds":[88,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FFC943E6-ED93-4D9C-B023-8EAE9EDB8A34","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10089\/5\/DFD23E3B-AB98-42B1-9219-9C8B1FCD44EA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10089\/5\/DFD23E3B-AB98-42B1-9219-9C8B1FCD44EA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10089\/5\/DFD23E3B-AB98-42B1-9219-9C8B1FCD44EA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10089\/5\/DFD23E3B-AB98-42B1-9219-9C8B1FCD44EA\/downloads\/wwdc2024-10089_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10089\/5\/DFD23E3B-AB98-42B1-9219-9C8B1FCD44EA\/downloads\/wwdc2024-10089_sd.mp4","duration":1772,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Intro","end":126},{"start":126,"title":"Evaluate your game","end":127},{"start":127,"title":"Port your game","end":382},{"start":382,"title":"Configuration","end":569},{"start":569,"title":"Shaders","end":696},{"start":696,"title":"Graphics","end":966},{"start":966,"title":"Input and rumble","end":1076},{"start":1076,"title":"Audio","end":1133},{"start":1133,"title":"Cloud saves","end":1288},{"start":1288,"title":"Debug and profile with Metal tools","end":1719},{"start":1719,"title":"Wrap-up","end":1772}]},"related":{"activities":["wwdc2024-111783","wwdc2024-111782","wwdc2024-111937","wwdc2024-111784","wwdc2024-10085","wwdc2022-10160","wwdc2023-10124","wwdc2023-10125","wwdc2020-10614","wwdc2019-520","wwdc2021-10079","wwdc2021-10157","tech-talks-111374","tech-talks-111372"],"resources":[3845,3777,3776,3773,3687,3140,3130,2429,2223,38]}},"wwdc2024-10223":{"id":"wwdc2024-10223","staticContentId":9378,"eventContentId":10223,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10223","languageCode":"eng","description":"Get started with an overview of machine learning frameworks on Apple platforms. Whether you\u2019re implementing your first ML model, or an ML expert, we\u2019ll offer guidance to help you select the right framework for your app\u2019s needs. ","title":"Explore machine learning on Apple platforms","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"keywords":["ai","bnns","machine learning &amp; vision","metal","mps","mps graph","pytorch"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0B478A93-1183-49D7-901F-CE3EB5E535E6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10223\/4\/B42D308D-CF5B-4CC6-A7EA-97E52D3EE41D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10223\/4\/B42D308D-CF5B-4CC6-A7EA-97E52D3EE41D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10223\/4\/B42D308D-CF5B-4CC6-A7EA-97E52D3EE41D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10223\/4\/B42D308D-CF5B-4CC6-A7EA-97E52D3EE41D\/downloads\/wwdc2024-10223_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10223\/4\/B42D308D-CF5B-4CC6-A7EA-97E52D3EE41D\/downloads\/wwdc2024-10223_sd.mp4","duration":1053,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":125},{"start":125,"title":"Apple Intelligence","end":235},{"start":235,"title":"ML-powered APIs","end":436},{"start":436,"title":"Running models on device","end":885},{"start":885,"title":"Research","end":1053}]},"related":{"resources":[3690]}},"wwdc2024-10103":{"id":"wwdc2024-10103","staticContentId":9225,"eventContentId":10103,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10103","languageCode":"eng","description":"Learn how new cross-platform APIs in RealityKit can help you build immersive apps for iOS, macOS, and visionOS. Check out the new hover effects, lights and shadows, and portal crossing features, and view them in action through real examples.","title":"Discover RealityKit APIs for iOS, macOS, and visionOS","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["arview","audio","cross platform","directional light","dynamic lights","environment lighting","force effects","hand tracking","hover effects","ios","macos","physics","physics joints","point light","portal","portal crossing","reality composer pro","realitykit","realityview","shadergraph","shadows","spatial tracking","spot light","visionos"],"primaryTopicID":85,"topicIds":[88,91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9DD44795-1758-4A3C-BE0B-CCE59ABC09E3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10103\/4\/7209F458-1214-4B58-A6F3-94EED9BF15ED\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10103\/4\/7209F458-1214-4B58-A6F3-94EED9BF15ED\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10103\/4\/7209F458-1214-4B58-A6F3-94EED9BF15ED\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10103\/4\/7209F458-1214-4B58-A6F3-94EED9BF15ED\/downloads\/wwdc2024-10103_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10103\/4\/7209F458-1214-4B58-A6F3-94EED9BF15ED\/downloads\/wwdc2024-10103_sd.mp4","duration":1891,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":164},{"start":164,"title":"Hover effects and input","end":545},{"start":545,"title":"Force effects and joints  ","end":1062},{"start":1062,"title":"Dynamic lights","end":1217},{"start":1217,"title":"Portal enhancements","end":1529},{"start":1529,"title":"Cross-platform capabilities","end":1891}]},"related":{"activities":["wwdc2024-10104","wwdc2024-111801","wwdc2023-10081","wwdc2024-10102","wwdc2021-10109"],"resources":[3748,3694]}},"wwdc2024-10159":{"id":"wwdc2024-10159","staticContentId":9287,"eventContentId":10159,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:51-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10159","languageCode":"eng","description":"Learn how to optimize your machine learning and AI models to leverage the power of Apple silicon. Review model conversion workflows to prepare your models for on-device deployment. Understand model compression techniques that are compatible with Apple silicon, and at what stages in your model deployment workflow you can apply them. We\u2019ll also explore the tradeoffs between storage size, latency, power usage and accuracy.","title":"Bring your machine learning and AI models to Apple silicon","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["ai","compression","machine learning","metal","mps graph","optimization","silicon"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"99C44423-511A-4E76-B5E0-55B7C90A2199","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10159\/4\/99560AA9-AD18-49FC-9F4D-5F08741EE3AC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10159\/4\/99560AA9-AD18-49FC-9F4D-5F08741EE3AC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10159\/4\/99560AA9-AD18-49FC-9F4D-5F08741EE3AC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10159\/4\/99560AA9-AD18-49FC-9F4D-5F08741EE3AC\/downloads\/wwdc2024-10159_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10159\/4\/99560AA9-AD18-49FC-9F4D-5F08741EE3AC\/downloads\/wwdc2024-10159_sd.mp4","duration":1809,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":167},{"start":167,"title":"Model compression","end":815},{"start":815,"title":"Stateful model","end":1028},{"start":1028,"title":"Transformer optimization","end":1584},{"start":1584,"title":"Multifunction model","end":1809}]},"related":{"activities":["wwdc2023-10047","wwdc2023-10049","wwdc2022-10027","wwdc2021-10038","wwdc2024-10161","wwdc2024-10211","wwdc2024-10223"],"resources":[3690]}},"wwdc2024-10163":{"id":"wwdc2024-10163","staticContentId":9291,"eventContentId":10163,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10163","languageCode":"eng","description":"The Vision Framework API has been redesigned to leverage modern Swift features like concurrency, making it easier and faster to integrate a wide array of Vision algorithms into your app. We\u2019ll tour the updated API and share sample code, along with best practices, to help you get the benefits of this framework with less coding effort. We\u2019ll also demonstrate two new features: image aesthetics and holistic body pose.","title":"Discover Swift enhancements in the Vision framework","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["machine learning &amp; vision"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E2A19C5E-C805-4372-B9B7-BE938F27C650","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10163\/4\/3380F229-CDBE-487A-8ACF-708A4D32CB79\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10163\/4\/3380F229-CDBE-487A-8ACF-708A4D32CB79\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10163\/4\/3380F229-CDBE-487A-8ACF-708A4D32CB79\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10163\/4\/3380F229-CDBE-487A-8ACF-708A4D32CB79\/downloads\/wwdc2024-10163_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10163\/4\/3380F229-CDBE-487A-8ACF-708A4D32CB79\/downloads\/wwdc2024-10163_sd.mp4","duration":1009,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":67},{"start":67,"title":"New Vision API","end":107},{"start":107,"title":"Get started with Vision","end":539},{"start":539,"title":"Optimize with Swift Concurrency","end":665},{"start":665,"title":"Update an existing Vision app","end":826},{"start":826,"title":"What\u2019s new in Vision?","end":1009}]},"related":{"activities":["wwdc2023-10045","wwdc2023-111241"],"resources":[3690]}},"wwdc2024-10146":{"id":"wwdc2024-10146","staticContentId":9274,"eventContentId":10146,"eventId":"wwdc2024","contentUpdatedAt":"2026-05-05T14:33:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10146","languageCode":"eng","description":"Learn about the capabilities of SwiftUI container views and build a mental model for how subviews are managed by their containers. Leverage new APIs to build your own custom containers, create modifiers to customize container content, and give your containers that extra polish that helps your apps stand out.\n","title":"Demystify SwiftUI containers","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2C0A4007-E61E-4F93-B8A4-7B530F461151","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10146\/4\/F3988ADA-0BF0-447C-BE07-01C07F99F11E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10146\/4\/F3988ADA-0BF0-447C-BE07-01C07F99F11E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10146\/4\/F3988ADA-0BF0-447C-BE07-01C07F99F11E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10146\/4\/F3988ADA-0BF0-447C-BE07-01C07F99F11E\/downloads\/wwdc2024-10146_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10146\/4\/F3988ADA-0BF0-447C-BE07-01C07F99F11E\/downloads\/wwdc2024-10146_sd.mp4","duration":1092,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":197},{"start":197,"title":"Composition","end":642},{"start":642,"title":"Sections","end":798},{"start":798,"title":"Customization","end":1012},{"start":1012,"title":"Next steps","end":1092}]},"related":{"activities":["wwdc2024-111891","wwdc2024-111890","wwdc2024-111892","wwdc2021-10022","wwdc2023-10160"],"resources":[3869,3695]}},"wwdc2024-10088":{"id":"wwdc2024-10088","staticContentId":9199,"eventContentId":10088,"eventId":"wwdc2024","contentUpdatedAt":"2026-06-22T16:59:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10088","languageCode":"eng","description":"Learn how to capture high dynamic colors using ScreenCaptureKit, and explore new features like HDR support, microphone capture, and straight-to-file recording.","title":"Capture HDR content with ScreenCaptureKit","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["macOS"],"keywords":["hdr","microphone","mp4","screencapturekit"],"primaryTopicID":84,"topicIds":[91,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8805960A-A0B4-4A30-99EA-0D22ABA4A466","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10088\/4\/D333573B-E8F2-4420-8709-B8FE3095D56B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10088\/4\/D333573B-E8F2-4420-8709-B8FE3095D56B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10088\/4\/D333573B-E8F2-4420-8709-B8FE3095D56B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10088\/4\/D333573B-E8F2-4420-8709-B8FE3095D56B\/downloads\/wwdc2024-10088_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10088\/4\/D333573B-E8F2-4420-8709-B8FE3095D56B\/downloads\/wwdc2024-10088_sd.mp4","duration":689,"availableAudioLanguageCodes":["und"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction and ScreenCaptureKit recap","end":80},{"start":80,"title":"Capture HDR content","end":434},{"start":434,"title":"Add microphone output","end":521},{"start":521,"title":"Record to file","end":689}]},"related":{"activities":["wwdc2024-111786","wwdc2022-10156","wwdc2022-10155","wwdc2023-10136","wwdc2023-10181","wwdc2024-10177"],"resources":[3682,2438]}},"wwdc2024-10139":{"id":"wwdc2024-10139","staticContentId":9267,"eventContentId":10139,"eventId":"wwdc2024","contentUpdatedAt":"2024-08-02T17:18:43-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10139","languageCode":"eng","description":"Find out how you can use new enterprise APIs for visionOS to create spatial experiences that enhance employee and customer productivity on Apple Vision Pro.","title":"Introducing enterprise APIs for visionOS","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":89,"topicIds":[94,83,84,95,85,89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CA87E91C-B5F7-4708-A1EA-5FA5B73E31AD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10139\/5\/6269882C-FCC9-45DB-ADB4-DAAF5297CFEF\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10139\/5\/6269882C-FCC9-45DB-ADB4-DAAF5297CFEF\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10139\/5\/6269882C-FCC9-45DB-ADB4-DAAF5297CFEF\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10139\/5\/6269882C-FCC9-45DB-ADB4-DAAF5297CFEF\/downloads\/wwdc2024-10139_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10139\/5\/6269882C-FCC9-45DB-ADB4-DAAF5297CFEF\/downloads\/wwdc2024-10139_sd.mp4","duration":1278,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","end":156},{"start":156,"title":"Enhanced sensor access","end":698},{"start":698,"title":"Platform control","end":1119},{"start":1119,"title":"Best practices","end":1278}]},"related":{"activities":["wwdc2024-10143","wwdc2024-111971"],"resources":[3836,3684]}},"wwdc2024-10118":{"id":"wwdc2024-10118","staticContentId":9246,"eventContentId":10118,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10118","languageCode":"eng","description":"Explore everything new in UIKit, including tab and document launch experiences, transitions, and text and input changes. We\u2019ll also discuss better-than-ever interoperability between UIKit and SwiftUI animations and gestures, as well as general improvements throughout UIKit.","title":"What\u2019s new in UIKit","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["symbols","traits","uiupdatelink"],"primaryTopicID":100,"topicIds":[83,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"518077D0-49A5-4AD5-ADE6-6B38F3BE8266","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10118\/4\/16FC914B-F442-41A4-AFF4-5047A3FF7125\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10118\/4\/16FC914B-F442-41A4-AFF4-5047A3FF7125\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10118\/4\/16FC914B-F442-41A4-AFF4-5047A3FF7125\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10118\/4\/16FC914B-F442-41A4-AFF4-5047A3FF7125\/downloads\/wwdc2024-10118_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10118\/4\/16FC914B-F442-41A4-AFF4-5047A3FF7125\/downloads\/wwdc2024-10118_sd.mp4","duration":1270,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":55},{"start":55,"title":"Document launch experience","end":84},{"start":84,"title":"Updated tab and sidebar","end":163},{"start":163,"title":"Fluid transitions","end":215},{"start":215,"title":"SwiftUI animations in UIKit","end":264},{"start":264,"title":"Coordinated gesture recognizers","end":362},{"start":362,"title":"Automatic trait tracking","end":464},{"start":464,"title":"List improvements","end":678},{"start":678,"title":"UIUpdateLink","end":775},{"start":775,"title":"SF Symbol animations","end":876},{"start":876,"title":"Sensory feedback","end":974},{"start":974,"title":"Text improvements","end":1094},{"start":1094,"title":"Menu actions","end":1138},{"start":1138,"title":"Apple Pencil Pro and PencilKit","end":1270}]},"related":{"activities":["wwdc2024-10147","wwdc2024-10145","wwdc2024-10144","wwdc2024-10188","wwdc2023-10258","wwdc2021-10057","wwdc2024-10214"],"resources":[3824,3823,3695,3069]}},"wwdc2024-10169":{"id":"wwdc2024-10169","staticContentId":9299,"eventContentId":10169,"eventId":"wwdc2024","contentUpdatedAt":"2025-06-05T16:06:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10169","languageCode":"eng","description":"Experience Swift 6 migration in action as we update an existing sample app. Learn how to migrate incrementally, module by module, and how the compiler helps you identify code that\u2019s at risk of data races.  Discover different techniques for ensuring clear isolation boundaries and eliminating concurrent access to shared mutable state.","title":"Migrate your app to Swift 6","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"33E6E41C-6264-4BB0-B08E-5C1478A27DB6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10169\/6\/4E4B2CB2-ABE3-49B7-AA2B-D97C6BF13B49\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10169\/6\/4E4B2CB2-ABE3-49B7-AA2B-D97C6BF13B49\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10169\/6\/4E4B2CB2-ABE3-49B7-AA2B-D97C6BF13B49\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10169\/6\/4E4B2CB2-ABE3-49B7-AA2B-D97C6BF13B49\/downloads\/wwdc2024-10169_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10169\/6\/4E4B2CB2-ABE3-49B7-AA2B-D97C6BF13B49\/downloads\/wwdc2024-10169_sd.mp4","duration":2508,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":33},{"start":33,"title":"The Coffee Tracker app","end":45},{"start":45,"title":"Review the refactor from WWDC21","end":200},{"start":200,"title":"Swift 6 and data-race safety","end":280},{"start":280,"title":"Swift 6 migration in practice","end":446},{"start":446,"title":"The strategy","end":533},{"start":533,"title":"Adopting concurrency features","end":665},{"start":665,"title":"Enabling complete checking in the watch extension","end":785},{"start":785,"title":"Shared mutable state in global variables","end":1024},{"start":1024,"title":"Shared mutable state in global instances and functions","end":1169},{"start":1169,"title":"Delegate callbacks and concurrency","end":1420},{"start":1420,"title":"Guaranteeing data-race safety with code you don\u2019t maintain","end":1551},{"start":1551,"title":"Enabling the Swift 6 language mode in the watch extension","end":1595},{"start":1595,"title":"Moving on to CoffeeKit","end":1644},{"start":1644,"title":"Enabling complete checking in CoffeeKit","end":1667},{"start":1667,"title":"Common patterns and an incremental strategy","end":1795},{"start":1795,"title":"Global variables in CoffeeKit","end":1865},{"start":1865,"title":"Sending an array between actors","end":2033},{"start":2033,"title":"What if you can\u2019t mark something as Sendable?","end":2123},{"start":2123,"title":"Enabling the Swift 6 language mode in CoffeeKit","end":2159},{"start":2159,"title":"Adding a new feature with guaranteed data-race safety","end":2443},{"start":2443,"title":"Wrap up and the Swift 6 migration guide","end":2508}]},"related":{"activities":["wwdc2021-10194"],"resources":[3855,3759,3696]}},"wwdc2024-10186":{"id":"wwdc2024-10186","staticContentId":9316,"eventContentId":10186,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:45-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10186","languageCode":"eng","description":"Dive into an end-to-end workflow for optimized 3D asset creation. Discover best practices for optimizing meshes, materials, and textures in your digital content creation tool. Learn how to harness shader graph, baking, and material instances to enhance your 3D scene while optimizing performance. Take advantage of native tools to work more effectively with your assets and improve your app\u2019s performance.","title":"Optimize your 3D assets for spatial computing","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","visionOS"],"keywords":["3d","bump map","dcc","digital content creation","materials","normal map","optimization","polygon count","rcp","reality composer pro","realitykit","shadergraph","skydome","usd","usda","usdc","usdz"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E72C2546-D05B-4938-9855-EEF54A998257","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10186\/4\/D1CE3777-9DAD-4412-B8BD-30EEF377C927\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10186\/4\/D1CE3777-9DAD-4412-B8BD-30EEF377C927\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10186\/4\/D1CE3777-9DAD-4412-B8BD-30EEF377C927\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10186\/4\/D1CE3777-9DAD-4412-B8BD-30EEF377C927\/downloads\/wwdc2024-10186_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10186\/4\/D1CE3777-9DAD-4412-B8BD-30EEF377C927\/downloads\/wwdc2024-10186_sd.mp4","duration":1333,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":65},{"start":65,"title":"Before you begin","end":141},{"start":141,"title":"Polygon count ","end":179},{"start":179,"title":"Export from DCCs","end":385},{"start":385,"title":"Efficient texture use","end":787},{"start":787,"title":"Optimizing materials","end":907},{"start":907,"title":"Sky dome setup","end":963},{"start":963,"title":"Image-based lighting","end":1333}]},"related":{"activities":["wwdc2024-10106","wwdc2024-10105","wwdc2024-10107","wwdc2024-10087","wwdc2024-10102"],"resources":[3830,3694]}},"wwdc2024-10220":{"id":"wwdc2024-10220","staticContentId":9374,"eventContentId":10220,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10220","languageCode":"eng","description":"Discover how to bring Genmoji to life in your app. We\u2019ll go over how to render, store, and communicate text that includes Genmoji. If your app features a custom text engine, we\u2019ll also cover techniques for adding support for Genmoji.","title":"Bring expression to your app with Genmoji","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["\ud83d\ude00","animoji","emoji","memoji","nsadaptiveimageglyph","nstextview","stickers","textkit","uitextview","wkwebview"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B2F7FFDC-C269-44D6-8633-8E52BDFF9CDF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10220\/5\/66D08ED4-B7A1-415E-AB43-79704F82CE41\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10220\/5\/66D08ED4-B7A1-415E-AB43-79704F82CE41\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10220\/5\/66D08ED4-B7A1-415E-AB43-79704F82CE41\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10220\/5\/66D08ED4-B7A1-415E-AB43-79704F82CE41\/downloads\/wwdc2024-10220_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10220\/5\/66D08ED4-B7A1-415E-AB43-79704F82CE41\/downloads\/wwdc2024-10220_sd.mp4","duration":677,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":37},{"start":37,"title":"Express yourself","end":77},{"start":77,"title":"Emoji enhancements","end":137},{"start":137,"title":"NSAdaptiveImageGlyph","end":195},{"start":195,"title":"Adopting in your app","end":481},{"start":481,"title":"Compatibility","end":550},{"start":550,"title":"Advanced usage","end":633},{"start":633,"title":"Wrap-up","end":677}]},"related":{"activities":["wwdc2024-10118","wwdc2024-10124"],"resources":[3695,170,98,3]}},"wwdc2024-10200":{"id":"wwdc2024-10200","staticContentId":9330,"eventContentId":10200,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10200","languageCode":"eng","description":"Discover how Xcode Cloud can adapt to your development needs. We\u2019ll show you how to streamline your workflows, automate testing and distribution with start conditions, custom aliases, custom scripts, webhooks, and the App Store Connect API.","title":"Extend your Xcode Cloud workflows","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[90,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E070C6EA-737A-4526-B098-F8CC8F970B03","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10200\/5\/28E5AAA4-9AE8-427A-B577-512070861A1A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10200\/5\/28E5AAA4-9AE8-427A-B577-512070861A1A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10200\/5\/28E5AAA4-9AE8-427A-B577-512070861A1A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10200\/5\/28E5AAA4-9AE8-427A-B577-512070861A1A\/downloads\/wwdc2024-10200_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10200\/5\/28E5AAA4-9AE8-427A-B577-512070861A1A\/downloads\/wwdc2024-10200_sd.mp4","duration":1270,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":68},{"start":68,"title":"Essential Workflow Concepts","end":180},{"start":180,"title":"Scale your workflows","end":698},{"start":698,"title":"Connect other systems","end":753},{"start":753,"title":"App Store Connect API","end":995},{"start":995,"title":"Webhooks","end":1233},{"start":1233,"title":"Wrap up","end":1270}]},"related":{"activities":["wwdc2023-10171","wwdc2023-10278","wwdc2021-10267"],"resources":[3686,3661,1653,1652,1651,1649]}},"wwdc2024-10138":{"id":"wwdc2024-10138","staticContentId":9266,"eventContentId":10138,"eventId":"wwdc2024","contentUpdatedAt":"2025-06-11T14:34:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10138","languageCode":"eng","description":"Combine the power of SwiftData\u2019s expressive, declarative modeling API with your own persistence backend. Learn how to build a custom data store and explore how to progressively add persistence features in your app. To get the most out of this session, watch \u201cMeet SwiftData\u201d and \u201cModel your schema with SwiftData\u201d from WWDC23.","title":"Create a custom data store with SwiftData","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["datastore","datastoreconfiguration","datastoresnapshot"],"primaryTopicID":99,"topicIds":[83,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A686495B-96F7-4EDB-94D6-720FD50F3985","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10138\/4\/A149C0AB-2AB1-48C1-B259-4D5621873D5F\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10138\/4\/A149C0AB-2AB1-48C1-B259-4D5621873D5F\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10138\/4\/A149C0AB-2AB1-48C1-B259-4D5621873D5F\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10138\/4\/A149C0AB-2AB1-48C1-B259-4D5621873D5F\/downloads\/wwdc2024-10138_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10138\/4\/A149C0AB-2AB1-48C1-B259-4D5621873D5F\/downloads\/wwdc2024-10138_sd.mp4","duration":832,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":81},{"start":81,"title":"Overview","end":290},{"start":290,"title":"Meet DataStore","end":462},{"start":462,"title":"Example store","end":832}]},"related":{"activities":["wwdc2024-10075"],"resources":[3696,3085]}},"wwdc2024-10114":{"id":"wwdc2024-10114","staticContentId":9241,"eventContentId":10114,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10114","languageCode":"eng","description":"Explore how HLS Interstitials can help you seamlessly insert advertisements into your HLS content. We\u2019ll also show you how to use integrated timeline to tune your UI experience and build SharePlay for interstitials.","title":"Enhance ad experiences with HLS interstitials","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DE4119FF-79DD-4F71-8C76-FD3532CA9B0A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10114\/4\/EA8643B4-5978-424A-AFCE-5E8A7D6A6DF1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10114\/4\/EA8643B4-5978-424A-AFCE-5E8A7D6A6DF1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10114\/4\/EA8643B4-5978-424A-AFCE-5E8A7D6A6DF1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10114\/4\/EA8643B4-5978-424A-AFCE-5E8A7D6A6DF1\/downloads\/wwdc2024-10114_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10114\/4\/EA8643B4-5978-424A-AFCE-5E8A7D6A6DF1\/downloads\/wwdc2024-10114_sd.mp4","duration":804,"availableAudioLanguageCodes":["und"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":45},{"start":45,"title":"Interstitals recap","end":116},{"start":116,"title":"Integrated timeline","end":640},{"start":640,"title":"SharePlay with interstitials","end":804}]},"related":{"activities":["wwdc2021-10140","wwdc2021-10225"],"resources":[3755,3682]}},"wwdc2024-10108":{"id":"wwdc2024-10108","staticContentId":9231,"eventContentId":10108,"eventId":"wwdc2024","contentUpdatedAt":"2025-07-10T10:25:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10108","languageCode":"eng","description":"Take passes and payments to the next level with new enhancements to Wallet and Apple Pay. Make your event tickets shine with rich pass designs in Wallet, and bring great Apple Pay experiences to even more people with third-party browser support. We\u2019ll also look at how to disburse funds with Apple Pay on the Web and highlight new API changes that help you integrate Apple Pay into even more purchasing flows.","title":"What\u2019s new in Wallet and Apple Pay","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FCB194FA-035A-4955-A518-B59CE8541D6D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10108\/4\/C63602CE-99FE-4290-B5EC-B7BBAA6A08FA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10108\/4\/C63602CE-99FE-4290-B5EC-B7BBAA6A08FA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10108\/4\/C63602CE-99FE-4290-B5EC-B7BBAA6A08FA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10108\/4\/C63602CE-99FE-4290-B5EC-B7BBAA6A08FA\/downloads\/wwdc2024-10108_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10108\/4\/C63602CE-99FE-4290-B5EC-B7BBAA6A08FA\/downloads\/wwdc2024-10108_sd.mp4","duration":1108,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":35},{"start":35,"title":"Updates to Apple Pay on the web","end":597},{"start":597,"title":"Wallet pass enhancements","end":1108}]},"related":{"activities":["tech-talks-111381"],"resources":[3817,3796,3795,3681,104]}},"wwdc2024-2023":{"id":"wwdc2024-2023","staticContentId":8013,"eventContentId":2023,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/2023","languageCode":"eng","description":"Learn how FinanceKit lets your financial management apps seamlessly and securely share on-device data from Apple Cash, Apple Card, and more, with user consent and control. Find out how to request one-time and ongoing access to accounts, transactions, and balances \u2014 and how to build great experiences for iOS and iPadOS.","title":"Meet FinanceKit","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"951AA94E-A341-433B-8709-4153EF6973F4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/2023\/4\/74A8DE5D-5007-4431-929F-17401D6F80CB\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/2023\/4\/74A8DE5D-5007-4431-929F-17401D6F80CB\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/2023\/4\/74A8DE5D-5007-4431-929F-17401D6F80CB\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/2023\/4\/74A8DE5D-5007-4431-929F-17401D6F80CB\/downloads\/wwdc2024-2023_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/2023\/4\/74A8DE5D-5007-4431-929F-17401D6F80CB\/downloads\/wwdc2024-2023_sd.mp4","duration":1425,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":108},{"start":108,"title":"Overview of data types","end":303},{"start":303,"title":"Access financial data","end":1316},{"start":1316,"title":"Best practices","end":1425}]},"related":{"resources":[3746,3681]}},"wwdc2024-111976":{"id":"wwdc2024-111976","staticContentId":9739,"eventContentId":111976,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/111976","languageCode":"eng","description":"Here\u2019s your guide to the big announcements from this year\u2019s Worldwide Developers Conference.","title":"18 things from WWDC24","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["recap"],"primaryTopicID":90,"topicIds":[90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6DB7332C-305E-4F65-B988-B41F5F9E55A0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/111976\/1\/FF5D2060-A995-4815-90EF-1E40B45F8C91\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/111976\/1\/FF5D2060-A995-4815-90EF-1E40B45F8C91\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/111976\/1\/FF5D2060-A995-4815-90EF-1E40B45F8C91\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/111976\/1\/FF5D2060-A995-4815-90EF-1E40B45F8C91\/downloads\/wwdc2024-111976_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/111976\/1\/FF5D2060-A995-4815-90EF-1E40B45F8C91\/downloads\/wwdc2024-111976_sd.mp4","duration":163,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]}},"wwdc2024-10101":{"id":"wwdc2024-10101","staticContentId":9223,"eventContentId":10101,"eventId":"wwdc2024","contentUpdatedAt":"2026-06-08T13:30:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10101","languageCode":"eng","description":"Find out how you can use object tracking to turn real-world objects into virtual anchors in your visionOS app. Learn how you can build spatial experiences with object tracking from start to finish. Find out how to create a reference object using machine learning in Create ML and attach content relative to your target object in Reality Composer Pro, RealityKit or ARKit APIs.","title":"Explore object tracking for visionOS","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[94,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DA9B7FEA-5DA2-4A48-8130-A3C6D619B2F4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10101\/4\/6F54068C-B055-45B1-97A0-89AA6CFBDDD5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10101\/4\/6F54068C-B055-45B1-97A0-89AA6CFBDDD5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10101\/4\/6F54068C-B055-45B1-97A0-89AA6CFBDDD5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10101\/4\/6F54068C-B055-45B1-97A0-89AA6CFBDDD5\/downloads\/wwdc2024-10101_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10101\/4\/6F54068C-B055-45B1-97A0-89AA6CFBDDD5\/downloads\/wwdc2024-10101_sd.mp4","duration":1021,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":307},{"start":307,"title":"Create reference object ","end":568},{"start":568,"title":"Anchor virtual content","end":1021}]},"related":{"activities":["wwdc2023-10191","wwdc2024-10100","wwdc2024-10104","wwdc2024-10183","wwdc2024-10102"],"resources":[3880,3837,3694]}},"wwdc2024-10157":{"id":"wwdc2024-10157","staticContentId":9285,"eventContentId":10157,"eventId":"wwdc2024","contentUpdatedAt":"2026-04-13T12:39:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10157","languageCode":"eng","description":"Bring your app\u2019s controls to Control Center, the Lock Screen, and beyond. Learn how you can use WidgetKit to extend your app\u2019s controls to the system experience. We\u2019ll cover how you can to build a control, tailor its appearance, and make it configurable.","title":"Extend your app\u2019s controls across the system","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["controlwidget","controlwidgetbutton","controlwidgettoggle","widgetkit"],"primaryTopicID":83,"topicIds":[100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D0A1C0D0-2F91-47EB-97BA-C14593600B6B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10157\/5\/5DC0FBFA-B601-4A2F-BE3D-40FBF3757522\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10157\/5\/5DC0FBFA-B601-4A2F-BE3D-40FBF3757522\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10157\/5\/5dc0fbfa-b601-4a2f-be3d-40fbf3757522\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10157\/5\/5DC0FBFA-B601-4A2F-BE3D-40FBF3757522\/downloads\/wwdc2024-10157_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10157\/5\/5DC0FBFA-B601-4A2F-BE3D-40FBF3757522\/downloads\/wwdc2024-10157_sd.mp4","duration":1089,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko"],"chapters":[{"start":0,"title":"Introduction","end":37},{"start":37,"title":"Learn about controls","end":184},{"start":184,"title":"Build a control","end":399},{"start":399,"title":"Update toggle states","end":745},{"start":745,"title":"Make controls configurable","end":880},{"start":880,"title":"Add refinements","end":1089}]},"related":{"activities":["wwdc2024-10204"],"resources":[3787,3786,3785,3784,3697,3681]}},"wwdc2024-10106":{"id":"wwdc2024-10106","staticContentId":9228,"eventContentId":10106,"eventId":"wwdc2024","contentUpdatedAt":"2025-07-02T17:11:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10106","languageCode":"eng","description":"Explore updates to Universal Scene Description and MaterialX support on Apple platforms. Discover how these technologies provide a foundation for 3D content creation and delivery, and learn how they can help streamline your workflows for creating great spatial experiences. Learn about USD and MaterialX support in RealityKit and Storm, advancements in our system-provided tooling, and more.","title":"What\u2019s new in USD and MaterialX","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"primaryTopicID":85,"topicIds":[88,91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A8B41955-2BE1-4128-A4DB-E1A48F09D461","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10106\/5\/6A686C28-DE5C-4ED5-A387-C03961DF852D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10106\/5\/6A686C28-DE5C-4ED5-A387-C03961DF852D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10106\/5\/6A686C28-DE5C-4ED5-A387-C03961DF852D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10106\/5\/6A686C28-DE5C-4ED5-A387-C03961DF852D\/downloads\/wwdc2024-10106_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10106\/5\/6A686C28-DE5C-4ED5-A387-C03961DF852D\/downloads\/wwdc2024-10106_sd.mp4","duration":564,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":43},{"start":43,"title":"Strong foundation ","end":151},{"start":151,"title":"USD and MaterialX in RealityKit","end":280},{"start":280,"title":"Creative tooling","end":564}]},"related":{"activities":["wwdc2024-10105","wwdc2024-10186","wwdc2024-10103"],"resources":[3694,3664,3599,3077]}},"wwdc2024-10115":{"id":"wwdc2024-10115","staticContentId":9242,"eventContentId":10115,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10115","languageCode":"eng","description":"Extend your media viewing experience using Reality Composer Pro components like Docking Region, Reverb, and Virtual Environment Probe. Find out how to further enhance immersion using Reflections, Tint Surroundings Effect, SharePlay, and the Immersive Environment Picker.","title":"Enhance the immersion of media viewing in custom environments","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["visionOS"],"keywords":["brightness","custom environments","diffuse","docking region component","group session","immersive environment picker","light spill","media playback","reality composer pro","realitykit","reflections","reverb","shareplay","specular","tint","virtual environment probe"],"primaryTopicID":84,"topicIds":[85,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BE45225C-F8DE-4EAD-9C54-37FAB539DF94","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10115\/4\/6A9F8C82-702C-4646-8039-A898373DFDAD\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10115\/4\/6A9F8C82-702C-4646-8039-A898373DFDAD\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10115\/4\/6A9F8C82-702C-4646-8039-A898373DFDAD\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10115\/4\/6A9F8C82-702C-4646-8039-A898373DFDAD\/downloads\/wwdc2024-10115_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10115\/4\/6A9F8C82-702C-4646-8039-A898373DFDAD\/downloads\/wwdc2024-10115_sd.mp4","duration":1046,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":108},{"start":108,"title":"Immersive playback","end":213},{"start":213,"title":"Custom Docking Region","end":476},{"start":476,"title":"Media reflections","end":614},{"start":614,"title":"Grounding the experience","end":874},{"start":874,"title":"Immersive environment picker","end":933},{"start":933,"title":"SharePlay","end":1046}]},"related":{"activities":["wwdc2024-10153","wwdc2024-10087","wwdc2024-111801"],"resources":[3828,3827,3682,3583]}},"wwdc2024-10124":{"id":"wwdc2024-10124","staticContentId":9252,"eventContentId":10124,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10124","languageCode":"eng","description":"Discover the latest advances in Mac app development. Get an overview of the new features in macOS Sequoia, and how to adopt them in your app. Explore new ways to integrate your existing code with SwiftUI. Learn about the improvements made to numerous AppKit controls, like toolbars, menus, text input, and more.","title":"What\u2019s new in AppKit","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["macOS"],"keywords":["breathe","genmoji","image playground","symbols"],"primaryTopicID":100,"topicIds":[83,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2E73F1EB-9B63-43D7-85AE-1647F20AD419","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10124\/6\/75BDBA0D-71A3-435A-8E9E-AE18B78981B0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10124\/6\/75BDBA0D-71A3-435A-8E9E-AE18B78981B0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10124\/6\/75BDBA0D-71A3-435A-8E9E-AE18B78981B0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10124\/6\/75BDBA0D-71A3-435A-8E9E-AE18B78981B0\/downloads\/wwdc2024-10124_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10124\/6\/75BDBA0D-71A3-435A-8E9E-AE18B78981B0\/downloads\/wwdc2024-10124_sd.mp4","duration":1196,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":49},{"start":49,"title":"New macOS features","end":52},{"start":52,"title":"Writing Tools, Genmoji, and Image Playground","end":211},{"start":211,"title":"Window Tiling","end":381},{"start":381,"title":"More SwiftUI integrations","end":401},{"start":401,"title":"Build menus with SwiftUI","end":459},{"start":459,"title":"Get animated with SwiftUI","end":500},{"start":500,"title":"API refinements","end":524},{"start":524,"title":"Context menu refinements","end":582},{"start":582,"title":"Text highlighting","end":660},{"start":660,"title":"SF Symbols","end":719},{"start":719,"title":"Save Panel refinements","end":784},{"start":784,"title":"Cursors refinements!","end":921},{"start":921,"title":"Toolbar refinements","end":1042},{"start":1042,"title":"Text entry suggestions","end":1196}]},"related":{"activities":["wwdc2024-10168","wwdc2024-10220","wwdc2024-10145","wwdc2024-10188","wwdc2023-10258"],"resources":[3736,3695]}},"wwdc2024-10204":{"id":"wwdc2024-10204","staticContentId":9334,"eventContentId":10204,"eventId":"wwdc2024","contentUpdatedAt":"2024-07-25T13:05:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10204","languageCode":"eng","description":"Find out how the LockedCameraCapture API can help you bring your capture application\u2019s most useful information directly to the Lock Screen. Examine the API\u2019s features and functionality, learn how to get started creating a capture extension, and find out how that extension behaves when the device is locked.","title":"Build a great Lock Screen camera capture experience","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["camera","lock screen","machine learning"],"primaryTopicID":95,"topicIds":[94,95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C3A5BD39-B4CF-42C2-8C82-48DD44329E22","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10204\/9\/FFB7B19C-9230-4A4E-B4CD-5E6EED8FBEF3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10204\/9\/FFB7B19C-9230-4A4E-B4CD-5E6EED8FBEF3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10204\/9\/FFB7B19C-9230-4A4E-B4CD-5E6EED8FBEF3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10204\/9\/FFB7B19C-9230-4A4E-B4CD-5E6EED8FBEF3\/downloads\/wwdc2024-10204_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10204\/9\/FFB7B19C-9230-4A4E-B4CD-5E6EED8FBEF3\/downloads\/wwdc2024-10204_sd.mp4","duration":1369,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","end":99},{"start":99,"title":"Great capture experiences","end":213},{"start":213,"title":"Lifecycle of a capture extension","end":289},{"start":289,"title":"Running on a locked device","end":648},{"start":648,"title":"Capturing from the Lock Screen","end":1111},{"start":1111,"title":"Working with captures in your app","end":1369}]},"related":{"activities":["wwdc2024-10157"],"resources":[3787,3784,3697,3691]}},"wwdc2024-10201":{"id":"wwdc2024-10201","staticContentId":9331,"eventContentId":10201,"eventId":"wwdc2024","contentUpdatedAt":"2025-06-25T11:00:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10201","languageCode":"eng","description":"Learn how to use custom spatial Persona templates in your visionOS SharePlay experience to fine-tune the placement of Personas relative to your app. We\u2019ll show you how to adopt custom spatial Persona templates in a sample app with SharePlay, move participants between seats, and test your changes in Simulator. We\u2019ll also share best practices for designing custom spatial templates that will make your experience shine.","title":"Customize spatial Persona templates in SharePlay","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":83,"topicIds":[84,85,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7FB917C5-2E2F-4693-BA74-091D3F64F3CB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10201\/5\/10E5E470-0946-416B-AEC8-E601A8CC6045\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10201\/5\/10E5E470-0946-416B-AEC8-E601A8CC6045\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10201\/5\/10E5E470-0946-416B-AEC8-E601A8CC6045\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10201\/5\/10E5E470-0946-416B-AEC8-E601A8CC6045\/downloads\/wwdc2024-10201_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10201\/5\/10E5E470-0946-416B-AEC8-E601A8CC6045\/downloads\/wwdc2024-10201_sd.mp4","duration":2186,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":61},{"start":61,"title":"SharePlay on visionOS","end":290},{"start":290,"title":"Build \"Guess Together\"","end":1421},{"start":1421,"title":"Play Guess Together","end":1513},{"start":1513,"title":"Design for Spatial Personas","end":2186}]},"related":{"activities":["wwdc2022-10139","wwdc2023-10087","wwdc2021-10187"],"resources":[3814,3681,1610]}},"wwdc2024-10086":{"id":"wwdc2024-10086","staticContentId":9197,"eventContentId":10086,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10086","languageCode":"eng","description":"Find out how to create compelling spatial computing apps by embracing immersion, designing for eyes and hands, and taking advantage of depth, scale, and space. We\u2019ll share several examples of great visionOS apps and explore how their designers approached creating new experiences for the platform.","title":"Design great visionOS apps","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":87,"topicIds":[91,85,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A207EE2A-D9E6-4FAB-A557-ABEAA68840AB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10086\/4\/6FE0562D-9F68-4D33-93C8-EC567EB5E873\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10086\/4\/6FE0562D-9F68-4D33-93C8-EC567EB5E873\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10086\/4\/6FE0562D-9F68-4D33-93C8-EC567EB5E873\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10086\/4\/6FE0562D-9F68-4D33-93C8-EC567EB5E873\/downloads\/wwdc2024-10086_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10086\/4\/6FE0562D-9F68-4D33-93C8-EC567EB5E873\/downloads\/wwdc2024-10086_sd.mp4","duration":1143,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":77},{"start":77,"title":"Intentional","end":343},{"start":343,"title":"Immersive","end":565},{"start":565,"title":"Comfortable","end":879},{"start":879,"title":"Delightful","end":1143}]},"related":{"activities":["wwdc2023-10072","wwdc2023-10073","wwdc2023-10076","wwdc2023-10271","wwdc2023-10034","articles-111627","articles-111628","articles-111629","articles-111612"],"resources":[3685,3602]}},"wwdc2024-10197":{"id":"wwdc2024-10197","staticContentId":9327,"eventContentId":10197,"eventId":"wwdc2024","contentUpdatedAt":"2024-06-11T17:26:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10197","languageCode":"eng","description":"Embedded Swift brings the safety and expressivity of Swift to constrained environments. Explore how Embedded Swift runs on a variety of microcontrollers through a demonstration using an off-the-shelf Matter device. Learn how the Embedded Swift subset packs the benefits of Swift into a tiny footprint with no runtime, and discover plenty of resources to start your own Embedded Swift adventure.","title":"Go small with Embedded Swift","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"33C628CF-0090-4B11-A338-FA6A1F7DBAF2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10197\/4\/61F8D9DD-2B91-4545-AA09-253E16642E98\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10197\/4\/61F8D9DD-2B91-4545-AA09-253E16642E98\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10197\/4\/61F8D9DD-2B91-4545-AA09-253E16642E98\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10197\/4\/61F8D9DD-2B91-4545-AA09-253E16642E98\/downloads\/wwdc2024-10197_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10197\/4\/61F8D9DD-2B91-4545-AA09-253E16642E98\/downloads\/wwdc2024-10197_sd.mp4","duration":1337,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","end":25},{"start":25,"title":"Agenda","end":46},{"start":46,"title":"Why Embedded Swift","end":150},{"start":150,"title":"Showcase","end":167},{"start":167,"title":"The plan","end":219},{"start":219,"title":"Getting started","end":379},{"start":379,"title":"Using Swift's interoperability to control the LED","end":432},{"start":432,"title":"Using an ergonomic LED struct ","end":607},{"start":607,"title":"Adding the Matter protocol","end":823},{"start":823,"title":"Using a Swift enum in the event handler","end":1012},{"start":1012,"title":"Demo summary","end":1054},{"start":1054,"title":"How Embedded Swift differs","end":1188},{"start":1188,"title":"Explore more","end":1292},{"start":1292,"title":"Wrap up","end":1337}]},"related":{"activities":["wwdc2021-10298"],"resources":[3862,3772,3771,3770,3769,3768,3767,3696]}},"wwdc2024-10123":{"id":"wwdc2024-10123","staticContentId":9251,"eventContentId":10123,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10123","languageCode":"eng","description":"At Apple, we believe privacy is a fundamental human right. Learn about new and improved permission flows and other features that manage data in a privacy-preserving way, so that you can focus on creating great app experiences.","title":"What\u2019s new in privacy","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"39DEAE04-CBAD-401A-973C-3916F2B9624A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10123\/4\/E2DC4225-17E5-4A2E-9F66-DE96A0D8C44B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10123\/4\/E2DC4225-17E5-4A2E-9F66-DE96A0D8C44B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10123\/4\/E2DC4225-17E5-4A2E-9F66-DE96A0D8C44B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10123\/4\/E2DC4225-17E5-4A2E-9F66-DE96A0D8C44B\/downloads\/wwdc2024-10123_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10123\/4\/E2DC4225-17E5-4A2E-9F66-DE96A0D8C44B\/downloads\/wwdc2024-10123_sd.mp4","duration":1426,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":12,"title":"Privacy is essential","end":38},{"start":38,"title":"Privacy pillars","end":114},{"start":114,"title":"New pickers","end":154},{"start":154,"title":"FinanceKit transaction picker","end":293},{"start":293,"title":"Image Playground picker","end":344},{"start":344,"title":"Accessory Setup Kit picker","end":490},{"start":490,"title":"Private Wi-Fi","end":617},{"start":617,"title":"macOS Extensions transparency and control","end":743},{"start":743,"title":"App group container protection","end":902},{"start":902,"title":"Permission changes","end":950},{"start":950,"title":"Contacts access permission","end":1042},{"start":1042,"title":"Bluetooth access permission","end":1189},{"start":1189,"title":"Locked and hidden apps","end":1246},{"start":1246,"title":"Automatic passkey upgrades","end":1309},{"start":1309,"title":"Private caller ID","end":1426}]},"related":{"activities":["wwdc2024-2023","wwdc2024-10203","wwdc2024-10121","wwdc2020-10110","wwdc2024-10125"],"resources":[3822,3692]}},"wwdc2024-10093":{"id":"wwdc2024-10093","staticContentId":9204,"eventContentId":10093,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10093","languageCode":"eng","description":"Discover how to transform your iOS or iPadOS game into a uniquely visionOS experience. Increase the immersion (and fun factor!) with a 3D frame or an immersive background. And invite players further into your world by adding depth to the window with stereoscopy or head tracking.","title":"Bring your iOS or iPadOS game to visionOS","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS","iPadOS","visionOS"],"keywords":["arkit","compositorservices","games","games on visionos","ios games","ipad games","metal","spatial computing"],"primaryTopicID":91,"topicIds":[85,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4ACE426C-4D4C-40EF-A7C8-2B7A40CE7AF6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10093\/4\/5B27E6E6-BA2A-4D7E-99D7-E3B10B2074D2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10093\/4\/5B27E6E6-BA2A-4D7E-99D7-E3B10B2074D2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10093\/4\/5B27E6E6-BA2A-4D7E-99D7-E3B10B2074D2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10093\/4\/5B27E6E6-BA2A-4D7E-99D7-E3B10B2074D2\/downloads\/wwdc2024-10093_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10093\/4\/5B27E6E6-BA2A-4D7E-99D7-E3B10B2074D2\/downloads\/wwdc2024-10093_sd.mp4","duration":1122,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":102},{"start":102,"title":"Render on visionOS","end":228},{"start":228,"title":"Compatible to native","end":401},{"start":401,"title":"Add a frame and a background","end":480},{"start":480,"title":"Enhance the rendering","end":1122}]},"related":{"activities":["wwdc2024-111793","wwdc2024-111794","wwdc2024-111783","wwdc2024-111782","wwdc2024-10094","wwdc2024-10092","wwdc2024-10104","wwdc2024-10103","wwdc2024-10166","wwdc2023-10080"],"resources":[3798,3687]}},"wwdc2024-10125":{"id":"wwdc2024-10125","staticContentId":9253,"eventContentId":10125,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10125","languageCode":"eng","description":"Learn how to automatically upgrade existing, password-based accounts to use passkeys. We\u2019ll share why and how to improve account security and ease of sign-in, information about new features available for credential manager apps, and how to make your app information shine in the new Passwords app.","title":"Streamline sign-in with passkey upgrades and credential managers","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["automatic passkey","automatic passkeys","passkey","passkeys","password","password app","passwords","verification codes"],"primaryTopicID":96,"topicIds":[83,101,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A7BA1119-F756-4145-8D4F-5A872F90A991","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10125\/4\/11A4C94C-65F3-4AE0-831C-EFE3BF97831C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10125\/4\/11A4C94C-65F3-4AE0-831C-EFE3BF97831C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10125\/4\/11A4C94C-65F3-4AE0-831C-EFE3BF97831C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10125\/4\/11A4C94C-65F3-4AE0-831C-EFE3BF97831C\/downloads\/wwdc2024-10125_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10125\/4\/11A4C94C-65F3-4AE0-831C-EFE3BF97831C\/downloads\/wwdc2024-10125_sd.mp4","duration":841,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":38},{"start":38,"title":"Automatic passkey\u2028 upgrades","end":157},{"start":157,"title":"The passkey journey","end":258},{"start":258,"title":"Automatic passkey upgrade sequence","end":466},{"start":466,"title":"Shipping and deploying passkey support","end":557},{"start":557,"title":"Improvements for\u2028 credential managers ","end":614},{"start":614,"title":"The new Passwords app!","end":690},{"start":690,"title":"Updating appearance in the Passwords app","end":751},{"start":751,"title":"One-tap verification code setup","end":841}]},"related":{"activities":["wwdc2022-10092","wwdc2023-10263","articles-111066","wwdc2021-10105"],"resources":[3857,3692,3035,2547,1703,1680,1631,426]}},"wwdc2024-10073":{"id":"wwdc2024-10073","staticContentId":9166,"eventContentId":10073,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10073","languageCode":"eng","description":"SwiftUI makes it easy to build amazing experiences that are accessible to everyone. We\u2019ll discover how assistive technologies understand and navigate your app through the rich accessibility elements provided by SwiftUI. We\u2019ll also discuss how you can further customize these experiences by providing more information about your app\u2019s content and interactions by using accessibility modifiers. ","title":"Catch up on accessibility in SwiftUI","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["accessibilityactions","accessibilityelements","accessibilitylabel"],"primaryTopicID":82,"topicIds":[100,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"52E9AD54-DB4B-4BB0-93D9-7625A2A46A74","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10073\/5\/769C76D4-F43B-4E18-A6DB-1E3F3A4A8648\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10073\/5\/769C76D4-F43B-4E18-A6DB-1E3F3A4A8648\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10073\/5\/769C76D4-F43B-4E18-A6DB-1E3F3A4A8648\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10073\/5\/769C76D4-F43B-4E18-A6DB-1E3F3A4A8648\/downloads\/wwdc2024-10073_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10073\/5\/769C76D4-F43B-4E18-A6DB-1E3F3A4A8648\/downloads\/wwdc2024-10073_sd.mp4","duration":1279,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":58},{"start":58,"title":"Fundamentals","end":541},{"start":541,"title":"View accessibility","end":988},{"start":988,"title":"Enhanced interactions","end":1279}]},"related":{"resources":[3680,3667,3666,3088]}},"wwdc2024-10185":{"id":"wwdc2024-10185","staticContentId":9315,"eventContentId":10185,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10185","languageCode":"eng","description":"Ensure your app works properly and effectively for multilingual users. Learn best practices for text input, display, search, and formatting. Get details on typing in multiple languages without switching between keyboards. And find out how the latest advances in the String Catalog can make localization even easier.","title":"Build multilingual-ready apps","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["\ud83c\udf0d","\ud83c\udf0e","\ud83c\udf0f","automatic grammar agreement","formatter","hindi","i10n","keyboard layout guide","l18n","nstextview","sf symbols","stringsdict","textkit","uitextview"],"primaryTopicID":100,"topicIds":[83,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5544D4EA-D95B-48E9-A3E9-E75504C4B4CC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10185\/4\/B7C5A64E-515C-41CE-A821-E441DE74E0A1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10185\/4\/B7C5A64E-515C-41CE-A821-E441DE74E0A1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10185\/4\/B7C5A64E-515C-41CE-A821-E441DE74E0A1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10185\/4\/B7C5A64E-515C-41CE-A821-E441DE74E0A1\/downloads\/wwdc2024-10185_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10185\/4\/B7C5A64E-515C-41CE-A821-E441DE74E0A1\/downloads\/wwdc2024-10185_sd.mp4","duration":1001,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":144},{"start":144,"title":"Input","end":488},{"start":488,"title":"Display","end":661},{"start":661,"title":"Localization","end":967},{"start":967,"title":"Wrap-up","end":1001}]},"related":{"activities":["wwdc2021-10259","wwdc2021-10061","wwdc2020-10160","wwdc2023-10153","wwdc2023-10155","wwdc2024-10188"],"resources":[3695,1353]}},"wwdc2024-10096":{"id":"wwdc2024-10096","staticContentId":9208,"eventContentId":10096,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10096","languageCode":"eng","description":"Learn how you can design a compelling interactive narrative experience for Apple Vision Pro from the designers of Encounter Dinosaurs. Discover how these types of experiences differ from existing apps, media, and games, and explore how to design narratives that bring audiences into new worlds. Find out how you can create stories that adapt to any space and size, provide multiple levels of interaction to make them accessible to all, and use animation, spatial audio, and custom gestures to further immerse people in your experience.","title":"Design interactive experiences for visionOS","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":87,"topicIds":[85,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B2E0763D-C5D2-4191-AC0B-F99D56BE781F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10096\/4\/493AE4D4-4D20-4746-BDD1-EC9EFC0DE948\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10096\/4\/493AE4D4-4D20-4746-BDD1-EC9EFC0DE948\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10096\/4\/493AE4D4-4D20-4746-BDD1-EC9EFC0DE948\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10096\/4\/493AE4D4-4D20-4746-BDD1-EC9EFC0DE948\/downloads\/wwdc2024-10096_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10096\/4\/493AE4D4-4D20-4746-BDD1-EC9EFC0DE948\/downloads\/wwdc2024-10096_sd.mp4","duration":1248,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":81},{"start":81,"title":"Setting","end":374},{"start":374,"title":"Interactions","end":890},{"start":890,"title":"Audience","end":1248}]},"related":{"activities":["wwdc2023-10072","wwdc2023-10271","wwdc2024-10086","wwdc2023-10034","wwdc2023-10075","wwdc2024-10201"],"resources":[3685,3602,3588]}},"wwdc2024-10094":{"id":"wwdc2024-10094","staticContentId":9205,"eventContentId":10094,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:39-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10094","languageCode":"eng","description":"Discover how to design and implement great input for your game in visionOS. Learn how system gestures let you provide frictionless ways for players to interact with your games. And explore best practices for supporting custom gestures and game controllers.\n","title":"Explore game input in visionOS","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["visionOS"],"keywords":["apple vision pro","avp","gestures","mixed reality","spatial","spatial design","virtual reality"],"primaryTopicID":91,"topicIds":[87,85,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"51863C09-0E96-4230-91A3-B85E950FBF3D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10094\/8\/0A68B37C-75FF-4E8E-BA54-BA0865E665A3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10094\/8\/0A68B37C-75FF-4E8E-BA54-BA0865E665A3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10094\/8\/0A68B37C-75FF-4E8E-BA54-BA0865E665A3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10094\/8\/0A68B37C-75FF-4E8E-BA54-BA0865E665A3\/downloads\/wwdc2024-10094_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10094\/8\/0A68B37C-75FF-4E8E-BA54-BA0865E665A3\/downloads\/wwdc2024-10094_sd.mp4","duration":982,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":56},{"start":56,"title":"Design around gestures","end":208},{"start":208,"title":"System gestures","end":374},{"start":374,"title":"Combination gestures","end":463},{"start":463,"title":"Custom gestures","end":684},{"start":684,"title":"Physical controllers","end":982}]},"related":{"activities":["wwdc2024-10093","wwdc2021-10081","wwdc2023-10203","wwdc2023-10113","wwdc2023-10088","wwdc2023-10093","wwdc2022-10065","wwdc2024-111939","wwdc2024-111940"],"resources":[3708,3687,3679,1542]}},"wwdc2024-10067":{"id":"wwdc2024-10067","staticContentId":9160,"eventContentId":10067,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:51-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10067","languageCode":"eng","description":"Harness the power of WeatherKit to get detailed weather forecast data such as precipitation amounts by type, cloud cover by altitude, or maximum wind speed. Find out how you can summarize weather by different parts of the day and highlight significant upcoming changes to temperature or precipitation. Understand how you can compare current weather to the past through our Historical Comparisons dataset and dive into historical weather statistics for any location in the world. We\u2019ll also explore how you can do all of this faster with our Swift and REST APIs.","title":"Bring context to today\u2019s weather","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"primaryTopicID":93,"topicIds":[93],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2077F241-C05C-4C1F-B137-E271CC687C30","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10067\/5\/24B0D3B9-2CAA-4132-B63B-EEA93B0837EF\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10067\/5\/24B0D3B9-2CAA-4132-B63B-EEA93B0837EF\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10067\/5\/24B0D3B9-2CAA-4132-B63B-EEA93B0837EF\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10067\/5\/24B0D3B9-2CAA-4132-B63B-EEA93B0837EF\/downloads\/wwdc2024-10067_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10067\/5\/24B0D3B9-2CAA-4132-B63B-EEA93B0837EF\/downloads\/wwdc2024-10067_sd.mp4","duration":967,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":70},{"start":70,"title":"Richer forecast details","end":603},{"start":603,"title":"Highlight weather changes","end":850},{"start":850,"title":"Faster data transfer","end":967}]},"related":{"activities":["wwdc2022-10003"],"resources":[3782,3745,3689,2357]}},"wwdc2024-10131":{"id":"wwdc2024-10131","staticContentId":9259,"eventContentId":10131,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10131","languageCode":"eng","description":"Learn how to provide semantic search results in your app using Core Spotlight. Understand how to make your app\u2019s content available in the user\u2019s private, on-device index so people can search for items using natural language. We\u2019ll also share how to optimize your app\u2019s performance by scheduling indexing activities.\n\nTo get the most out of this session, we recommend first checking out Core Spotlight documentation on the Apple Developer website.","title":"Support semantic search with Core Spotlight","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["\ud83d\udd0d","cssearchableindex","cssearchableitem","cssearchableitemattributeset","csuserquery"],"primaryTopicID":100,"topicIds":[94,83,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"50ADDE23-F013-4993-8B1D-09368B4BD5F4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10131\/5\/537550D3-98A7-4C5B-B4BC-CD55CDAD3547\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10131\/5\/537550D3-98A7-4C5B-B4BC-CD55CDAD3547\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10131\/5\/537550D3-98A7-4C5B-B4BC-CD55CDAD3547\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10131\/5\/537550D3-98A7-4C5B-B4BC-CD55CDAD3547\/downloads\/wwdc2024-10131_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10131\/5\/537550D3-98A7-4C5B-B4BC-CD55CDAD3547\/downloads\/wwdc2024-10131_sd.mp4","duration":655,"availableAudioLanguageCodes":["und"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":97},{"start":97,"title":"Searchable content","end":305},{"start":305,"title":"Demo: Creating an index delegate extension","end":416},{"start":416,"title":"Results and suggestions","end":558},{"start":558,"title":"Ranking","end":617},{"start":617,"title":"Wrap-up","end":655}]},"related":{"activities":["wwdc2024-10210","wwdc2021-10098"],"resources":[3695,2501]}},"wwdc2024-10121":{"id":"wwdc2024-10121","staticContentId":9249,"eventContentId":10121,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10121","languageCode":"eng","description":"Learn about the new Contacts authorization modes and how to improve Contacts access in your app. Discover how to integrate the Contact Access Button into your app to share additional contacts on demand and provide an easier path to Contacts authorization. We\u2019ll also cover Contacts security features and an alternative API to be used if the button isn\u2019t appropriate for your app.","title":"Meet the Contact Access Button","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6A7015FA-3E31-434B-8825-180976D1E0AD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10121\/4\/A4253FF7-546D-4248-9DFA-DACBFB567A90\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10121\/4\/A4253FF7-546D-4248-9DFA-DACBFB567A90\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10121\/4\/A4253FF7-546D-4248-9DFA-DACBFB567A90\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10121\/4\/A4253FF7-546D-4248-9DFA-DACBFB567A90\/downloads\/wwdc2024-10121_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10121\/4\/A4253FF7-546D-4248-9DFA-DACBFB567A90\/downloads\/wwdc2024-10121_sd.mp4","duration":943,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":36},{"start":36,"title":"Limited Access","end":176},{"start":176,"title":"Contact Access Button","end":508},{"start":508,"title":"Accessing contacts","end":814},{"start":814,"title":"Which access method to use","end":943}]},"related":{"resources":[3738,3681]}},"wwdc2024-10140":{"id":"wwdc2024-10140","staticContentId":9268,"eventContentId":10140,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:43-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10140","languageCode":"eng","description":"Every app has a personality that comes across in what you say \u2014 and how you say it. Learn how to define your app\u2019s voice and modulate your tone for every situation, from celebratory notifications to error messages. We\u2019ll help you get specific about your app\u2019s purpose and audience and practice writing in different tones.","title":"Add personality to your app through UX writing","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A8CB0EC9-D5F3-4DBA-A739-469B12809171","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10140\/4\/A5E944E8-26A4-4A88-98E9-50C631A5E102\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10140\/4\/A5E944E8-26A4-4A88-98E9-50C631A5E102\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10140\/4\/A5E944E8-26A4-4A88-98E9-50C631A5E102\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10140\/4\/A5E944E8-26A4-4A88-98E9-50C631A5E102\/downloads\/wwdc2024-10140_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10140\/4\/A5E944E8-26A4-4A88-98E9-50C631A5E102\/downloads\/wwdc2024-10140_sd.mp4","duration":1249,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":40},{"start":40,"title":"Personality, voice and tone","end":316},{"start":316,"title":"Voice exercises","end":858},{"start":858,"title":"Tone exercise","end":1249}]},"related":{"activities":["wwdc2022-10037","wwdc2024-111722"],"resources":[3718,3685]}},"wwdc2024-10113":{"id":"wwdc2024-10113","staticContentId":9240,"eventContentId":10113,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10113","languageCode":"eng","description":"Discover how you can monitor, analyze, and improve user experience with the new media performance APIs. Explore how to monitor AVPlayer performance for HLS assets using different AVMetricEvents, and learn how to use these metrics to understand and triage player performance issues.","title":"Discover media performance metrics in AVFoundation","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C20EFB5C-87BA-41F7-A23F-913E37EF49DB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10113\/4\/FADD3DD1-246C-483B-BA77-5D9BE374E39B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10113\/4\/FADD3DD1-246C-483B-BA77-5D9BE374E39B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10113\/4\/FADD3DD1-246C-483B-BA77-5D9BE374E39B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10113\/4\/FADD3DD1-246C-483B-BA77-5D9BE374E39B\/downloads\/wwdc2024-10113_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10113\/4\/FADD3DD1-246C-483B-BA77-5D9BE374E39B\/downloads\/wwdc2024-10113_sd.mp4","duration":520,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":93},{"start":93,"title":"What are events?","end":336},{"start":336,"title":"Subscribing to events","end":520}]},"related":{"resources":[3682]}},"wwdc2024-10172":{"id":"wwdc2024-10172","staticContentId":9302,"eventContentId":10172,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10172","languageCode":"eng","description":"Meet the RealityKit debugger and discover how this new tool lets you inspect the entity hierarchy of spatial apps, debug rogue transformations, find missing entities, and detect which parts of your code are causing problems for your systems.","title":"Break into the RealityKit debugger","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"primaryTopicID":88,"topicIds":[91,85,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5656358F-68FF-4845-A2F9-4622FCBEDFB0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10172\/4\/F5FD7DC0-A6BA-481C-B21E-AE269E0B8A1E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10172\/4\/F5FD7DC0-A6BA-481C-B21E-AE269E0B8A1E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10172\/4\/F5FD7DC0-A6BA-481C-B21E-AE269E0B8A1E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10172\/4\/F5FD7DC0-A6BA-481C-B21E-AE269E0B8A1E\/downloads\/wwdc2024-10172_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10172\/4\/F5FD7DC0-A6BA-481C-B21E-AE269E0B8A1E\/downloads\/wwdc2024-10172_sd.mp4","duration":1450,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":23},{"start":23,"title":"Agenda","end":53},{"start":53,"title":"Prepare for the Journey","end":101},{"start":101,"title":"Meet the RealityKit debugger","end":160},{"start":160,"title":"Transform the BOTanist","end":242},{"start":242,"title":"Traverse hierarchy issues","end":440},{"start":440,"title":"Address bad behaviors","end":652},{"start":652,"title":"Find what's missing","end":1124},{"start":1124,"title":"Embrace uniqueness","end":1354},{"start":1354,"title":"Wrap up","end":1450}]},"related":{"activities":["wwdc2024-10103"],"resources":[3686]}},"wwdc2024-10133":{"id":"wwdc2024-10133","staticContentId":9261,"eventContentId":10133,"eventId":"wwdc2024","contentUpdatedAt":"2026-06-08T13:30:45-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10133","languageCode":"eng","description":"Learn how to use SiriKit and App Intents to expose your app\u2019s functionality to Siri and Apple Intelligence. Discover which intents are already available for your use, and how to adopt App Intent domains to integrate actions from your app into the system. Find out what metadata to provide, how to make your entities searchable with Spotlight, how to integrate your app with in-app search, and much more.","title":"Bring your app to Siri","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"keywords":["ai","app intents","machine learning","siri","siri intents editor"],"primaryTopicID":94,"topicIds":[83,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E27A1FC7-0EE9-48AE-B8BB-7325C8083EA6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10133\/4\/8167BB3B-00DE-4F39-A88C-4A719DF29D02\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10133\/4\/8167BB3B-00DE-4F39-A88C-4A719DF29D02\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10133\/4\/8167BB3B-00DE-4F39-A88C-4A719DF29D02\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10133\/4\/8167BB3B-00DE-4F39-A88C-4A719DF29D02\/downloads\/wwdc2024-10133_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10133\/4\/8167BB3B-00DE-4F39-A88C-4A719DF29D02\/downloads\/wwdc2024-10133_sd.mp4","duration":1309,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":104},{"start":104,"title":"What's new with Siri","end":514},{"start":514,"title":"Actions","end":938},{"start":938,"title":"Personal context","end":1309}]},"related":{"resources":[3843,3841,3840,3839,3690]}},"wwdc2024-10188":{"id":"wwdc2024-10188","staticContentId":9318,"eventContentId":10188,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10188","languageCode":"eng","description":"Explore the latest updates to SF Symbols, Apple\u2019s library of iconography designed to integrate seamlessly with San Francisco, the system font for all Apple platforms. Learn how the new Wiggle, Rotate, and Breathe animation presets can bring vitality to your interface. To get the most out of this session, we recommend first watching \u201cWhat\u2019s new in SF Symbols 5\u201d from WWDC23.","title":"What\u2019s new in SF Symbols 6","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["\ud83c\uddf5\ud83c\uddea\ud83c\udf3f"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"959A6AEB-1FD2-4327-A3E0-7172BB4D7EF6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10188\/4\/9CA82C68-1A72-425B-93F6-9CE006A119E4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10188\/4\/9CA82C68-1A72-425B-93F6-9CE006A119E4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10188\/4\/9CA82C68-1A72-425B-93F6-9CE006A119E4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10188\/4\/9CA82C68-1A72-425B-93F6-9CE006A119E4\/downloads\/wwdc2024-10188_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10188\/4\/9CA82C68-1A72-425B-93F6-9CE006A119E4\/downloads\/wwdc2024-10188_sd.mp4","duration":1039,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":81},{"start":81,"title":"Animation presets","end":609},{"start":609,"title":"SF Symbols app","end":943},{"start":943,"title":"New symbols","end":1039}]},"related":{"activities":["wwdc2023-10257","wwdc2023-10197"],"resources":[3685]}},"wwdc2024-10170":{"id":"wwdc2024-10170","staticContentId":9300,"eventContentId":10170,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10170","languageCode":"eng","description":"Get started with noncopyable types in Swift. Discover what copying means in Swift, when you might want to use a noncopyable type, and how value ownership lets you state your intentions clearly.","title":"Consume noncopyable types in Swift","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1BC2242A-FED3-4A37-A33F-23DD442559B3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10170\/4\/993789F1-AF44-4E20-8C66-BF59DAC6C1F6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10170\/4\/993789F1-AF44-4E20-8C66-BF59DAC6C1F6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10170\/4\/993789F1-AF44-4E20-8C66-BF59DAC6C1F6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10170\/4\/993789F1-AF44-4E20-8C66-BF59DAC6C1F6\/downloads\/wwdc2024-10170_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10170\/4\/993789F1-AF44-4E20-8C66-BF59DAC6C1F6\/downloads\/wwdc2024-10170_sd.mp4","duration":1341,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":30},{"start":30,"title":"Agenda","end":50},{"start":50,"title":"Copying","end":425},{"start":425,"title":"Noncopyable Types","end":710},{"start":710,"title":"Generics","end":1152},{"start":1152,"title":"Extensions","end":1284},{"start":1284,"title":"Wrap up","end":1341}]},"related":{"activities":["wwdc2019-415"],"resources":[3863,3854,3853,3852,3696]}},"wwdc2024-10153":{"id":"wwdc2024-10153","staticContentId":9281,"eventContentId":10153,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10153","languageCode":"eng","description":"Discover powerful new ways to customize volumes and immersive spaces in visionOS. Learn to fine-tune how volumes resize and respond to people moving around them. Make volumes and immersive spaces interact through the power of coordinate conversions. Find out how to make your app react when people adjust immersion with the Digital Crown, and use a surrounding effect to dynamically customize the passthrough tint in your immersive space experience.","title":"Dive deep into volumes and immersive spaces","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":100,"topicIds":[85,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BD36BE26-DA8C-48D1-B02B-89895BE244C1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10153\/4\/0A359A0C-A9DB-4D61-872E-FCEA96763C78\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10153\/4\/0A359A0C-A9DB-4D61-872E-FCEA96763C78\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10153\/4\/0A359A0C-A9DB-4D61-872E-FCEA96763C78\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10153\/4\/0A359A0C-A9DB-4D61-872E-FCEA96763C78\/downloads\/wwdc2024-10153_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10153\/4\/0A359A0C-A9DB-4D61-872E-FCEA96763C78\/downloads\/wwdc2024-10153_sd.mp4","duration":1937,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":124},{"start":124,"title":"Volumes","end":126},{"start":126,"title":"Volumes: Baseplate","end":248},{"start":248,"title":"Volumes: Size","end":419},{"start":419,"title":"Volumes: Toolbars","end":528},{"start":528,"title":"Volumes: Ornaments","end":696},{"start":696,"title":"Volumes: Viewpoints","end":934},{"start":934,"title":"Volumes: World alignment","end":1012},{"start":1012,"title":"Volumes: Dynamic scale","end":1106},{"start":1106,"title":"Intermezzo","end":1122},{"start":1122,"title":"Immersive spaces","end":1178},{"start":1178,"title":"Immersive spaces: Coordinate conversions","end":1360},{"start":1360,"title":"Immersive spaces: Immersion styles","end":1568},{"start":1568,"title":"Immersive spaces: Anchored UI interactions","end":1743},{"start":1743,"title":"Immersive spaces: Surroundings effects","end":1881},{"start":1881,"title":"Next steps","end":1937}]},"related":{"activities":["wwdc2024-111893","wwdc2024-111895","wwdc2024-111894","wwdc2024-111793","wwdc2024-111794","wwdc2024-10104","wwdc2023-10203"],"resources":[3821,3695]}},"wwdc2024-10065":{"id":"wwdc2024-10065","staticContentId":9158,"eventContentId":10065,"eventId":"wwdc2024","contentUpdatedAt":"2026-06-04T15:42:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10065","languageCode":"eng","description":"Discover how to make the most of visionOS capabilities on the web. Explore recent updates like improvements to selection highlighting, and the ability to present spatial photos and panorama images in fullscreen. Learn to take advantage of existing web standards for dictation and text-to-speech with WebSpeech, spatial soundscapes with WebAudio, and immersive experiences with WebXR.","title":"Optimize for the spatial web","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":98,"topicIds":[85,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0156FCD2-D502-47F4-AB4C-E7A3F42A1080","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10065\/7\/3AFDD2F6-B764-49D8-AEAB-D5319918AD90\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10065\/7\/3AFDD2F6-B764-49D8-AEAB-D5319918AD90\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10065\/7\/3AFDD2F6-B764-49D8-AEAB-D5319918AD90\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10065\/7\/3AFDD2F6-B764-49D8-AEAB-D5319918AD90\/downloads\/wwdc2024-10065_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10065\/7\/3AFDD2F6-B764-49D8-AEAB-D5319918AD90\/downloads\/wwdc2024-10065_sd.mp4","duration":1209,"availableAudioLanguageCodes":["und"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":104},{"start":104,"title":"Interaction","end":514},{"start":514,"title":"Media content","end":1033},{"start":1033,"title":"Inspect and debug","end":1209}]},"related":{"activities":["wwdc2024-10066","wwdc2024-10166"],"resources":[3761,3760,3693,3601,3598,2365,773,772,771]}},"wwdc2024-10205":{"id":"wwdc2024-10205","staticContentId":9335,"eventContentId":10205,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10205","languageCode":"eng","description":"Explore new opportunities on Apple Watch, including bringing Double Tap support to your watchOS app, making your Smart Stack widgets even more relevant and interactive, and displaying your iOS Live Activities in the Smart Stack.","title":"What\u2019s new in watchOS 11","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","watchOS"],"primaryTopicID":100,"topicIds":[83,92,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"63F33261-7F8F-442D-B39F-3E5812832DE9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10205\/4\/01F99B0C-DA17-41F9-854B-7C36FA9FD965\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10205\/4\/01F99B0C-DA17-41F9-854B-7C36FA9FD965\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10205\/4\/01F99B0C-DA17-41F9-854B-7C36FA9FD965\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10205\/4\/01F99B0C-DA17-41F9-854B-7C36FA9FD965\/downloads\/wwdc2024-10205_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10205\/4\/01F99B0C-DA17-41F9-854B-7C36FA9FD965\/downloads\/wwdc2024-10205_sd.mp4","duration":856,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Intro","end":60},{"start":60,"title":"Live Activities","end":149},{"start":149,"title":"Widgets","end":633},{"start":633,"title":"Double tap","end":749},{"start":749,"title":"Health and fitness","end":856}]},"related":{"activities":["wwdc2024-10068","wwdc2024-10098","wwdc2024-10144","wwdc2024-10084"],"resources":[3788,3695,3104,924,815]}},"wwdc2024-10092":{"id":"wwdc2024-10092","staticContentId":9203,"eventContentId":10092,"eventId":"wwdc2024","contentUpdatedAt":"2025-09-09T13:11:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10092","languageCode":"eng","description":"Get ready to extend your Metal experiences for visionOS. Learn best practices for integrating your rendered content with people\u2019s physical environments with passthrough. Find out how to position rendered content to match the physical world, reduce latency with trackable anchor prediction, and more.","title":"Render Metal with passthrough in visionOS","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["visionOS"],"keywords":["compositorservices","metal","mixed immersion","mixed reality","visionos"],"primaryTopicID":91,"topicIds":[85,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1608D292-7B73-4BF2-BF1E-9FE849C18BE2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10092\/4\/B9AC5FF0-C58C-4608-AC8D-7AD3A82ABD42\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10092\/4\/B9AC5FF0-C58C-4608-AC8D-7AD3A82ABD42\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10092\/4\/B9AC5FF0-C58C-4608-AC8D-7AD3A82ABD42\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10092\/4\/B9AC5FF0-C58C-4608-AC8D-7AD3A82ABD42\/downloads\/wwdc2024-10092_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10092\/4\/B9AC5FF0-C58C-4608-AC8D-7AD3A82ABD42\/downloads\/wwdc2024-10092_sd.mp4","duration":1194,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":109},{"start":109,"title":"Mix rendered content with surroundings","end":560},{"start":560,"title":"Position render content","end":889},{"start":889,"title":"Trackable anchor prediction","end":1162},{"start":1162,"title":"Wrap-up","end":1194}]},"related":{"activities":["wwdc2024-111939","wwdc2024-111940","wwdc2024-111783","wwdc2024-111782","wwdc2023-10089","wwdc2023-10111","wwdc2023-10082","wwdc2024-10100","wwdc2023-10100"],"resources":[3867,3775,3774,3741,3687,3130,3112]}},"wwdc2024-10150":{"id":"wwdc2024-10150","staticContentId":9278,"eventContentId":10150,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10150","languageCode":"eng","description":"Join us on a tour of SwiftUI, Apple\u2019s declarative user interface framework. Learn essential concepts for building apps in SwiftUI, like views, state variables, and layout. Discover the breadth of APIs for building fully featured experiences and crafting unique custom components. Whether you\u2019re brand new to SwiftUI or an experienced developer, you\u2019ll learn how to take advantage of what SwiftUI has to offer when building great apps.","title":"SwiftUI essentials","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"630B51EB-78A6-45FB-860C-F823AE3B3DA7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10150\/4\/43B9EF68-FA39-44B2-9CCD-82D0EB4CA44D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10150\/4\/43B9EF68-FA39-44B2-9CCD-82D0EB4CA44D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10150\/4\/43B9EF68-FA39-44B2-9CCD-82D0EB4CA44D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10150\/4\/43B9EF68-FA39-44B2-9CCD-82D0EB4CA44D\/downloads\/wwdc2024-10150_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10150\/4\/43B9EF68-FA39-44B2-9CCD-82D0EB4CA44D\/downloads\/wwdc2024-10150_sd.mp4","duration":1456,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":94},{"start":94,"title":"Fundamentals of views","end":786},{"start":786,"title":"Bulit-in capability","end":1056},{"start":1056,"title":"Across all platforms","end":1230},{"start":1230,"title":"SDK interoperability","end":1456}]},"related":{"activities":["wwdc2024-111891","wwdc2024-111890","wwdc2024-111892","wwdc2024-10181","wwdc2020-10119"],"resources":[3732,3695,2506,571]}},"wwdc2024-10105":{"id":"wwdc2024-10105","staticContentId":9227,"eventContentId":10105,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:47:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10105","languageCode":"eng","description":"Explore how Quick Look in visionOS can elevate file preview and editing experiences in your app. We\u2019ll cover the integration of in-app and windowed Quick Look, as well as a brand-new API that customizes the windowed Quick Look experience in your app. We\u2019ll also share the latest enhancements to viewing 3D models within Quick Look.","title":"What\u2019s new in Quick Look for visionOS","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["visionOS"],"keywords":["quick look","reality","reality composer pro","spatial computing","spatial tracking","usdz"],"primaryTopicID":85,"topicIds":[91,98,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F597EF52-F79B-4E8A-936D-43EEC0FBC5AD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10105\/5\/9DD1E3E1-8BCD-498A-9045-F2251FFDF077\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10105\/5\/9DD1E3E1-8BCD-498A-9045-F2251FFDF077\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10105\/5\/9DD1E3E1-8BCD-498A-9045-F2251FFDF077\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10105\/5\/9DD1E3E1-8BCD-498A-9045-F2251FFDF077\/downloads\/wwdc2024-10105_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10105\/5\/9DD1E3E1-8BCD-498A-9045-F2251FFDF077\/downloads\/wwdc2024-10105_sd.mp4","duration":864,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":140},{"start":140,"title":"PreviewApplication API","end":555},{"start":555,"title":"3D preview enhancements ","end":864}]},"related":{"activities":["wwdc2024-10186","wwdc2024-10166"],"resources":[3694]}},"wwdc2024-10104":{"id":"wwdc2024-10104","staticContentId":9226,"eventContentId":10104,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10104","languageCode":"eng","description":"Harness the power of RealityKit through the process of building a spatial drawing app. As you create an eye-catching spatial experience that integrates RealityKit with ARKit and SwiftUI, you\u2019ll explore how resources work in RealityKit and how to use features like low-level mesh and texture APIs to achieve fast updates of the users\u2019 brush strokes.","title":"Build a spatial drawing app with RealityKit","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["macOS","visionOS"],"keywords":["3d text","anchor entity","anti aliasing","audio","blend modes","cross platform","gpu","hand tracking","ios","low level mesh","low level texture","macos","mesh extrusion","metal","reality composer pro","realitykit","rendering","spatial tracking","visionos"],"primaryTopicID":85,"topicIds":[88,91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4C47AC00-7463-408B-B32B-0684D4CB17F5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10104\/3\/818182EE-A12C-4B8F-A02B-93B2C730BFF0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10104\/3\/818182EE-A12C-4B8F-A02B-93B2C730BFF0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10104\/3\/818182EE-A12C-4B8F-A02B-93B2C730BFF0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10104\/3\/818182EE-A12C-4B8F-A02B-93B2C730BFF0\/downloads\/wwdc2024-10104_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10104\/3\/818182EE-A12C-4B8F-A02B-93B2C730BFF0\/downloads\/wwdc2024-10104_sd.mp4","duration":1945,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":163},{"start":163,"title":"Set up spatial tracking ","end":342},{"start":342,"title":"Build a spatial \u2028user interface ","end":837},{"start":837,"title":"Generate brush geometry ","end":1571},{"start":1571,"title":"Create a splash screen","end":1945}]},"related":{"activities":["wwdc2023-10095","wwdc2024-10102","wwdc2024-111801","wwdc2024-10103","wwdc2024-10152"],"resources":[3856,3831,3694]}},"wwdc2024-10179":{"id":"wwdc2024-10179","staticContentId":9309,"eventContentId":10179,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10179","languageCode":"eng","description":"Introducing Swift Testing: a new package for testing your code using Swift. Explore the building blocks of its powerful new API, discover how it can be applied in common testing workflows, and learn how it relates to XCTest and open source Swift.","title":"Meet Swift Testing","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[90,99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E94A25C1-8734-483C-A4C1-862533C307AC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10179\/4\/E0A34162-D87D-4510-A438-67CBEABAB16B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10179\/4\/E0A34162-D87D-4510-A438-67CBEABAB16B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10179\/4\/E0A34162-D87D-4510-A438-67CBEABAB16B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10179\/4\/E0A34162-D87D-4510-A438-67CBEABAB16B\/downloads\/wwdc2024-10179_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10179\/4\/E0A34162-D87D-4510-A438-67CBEABAB16B\/downloads\/wwdc2024-10179_sd.mp4","duration":1438,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":59},{"start":59,"title":"Agenda","end":80},{"start":80,"title":"Building blocks","end":118},{"start":118,"title":"Building blocks: @Test functions","end":187},{"start":187,"title":"Building blocks: Expectations (#expect and #require)","end":362},{"start":362,"title":"Building blocks: Traits","end":409},{"start":409,"title":"Building blocks: @Suite types","end":514},{"start":514,"title":"Building blocks: Designed for Swift","end":554},{"start":554,"title":"Common workflows","end":569},{"start":569,"title":"Common workflows: Tests with conditions","end":656},{"start":656,"title":"Common workflows: Tests with common characteristics","end":793},{"start":793,"title":"Common workflows: Tests with different arguments","end":1055},{"start":1055,"title":"Swift Testing and XCTest","end":1312},{"start":1312,"title":"Open source","end":1409},{"start":1409,"title":"Wrap up","end":1438}]},"related":{"activities":["wwdc2024-10195"],"resources":[3758,3757,3751,3750,3749,3686,3121]}},"wwdc2024-10112":{"id":"wwdc2024-10112","staticContentId":9239,"eventContentId":10112,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10112","languageCode":"eng","description":"Explore the design system at the heart of the next generation of CarPlay that allows each automaker to express their vehicle\u2019s character and brand. Learn how gauges, layouts, dynamic content, and more are deeply customizable and adaptable, allowing you to express your own design philosophy and create an iconic, tailored look. This session is intended for automakers, system developers, and anyone designing a system that supports the next generation of CarPlay.","title":"Say hello to the next generation of CarPlay design system","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS"],"keywords":["\ud83d\ude97","\ud83d\ude99","car","instrument cluster"],"primaryTopicID":87,"topicIds":[101,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"ED48D93A-0576-4385-AF96-46F955D38E9B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10112\/5\/AD039C5C-EB45-47FB-887E-3DCDABC70719\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10112\/5\/AD039C5C-EB45-47FB-887E-3DCDABC70719\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10112\/5\/AD039C5C-EB45-47FB-887E-3DCDABC70719\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10112\/5\/AD039C5C-EB45-47FB-887E-3DCDABC70719\/downloads\/wwdc2024-10112_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10112\/5\/AD039C5C-EB45-47FB-887E-3DCDABC70719\/downloads\/wwdc2024-10112_sd.mp4","duration":1165,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":95},{"start":95,"title":"Overview","end":211},{"start":211,"title":"Gauge customization","end":664},{"start":664,"title":"Building a layout","end":878},{"start":878,"title":"Dynamic content","end":1054},{"start":1054,"title":"Bringing it all together","end":1128},{"start":1128,"title":"Wrap-up","end":1165}]},"related":{"activities":["wwdc2024-10111"],"resources":[3685,1595,509]}},"wwdc2024-10097":{"id":"wwdc2024-10097","staticContentId":9212,"eventContentId":10097,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10097","languageCode":"eng","description":"Discover powerful new ways to integrate maps into your apps and websites with MapKit and MapKit JS.  Learn how to save and reference unique places using Place ID. Check out improvements to search that make it more efficient to find relevant places.  Get introduced to the new Place Card API that lets you display rich information about places so customers can explore destinations right in your app. And, we\u2019ll show you quick ways to embed maps in your website with our simplified token provisioning and Web Embed API.","title":"Unlock the power of places with MapKit","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":93,"topicIds":[83,98,93],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"04977BF3-7B89-4A9E-AE42-79BD268F4684","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10097\/4\/D991C391-4CC9-4A32-A10F-9D4DC6D7B615\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10097\/4\/D991C391-4CC9-4A32-A10F-9D4DC6D7B615\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10097\/4\/D991C391-4CC9-4A32-A10F-9D4DC6D7B615\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10097\/4\/D991C391-4CC9-4A32-A10F-9D4DC6D7B615\/downloads\/wwdc2024-10097_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10097\/4\/D991C391-4CC9-4A32-A10F-9D4DC6D7B615\/downloads\/wwdc2024-10097_sd.mp4","duration":999,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction ","end":54},{"start":54,"title":"Reference a place","end":372},{"start":372,"title":"Display place details","end":725},{"start":725,"title":"Find a place","end":999}]},"related":{"activities":["wwdc2023-10043"],"resources":[3793,3792,3791,3689,2360]}},"wwdc2024-10168":{"id":"wwdc2024-10168","staticContentId":9298,"eventContentId":10168,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10168","languageCode":"eng","description":"Learn how Writing Tools help users proofread, rewrite, and transform text in your app. Get the details on how Writing Tools interact with your app so users can refine what they have written in any text view. Understand how text is retrieved and processed, and how to support Writing Tools in custom text views.","title":"Get started with Writing Tools","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["nsservices","nstextview","textkit","uitextview","wkwebview"],"primaryTopicID":100,"topicIds":[94,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E51018B0-27E1-49A5-B34E-E2CA9A7B7E8D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10168\/4\/D8EBB581-CA62-4601-A3DF-BCF4C7805EBE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10168\/4\/D8EBB581-CA62-4601-A3DF-BCF4C7805EBE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10168\/4\/D8EBB581-CA62-4601-A3DF-BCF4C7805EBE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10168\/4\/D8EBB581-CA62-4601-A3DF-BCF4C7805EBE\/downloads\/wwdc2024-10168_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10168\/4\/D8EBB581-CA62-4601-A3DF-BCF4C7805EBE\/downloads\/wwdc2024-10168_sd.mp4","duration":744,"availableAudioLanguageCodes":["und"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":222},{"start":222,"title":"Native text views","end":423},{"start":423,"title":"Controlling behavior","end":503},{"start":503,"title":"Protecting ranges","end":543},{"start":543,"title":"Custom text views","end":704},{"start":704,"title":"Next steps","end":744}]},"related":{"activities":["wwdc2022-10090","wwdc2021-10061","wwdc2019-224","wwdc2023-10058","wwdc2021-10054"],"resources":[3695,170,98,3]}},"wwdc2024-10162":{"id":"wwdc2024-10162","staticContentId":9290,"eventContentId":10162,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:52-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10162","languageCode":"eng","description":"Meet the Constant Color API and find out how it can help people use your app to determine precise colors. You\u2019ll learn how to adopt the API, explore its scientific and marketing potential, and discover best practices for making the most of the technology.","title":"Keep colors consistent across captures","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["camera","color","colorspace","machine learning","photos"],"primaryTopicID":95,"topicIds":[94,95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DC696AA5-40BC-4137-9D23-41F57D33C710","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10162\/4\/8F68B3B4-3EF6-4291-8940-FC4AD3151DAC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10162\/4\/8F68B3B4-3EF6-4291-8940-FC4AD3151DAC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10162\/4\/8F68B3B4-3EF6-4291-8940-FC4AD3151DAC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10162\/4\/8F68B3B4-3EF6-4291-8940-FC4AD3151DAC\/downloads\/wwdc2024-10162_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10162\/4\/8F68B3B4-3EF6-4291-8940-FC4AD3151DAC\/downloads\/wwdc2024-10162_sd.mp4","duration":1428,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":123},{"start":123,"title":"What is color constancy?","end":462},{"start":462,"title":"How Constant Color works","end":570},{"start":570,"title":"Code examples and demos","end":1239},{"start":1239,"title":"Validation","end":1428}]},"related":{"activities":["wwdc2021-10146","wwdc2022-110565","wwdc2023-10106","wwdc2023-10256"],"resources":[3756,3691]}},"wwdc2024-10060":{"id":"wwdc2024-10060","staticContentId":9153,"eventContentId":10060,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10060","languageCode":"eng","description":"Introducing AdAttributionKit, a new iOS framework for privacy-preserving ad attribution. Learn how AdAttributionKit supports re-engagement, click-through attribution (including support for custom creative), JWS formatted impressions and postbacks, and more. We\u2019ll provide insight into testing your AdAttributionKit implementation and deep-dive into code snippets and best practices for adopting AdAttributionKit.","title":"Meet AdAttributionKit","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[86,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F146CF97-EFB2-4943-807E-C26775A61CFF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10060\/4\/54AEFA4B-C060-44FA-80EB-4D03E8B8A2B0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10060\/4\/54AEFA4B-C060-44FA-80EB-4D03E8B8A2B0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10060\/4\/54AEFA4B-C060-44FA-80EB-4D03E8B8A2B0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10060\/4\/54AEFA4B-C060-44FA-80EB-4D03E8B8A2B0\/downloads\/wwdc2024-10060_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10060\/4\/54AEFA4B-C060-44FA-80EB-4D03E8B8A2B0\/downloads\/wwdc2024-10060_sd.mp4","duration":1421,"availableAudioLanguageCodes":["und"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":125},{"start":125,"title":"Fetching ads","end":235},{"start":235,"title":"Displaying ads","end":498},{"start":498,"title":"Postbacks","end":988},{"start":988,"title":"Re-engagement","end":1269},{"start":1269,"title":"Testing AdAttributionKit","end":1421}]},"related":{"activities":["wwdc2022-10038","wwdc2025-221"],"resources":[3752,3681,2382]}},"wwdc2024-10177":{"id":"wwdc2024-10177","staticContentId":9307,"eventContentId":10177,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:43-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10177","languageCode":"eng","description":"Discover how to read and write HDR images and process HDR content in your app. Explore the new supported HDR image formats and advanced methods for displaying HDR images. Find out how HDR content can coexist with your user interface \u2014 and what to watch out for when adding HDR image support to your app.","title":"Use HDR for dynamic image experiences in your app","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["adaptive","camera","hdr","photokit","photos"],"primaryTopicID":95,"topicIds":[94,84,95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"382AEB45-180A-4E49-94F8-3FEA6D6B4E10","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10177\/4\/5F09C774-7C5B-4605-98F5-8C70C4A56CF0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10177\/4\/5F09C774-7C5B-4605-98F5-8C70C4A56CF0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10177\/4\/5F09C774-7C5B-4605-98F5-8C70C4A56CF0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10177\/4\/5F09C774-7C5B-4605-98F5-8C70C4A56CF0\/downloads\/wwdc2024-10177_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10177\/4\/5F09C774-7C5B-4605-98F5-8C70C4A56CF0\/downloads\/wwdc2024-10177_sd.mp4","duration":2069,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":70},{"start":70,"title":"HDR concepts and technologies","end":578},{"start":578,"title":"Adaptive HDR","end":1104},{"start":1104,"title":"Read HDR images","end":1251},{"start":1251,"title":"Edit strategies","end":1608},{"start":1608,"title":"Display tone mapping","end":1897},{"start":1897,"title":"Saving images","end":2069}]},"related":{"activities":["wwdc2022-10114","wwdc2023-10181"],"resources":[3691]}},"wwdc2024-10100":{"id":"wwdc2024-10100","staticContentId":9222,"eventContentId":10100,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10100","languageCode":"eng","description":"Learn how to create captivating immersive experiences with ARKit\u2019s latest features. Explore ways to use room tracking and object tracking to further engage with your surroundings. We\u2019ll also share how your app can react to changes in your environment\u2019s lighting on this platform. Discover improvements in hand tracking and plane detection which can make your spatial experiences more intuitive.","title":"Create enhanced spatial computing experiences with ARKit","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["visionOS"],"keywords":["arkit","immersive apps","spatial computing"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"94CDD423-4D0A-4250-BE6F-97B811881758","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10100\/4\/3F3285E6-7223-427A-A3AE-169CFB35EB37\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10100\/4\/3F3285E6-7223-427A-A3AE-169CFB35EB37\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10100\/4\/3F3285E6-7223-427A-A3AE-169CFB35EB37\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10100\/4\/3F3285E6-7223-427A-A3AE-169CFB35EB37\/downloads\/wwdc2024-10100_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10100\/4\/3F3285E6-7223-427A-A3AE-169CFB35EB37\/downloads\/wwdc2024-10100_sd.mp4","duration":909,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":150},{"start":150,"title":"Room tracking","end":346},{"start":346,"title":"Plane detection","end":406},{"start":406,"title":"Object tracking","end":574},{"start":574,"title":"World tracking","end":698},{"start":698,"title":"Hand tracking","end":909}]},"related":{"activities":["wwdc2024-10092","wwdc2024-10104","wwdc2024-10101","wwdc2023-10082"],"resources":[3835,3694]}},"wwdc2024-10107":{"id":"wwdc2024-10107","staticContentId":9229,"eventContentId":10107,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10107","languageCode":"eng","description":"Discover how area mode for Object Capture enables new 3D capture possibilities on iOS by extending the functionality of Object Capture to support capture and reconstruction of an area. Learn how to optimize the quality of iOS captures using the new macOS sample app for reconstruction, and find out how to view the final results with Quick Look on Apple Vision Pro, iPhone, iPad or Mac. Learn about improvements to 3D reconstruction, including a new API that allows you to create your own custom image processing pipelines.","title":"Discover area mode for Object Capture","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","macOS"],"primaryTopicID":85,"topicIds":[88,91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"43B8F960-41A6-4153-9025-6160708A8B80","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10107\/4\/94F3C53B-10C1-4E39-8B9F-33A5BA561420\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10107\/4\/94F3C53B-10C1-4E39-8B9F-33A5BA561420\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10107\/4\/94F3C53B-10C1-4E39-8B9F-33A5BA561420\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10107\/4\/94F3C53B-10C1-4E39-8B9F-33A5BA561420\/downloads\/wwdc2024-10107_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10107\/4\/94F3C53B-10C1-4E39-8B9F-33A5BA561420\/downloads\/wwdc2024-10107_sd.mp4","duration":691,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":161},{"start":161,"title":"iOS API ","end":264},{"start":264,"title":"macOS sample","end":383},{"start":383,"title":"Data Loading API ","end":691}]},"related":{"activities":["wwdc2024-10186","wwdc2023-10191"],"resources":[3783,3694,3549]}},"wwdc2024-10122":{"id":"wwdc2024-10122","staticContentId":9250,"eventContentId":10122,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:39-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10122","languageCode":"eng","description":"Discover the new observability features in CloudKit Console. Learn how to use Telemetry and Logging to troubleshoot and optimize your app. Find out how to set up alerts to monitor your application\u2019s behavior and notifications to stay on top of the container events that are most important to you.\n\nTo get the most out of this session, we recommend being familiar with CloudKit containers.","title":"Use CloudKit Console to monitor and optimize database activity","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1C461750-2833-4FE8-A5DA-49045C9112BE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10122\/4\/2EABAF45-AE74-4287-A9D1-CF9F23D51E90\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10122\/4\/2EABAF45-AE74-4287-A9D1-CF9F23D51E90\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10122\/4\/2EABAF45-AE74-4287-A9D1-CF9F23D51E90\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10122\/4\/2EABAF45-AE74-4287-A9D1-CF9F23D51E90\/downloads\/wwdc2024-10122_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10122\/4\/2EABAF45-AE74-4287-A9D1-CF9F23D51E90\/downloads\/wwdc2024-10122_sd.mp4","duration":806,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":84},{"start":84,"title":"Notifications","end":246},{"start":246,"title":"Telemetry","end":433},{"start":433,"title":"Logging","end":566},{"start":566,"title":"Alerts","end":806}]},"related":{"activities":["wwdc2020-10650","wwdc2022-10115"],"resources":[3681]}},"wwdc2024-10147":{"id":"wwdc2024-10147","staticContentId":9275,"eventContentId":10147,"eventId":"wwdc2024","contentUpdatedAt":"2024-12-03T11:51:32-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10147","languageCode":"eng","description":"iPadOS 18 introduces a new navigation system that gives people the flexibility to choose between using a tab bar or sidebar. The newly redesigned tab bar provides more space for content and other functionality. Learn how to use SwiftUI and UIKit to enable customization features \u2013 like adding, removing and reordering tabs \u2013 to enable a more personal touch in your app.","title":"Elevate your tab and sidebar experience in iPadOS","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["design","side bar","tab bar","tabs","zoom"],"primaryTopicID":100,"topicIds":[87,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1CE8E467-3C93-4C01-BF6A-83820CD82D3C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10147\/4\/4B3986F3-DBA0-4C52-8A2E-783346D6D1BA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10147\/4\/4B3986F3-DBA0-4C52-8A2E-783346D6D1BA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10147\/4\/4B3986F3-DBA0-4C52-8A2E-783346D6D1BA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10147\/4\/4B3986F3-DBA0-4C52-8A2E-783346D6D1BA\/downloads\/wwdc2024-10147_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10147\/4\/4B3986F3-DBA0-4C52-8A2E-783346D6D1BA\/downloads\/wwdc2024-10147_sd.mp4","duration":946,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","end":52},{"start":52,"title":"Tab bar and sidebar refresh","end":236},{"start":236,"title":"Tab bar and sidebar features","end":268},{"start":268,"title":"Tab bar SwiftUI updates","end":300},{"start":300,"title":"Tab bar UIKit updates","end":358},{"start":358,"title":"Search tab","end":401},{"start":401,"title":"Enable sidebar with TabView in SwiftUI","end":436},{"start":436,"title":"Enable sidebar with UITabBarController in UIKit","end":466},{"start":466,"title":"Sidebar actions","end":493},{"start":493,"title":"Drop destinations on Tabs in SwiftUI","end":505},{"start":505,"title":"Drop destinations on UITabs in UIKit","end":555},{"start":555,"title":"User customization ","end":645},{"start":645,"title":"Enable customization in SwiftUI","end":758},{"start":758,"title":"Enable customization in UIKit","end":832},{"start":832,"title":"Platform considerations","end":946}]},"related":{"activities":["wwdc2022-10001","wwdc2020-10206"],"resources":[3833,3832,3695,3583]}},"wwdc2024-10111":{"id":"wwdc2024-10111","staticContentId":9238,"eventContentId":10111,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10111","languageCode":"eng","description":"Dive into the architecture for the next generation of CarPlay. Learn how your vehicle system works with iPhone to create a single cohesive experience that showcases the best of your car and iPhone. Learn how UI is rendered and composited, and explore ways to configure and customize a special experience for each vehicle model. This session is intended for automakers and system developers interested in the next generation of CarPlay.","title":"Meet the next generation of CarPlay architecture","originalPublishingDate":"2024-06-10T14:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS"],"keywords":["\ud83d\ude97","\ud83d\ude99","car","instrument cluster"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A95A5CBD-2D69-4BAB-B3CE-72B288E77B08","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10111\/4\/BB2E8107-78FC-467A-8714-E96538C02AEB\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10111\/4\/BB2E8107-78FC-467A-8714-E96538C02AEB\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10111\/4\/BB2E8107-78FC-467A-8714-E96538C02AEB\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10111\/4\/BB2E8107-78FC-467A-8714-E96538C02AEB\/downloads\/wwdc2024-10111_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10111\/4\/BB2E8107-78FC-467A-8714-E96538C02AEB\/downloads\/wwdc2024-10111_sd.mp4","duration":1660,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":95},{"start":95,"title":"Architecture","end":697},{"start":697,"title":"Next generation CarPlay UI","end":1279},{"start":1279,"title":"Enable custom features","end":1603},{"start":1603,"title":"Wrap-up","end":1660}]},"related":{"activities":["wwdc2024-10112","wwdc2023-10150"],"resources":[3681,1595,509]}},"wwdc2024-10083":{"id":"wwdc2024-10083","staticContentId":9177,"eventContentId":10083,"eventId":"wwdc2024","contentUpdatedAt":"2026-05-05T14:33:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10083","languageCode":"eng","description":"Discover how to use HealthKit to create experiences that take full advantage of the spatial canvas. Learn the capabilities of HealthKit on the platform, find out how to bring an existing iPadOS app to visionOS, and explore the special considerations governing HealthKit during a Guest User session. You\u2019ll also learn ways to use SwiftUI, Swift Charts, and Swift concurrency to craft innovative experiences with HealthKit.","title":"Get started with HealthKit in visionOS","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS","iPadOS","visionOS"],"primaryTopicID":92,"topicIds":[85,92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D7236E4A-561F-41C2-8B15-1DA1B82C5845","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10083\/4\/3EDC61A5-EEBF-48EB-9CB9-9AC6F587005E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10083\/4\/3EDC61A5-EEBF-48EB-9CB9-9AC6F587005E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10083\/4\/3EDC61A5-EEBF-48EB-9CB9-9AC6F587005E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10083\/4\/3EDC61A5-EEBF-48EB-9CB9-9AC6F587005E\/downloads\/wwdc2024-10083_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10083\/4\/3EDC61A5-EEBF-48EB-9CB9-9AC6F587005E\/downloads\/wwdc2024-10083_sd.mp4","duration":749,"availableAudioLanguageCodes":["und"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":112},{"start":112,"title":"HealthKit in visionOS","end":228},{"start":228,"title":"Spatial health experiences","end":467},{"start":467,"title":"Guest User support","end":749}]},"related":{"activities":["wwdc2020-10664","wwdc2024-10109","wwdc2023-10110","wwdc2024-111971"],"resources":[3789,3743,3688,2465,87]}},"wwdc2024-10184":{"id":"wwdc2024-10184","staticContentId":9314,"eventContentId":10184,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10184","languageCode":"eng","description":"Learn the essential features and design philosophy of the Swift programming language. We\u2019ll explore how to model data, handle errors, use protocols, write concurrent code, and more while building up a Swift package that has a library, an HTTP server, and a command line client. Whether you\u2019re just beginning your Swift journey or have been with us from the start, this talk will help you get the most out of the language.","title":"A Swift Tour: Explore Swift\u2019s features and design","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[88,90,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"ECE01995-4F62-4714-9389-B68DC3D8BC8E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10184\/4\/9805A8C3-1B6A-43C6-AA4B-C8A8FBBECE62\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10184\/4\/9805A8C3-1B6A-43C6-AA4B-C8A8FBBECE62\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10184\/4\/9805A8C3-1B6A-43C6-AA4B-C8A8FBBECE62\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10184\/4\/9805A8C3-1B6A-43C6-AA4B-C8A8FBBECE62\/downloads\/wwdc2024-10184_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10184\/4\/9805A8C3-1B6A-43C6-AA4B-C8A8FBBECE62\/downloads\/wwdc2024-10184_sd.mp4","duration":1656,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":51},{"start":51,"title":"Agenda","end":65},{"start":65,"title":"The example","end":92},{"start":92,"title":"Value types","end":266},{"start":266,"title":"Errors and optionals","end":587},{"start":587,"title":"Code organization","end":718},{"start":718,"title":"Classes","end":846},{"start":846,"title":"Protocols","end":1113},{"start":1113,"title":"Concurrency","end":1393},{"start":1393,"title":"Extensibility","end":1615},{"start":1615,"title":"Wrap up","end":1656}]},"related":{"activities":["wwdc2022-110352","wwdc2022-110353","wwdc2021-10134","wwdc2021-10253","wwdc2023-10167","wwdc2022-110357"],"resources":[3861,3860,3859,3780,3779,3696,45]}},"wwdc2024-10070":{"id":"wwdc2024-10070","staticContentId":9163,"eventContentId":10070,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10070","languageCode":"eng","description":"Focused on feature discovery, the TipKit framework makes it easy to display tips in your app. Now you can group tips so features are discovered in the ideal order, make tips reusable with custom tip identifiers, match the look and feel to your app, and sync tips using CloudKit. Learn how you can use the latest advances in TipKit to help people discover everything your app has to offer.","title":"Customize feature discovery with TipKit","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9EFBB233-C8C0-4909-8700-E6592F045587","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10070\/5\/8C64605E-ECD1-4D14-8B43-D7E3E751FAA3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10070\/5\/8C64605E-ECD1-4D14-8B43-D7E3E751FAA3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10070\/5\/8C64605E-ECD1-4D14-8B43-D7E3E751FAA3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10070\/5\/8C64605E-ECD1-4D14-8B43-D7E3E751FAA3\/downloads\/wwdc2024-10070_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10070\/5\/8C64605E-ECD1-4D14-8B43-D7E3E751FAA3\/downloads\/wwdc2024-10070_sd.mp4","duration":885,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":78},{"start":78,"title":"Tip groups","end":312},{"start":312,"title":"Reusable tips with custom identifiers","end":505},{"start":505,"title":"Custom tip styles","end":648},{"start":648,"title":"Sync tips with CloudKit","end":885}]},"related":{"activities":["wwdc2023-10229"],"resources":[3681,3672]}},"wwdc2024-10203":{"id":"wwdc2024-10203","staticContentId":9333,"eventContentId":10203,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10203","languageCode":"eng","description":"Elevate your accessory setup experience with AccessorySetupKit. Display a beautiful pairing dialog with an image of your Bluetooth or Wi-Fi accessory \u2014 no trip to the Settings app required. Discover how to improve privacy by pairing only your app with an accessory. And learn how you can migrate existing accessories so they can be managed by AccessorySetupKit.","title":"Meet AccessorySetupKit","originalPublishingDate":"2024-06-13T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":96,"topicIds":[101,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"68DE96A8-C315-4D4F-81DE-F910AF6277BA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10203\/4\/B5954562-4B78-4634-8C6B-7CDC4ED9E8B7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10203\/4\/B5954562-4B78-4634-8C6B-7CDC4ED9E8B7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10203\/4\/B5954562-4B78-4634-8C6B-7CDC4ED9E8B7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10203\/4\/B5954562-4B78-4634-8C6B-7CDC4ED9E8B7\/downloads\/wwdc2024-10203_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10203\/4\/B5954562-4B78-4634-8C6B-7CDC4ED9E8B7\/downloads\/wwdc2024-10203_sd.mp4","duration":924,"availableAudioLanguageCodes":["und"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"resources":[3868,3737,3692]}},"wwdc2024-10062":{"id":"wwdc2024-10062","staticContentId":9155,"eventContentId":10062,"eventId":"wwdc2024","contentUpdatedAt":"2025-12-10T15:56:41-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10062","languageCode":"eng","description":"Learn how to leverage your server to build great In-App Purchase experiences with the latest updates to the App Store Server API, App Store Server Notifications, and the open source App Store Server Library. After a recap of current APIs, we\u2019ll introduce updated endpoint functionality, new transaction fields, and a new notification type. We\u2019ll also discuss best practices for the purchase lifecycle, delivering content, and targeting offers, so you can become a server power user.","title":"Explore App Store server APIs for In-App Purchase","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0B9D5944-C217-48F2-9CDC-CCD3092EB5F3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10062\/4\/1FA107E6-CAC2-4A88-978C-59A194F8B613\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10062\/4\/1FA107E6-CAC2-4A88-978C-59A194F8B613\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10062\/4\/1FA107E6-CAC2-4A88-978C-59A194F8B613\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10062\/4\/1FA107E6-CAC2-4A88-978C-59A194F8B613\/downloads\/wwdc2024-10062_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10062\/4\/1FA107E6-CAC2-4A88-978C-59A194F8B613\/downloads\/wwdc2024-10062_sd.mp4","duration":1929,"availableAudioLanguageCodes":["und"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":292},{"start":292,"title":"Purchase lifecycle","end":831},{"start":831,"title":"Delivering content","end":1255},{"start":1255,"title":"Subscriptions and Offers","end":1929}]},"related":{"activities":["wwdc2022-10040","wwdc2023-10141","wwdc2023-10143","wwdc2024-10110","wwdc2025-249","wwdc2025-241"],"resources":[3812,3808,3807,3806,3805,3804,3803,3802,3683,2375,1637,1508,765]}},"wwdc2024-10145":{"id":"wwdc2024-10145","staticContentId":9273,"eventContentId":10145,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10145","languageCode":"eng","description":"Explore how to adopt the zoom transition in navigation and presentations to increase the sense of continuity in your app, and learn how to animate UIKit views with SwiftUI animations to make it easier to build animations that feel continuous.","title":"Enhance your UI animations and transitions","originalPublishingDate":"2024-06-11T08:00:00-07:00","publishingExpiryDate":"2034-06-05T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["bracelets","friendship"],"primaryTopicID":100,"topicIds":[87,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B38CC217-7635-48EF-B8C9-F7954F390CCE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10145\/4\/53B7DA20-6508-44CC-9BC6-86943CE6BF32\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10145\/4\/53B7DA20-6508-44CC-9BC6-86943CE6BF32\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10145\/4\/53B7DA20-6508-44CC-9BC6-86943CE6BF32\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10145\/4\/53B7DA20-6508-44CC-9BC6-86943CE6BF32\/downloads\/wwdc2024-10145_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10145\/4\/53B7DA20-6508-44CC-9BC6-86943CE6BF32\/downloads\/wwdc2024-10145_sd.mp4","duration":854,"availableAudioLanguageCodes":["und"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":94},{"start":94,"title":"New transitions!","end":127},{"start":127,"title":"Zoom transitions in SwiftUI","end":182},{"start":182,"title":"Zoom transitions in UIKit","end":255},{"start":255,"title":"UIKit view controller life cycle and callbacks","end":422},{"start":422,"title":"Additional tips for UIKit","end":490},{"start":490,"title":"SwiftUI animation","end":586},{"start":586,"title":"Animating representables","end":680},{"start":680,"title":"Gesture-driven animations","end":854}]},"related":{"activities":["wwdc2023-10156","wwdc2023-10158"],"resources":[3816,3695]}},"wwdc2024-10069":{"id":"wwdc2024-10069","staticContentId":9162,"eventContentId":10069,"eventId":"wwdc2024","contentUpdatedAt":"2025-05-22T08:58:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2024\/10069","languageCode":"eng","description":"With broadcast push notifications, your app can send updates to thousands of Live Activities with a single request. We\u2019ll discover how broadcast push notifications work between an app, a server, and the Apple Push Notification service, then we\u2019ll walk through best practices for this capability and how to implement it.","title":"Broadcast updates to your Live Activities","originalPublishingDate":"2024-06-12T08:00:00-07:00","publishingExpiryDate":"2034-06-10T01:00:00-07:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["apns"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9B0F9626-0CCE-4046-8400-651C0223D564","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10069\/4\/4BD768EC-9A6C-492A-ADB0-C17EF9F7110C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10069\/4\/4BD768EC-9A6C-492A-ADB0-C17EF9F7110C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10069\/4\/4BD768EC-9A6C-492A-ADB0-C17EF9F7110C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10069\/4\/4BD768EC-9A6C-492A-ADB0-C17EF9F7110C\/downloads\/wwdc2024-10069_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2024\/10069\/4\/4BD768EC-9A6C-492A-ADB0-C17EF9F7110C\/downloads\/wwdc2024-10069_sd.mp4","duration":768,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":77},{"start":77,"title":"Overview","end":297},{"start":297,"title":"Get started","end":450},{"start":450,"title":"Subscribe to updates","end":519},{"start":519,"title":"Send broadcast push notifications","end":768}]},"related":{"activities":["wwdc2023-10185"],"resources":[3681,3675,3674,3673,2961]}},"wwdc2023-10012":{"id":"wwdc2023-10012","staticContentId":8025,"eventContentId":10012,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10012","languageCode":"eng","description":"App Store Connect provides the tools you need to test, submit, and manage your visionOS apps on the App Store. Explore basics and best practices for deploying your first spatial computing app, adding support for visionOS to an existing app, and managing compatibility. We\u2019ll also show you how TestFlight for visionOS can help you test your apps and collect valuable feedback as you iterate.","title":"Explore App Store Connect for spatial computing","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","visionOS"],"primaryTopicID":86,"topicIds":[85,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3C57E9AB-1C17-4709-9F80-6040549D7356","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10012\/4\/0E0416F8-A360-4F27-8CBA-B49CA1AEB96B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10012\/4\/0E0416F8-A360-4F27-8CBA-B49CA1AEB96B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10012\/4\/0E0416F8-A360-4F27-8CBA-B49CA1AEB96B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10012\/4\/0E0416F8-A360-4F27-8CBA-B49CA1AEB96B\/downloads\/wwdc2023-10012_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10012\/4\/0E0416F8-A360-4F27-8CBA-B49CA1AEB96B\/downloads\/wwdc2023-10012_sd.mp4","duration":742,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10090","wwdc2023-10094","wwdc2023-10117","wwdc2021-10268","tech-talks-110343"]}},"wwdc2023-10150":{"id":"wwdc2023-10150","staticContentId":8207,"eventContentId":10150,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10150","languageCode":"eng","description":"Discover how you can integrate CarPlay into modern vehicle systems. We\u2019ll show you how to adjust CarPlay for any high-resolution display \u2014 regardless of configuration or size. Learn how you can use CarPlay-supplied metadata and video streams to show information on additional displays, and find out how advances in wireless connectivity, audio, and video encoding can help prepare your vehicle system for the next generation of CarPlay.","title":"Optimize CarPlay for vehicle systems","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS"],"keywords":["\ud83d\ude97","\ud83d\ude99","airplay","car","ev charging","hevc"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"786D0A78-FE52-430C-BFFF-76733D114A62","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10150\/4\/21F9E94A-7EFC-455B-B168-18C2B8CB5965\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10150\/4\/21F9E94A-7EFC-455B-B168-18C2B8CB5965\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10150\/4\/21F9E94A-7EFC-455B-B168-18C2B8CB5965\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10150\/4\/21F9E94A-7EFC-455B-B168-18C2B8CB5965\/downloads\/wwdc2023-10150_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10150\/4\/21F9E94A-7EFC-455B-B168-18C2B8CB5965\/downloads\/wwdc2023-10150_sd.mp4","duration":1104,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":78},{"start":78,"title":"Visual integration","end":600},{"start":600,"title":"Connectivity","end":814},{"start":814,"title":"Audio","end":945},{"start":945,"title":"Video encoding","end":979},{"start":979,"title":"EV routing","end":1073},{"start":1073,"title":"Next steps","end":1104}]},"related":{"activities":["wwdc2023-10238","wwdc2023-111235","wwdc2022-10016","wwdc2019-252"],"resources":[509]}},"wwdc2023-10072":{"id":"wwdc2023-10072","staticContentId":8126,"eventContentId":10072,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10072","languageCode":"eng","description":"Discover the fundamentals of spatial design. Learn how to design with depth, scale, windows, and immersion, and apply best practices for creating comfortable, human-centered experiences that transform reality. Find out how you can use these spatial design principles to extend your existing app or bring a new idea to life.","title":"Principles of spatial design","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"keywords":["ar","mixed reality","mr","ux","virtual reality","vr"],"primaryTopicID":87,"topicIds":[85,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"15489B11-8744-483D-AD38-EF78D8962FF4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10072\/5\/C43DFF91-F057-43E1-891F-41E6D5C01716\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10072\/5\/C43DFF91-F057-43E1-891F-41E6D5C01716\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10072\/5\/C43DFF91-F057-43E1-891F-41E6D5C01716\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10072\/5\/C43DFF91-F057-43E1-891F-41E6D5C01716\/downloads\/wwdc2023-10072_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10072\/5\/C43DFF91-F057-43E1-891F-41E6D5C01716\/downloads\/wwdc2023-10072_sd.mp4","duration":1295,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":85},{"start":85,"title":"Familiar","end":326},{"start":326,"title":"Human-centered","end":502},{"start":502,"title":"Dimensional","end":759},{"start":759,"title":"Immersive","end":1104},{"start":1104,"title":"Authentic","end":1295}]},"related":{"activities":["wwdc2023-10073","wwdc2023-10075","wwdc2023-10076","wwdc2023-10078","wwdc2023-10109","wwdc2023-10260","wwdc2023-10271","wwdc2023-111215"]}},"wwdc2023-10273":{"id":"wwdc2023-10273","staticContentId":8342,"eventContentId":10273,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10273","languageCode":"eng","description":"Learn how to bring content from Reality Composer Pro to life in Xcode. We\u2019ll show you how to load 3D scenes into Xcode, integrate your content with your code, and add interactivity to your app. We\u2019ll also share best practices and tips for using these tools together in your development workflow.\n\nTo get the most out of this session, we recommend first watching \u201cMeet Reality Composer Pro\u201d and \u201cExplore materials in Reality Composer Pro\" to learn more about creating 3D scenes.","title":"Work with Reality Composer Pro content in Xcode","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["macOS","visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"946E2995-A717-457B-83C5-BC4CC9654781","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10273\/5\/056632D0-3346-457D-97ED-B1F066A11C1A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10273\/5\/056632D0-3346-457D-97ED-B1F066A11C1A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10273\/5\/056632D0-3346-457D-97ED-B1F066A11C1A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10273\/5\/056632D0-3346-457D-97ED-B1F066A11C1A\/downloads\/wwdc2023-10273_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10273\/5\/056632D0-3346-457D-97ED-B1F066A11C1A\/downloads\/wwdc2023-10273_sd.mp4","duration":2055,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":157},{"start":157,"title":"Load 3D content","end":387},{"start":387,"title":"Components","end":720},{"start":720,"title":"User Interface","end":1671},{"start":1671,"title":"Play audio","end":1818},{"start":1818,"title":"Material properties","end":2005},{"start":2005,"title":"Wrap-up","end":2055}]},"related":{"activities":["wwdc2023-10080","wwdc2023-10081","wwdc2023-10083","wwdc2023-10202","wwdc2023-10203","wwdc2021-10074"]}},"wwdc2023-10137":{"id":"wwdc2023-10137","staticContentId":8194,"eventContentId":10137,"eventId":"wwdc2023","contentUpdatedAt":"2025-06-04T20:07:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10137","languageCode":"eng","description":"Discover how the Cinematic Camera API helps your app work with Cinematic mode videos captured in the Camera app. We\u2019ll share the fundamentals \u2014 including Decision layers \u2014 that make up Cinematic mode video, show you how to access and update Decisions in your app, and help you save and load those changes.","title":"Support Cinematic mode videos in your app","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":95,"topicIds":[84,95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F68B5C8B-FA27-4D9B-8B09-DCCD4BA1AF27","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10137\/5\/88C7D972-0671-4705-94CB-4EF627EED532\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10137\/5\/88C7D972-0671-4705-94CB-4EF627EED532\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10137\/5\/88C7D972-0671-4705-94CB-4EF627EED532\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10137\/5\/88C7D972-0671-4705-94CB-4EF627EED532\/downloads\/wwdc2023-10137_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10137\/5\/88C7D972-0671-4705-94CB-4EF627EED532\/downloads\/wwdc2023-10137_sd.mp4","duration":1493,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-111473","wwdc2023-111506","wwdc2023-111507","wwdc2023-111542","wwdc2017-507"],"resources":[3523,91,52]}},"wwdc2023-10053":{"id":"wwdc2023-10053","staticContentId":8101,"eventContentId":10053,"eventId":"wwdc2023","contentUpdatedAt":"2026-06-08T12:29:54-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10053","languageCode":"eng","description":"At Apple, we believe that privacy is a fundamental human right. Learn about new technologies on Apple platforms that make it easier for you to implement essential privacy patterns that build customer trust in your app. Discover privacy improvements for Apple\u2019s platforms, as well as a study of how privacy shaped the software architecture and design for the input model on visionOS.","title":"What\u2019s new in privacy","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":96,"topicIds":[85,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E9C56A3B-9226-40B4-8AC7-31E96ADB0ED6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10053\/4\/8CAD0D27-5BB4-4640-9746-4DCBD46161DF\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10053\/4\/8CAD0D27-5BB4-4640-9746-4DCBD46161DF\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10053\/4\/8CAD0D27-5BB4-4640-9746-4DCBD46161DF\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10053\/4\/8CAD0D27-5BB4-4640-9746-4DCBD46161DF\/downloads\/wwdc2023-10053_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10053\/4\/8CAD0D27-5BB4-4640-9746-4DCBD46161DF\/downloads\/wwdc2023-10053_sd.mp4","duration":1969,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":61,"title":"Privacy pillars","end":183},{"start":183,"title":"Photos picker","end":344},{"start":344,"title":"Screen capture picker","end":466},{"start":466,"title":"Calendar access","end":629},{"start":629,"title":"Oblivious HTTP (OHTTP)","end":862},{"start":862,"title":"Communication Safety","end":1066},{"start":1066,"title":"App sandbox","end":1317},{"start":1317,"title":"Advanced Data Protection","end":1421},{"start":1421,"title":"Safari Private Browsing","end":1600},{"start":1600,"title":"Safari app extensions","end":1642},{"start":1642,"title":"Spatial input model","end":1969}]},"related":{"activities":["wwdc2023-10002","wwdc2023-10052","wwdc2023-10107","wwdc2023-10110","wwdc2023-10117","wwdc2023-10119","wwdc2023-10136","wwdc2022-10077","wwdc2021-10033","wwdc2021-10086","wwdc2020-10047"],"resources":[3117,3116]}},"wwdc2023-10082":{"id":"wwdc2023-10082","staticContentId":8136,"eventContentId":10082,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:51-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10082","languageCode":"eng","description":"Discover how you can use ARKit\u2019s tracking and scene understanding features to develop a whole new universe of immersive apps and games. Learn how visionOS and ARKit work together to help you create apps that understand a person\u2019s surroundings \u2014 all while preserving privacy. Explore the latest updates to the ARKit API and follow along as we demonstrate how to take advantage of hand tracking and scene geometry in your apps.","title":"Meet ARKit for spatial computing","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1D881D72-B569-4C13-9A67-F2AC2BF2BC90","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10082\/4\/C3D5172D-3BAF-4656-B6F7-2C8CE38F8749\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10082\/4\/C3D5172D-3BAF-4656-B6F7-2C8CE38F8749\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10082\/4\/C3D5172D-3BAF-4656-B6F7-2C8CE38F8749\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10082\/4\/C3D5172D-3BAF-4656-B6F7-2C8CE38F8749\/downloads\/wwdc2023-10082_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10082\/4\/C3D5172D-3BAF-4656-B6F7-2C8CE38F8749\/downloads\/wwdc2023-10082_sd.mp4","duration":1451,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10080","wwdc2023-10081","wwdc2023-10089","wwdc2023-10091","wwdc2023-10100","wwdc2023-10109","wwdc2023-10117","wwdc2023-10203","wwdc2023-10352","wwdc2023-111191"]}},"wwdc2023-10032":{"id":"wwdc2023-10032","staticContentId":8060,"eventContentId":10032,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10032","languageCode":"eng","description":"Learn how Assistive Access can help people with cognitive disabilities more easily use iPhone and iPad. Discover the design principles that guide Assistive Access and find out how the system experience adapts to lighten cognitive load. We\u2019ll show you how Assistive Access works and what you can do to support this experience in your app.","title":"Meet Assistive Access","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":82,"topicIds":[82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3BF48B60-4462-4461-BAB8-7E4A6224A2F5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10032\/3\/A9BDC1BB-32F3-4A51-9207-FFB4C4B235A0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10032\/3\/A9BDC1BB-32F3-4A51-9207-FFB4C4B235A0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10032\/3\/A9BDC1BB-32F3-4A51-9207-FFB4C4B235A0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10032\/3\/A9BDC1BB-32F3-4A51-9207-FFB4C4B235A0\/downloads\/wwdc2023-10032_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10032\/3\/A9BDC1BB-32F3-4A51-9207-FFB4C4B235A0\/downloads\/wwdc2023-10032_sd.mp4","duration":489,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Welcome","end":81},{"start":81,"title":"Overview","end":175},{"start":175,"title":"Principles","end":280},{"start":280,"title":"Your app","end":323},{"start":323,"title":"Optimized for Assistive Access","end":489}]},"related":{"activities":["wwdc2022-10056","wwdc2018-235"],"resources":[3040]}},"wwdc2023-10007":{"id":"wwdc2023-10007","staticContentId":8019,"eventContentId":10007,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:43-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10007","languageCode":"eng","description":"Discover the latest updates to the Virtualization framework. We\u2019ll show you how to configure a virtual machine (VM) to automatically resize its display, take you through saving and restoring a running VM, and explore storage and performance options for Virtualization apps running on the desktop or in the data center.\n\nTo learn more about the Virtualization framework, check out \u201cCreate macOS or Linux virtual machines\u201d from WWDC22.","title":"Create seamless experiences with Virtualization","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4B637E4C-76C3-40D7-8A88-0A21163BDF96","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10007\/4\/ADC7900A-352D-4B06-8285-22AFB8A66356\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10007\/4\/ADC7900A-352D-4B06-8285-22AFB8A66356\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10007\/4\/ADC7900A-352D-4B06-8285-22AFB8A66356\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10007\/4\/ADC7900A-352D-4B06-8285-22AFB8A66356\/downloads\/wwdc2023-10007_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10007\/4\/ADC7900A-352D-4B06-8285-22AFB8A66356\/downloads\/wwdc2023-10007_sd.mp4","duration":958,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":98,"title":"Resize displays automatically","end":153},{"start":153,"title":"Save and restore virtual machines","end":421},{"start":421,"title":"Connect remote storage with Network Block Device","end":630},{"start":630,"title":"Meet the NVMe storage device","end":708},{"start":708,"title":"Add the Mac keyboard","end":721},{"start":721,"title":"Improve Rosetta 2 performance in Linux virtual machines","end":958}]},"related":{"activities":["wwdc2022-10002"],"resources":[3068,2436]}},"wwdc2023-10187":{"id":"wwdc2023-10187","staticContentId":8247,"eventContentId":10187,"eventId":"wwdc2023","contentUpdatedAt":"2025-06-11T14:34:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10187","languageCode":"eng","description":"SwiftData is a powerful and expressive persistence framework built for Swift. We\u2019ll show you how you can model your data directly from Swift code, use SwiftData to work with your models, and integrate with SwiftUI.","title":"Meet SwiftData","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["@attribute","coredata","core data","data","fetchdescriptor","macro","macros","model","@model","models","observation","persistence","predicate","#predicate","@relationship","sortdescriptor","swift","swiftdata"],"primaryTopicID":99,"topicIds":[90,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9783DC47-AEAF-4EED-AEFD-B159FD899235","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10187\/5\/1D820D6D-4F01-48EB-8F22-901F4A4B69FE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10187\/5\/1D820D6D-4F01-48EB-8F22-901F4A4B69FE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10187\/5\/1D820D6D-4F01-48EB-8F22-901F4A4B69FE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10187\/5\/1D820D6D-4F01-48EB-8F22-901F4A4B69FE\/downloads\/wwdc2023-10187_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10187\/5\/1D820D6D-4F01-48EB-8F22-901F4A4B69FE\/downloads\/wwdc2023-10187_sd.mp4","duration":532,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Intro","end":67},{"start":67,"title":"Using the model macro","end":197},{"start":197,"title":"Working with your data","end":422},{"start":422,"title":"Use SwiftData with SwiftUI","end":490},{"start":490,"title":"Wrap-up","end":532}]},"related":{"activities":["wwdc2023-10148","wwdc2023-10149","wwdc2023-10154","wwdc2023-10164","wwdc2023-10189","wwdc2023-10195","wwdc2023-10196","wwdc2023-10331","wwdc2023-111497","wwdc2023-111498","wwdc2023-111543"],"resources":[3085,3084]}},"wwdc2023-10179":{"id":"wwdc2023-10179","staticContentId":8238,"eventContentId":10179,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10179","languageCode":"eng","description":"Learn how you can use the latest Core Motion updates to expand how your app uses motion data. Discover how to stream higher-frequency sensor data when recording a HealthKit workout on Apple Watch. We\u2019ll show you how you can get submersion data \u2014 including water depth and temperature \u2014 during water-based activities like snorkeling. Find out how to stream motion data like attitude, user acceleration, and rotation rate from audio devices like AirPods to connected devices like iPhone and Mac.","title":"What\u2019s new in Core Motion","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"primaryTopicID":83,"topicIds":[92,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"42B8F201-50E2-47F0-8CB6-5BDD6A853AF5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10179\/4\/2123E0B0-D771-4375-BE1F-9BE1AEBA4FFE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10179\/4\/2123E0B0-D771-4375-BE1F-9BE1AEBA4FFE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10179\/4\/2123E0B0-D771-4375-BE1F-9BE1AEBA4FFE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10179\/4\/2123E0B0-D771-4375-BE1F-9BE1AEBA4FFE\/downloads\/wwdc2023-10179_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10179\/4\/2123E0B0-D771-4375-BE1F-9BE1AEBA4FFE\/downloads\/wwdc2023-10179_sd.mp4","duration":1397,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10016","wwdc2023-111369","wwdc2020-10656"],"resources":[3143,3141,77]}},"wwdc2023-10167":{"id":"wwdc2023-10167","staticContentId":8224,"eventContentId":10167,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10167","languageCode":"eng","description":"Discover how Swift macros can help you reduce boilerplate in your codebase and adopt complex features more easily. Learn how macros can analyze code, emit rich compiler errors to guide developers towards correct usage, and generate new code that is automatically incorporated back into your project. We\u2019ll also take you through important concepts like macro roles, compiler plugins, and syntax trees.","title":"Expand on Swift macros","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"51B2FF79-F288-4008-B859-83C9F62BE09A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10167\/4\/EAAEDDF4-5E7C-4AE9-A20C-CCD2E061E331\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10167\/4\/EAAEDDF4-5E7C-4AE9-A20C-CCD2E061E331\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10167\/4\/EAAEDDF4-5E7C-4AE9-A20C-CCD2E061E331\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10167\/4\/EAAEDDF4-5E7C-4AE9-A20C-CCD2E061E331\/downloads\/wwdc2023-10167_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10167\/4\/EAAEDDF4-5E7C-4AE9-A20C-CCD2E061E331\/downloads\/wwdc2023-10167_sd.mp4","duration":2383,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":51},{"start":51,"title":"Why macros?","end":133},{"start":133,"title":"Design philosophy","end":288},{"start":288,"title":"Translation model","end":378},{"start":378,"title":"Macro roles","end":1068},{"start":1068,"title":"Macro implementation","end":2016},{"start":2016,"title":"Writing correct macros","end":2322},{"start":2322,"title":"Wrap up","end":2383}]},"related":{"activities":["wwdc2023-10149","wwdc2023-10164","wwdc2023-10165","wwdc2023-10166","wwdc2023-111307","wwdc2023-111308","wwdc2023-111309","wwdc2023-111310","wwdc2023-111311","wwdc2023-111312"]}},"wwdc2023-10224":{"id":"wwdc2023-10224","staticContentId":8288,"eventContentId":10224,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10224","languageCode":"eng","description":"Discover how to share your app using Xcode\u2019s streamlined distribution, which allows you to submit your app to TestFlight or the App Store with one click. We\u2019ll also show you how to use Xcode Cloud to simplify your distribution process by automatically including notes for testers in TestFlight, and use post-action to automatically notarize your Mac apps.","title":"Simplify distribution in Xcode and Xcode Cloud","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["\u26a1\ufe0f"],"primaryTopicID":88,"topicIds":[90,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CC053F86-421E-4D61-A049-F0975B5F7892","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10224\/4\/3FB069F4-A143-41C4-945E-76651EFF81CF\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10224\/4\/3FB069F4-A143-41C4-945E-76651EFF81CF\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10224\/4\/3FB069F4-A143-41C4-945E-76651EFF81CF\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10224\/4\/3FB069F4-A143-41C4-945E-76651EFF81CF\/downloads\/wwdc2023-10224_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10224\/4\/3FB069F4-A143-41C4-945E-76651EFF81CF\/downloads\/wwdc2023-10224_sd.mp4","duration":986,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":104,"title":"Archiving for the simulator","end":153},{"start":153,"title":"Distribute your app with new streamlined methods","end":186},{"start":186,"title":"TestFlight internal only streamlined option","end":264},{"start":264,"title":"Upload to App Store Connect demo","end":298},{"start":298,"title":"TestFlight Ready to Test push notification","end":365},{"start":365,"title":"Automation with Xcode Cloud","end":421},{"start":421,"title":"Configuring TestFlight support in Xcode Cloud Demo","end":542},{"start":542,"title":"Automate TestFlight What to Test with Xcode Cloud","end":668},{"start":668,"title":"What is Notarization?","end":732},{"start":732,"title":"Notarization with Xcode","end":753},{"start":753,"title":"Automate Notarization with Xcode Cloud","end":807},{"start":807,"title":"Automate Notarization with Xcode Cloud Demo","end":907},{"start":907,"title":"Download the Notarized app from Xcode Cloud","end":935},{"start":935,"title":"Wrap-up","end":986}]},"related":{"activities":["wwdc2023-10117","wwdc2023-10165","wwdc2023-10289","wwdc2023-10290","wwdc2023-10293","wwdc2023-111256","wwdc2023-111257","wwdc2023-111262","wwdc2023-111263","wwdc2023-111274","wwdc2023-111275","wwdc2023-111279","wwdc2023-111280","wwdc2023-111281","wwdc2023-111282","wwdc2023-111283","wwdc2023-111284","wwdc2023-111318","wwdc2023-111319","wwdc2022-10109","wwdc2019-703"],"resources":[3047,3045]}},"wwdc2023-10164":{"id":"wwdc2023-10164","staticContentId":8221,"eventContentId":10164,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10164","languageCode":"eng","description":"Join us for an update on Swift. We\u2019ll show you how APIs are becoming more extensible and expressive with features like parameter packs and macros. We\u2019ll also take you through improvements to interoperability and share how we\u2019re expanding Swift\u2019s performance and safety benefits everywhere from Foundation to large-scale distributed programs on the server.","title":"What\u2019s new in Swift","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[88,90,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CF5FAAFB-9FF9-4CA0-883E-D6C3048A1F39","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10164\/4\/6A73A62C-E994-4907-B0CD-58E632F43AF6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10164\/4\/6A73A62C-E994-4907-B0CD-58E632F43AF6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10164\/4\/6A73A62C-E994-4907-B0CD-58E632F43AF6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10164\/4\/6A73A62C-E994-4907-B0CD-58E632F43AF6\/downloads\/wwdc2023-10164_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10164\/4\/6A73A62C-E994-4907-B0CD-58E632F43AF6\/downloads\/wwdc2023-10164_sd.mp4","duration":2587,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":39,"title":"Swift project update","end":164},{"start":164,"title":"Using if\/else and switch statements as expressions","end":232},{"start":232,"title":"Result builders","end":293},{"start":293,"title":"type parameter packs","end":574},{"start":574,"title":"Swift macros","end":1187},{"start":1187,"title":"Swift foundation","end":1405},{"start":1405,"title":"Ownership","end":1679},{"start":1679,"title":"C++ interoperability","end":1961},{"start":1961,"title":"What's new in Swift Concurrency","end":2300},{"start":2300,"title":"FoundationDB: A case study","end":2587}]},"related":{"activities":["wwdc2023-10148","wwdc2023-10166","wwdc2023-10167","wwdc2023-10168","wwdc2023-10170","wwdc2023-10172","wwdc2023-10187","wwdc2023-111307","wwdc2023-111308","wwdc2023-111309","wwdc2023-111310","wwdc2023-111311","wwdc2023-111312","wwdc2021-10254"],"resources":[3126,3119,3118,842]}},"wwdc2023-10176":{"id":"wwdc2023-10176","staticContentId":8235,"eventContentId":10176,"eventId":"wwdc2023","contentUpdatedAt":"2026-02-16T10:56:02-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10176","languageCode":"eng","description":"Discover how you can easily pull the subject of an image from its background in your apps. Learn how to lift the primary subject or to access the subject at a given point with VisionKit. We\u2019ll also share how you can lift subjects using Vision and combine that with lower-level frameworks like Core Image to create fun image effects and more complex compositing pipelines.\n\nFor more information about the latest updates to VisionKit, check out \u201cWhat\u2019s new in VisionKit.\" And for more information about person segmentation in images, watch \"Explore 3D body pose and person segmentation in Vision\" from WWDC23.","title":"Lift subjects from images in your app","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":94,"topicIds":[83,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"064F0BD1-D59C-4358-BFBD-BB06F7DAD46D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10176\/4\/85EF7B31-0252-4567-AEBB-723298444C56\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10176\/4\/85EF7B31-0252-4567-AEBB-723298444C56\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10176\/4\/85EF7B31-0252-4567-AEBB-723298444C56\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10176\/4\/85EF7B31-0252-4567-AEBB-723298444C56\/downloads\/wwdc2023-10176_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10176\/4\/85EF7B31-0252-4567-AEBB-723298444C56\/downloads\/wwdc2023-10176_sd.mp4","duration":1118,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10048","wwdc2023-111241","wwdc2023-111246","wwdc2023-111252","wwdc2023-111253","wwdc2023-111254","wwdc2023-111255","wwdc2023-111259","wwdc2023-111260","wwdc2023-111261"],"resources":[3050,134]}},"wwdc2023-10118":{"id":"wwdc2023-10118","staticContentId":8175,"eventContentId":10118,"eventId":"wwdc2023","contentUpdatedAt":"2025-06-06T10:54:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10118","languageCode":"eng","description":"Web Inspector provides a powerful set of tools to debug and inspect web pages, web extensions, and WKWebViews on macOS, iOS and iPadOS. We\u2019ll share the latest updates, including improved typography inspection, editing tools for variable fonts, controls to emulate people\u2019s preferences, element badges in the DOM node tree, and Symbolic breakpoints.","title":"What\u2019s new in Web Inspector","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["breakpoint","css","font"],"primaryTopicID":98,"topicIds":[88,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"192F080F-B677-4C81-98D9-69A588303009","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10118\/4\/A2DA3123-3E74-4ECF-9961-EA390BE9B502\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10118\/4\/A2DA3123-3E74-4ECF-9961-EA390BE9B502\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10118\/4\/A2DA3123-3E74-4ECF-9961-EA390BE9B502\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10118\/4\/A2DA3123-3E74-4ECF-9961-EA390BE9B502\/downloads\/wwdc2023-10118_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10118\/4\/A2DA3123-3E74-4ECF-9961-EA390BE9B502\/downloads\/wwdc2023-10118_sd.mp4","duration":1695,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10119","wwdc2023-10120","wwdc2023-10121","wwdc2023-10262","wwdc2022-10048","wwdc2022-10100","wwdc2021-10031","tech-talks-401"],"resources":[2365,774,773,772,771,765]}},"wwdc2023-10040":{"id":"wwdc2023-10040","staticContentId":8069,"eventContentId":10040,"eventId":"wwdc2023","contentUpdatedAt":"2025-01-16T15:10:28-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10040","languageCode":"eng","description":"Learn about the latest management capabilities for iOS, iPadOS, and macOS. Discover how you can streamline the setup experience with enhancements to automated device enrollment and a new return-to-service option for iOS and iPadOS devices. We\u2019ll share how to use your identity provider in even more places on macOS and show you how Apple Configurator can help automate tasks. \n","title":"What\u2019s new in managing Apple devices","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"64C3224C-7E44-4078-979F-26BFEE69E986","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10040\/5\/FAEE48F2-1B5D-4894-AEB1-1D02816D6347\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10040\/5\/FAEE48F2-1B5D-4894-AEB1-1D02816D6347\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10040\/5\/FAEE48F2-1B5D-4894-AEB1-1D02816D6347\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10040\/5\/FAEE48F2-1B5D-4894-AEB1-1D02816D6347\/downloads\/wwdc2023-10040_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10040\/5\/FAEE48F2-1B5D-4894-AEB1-1D02816D6347\/downloads\/wwdc2023-10040_sd.mp4","duration":1726,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10002","wwdc2023-10039","wwdc2023-10041","wwdc2023-10254","wwdc2023-10263","wwdc2023-10321","wwdc2023-10329","wwdc2023-111508","wwdc2023-111509","wwdc2023-111510","wwdc2022-10143"],"resources":[3110,3109,3108,2352,2349,581]}},"wwdc2023-10252":{"id":"wwdc2023-10252","staticContentId":8320,"eventContentId":10252,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-07T07:10:54-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10252","languageCode":"eng","description":"Learn how you can use the #Preview macro on Xcode 15 to quickly iterate on your UI code written in SwiftUI, UIKit, or AppKit. Explore a collage of unique workflows for interacting with views right in the canvas, find out how to view multiple variations of UI simultaneously, and discover how you can travel through your widget\u2019s timeline in seconds to test the transitions between entries. We\u2019ll also show you how to add previews to libraries, provide sample assets, and preview your views in your physical devices to leverage their capabilities and existing data.","title":"Build programmatic UI with Xcode Previews","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["\u26a1\ufe0f"],"primaryTopicID":88,"topicIds":[90,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5DA8026F-E5BE-401E-B058-286B8B868965","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10252\/5\/28C78519-19B7-468C-A50B-4960D801E332\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10252\/5\/28C78519-19B7-468C-A50B-4960D801E332\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10252\/5\/28C78519-19B7-468C-A50B-4960D801E332\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10252\/5\/28C78519-19B7-468C-A50B-4960D801E332\/downloads\/wwdc2023-10252_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10252\/5\/28C78519-19B7-468C-A50B-4960D801E332\/downloads\/wwdc2023-10252_sd.mp4","duration":1622,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":86,"title":"What are previews","end":222},{"start":222,"title":"Preview syntax basics","end":284},{"start":284,"title":"Writing SwiftUI previews","end":350},{"start":350,"title":"Writing UIKit & AppKit previews","end":368},{"start":368,"title":"Demo: Putting writing previews into action","end":699},{"start":699,"title":"Writing previews for widgets","end":958},{"start":958,"title":"Previewing in library targets","end":1228},{"start":1228,"title":"Passing sample data into previews","end":1328},{"start":1328,"title":"Previewing on devices for full fidelity and access to data","end":1550},{"start":1550,"title":"Wrap-up","end":1622}]},"related":{"activities":["wwdc2023-10028","wwdc2023-10054","wwdc2023-10148","wwdc2023-10165","wwdc2023-10291","wwdc2023-10292","wwdc2023-111256","wwdc2023-111257","wwdc2023-111262","wwdc2023-111263","wwdc2023-111274","wwdc2023-111275"]}},"wwdc2023-102":{"id":"wwdc2023-102","staticContentId":8744,"eventContentId":102,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-08T12:38:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/102","languageCode":"eng","description":"Learn about the latest tools, technologies, and advancements to help you create even better apps across Apple platforms, including the all-new visionOS.","title":"Platforms State of the Union","startTime":"2023-06-05T13:30:00-07:00","endTime":"2023-06-05T15:00:00-07:00","originalPublishingDate":"2023-06-05T13:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["sotu","sotu 2023"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B7113D5D-6F1F-4B96-A6DE-961CF2336E25","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/102\/2\/FFB36685-F7E8-4810-8814-EBD5DCBE3610\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/102\/2\/FFB36685-F7E8-4810-8814-EBD5DCBE3610\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/102\/2\/FFB36685-F7E8-4810-8814-EBD5DCBE3610\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/102\/2\/FFB36685-F7E8-4810-8814-EBD5DCBE3610\/downloads\/wwdc2023-102_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/102\/2\/FFB36685-F7E8-4810-8814-EBD5DCBE3610\/downloads\/wwdc2023-102_sd.mp4","duration":5374,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["de","en","es","fr","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":243},{"start":243,"title":"Swift, SwiftUI, SwiftData","end":1162},{"start":1162,"title":"WidgetKit, App Intents, TipKit, AirDrop","end":1623},{"start":1623,"title":"Gaming, Camera, Video conferencing, watchOS","end":2381},{"start":2381,"title":"Accessibility, Privacy, App Store","end":3141},{"start":3141,"title":"Xcode","end":3630},{"start":3630,"title":"visionOS","end":5286},{"start":5286,"title":"Conclusion","end":5374}]}},"wwdc2023-10090":{"id":"wwdc2023-10090","staticContentId":8144,"eventContentId":10090,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10090","languageCode":"eng","description":"Discover how you can run your existing iPad and iPhone apps on Vision Pro. Learn how iPadOS and iOS apps operate on this platform, find out about the Designed for iPad experience, and explore the paths available for enhancing your app experience on visionOS.","title":"Run your iPad and iPhone apps in the Shared Space","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","visionOS"],"primaryTopicID":100,"topicIds":[88,90,85,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"04F8844D-5DEC-43CF-944C-E4BBDFB1C971","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10090\/4\/F9896DEE-8E84-49C1-AEAF-10D7628B2662\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10090\/4\/F9896DEE-8E84-49C1-AEAF-10D7628B2662\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10090\/4\/F9896DEE-8E84-49C1-AEAF-10D7628B2662\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10090\/4\/F9896DEE-8E84-49C1-AEAF-10D7628B2662\/downloads\/wwdc2023-10090_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10090\/4\/F9896DEE-8E84-49C1-AEAF-10D7628B2662\/downloads\/wwdc2023-10090_sd.mp4","duration":857,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":114,"title":"Built-in behaviors","end":241},{"start":241,"title":"Functional differences","end":603},{"start":603,"title":"Choose your experience","end":857}]},"related":{"activities":["wwdc2023-10012","wwdc2023-10091","wwdc2023-10094","wwdc2023-10109","wwdc2023-10110","wwdc2023-10146","wwdc2023-111215"]}},"wwdc2023-10004":{"id":"wwdc2023-10004","staticContentId":8016,"eventContentId":10004,"eventId":"wwdc2023","contentUpdatedAt":"2024-08-08T17:29:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10004","languageCode":"eng","description":"Streaming video, multiplayer games, and other real-time experiences depend on responsive, low latency networking. Learn how Low Latency, Low Loss, Scalable throughput (L4S) can reduce network delays and improve the overall experience in your app. We\u2019ll show you how to set up and test your app, network, and server with L4S.","title":"Reduce network delays with L4S","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"23C9FE30-7790-4961-978E-E928E7131CB7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10004\/4\/49EBBF59-4DE7-42C2-AC03-9CD32C46DE74\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10004\/4\/49EBBF59-4DE7-42C2-AC03-9CD32C46DE74\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10004\/4\/49EBBF59-4DE7-42C2-AC03-9CD32C46DE74\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10004\/4\/49EBBF59-4DE7-42C2-AC03-9CD32C46DE74\/downloads\/wwdc2023-10004_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10004\/4\/49EBBF59-4DE7-42C2-AC03-9CD32C46DE74\/downloads\/wwdc2023-10004_sd.mp4","duration":1025,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Welcome","end":78},{"start":78,"title":"Discover the benefits of L4S","end":344},{"start":344,"title":"Learn how L4S works","end":541},{"start":541,"title":"Prepare your app","end":679},{"start":679,"title":"Set up your server","end":751},{"start":751,"title":"Configure test network and devices","end":1025}]},"related":{"activities":["wwdc2022-10078"],"resources":[3067]}},"wwdc2023-10014":{"id":"wwdc2023-10014","staticContentId":8032,"eventContentId":10014,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10014","languageCode":"eng","description":"Discover the latest updates to App Store pricing capabilities and tools. Learn how you can manage pricing for your apps and in-app purchases within App Store Connect and the App Store Connect API, how to set pricing by region, and more.","title":"What\u2019s new in App Store pricing","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3BA961F0-CFBB-4D09-9AE4-147C4FD9A29E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10014\/3\/15FBC5E9-0A1F-49D3-9CDA-466E88D8E22E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10014\/3\/15FBC5E9-0A1F-49D3-9CDA-466E88D8E22E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10014\/3\/15FBC5E9-0A1F-49D3-9CDA-466E88D8E22E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10014\/3\/15FBC5E9-0A1F-49D3-9CDA-466E88D8E22E\/downloads\/wwdc2023-10014_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10014\/3\/15FBC5E9-0A1F-49D3-9CDA-466E88D8E22E\/downloads\/wwdc2023-10014_sd.mp4","duration":1601,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10117"]}},"wwdc2023-10188":{"id":"wwdc2023-10188","staticContentId":8248,"eventContentId":10188,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10188","languageCode":"eng","description":"Discover how CKSyncEngine can help you sync people\u2019s CloudKit data to iCloud. Learn how you can reduce the amount of code in your app when you let the system handle scheduling for your sync operations. We\u2019ll share how you can automatically benefit from enhanced performance as CloudKit evolves, explore testing for your sync implementation, and more.\n\nTo get the most out of this session, you should be familiar with CloudKit and CKRecord types.","title":"Sync to iCloud with CKSyncEngine","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["app","backend","cksyncengine","cloud","cloudkit","database","engine","icloud","model","object","orm","persistence","relational","share","sharing","storage","sync","sync engine","syncing"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"17532D5C-809C-4A7C-AAEB-471DB9AB08F1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10188\/3\/F63E6FC7-4329-401C-9D80-CD4E7C8A478A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10188\/3\/F63E6FC7-4329-401C-9D80-CD4E7C8A478A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10188\/3\/F63E6FC7-4329-401C-9D80-CD4E7C8A478A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10188\/3\/F63E6FC7-4329-401C-9D80-CD4E7C8A478A\/downloads\/wwdc2023-10188_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10188\/3\/F63E6FC7-4329-401C-9D80-CD4E7C8A478A\/downloads\/wwdc2023-10188_sd.mp4","duration":1382,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Intro","end":48},{"start":48,"title":"The state of sync","end":189},{"start":189,"title":"Meet CKSyncEngine","end":587},{"start":587,"title":"Getting started","end":798},{"start":798,"title":"Using CKSyncEngine","end":1165},{"start":1165,"title":"Testing and debugging","end":1347},{"start":1347,"title":"Wrap-up","end":1382}]},"related":{"activities":["wwdc2023-10338","wwdc2023-10339","wwdc2023-111495","wwdc2023-111496","wwdc2023-111544","tech-talks-10874"],"resources":[3087,3086]}},"wwdc2023-10309":{"id":"wwdc2023-10309","staticContentId":8390,"eventContentId":10309,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10309","languageCode":"eng","description":"Bring your widgets to watchOS with the new Smart Stack. We\u2019ll show you how to use standard design layouts, color and iconography, and signal-based relevancy to ensure your app\u2019s widgets are glanceable, distinctive and smart.\n\nWhen you\u2019re ready to make your own, watch this code-along: \"Build widgets for the Smart Stack on watchOS\"","title":"Design widgets for the Smart Stack on Apple Watch","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["watchOS"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"56D03FE8-0566-429A-81D2-2F6566031498","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10309\/4\/21D925C8-2EE0-4C96-9C68-96174159990A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10309\/4\/21D925C8-2EE0-4C96-9C68-96174159990A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10309\/4\/21D925C8-2EE0-4C96-9C68-96174159990A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10309\/4\/21D925C8-2EE0-4C96-9C68-96174159990A\/downloads\/wwdc2023-10309_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10309\/4\/21D925C8-2EE0-4C96-9C68-96174159990A\/downloads\/wwdc2023-10309_sd.mp4","duration":746,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":35,"title":"Design intent of the Smart Stack","end":110},{"start":110,"title":"Interaction with the Smart Stack","end":151},{"start":151,"title":"Layouts","end":414},{"start":414,"title":"Color and iconography","end":522},{"start":522,"title":"Sessions","end":601},{"start":601,"title":"Relevancy","end":746}]},"related":{"activities":["wwdc2023-10026","wwdc2023-10029","wwdc2023-111522"],"resources":[924,923,815,430]}},"wwdc2023-10260":{"id":"wwdc2023-10260","staticContentId":8329,"eventContentId":10260,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10260","languageCode":"eng","description":"Get ready to develop apps and games for visionOS! Discover the fundamental building blocks that make up spatial computing \u2014 windows, volumes, and spaces \u2014 and find out how you can use these elements to build engaging and immersive experiences.","title":"Get started with building apps for spatial computing","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["macOS","visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E765E580-31FE-4B34-9A5C-42CAEA319024","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10260\/4\/B4DC13C8-DE9B-4FD2-B413-018357E5E5F7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10260\/4\/B4DC13C8-DE9B-4FD2-B413-018357E5E5F7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10260\/4\/B4DC13C8-DE9B-4FD2-B413-018357E5E5F7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10260\/4\/B4DC13C8-DE9B-4FD2-B413-018357E5E5F7\/downloads\/wwdc2023-10260_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10260\/4\/B4DC13C8-DE9B-4FD2-B413-018357E5E5F7\/downloads\/wwdc2023-10260_sd.mp4","duration":1915,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10072","wwdc2023-10080","wwdc2023-10083","wwdc2023-10088","wwdc2023-10099","wwdc2023-10109","wwdc2023-10203"]}},"wwdc2023-10094":{"id":"wwdc2023-10094","staticContentId":8148,"eventContentId":10094,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10094","languageCode":"eng","description":"Get ready to enhance your iPad and iPhone apps for the Shared Space! We\u2019ll show you how to optimize your experience to make it feel great on visionOS and explore Designed for iPad app interaction, visual treatments, and media.","title":"Enhance your iPad and iPhone apps for the Shared Space","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","visionOS"],"primaryTopicID":100,"topicIds":[88,85,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D01F66A3-84D8-491E-B579-6788B3E103B5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10094\/4\/701039CD-C751-471F-A029-A2407B622C61\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10094\/4\/701039CD-C751-471F-A029-A2407B622C61\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10094\/4\/701039CD-C751-471F-A029-A2407B622C61\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10094\/4\/701039CD-C751-471F-A029-A2407B622C61\/downloads\/wwdc2023-10094_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10094\/4\/701039CD-C751-471F-A029-A2407B622C61\/downloads\/wwdc2023-10094_sd.mp4","duration":723,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":60,"title":"Interaction","end":475},{"start":475,"title":"Visuals","end":537},{"start":537,"title":"Media","end":723}]},"related":{"activities":["wwdc2023-10012","wwdc2023-10090","wwdc2023-10096","wwdc2020-10614"]}},"wwdc2023-10278":{"id":"wwdc2023-10278","staticContentId":8349,"eventContentId":10278,"eventId":"wwdc2023","contentUpdatedAt":"2025-02-21T11:17:06-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10278","languageCode":"eng","description":"Learn how Xcode Cloud can help teams of all shapes and sizes in their development process. We\u2019ll share different ways to configure actions to help you create simple yet powerful workflows, and show you how to extend Xcode Cloud when you integrate with additional tools.","title":"Create practical workflows in Xcode Cloud","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D95F42F1-3BFE-46F1-B253-4019905518C4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10278\/4\/A5414C99-EB05-48CC-B09F-9A322FBEF0C6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10278\/4\/A5414C99-EB05-48CC-B09F-9A322FBEF0C6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10278\/4\/A5414C99-EB05-48CC-B09F-9A322FBEF0C6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10278\/4\/A5414C99-EB05-48CC-B09F-9A322FBEF0C6\/downloads\/wwdc2023-10278_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10278\/4\/A5414C99-EB05-48CC-B09F-9A322FBEF0C6\/downloads\/wwdc2023-10278_sd.mp4","duration":1716,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":75,"title":"Case Study 1: Solo developer","end":153},{"start":153,"title":"What is a workflow","end":416},{"start":416,"title":"Custom scripts","end":453},{"start":453,"title":"Case Study 2: Medium-sized team","end":578},{"start":578,"title":"Pull Request build start condition","end":878},{"start":878,"title":"Changing the App Icon","end":1194},{"start":1194,"title":"Case Study 3: Large team","end":1465},{"start":1465,"title":"Running tests reliably","end":1608},{"start":1608,"title":"Extending Xcode Cloud","end":1716}]},"related":{"activities":["wwdc2023-10290","wwdc2023-10293","wwdc2023-111279","wwdc2023-111280","wwdc2023-111281","wwdc2023-111282","wwdc2023-111283","wwdc2023-111284","wwdc2022-110361","wwdc2022-110375","wwdc2021-10269","tech-talks-111369"],"resources":[3122,3121,3120,1653,1652,1651,1648,1647,1646]}},"wwdc2023-10108":{"id":"wwdc2023-10108","staticContentId":8162,"eventContentId":10108,"eventId":"wwdc2023","contentUpdatedAt":"2025-08-05T12:08:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10108","languageCode":"eng","description":"Waiting is no fun! Discover how Background Assets can help your app download content before it even launches. We\u2019ll show you how to integrate Background Assets into an existing app, explore when to use essential or non-essential assets, and learn how to make debugging your extension a breeze.","title":"What\u2019s new in Background Assets","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":83,"topicIds":[91,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EAE2FCD1-A69A-465D-B7D2-D420E6C4B175","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10108\/4\/ABFECE71-93F9-4920-8A81-C99BB04A5FF3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10108\/4\/ABFECE71-93F9-4920-8A81-C99BB04A5FF3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10108\/4\/ABFECE71-93F9-4920-8A81-C99BB04A5FF3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10108\/4\/ABFECE71-93F9-4920-8A81-C99BB04A5FF3\/downloads\/wwdc2023-10108_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10108\/4\/ABFECE71-93F9-4920-8A81-C99BB04A5FF3\/downloads\/wwdc2023-10108_sd.mp4","duration":2039,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-111608","wwdc2022-110403","tech-talks-111372"],"resources":[3146,2356]}},"wwdc2023-10156":{"id":"wwdc2023-10156","staticContentId":8213,"eventContentId":10156,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10156","languageCode":"eng","description":"Explore SwiftUI\u2019s powerful animation capabilities and find out how these features work together to produce impressive visual effects. Learn how SwiftUI refreshes the rendering of a view, determines what to animate, interpolates values over time, and propagates context for the current transaction.","title":"Explore SwiftUI animation","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"254F7B76-12FC-4CD8-BBD6-D8111D0DBB33","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10156\/4\/9C42B457-119B-4939-B635-598E91D22BD6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10156\/4\/9C42B457-119B-4939-B635-598E91D22BD6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10156\/4\/9C42B457-119B-4939-B635-598E91D22BD6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10156\/4\/9C42B457-119B-4939-B635-598E91D22BD6\/downloads\/wwdc2023-10156_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10156\/4\/9C42B457-119B-4939-B635-598E91D22BD6\/downloads\/wwdc2023-10156_sd.mp4","duration":1801,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":63,"title":"Anatomy of an update","end":400},{"start":400,"title":"Animatable","end":696},{"start":696,"title":"Animation","end":1200},{"start":1200,"title":"Transaction","end":1801}]},"related":{"activities":["wwdc2023-10043","wwdc2023-10148","wwdc2023-10157","wwdc2023-10158","wwdc2023-10160"]}},"wwdc2023-10091":{"id":"wwdc2023-10091","staticContentId":8145,"eventContentId":10091,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10091","languageCode":"eng","description":"Discover how you can bring your app\u2019s AR experience to visionOS. Learn how ARKit and RealityKit have evolved for spatial computing: We\u2019ll highlight conceptual and API changes for those coming from iPadOS and iOS and guide you to sessions with more details to help you bring your AR experience to this platform.","title":"Evolve your ARKit app for spatial experiences","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","visionOS"],"primaryTopicID":85,"topicIds":[100,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6829029B-E6B0-482D-BD4F-B3B103CBC427","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10091\/4\/8582CCE8-B637-4A9F-94F5-69EE67ED58D4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10091\/4\/8582CCE8-B637-4A9F-94F5-69EE67ED58D4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10091\/4\/8582CCE8-B637-4A9F-94F5-69EE67ED58D4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10091\/4\/8582CCE8-B637-4A9F-94F5-69EE67ED58D4\/downloads\/wwdc2023-10091_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10091\/4\/8582CCE8-B637-4A9F-94F5-69EE67ED58D4\/downloads\/wwdc2023-10091_sd.mp4","duration":1661,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10080","wwdc2023-10082","wwdc2023-10083","wwdc2023-10090","wwdc2023-10352","wwdc2023-111191"]}},"wwdc2023-10160":{"id":"wwdc2023-10160","staticContentId":8217,"eventContentId":10160,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-16T14:47:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10160","languageCode":"eng","description":"Learn how you can build a mental model for performance in SwiftUI and write faster, more efficient code. We\u2019ll share some of the common causes behind performance issues and help you triage hangs and hitches in SwiftUI to create more responsive views in your app.","title":"Demystify SwiftUI performance","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D23E4B9B-766E-4E07-BA87-CD6EFD92BB77","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10160\/4\/0FB203F2-03CD-4D44-B33B-C568C5A64F63\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10160\/4\/0FB203F2-03CD-4D44-B33B-C568C5A64F63\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10160\/4\/0FB203F2-03CD-4D44-B33B-C568C5A64F63\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10160\/4\/0FB203F2-03CD-4D44-B33B-C568C5A64F63\/downloads\/wwdc2023-10160_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10160\/4\/0FB203F2-03CD-4D44-B33B-C568C5A64F63\/downloads\/wwdc2023-10160_sd.mp4","duration":1308,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction and performance feedback loop","end":210},{"start":210,"title":"Dependencies","end":648},{"start":648,"title":"Faster view updates","end":804},{"start":804,"title":"Identity in List and Table","end":1308}]},"related":{"activities":["wwdc2023-10149","wwdc2023-10156","wwdc2023-10248","wwdc2021-10022","tech-talks-10855"]}},"wwdc2023-10127":{"id":"wwdc2023-10127","staticContentId":8184,"eventContentId":10127,"eventId":"wwdc2023","contentUpdatedAt":"2025-01-15T14:08:43-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10127","languageCode":"eng","description":"Discover how to optimize your GPU renderer using the latest Metal features and best practices. We\u2019ll show you how to use function specialization and parallel shader compilation to maintain responsive authoring workflows and the fastest rendering speeds, and help you tune your compute shaders for optimal performance.","title":"Optimize GPU renderers with Metal","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":91,"topicIds":[88,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C0A8E0FC-4497-4B44-A8A2-270A501D5E0E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10127\/4\/3C0D2C8A-18E1-4D60-8A77-71F7166622AE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10127\/4\/3C0D2C8A-18E1-4D60-8A77-71F7166622AE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10127\/4\/3C0D2C8A-18E1-4D60-8A77-71F7166622AE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10127\/4\/3C0D2C8A-18E1-4D60-8A77-71F7166622AE\/downloads\/wwdc2023-10127_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10127\/4\/3C0D2C8A-18E1-4D60-8A77-71F7166622AE\/downloads\/wwdc2023-10127_sd.mp4","duration":1017,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Intro","end":120},{"start":120,"title":"Maximize shader performance","end":465},{"start":465,"title":"Asynchronous compilation","end":610},{"start":610,"title":"Fast runtime compilation","end":766},{"start":766,"title":"Tune compiler options","end":970},{"start":970,"title":"Wrap-Up","end":1017}]},"related":{"activities":["wwdc2023-111269","wwdc2023-111270","wwdc2023-111287","wwdc2023-111288","wwdc2022-10102","wwdc2022-10159","wwdc2021-10229","tech-talks-111373"],"resources":[38]}},"wwdc2023-111486":{"id":"wwdc2023-111486","staticContentId":8745,"eventContentId":111486,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-05T11:08:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111486","languageCode":"eng","description":"Here\u2019s your guide to some of the big (and little) things announced on the first day of WWDC.","title":"17 big & little things at WWDC23","originalPublishingDate":"2023-06-05T12:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","keywords":["recap"],"primaryTopicID":90,"topicIds":[90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"89EA85B6-F54B-439B-9334-9F409115CAD4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111486\/1\/E48AB1B2-961B-4614-91E7-45A9FAF3D835\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111486\/1\/E48AB1B2-961B-4614-91E7-45A9FAF3D835\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111486\/1\/E48AB1B2-961B-4614-91E7-45A9FAF3D835\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111486\/1\/E48AB1B2-961B-4614-91E7-45A9FAF3D835\/downloads\/wwdc2023-111486_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111486\/1\/E48AB1B2-961B-4614-91E7-45A9FAF3D835\/downloads\/wwdc2023-111486_sd.mp4","duration":135,"availableAudioLanguageCodes":["eng"]}},"wwdc2023-10186":{"id":"wwdc2023-10186","staticContentId":8246,"eventContentId":10186,"eventId":"wwdc2023","contentUpdatedAt":"2025-02-21T12:16:54-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10186","languageCode":"eng","description":"Elevate your app\u2019s data persistence with improvements in Core Data. Learn how you can use composite attributes to create more intuitive data models. We\u2019ll also show you how to migrate your schema through disruptive changes, when to defer intense migrations, and how to avoid overhead on a person\u2019s device.\n\nTo get the most out of this session, you should be familiar with handling different data types in Core Data as well as the basics of lightweight migration.","title":"What\u2019s new in Core Data","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["coredata","core data","custom","custom migration","data","data model","defer","deferred","deferred migration","lightweight","lightweight migration","migration","model","persistence","swift","swift data"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A5AA5A32-E5EC-4E3A-904F-E2684A802616","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10186\/4\/169A3CA9-FA4A-40D0-A3A5-3635916BBCCE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10186\/4\/169A3CA9-FA4A-40D0-A3A5-3635916BBCCE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10186\/4\/169A3CA9-FA4A-40D0-A3A5-3635916BBCCE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10186\/4\/169A3CA9-FA4A-40D0-A3A5-3635916BBCCE\/downloads\/wwdc2023-10186_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10186\/4\/169A3CA9-FA4A-40D0-A3A5-3635916BBCCE\/downloads\/wwdc2023-10186_sd.mp4","duration":1403,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Intro","end":56},{"start":56,"title":"Composite attributes","end":391},{"start":391,"title":"Stage your migrations","end":1103},{"start":1103,"title":"Defer your migrations","end":1353},{"start":1353,"title":"Wrap-up","end":1403}]},"related":{"activities":["wwdc2023-10330","wwdc2023-111450","wwdc2023-111499","wwdc2023-111500","wwdc2022-10120"],"resources":[2499,161]}},"wwdc2023-10148":{"id":"wwdc2023-10148","staticContentId":8205,"eventContentId":10148,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10148","languageCode":"eng","description":"Learn how you can use SwiftUI to build great apps for all Apple platforms. Explore the latest updates to SwiftUI and discover new scene types for visionOS. Simplify your data models with the latest data flow options and learn about the Inspector view. We\u2019ll also take you through enhanced animation APIs, powerful ScrollView improvements, and a host of refinements to help you make tidier tables, improve focus and keyboard input, and so much more.","title":"What\u2019s new in SwiftUI","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"766BF7E5-AAC2-43B5-BCDB-46CEA9773E12","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10148\/5\/670CE43A-A151-47A9-BBFA-32FE5E86C679\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10148\/5\/670CE43A-A151-47A9-BBFA-32FE5E86C679\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10148\/5\/670CE43A-A151-47A9-BBFA-32FE5E86C679\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10148\/5\/670CE43A-A151-47A9-BBFA-32FE5E86C679\/downloads\/wwdc2023-10148_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10148\/5\/670CE43A-A151-47A9-BBFA-32FE5E86C679\/downloads\/wwdc2023-10148_sd.mp4","duration":2042,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":65,"title":"SwiftUI in more places  ","end":621},{"start":621,"title":"Simplified data flow","end":1126},{"start":1126,"title":"Extraordinary animations","end":1638},{"start":1638,"title":"Enhanced interactions","end":2042}]},"related":{"activities":["wwdc2023-10013","wwdc2023-10036","wwdc2023-10037","wwdc2023-10043","wwdc2023-10109","wwdc2023-10138","wwdc2023-10149","wwdc2023-10154","wwdc2023-10156","wwdc2023-10157","wwdc2023-10158","wwdc2023-10159","wwdc2023-10161","wwdc2023-10162","wwdc2023-10164","wwdc2023-10187","wwdc2023-10252","wwdc2023-10258"],"resources":[3036]}},"wwdc2023-10170":{"id":"wwdc2023-10170","staticContentId":8227,"eventContentId":10170,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-16T14:48:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10170","languageCode":"eng","description":"It\u2019s all about the task tree: Find out how structured concurrency can help your apps manage automatic task cancellation, task priority propagation, and useful task-local value patterns. Learn how to manage resources in your app with useful patterns and the latest task group APIs. We\u2019ll show you how you can leverage the power of the task tree and task-local values to gain insight into distributed systems.\n\nBefore watching, review the basics of Swift Concurrency and structured concurrency by checking out \u201cSwift concurrency: Behind the scenes\u201d and \u201cExplore structured concurrency in Swift\u201d from WWDC21.","title":"Beyond the basics of structured concurrency","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CEAA4280-ACF6-4261-A8B6-4DF842625663","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10170\/5\/4608ED1F-4D83-4444-83A0-DF3EACCE4369\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10170\/5\/4608ED1F-4D83-4444-83A0-DF3EACCE4369\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10170\/5\/4608ED1F-4D83-4444-83A0-DF3EACCE4369\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10170\/5\/4608ED1F-4D83-4444-83A0-DF3EACCE4369\/downloads\/wwdc2023-10170_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10170\/5\/4608ED1F-4D83-4444-83A0-DF3EACCE4369\/downloads\/wwdc2023-10170_sd.mp4","duration":1462,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":56,"title":"Structured concurrency","end":191},{"start":191,"title":"Task tree","end":224},{"start":224,"title":"Task cancellation","end":326},{"start":326,"title":"withTaskCancellationHandler","end":516},{"start":516,"title":"Task priority","end":623},{"start":623,"title":"Patterns with task groups","end":687},{"start":687,"title":"Limiting concurrent tasks in TaskGroups","end":742},{"start":742,"title":"DiscardingTaskGroup","end":833},{"start":833,"title":"Task-local values","end":1018},{"start":1018,"title":"swift-log","end":1039},{"start":1039,"title":"MetadataProvider","end":1138},{"start":1138,"title":"Task traces","end":1186},{"start":1186,"title":"Swift-Distributed-Tracing","end":1242},{"start":1242,"title":"Instrumenting distributed computations","end":1418},{"start":1418,"title":"Wrap-up","end":1462}]},"related":{"activities":["wwdc2023-10164","wwdc2023-111307","wwdc2023-111308","wwdc2023-111309","wwdc2023-111310","wwdc2023-111311","wwdc2023-111312","wwdc2022-110350","wwdc2021-10134","wwdc2021-10212","wwdc2021-10254"],"resources":[3123]}},"wwdc2023-10128":{"id":"wwdc2023-10128","staticContentId":8185,"eventContentId":10128,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:54-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10128","languageCode":"eng","description":"Discover how you can enhance the visual quality of your games and apps with Metal ray tracing. We\u2019ll take you through the fundamentals of the Metal ray tracing API. Explore the latest enhancements and techniques that will enable you to create larger and more complex scenes, reduce memory usage and build times, and efficiently render visual content like hair and fur.","title":"Your guide to Metal ray tracing","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"320796C4-AA82-42B0-9754-35C5A50AF085","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10128\/5\/D57CE53D-520E-44FB-99BA-4E63AA58C47C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10128\/5\/D57CE53D-520E-44FB-99BA-4E63AA58C47C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10128\/5\/D57CE53D-520E-44FB-99BA-4E63AA58C47C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10128\/5\/D57CE53D-520E-44FB-99BA-4E63AA58C47C\/downloads\/wwdc2023-10128_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10128\/5\/D57CE53D-520E-44FB-99BA-4E63AA58C47C\/downloads\/wwdc2023-10128_sd.mp4","duration":1918,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":9,"title":"Intro","end":110},{"start":110,"title":"Build your scene","end":588},{"start":588,"title":"Scale with instancing","end":1054},{"start":1054,"title":"Build with parallelization ","end":1114},{"start":1114,"title":"Refitting","end":1187},{"start":1187,"title":"Compaction","end":1274},{"start":1274,"title":"Intersect rays","end":1576},{"start":1576,"title":"Debug and profile","end":1842},{"start":1842,"title":"Wrap-Up","end":1918}]},"related":{"activities":["wwdc2023-111269","wwdc2023-111270","wwdc2023-111287","wwdc2023-111288","wwdc2022-10105","wwdc2021-10149","wwdc2021-10150","wwdc2020-10012","tech-talks-111373","tech-talks-111374","tech-talks-111375"],"resources":[2223,880,365]}},"wwdc2023-10274":{"id":"wwdc2023-10274","staticContentId":8343,"eventContentId":10274,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-16T14:49:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10274","languageCode":"eng","description":"Discover best practices when creating 3D content for Quick Look on visionOS. We\u2019ll explore a few different ways to prepare your models for Quick Look, cover important considerations for 3D quality and performance, and show you how to use Reality Composer Pro and Reality Trace to inspect and fine-tune your content.","title":"Create 3D models for Quick Look spatial experiences ","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A35C4DD6-2826-4415-9EA0-6055DFD5653F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10274\/4\/4A316968-7638-42C9-AAD2-2B26F8A8B1F5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10274\/4\/4A316968-7638-42C9-AAD2-2B26F8A8B1F5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10274\/4\/4A316968-7638-42C9-AAD2-2B26F8A8B1F5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10274\/4\/4A316968-7638-42C9-AAD2-2B26F8A8B1F5\/downloads\/wwdc2023-10274_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10274\/4\/4A316968-7638-42C9-AAD2-2B26F8A8B1F5\/downloads\/wwdc2023-10274_sd.mp4","duration":1325,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10085","wwdc2023-10086","wwdc2023-10100","wwdc2023-111194","wwdc2023-111202"]}},"wwdc2023-10002":{"id":"wwdc2023-10002","staticContentId":8014,"eventContentId":10002,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10002","languageCode":"eng","description":"Learn how relays can make your app\u2019s network traffic more private and secure without the overhead of a VPN. We\u2019ll show you how to integrate relay servers in your own app and explore how enterprise networks can use relays to securely access internal resources.","title":"Ready, set, relay: Protect app traffic with network relays","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"ED5C8375-B42D-4D14-8BA2-D91C6CEA93A6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10002\/5\/F08830EB-6B56-4461-837E-ADE708BAA71C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10002\/5\/F08830EB-6B56-4461-837E-ADE708BAA71C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10002\/5\/F08830EB-6B56-4461-837E-ADE708BAA71C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10002\/5\/F08830EB-6B56-4461-837E-ADE708BAA71C\/downloads\/wwdc2023-10002_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10002\/5\/F08830EB-6B56-4461-837E-ADE708BAA71C\/downloads\/wwdc2023-10002_sd.mp4","duration":739,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Welcome","end":56},{"start":56,"title":"Discover relays","end":220},{"start":220,"title":"Configure relays in your app","end":421},{"start":421,"title":"Access enterprise resources","end":739}]},"related":{"activities":["wwdc2023-10040","wwdc2023-10053","wwdc2021-10096"],"resources":[3079,3078]}},"wwdc2023-10036":{"id":"wwdc2023-10036","staticContentId":8064,"eventContentId":10036,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10036","languageCode":"eng","description":"Discover how advancements in UI frameworks make it easier to build rich, accessible experiences. Find out how technologies like VoiceOver can better interact with your app\u2019s interface through accessibility traits and actions. We\u2019ll share the latest updates to SwiftUI that help you refine your accessibility experience and show you how to keep accessibility information up-to-date in your UIKit apps.","title":"Build accessible apps with SwiftUI and UIKit","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D0CC0FAC-069A-45B5-873F-55365CE0EB21","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10036\/4\/BB960BFD-F982-4800-8060-5674B049AC5A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10036\/4\/BB960BFD-F982-4800-8060-5674B049AC5A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10036\/4\/BB960BFD-F982-4800-8060-5674B049AC5A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10036\/4\/BB960BFD-F982-4800-8060-5674B049AC5A\/downloads\/wwdc2023-10036_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10036\/4\/BB960BFD-F982-4800-8060-5674B049AC5A\/downloads\/wwdc2023-10036_sd.mp4","duration":939,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Welcome","end":90},{"start":90,"title":"Explore the toggle trait","end":166},{"start":166,"title":"Discover multi-platform accessibility announcements","end":238},{"start":238,"title":"Assign priority to announcements","end":396},{"start":396,"title":"Meet the zoom action","end":480},{"start":480,"title":"Refine VoiceOver direct touch experiences","end":668},{"start":668,"title":"Customize accessibility content shapes in SwiftUI","end":768},{"start":768,"title":"Keep accessibility attributes up-to-date in UIKit using block-based setters","end":939}]},"related":{"activities":["wwdc2023-10148"],"resources":[3088,1730]}},"wwdc2023-111":{"id":"wwdc2023-111","staticContentId":8918,"eventContentId":111,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-08T15:33:43-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111","languageCode":"eng","description":"The Apple Worldwide Developers Conference kicks off with exciting news, inspiration, and new opportunities. Join the worldwide developer community for an in-depth look at the future of Apple platforms, directly from Apple Park.","title":"Keynote (ASL)","startTime":"2023-06-05T10:00:00-07:00","endTime":"2023-06-05T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"49B27EB6-C180-4BB1-9377-CA8C72460EC5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/events-delivery.apple.com\/0105cftwpxxsfrpdwklppzjhjocakrsk\/m3u8\/vod_asl_index-VarXEuYrcgUoooHZBgdsQwETDYdXjqsx.m3u8","duration":7570,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["de","en","es","fr","ja","ko","zh"],"chapters":[{"start":189,"title":"Mac","end":1009},{"start":1009,"title":"iOS","end":2072},{"start":2072,"title":"iPadOS","end":2594},{"start":2594,"title":"macOS","end":3422},{"start":3422,"title":"Audio & Home","end":3894},{"start":3894,"title":"watchOS","end":4837},{"start":4837,"title":"Apple Vision Pro","end":7570}]}},"wwdc2023-101":{"id":"wwdc2023-101","staticContentId":8746,"eventContentId":101,"eventId":"wwdc2023","contentUpdatedAt":"2023-10-31T16:27:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/101","languageCode":"eng","description":"The Apple Worldwide Developers Conference kicks off with exciting news, inspiration, and new opportunities. Join the worldwide developer community for an in-depth look at the future of Apple platforms, directly from Apple Park.","title":"Keynote","startTime":"2023-06-05T10:00:00-07:00","endTime":"2023-06-05T12:00:00-07:00","originalPublishingDate":"2023-06-05T10:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"38C38CDF-622F-4053-92CB-5C27AD7A0D10","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/events-delivery.apple.com\/0105cftwpxxsfrpdwklppzjhjocakrsk\/m3u8\/vod_index-PQsoJoECcKHTYzphNkXohHsQWACugmET.m3u8","duration":7570,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["de","en","es","fr","ja","ko","zh"],"chapters":[{"start":189,"title":"Mac","end":1009},{"start":1009,"title":"iOS","end":2072},{"start":2072,"title":"iPadOS","end":2594},{"start":2594,"title":"macOS","end":3422},{"start":3422,"title":"Audio & Home","end":3894},{"start":3894,"title":"watchOS","end":4837},{"start":4837,"title":"Apple Vision Pro","end":7570}]}},"wwdc2023-112":{"id":"wwdc2023-112","staticContentId":8848,"eventContentId":112,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-08T12:41:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/112","languageCode":"eng","description":"Learn about the latest tools, technologies, and advancements to help you create even better apps across Apple platforms, including the all-new visionOS.","title":"Platforms State of the Union (ASL)","startTime":"2023-06-05T13:30:00-07:00","endTime":"2023-06-05T15:00:00-07:00","originalPublishingDate":"2023-06-05T13:30:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["asl","sotu","sotu 2023"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"0685965A-19B0-4DF8-BF01-EA7A60CBB3E0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/112\/1\/A1C9C2E0-5194-4D73-BA9C-D6C540CC1A7C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/112\/1\/A1C9C2E0-5194-4D73-BA9C-D6C540CC1A7C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/112\/1\/A1C9C2E0-5194-4D73-BA9C-D6C540CC1A7C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/112\/1\/A1C9C2E0-5194-4D73-BA9C-D6C540CC1A7C\/downloads\/wwdc2023-112_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/112\/1\/A1C9C2E0-5194-4D73-BA9C-D6C540CC1A7C\/downloads\/wwdc2023-112_sd.mp4","duration":5374,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["de","en","es","fr","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":243},{"start":243,"title":"Swift, SwiftUI, SwiftData","end":1162},{"start":1162,"title":"WidgetKit, App Intents, TipKit, AirDrop","end":1623},{"start":1623,"title":"Gaming, Camera, Video conferencing, watchOS","end":2381},{"start":2381,"title":"Accessibility, Privacy, App Store","end":3141},{"start":3141,"title":"Xcode","end":3630},{"start":3630,"title":"visionOS","end":5286},{"start":5286,"title":"Conclusion","end":5374}]}},"wwdc2023-10168":{"id":"wwdc2023-10168","staticContentId":8225,"eventContentId":10168,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10168","languageCode":"eng","description":"Swift parameter packs are a powerful tool to expand what is possible in your generic code while also enabling you to simplify common generic patterns. We\u2019ll show you how to abstract over types as well as the number of arguments in generic code and simplify common generic patterns to avoid overloads.\n\nTo get the most out of this session, we recommend first checking out \u201cEmbrace Swift generics\" from WWDC22.","title":"Generalize APIs with parameter packs","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"25744269-B8A3-4AD3-8857-A5C1AD59ED4D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10168\/4\/C4DB8728-EFE7-49D9-B61E-3061B8F31EF5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10168\/4\/C4DB8728-EFE7-49D9-B61E-3061B8F31EF5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10168\/4\/C4DB8728-EFE7-49D9-B61E-3061B8F31EF5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10168\/4\/C4DB8728-EFE7-49D9-B61E-3061B8F31EF5\/downloads\/wwdc2023-10168_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10168\/4\/C4DB8728-EFE7-49D9-B61E-3061B8F31EF5\/downloads\/wwdc2023-10168_sd.mp4","duration":1104,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":52},{"start":52,"title":"What parameter packs solve","end":248},{"start":248,"title":"How to read parameter packs","end":726},{"start":726,"title":"Using parameter packs","end":1042},{"start":1042,"title":"Wrap up","end":1104}]},"related":{"activities":["wwdc2023-10164","wwdc2023-111307","wwdc2023-111308","wwdc2023-111310","wwdc2023-111311","wwdc2023-111312","wwdc2022-110352","wwdc2022-110353"]}},"wwdc2023-111488":{"id":"wwdc2023-111488","staticContentId":8747,"eventContentId":111488,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111488","languageCode":"eng","description":"There\u2019s never been a better time to create for Apple platforms \u2014 including iOS, iPadOS, macOS, tvOS, and all-new visionOS.\n\nGet insights from Apple engineers and designers with over 175 brand-new instructional video sessions covering the latest in hardware and software. \n\nAll to help bring your ideas to over two billion Apple devices worldwide.","title":"What Apple developers need to know at WWDC23","originalPublishingDate":"2023-06-05T15:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","keywords":["recap"],"primaryTopicID":90,"topicIds":[90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"38DDE7DB-B6F7-4AEA-8A6E-CF3BC75AC76F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111488\/1\/B9EE6A67-C5D1-4554-905E-697296D08CA0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111488\/1\/B9EE6A67-C5D1-4554-905E-697296D08CA0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111488\/1\/B9EE6A67-C5D1-4554-905E-697296D08CA0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111488\/1\/B9EE6A67-C5D1-4554-905E-697296D08CA0\/downloads\/wwdc2023-111488_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111488\/1\/B9EE6A67-C5D1-4554-905E-697296D08CA0\/downloads\/wwdc2023-111488_sd.mp4","duration":71,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]}},"wwdc2023-10238":{"id":"wwdc2023-10238","staticContentId":8302,"eventContentId":10238,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10238","languageCode":"eng","description":"Learn how you can upgrade your app\u2019s AirPlay audio experience to be more robust and responsive. We\u2019ll show you how to adopt enhanced audio buffering with AVQueuePlayer, explore alternatives when building a custom player in your app, and share best practices.","title":"Tune up your AirPlay audio experience","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F3588CA1-6994-4141-86D0-EC9312BF7569","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10238\/4\/5BA02CFE-52D4-497B-BD99-75E591F41885\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10238\/4\/5BA02CFE-52D4-497B-BD99-75E591F41885\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10238\/4\/5BA02CFE-52D4-497B-BD99-75E591F41885\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10238\/4\/5BA02CFE-52D4-497B-BD99-75E591F41885\/downloads\/wwdc2023-10238_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10238\/4\/5BA02CFE-52D4-497B-BD99-75E591F41885\/downloads\/wwdc2023-10238_sd.mp4","duration":633,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":42,"title":"AirPlay Overview","end":103},{"start":103,"title":"Enhanced audio buffering","end":234},{"start":234,"title":"Add support to your app","end":633}]},"related":{"activities":["wwdc2023-10104","wwdc2023-10150","wwdc2023-10275","wwdc2023-111341"],"resources":[3042,3041]}},"wwdc2023-10110":{"id":"wwdc2023-10110","staticContentId":8164,"eventContentId":10110,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10110","languageCode":"eng","description":"Discover how you can bring your multiplatform SwiftUI app to visionOS and the Shared Space. We\u2019ll show you how to add the visionOS destination to an existing app and view your app in the Simulator. Explore how your SwiftUI code automatically adapts to support the unique context and presentation of the visionOS platform. Learn how you can update custom views, improve your app\u2019s UI, and add features and controls specific to this platform.","title":"Elevate your windowed app for spatial computing","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":100,"topicIds":[85,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"18E0AD10-D300-4784-9FE6-21F4A55A50D1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10110\/5\/7FE373BF-8322-4D59-A758-7540978E58C5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10110\/5\/7FE373BF-8322-4D59-A758-7540978E58C5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10110\/5\/7FE373BF-8322-4D59-A758-7540978E58C5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10110\/5\/7FE373BF-8322-4D59-A758-7540978E58C5\/downloads\/wwdc2023-10110_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10110\/5\/7FE373BF-8322-4D59-A758-7540978E58C5\/downloads\/wwdc2023-10110_sd.mp4","duration":956,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":110,"title":"SwiftUI in the Shared Space","end":299},{"start":299,"title":"Polishing your app","end":728},{"start":728,"title":"Brand new concepts","end":956}]},"related":{"activities":["wwdc2023-10053","wwdc2023-10090","wwdc2023-10109","wwdc2023-10111","wwdc2023-10113","wwdc2023-111215"]}},"wwdc2023-10086":{"id":"wwdc2023-10086","staticContentId":8140,"eventContentId":10086,"eventId":"wwdc2023","contentUpdatedAt":"2025-07-02T17:11:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10086","languageCode":"eng","description":"Discover the latest updates to Universal Scene Description (USD) on Apple platforms and learn how you can deliver great 3D content for your apps, games, and websites. Get to know USD for visionOS, explore MaterialX shaders and color management, and find out about some of the other improvements to the USD ecosystem.","title":"Explore the USD ecosystem","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"primaryTopicID":91,"topicIds":[85,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EB296C1F-D0B6-40D0-A571-E39DC08AE9CB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10086\/5\/5ABD74BE-D973-47C9-9A9F-1F5AABE02C1A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10086\/5\/5ABD74BE-D973-47C9-9A9F-1F5AABE02C1A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10086\/5\/5ABD74BE-D973-47C9-9A9F-1F5AABE02C1A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10086\/5\/5ABD74BE-D973-47C9-9A9F-1F5AABE02C1A\/downloads\/wwdc2023-10086_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10086\/5\/5ABD74BE-D973-47C9-9A9F-1F5AABE02C1A\/downloads\/wwdc2023-10086_sd.mp4","duration":866,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10080","wwdc2023-10083","wwdc2023-10202","wwdc2023-10274","wwdc2023-111193","wwdc2023-111203"],"resources":[3077]}},"wwdc2023-10120":{"id":"wwdc2023-10120","staticContentId":8177,"eventContentId":10120,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10120","languageCode":"eng","description":"Discover web apps for Mac \u2014 a powerful way to experience your website from the Dock. Learn how you can customize your web app to give people the best experience when they add your site. We\u2019ll also share how to take advantage of push notifications and badging for web apps for Mac and Home Screen web apps for iOS and iPadOS.","title":"What\u2019s new in web apps","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3DBE8A67-20D4-462D-80A5-D9F5F547DCE4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10120\/4\/C81200EB-45AA-47BF-B173-AD1D2EFE80C6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10120\/4\/C81200EB-45AA-47BF-B173-AD1D2EFE80C6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10120\/4\/C81200EB-45AA-47BF-B173-AD1D2EFE80C6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10120\/4\/C81200EB-45AA-47BF-B173-AD1D2EFE80C6\/downloads\/wwdc2023-10120_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10120\/4\/C81200EB-45AA-47BF-B173-AD1D2EFE80C6\/downloads\/wwdc2023-10120_sd.mp4","duration":955,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10118","wwdc2023-10121","wwdc2022-10048","wwdc2022-10092","wwdc2022-10098"],"resources":[2364,2362,773,765]}},"wwdc2023-10070":{"id":"wwdc2023-10070","staticContentId":8120,"eventContentId":10070,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-16T14:46:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10070","languageCode":"eng","description":"Get ready to support video in your visionOS app! Take a tour of the frameworks and APIs that power video playback and learn how you can update your app to play 3D content. We\u2019ll also share tips for customizing playback to create a more immersive watching experience.","title":"Create a great spatial playback experience","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":84,"topicIds":[85,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E9EE7D0D-C77D-44E2-8417-41C3AF3011E4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10070\/5\/8192B69D-E456-4AA8-94E8-9B102FFA6A3A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10070\/5\/8192B69D-E456-4AA8-94E8-9B102FFA6A3A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10070\/5\/8192B69D-E456-4AA8-94E8-9B102FFA6A3A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10070\/5\/8192B69D-E456-4AA8-94E8-9B102FFA6A3A\/downloads\/wwdc2023-10070_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10070\/5\/8192B69D-E456-4AA8-94E8-9B102FFA6A3A\/downloads\/wwdc2023-10070_sd.mp4","duration":837,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10071","wwdc2023-10100"]}},"wwdc2023-10085":{"id":"wwdc2023-10085","staticContentId":8139,"eventContentId":10085,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-16T14:46:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10085","languageCode":"eng","description":"Learn how to use Quick Look on visionOS to add powerful previews for 3D content, spatial images and videos, and much more. We\u2019ll show you the different ways that the system presents these experiences, demonstrate how someone can drag and drop Quick Look content from an app or website to create a separate window with that content, and explore how you can present Quick Look directly within an app.","title":"Discover Quick Look for spatial computing","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CDDED7B7-DC33-42C9-90CC-17E6C5DDC1B1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10085\/4\/6383EC8A-F55A-4286-A743-31FE670C9CD7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10085\/4\/6383EC8A-F55A-4286-A743-31FE670C9CD7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10085\/4\/6383EC8A-F55A-4286-A743-31FE670C9CD7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10085\/4\/6383EC8A-F55A-4286-A743-31FE670C9CD7\/downloads\/wwdc2023-10085_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10085\/4\/6383EC8A-F55A-4286-A743-31FE670C9CD7\/downloads\/wwdc2023-10085_sd.mp4","duration":684,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10192","wwdc2023-10274","wwdc2023-111194","wwdc2023-111202","wwdc2020-10604"]}},"wwdc2023-10023":{"id":"wwdc2023-10023","staticContentId":8044,"eventContentId":10023,"eventId":"wwdc2023","contentUpdatedAt":"2025-01-24T13:25:39-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10023","languageCode":"eng","description":"Learn how you can get iPhone involved in your Apple Watch-based workout apps with HealthKit. We\u2019ll show you how to mirror workouts between devices and take a ride with cycling data types. Plus, get to know HealthKit for iPad.","title":"Build a multi-device workout app","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","watchOS"],"primaryTopicID":92,"topicIds":[92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"89D31740-CFBF-4881-B092-89F63EC16DB0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10023\/4\/4BFDA0EE-E7FB-44E3-BB58-F46D18A9802C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10023\/4\/4BFDA0EE-E7FB-44E3-BB58-F46D18A9802C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10023\/4\/4BFDA0EE-E7FB-44E3-BB58-F46D18A9802C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10023\/4\/4BFDA0EE-E7FB-44E3-BB58-F46D18A9802C\/downloads\/wwdc2023-10023_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10023\/4\/4BFDA0EE-E7FB-44E3-BB58-F46D18A9802C\/downloads\/wwdc2023-10023_sd.mp4","duration":763,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10016","wwdc2023-10318","wwdc2023-10325","wwdc2021-10009","wwdc2020-10184","wwdc2018-707"],"resources":[3145,3144,3143,87]}},"wwdc2023-10241":{"id":"wwdc2023-10241","staticContentId":8305,"eventContentId":10241,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10241","languageCode":"eng","description":"Discover how to work with files and attachments in a SharePlay activity. We\u2019ll explain how to use the GroupSessionJournal API to sync large amounts of data faster and show you how to adopt it in a demo of the sample app DrawTogether.","title":"Share files with SharePlay","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["group activities"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8F25A28E-95DD-4DE8-97DA-7296972B07AB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10241\/4\/CB916690-4807-421C-AD85-6D36695D722C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10241\/4\/CB916690-4807-421C-AD85-6D36695D722C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10241\/4\/CB916690-4807-421C-AD85-6D36695D722C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10241\/4\/CB916690-4807-421C-AD85-6D36695D722C\/downloads\/wwdc2023-10241_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10241\/4\/CB916690-4807-421C-AD85-6D36695D722C\/downloads\/wwdc2023-10241_sd.mp4","duration":579,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":49,"title":"Transfer attachments","end":130},{"start":130,"title":"GroupSessionJournal","end":282},{"start":282,"title":"Late joiners","end":378},{"start":378,"title":"Adopt in DrawTogether","end":579}]},"related":{"activities":["wwdc2023-10239","wwdc2023-111355","wwdc2023-111356","wwdc2023-111533"],"resources":[2274,2273]}},"wwdc2023-10189":{"id":"wwdc2023-10189","staticContentId":8249,"eventContentId":10189,"eventId":"wwdc2023","contentUpdatedAt":"2025-06-11T14:34:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10189","languageCode":"eng","description":"Discover how you can start using SwiftData in your apps. We\u2019ll show you how to use Xcode to generate model classes from your existing Core Data object models, use SwiftData alongside your previous implementation, or even completely replace your existing solution.\n\nBefore watching this session, make sure you check out \"Meet SwiftData.\"","title":"Migrate to SwiftData","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["@attribute","coredata","core data","data","data model","macros","migration","model","@model","presistence","refactor","@relationship","swift","swiftdata","upgrade"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8C18715E-2136-4427-896D-529CDF11692E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10189\/4\/87485DA7-96D9-41FA-979E-1D0224B540C2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10189\/4\/87485DA7-96D9-41FA-979E-1D0224B540C2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10189\/4\/87485DA7-96D9-41FA-979E-1D0224B540C2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10189\/4\/87485DA7-96D9-41FA-979E-1D0224B540C2\/downloads\/wwdc2023-10189_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10189\/4\/87485DA7-96D9-41FA-979E-1D0224B540C2\/downloads\/wwdc2023-10189_sd.mp4","duration":673,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Intro","end":66},{"start":66,"title":"Generate model classes","end":185},{"start":185,"title":"Complete adoption","end":403},{"start":403,"title":"Coexists with Core Data","end":647},{"start":647,"title":"Wrap-up","end":673}]},"related":{"activities":["wwdc2023-10149","wwdc2023-10154","wwdc2023-10187","wwdc2023-10195","wwdc2023-10196","wwdc2023-10331","wwdc2023-111497","wwdc2023-111498","wwdc2023-111543"],"resources":[3085,3084]}},"wwdc2023-10196":{"id":"wwdc2023-10196","staticContentId":8258,"eventContentId":10196,"eventId":"wwdc2023","contentUpdatedAt":"2025-06-11T14:34:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10196","languageCode":"eng","description":"Learn how you can harness the power of SwiftData in your app. Find out how ModelContext and ModelContainer work together to persist your app\u2019s data. We\u2019ll show you how to track and make your changes manually and use SwiftData at scale with FetchDescriptor, SortDescriptor, and enumerate.\n\nTo get the most out of this session, we recommend first watching \"Meet SwiftData\" and \"Model your schema with SwiftData\" from WWDC23.","title":"Dive deeper into SwiftData","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["@attribute","coredata","core data","data","data model","enumerate","enumeration","fetchdescriptor","macros","model","@model","modelcontainer","modelcontext","persistence","predicate","#predicate","@relationship","sortdescriptor","swift","swiftdata"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4520E048-B62A-4367-9C38-21A036984890","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10196\/5\/44001952-2ED6-45B5-9BF4-CFCE817D1CA7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10196\/5\/44001952-2ED6-45B5-9BF4-CFCE817D1CA7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10196\/5\/44001952-2ED6-45B5-9BF4-CFCE817D1CA7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10196\/5\/44001952-2ED6-45B5-9BF4-CFCE817D1CA7\/downloads\/wwdc2023-10196_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10196\/5\/44001952-2ED6-45B5-9BF4-CFCE817D1CA7\/downloads\/wwdc2023-10196_sd.mp4","duration":935,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Intro","end":222},{"start":222,"title":"Configuring persistence","end":441},{"start":441,"title":"Track and persist changes","end":680},{"start":680,"title":"Modeling at scale","end":894},{"start":894,"title":"Wrap-up","end":935}]},"related":{"activities":["wwdc2023-10149","wwdc2023-10154","wwdc2023-10187","wwdc2023-10189","wwdc2023-10195","wwdc2023-10331","wwdc2023-111497","wwdc2023-111498","wwdc2023-111543"],"resources":[3085,3084]}},"wwdc2023-10055":{"id":"wwdc2023-10055","staticContentId":8103,"eventContentId":10055,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10055","languageCode":"eng","description":"Explore enhancements and updates to UIKit and learn how to build better iOS, iPadOS, and Mac Catalyst apps. We\u2019ll show you the latest features and improvements in UIKit and share API refinements, performance improvements, and much more.","title":"What\u2019s new in UIKit","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["\ud83c\udfa8","\ud83e\uddd1\ud83c\udffb\u200d\ud83c\udfa8"],"primaryTopicID":100,"topicIds":[83,101,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C7EB0160-6699-4E4B-9FFA-77DD5358096E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10055\/4\/7F22FD85-1611-456E-875B-966A87E16636\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10055\/4\/7F22FD85-1611-456E-875B-966A87E16636\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10055\/4\/7F22FD85-1611-456E-875B-966A87E16636\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10055\/4\/7F22FD85-1611-456E-875B-966A87E16636\/downloads\/wwdc2023-10055_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10055\/4\/7F22FD85-1611-456E-875B-966A87E16636\/downloads\/wwdc2023-10055_sd.mp4","duration":1878,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":83,"title":"Key feature: Xcode previews","end":128},{"start":128,"title":"Key feature: View controller lifecycle","end":309},{"start":309,"title":"Key feature: Trait system enhancements","end":386},{"start":386,"title":"Key feature: Animation symbol images","end":469},{"start":469,"title":"Key feature: Empty states ","end":591},{"start":591,"title":"Internationalization","end":814},{"start":814,"title":"iPad: Document support","end":835},{"start":835,"title":"iPad: Window dragging","end":887},{"start":887,"title":"iPad: Sidebar and Stage Manager","end":1016},{"start":1016,"title":"iPad: Apple Pencil","end":1173},{"start":1173,"title":"iPad: Keyboard scrolling","end":1221},{"start":1221,"title":"General: Collection views","end":1383},{"start":1383,"title":"General: Spring animations","end":1443},{"start":1443,"title":"General: Text interactions","end":1512},{"start":1512,"title":"General: Status bar","end":1579},{"start":1579,"title":"General: Drag and drop","end":1620},{"start":1620,"title":"General: HDR images","end":1654},{"start":1654,"title":"General: Page control","end":1722},{"start":1722,"title":"General: Palette menus \ud83c\udfa8","end":1808},{"start":1808,"title":"tvOS menus","end":1878}]},"related":{"activities":["wwdc2023-10056","wwdc2023-10057","wwdc2023-10058","wwdc2023-10158","wwdc2023-10181","wwdc2023-10258","wwdc2020-10093"],"resources":[3069]}},"wwdc2023-10138":{"id":"wwdc2023-10138","staticContentId":8195,"eventContentId":10138,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10138","languageCode":"eng","description":"Dive into the details of watchOS design principles and learn how to apply them in your app using SwiftUI. We\u2019ll show you how to build an app for the redesigned user interface to surface timely information, communicate focused content at a glance, and make navigation consistent and predictable.","title":"Design and build apps for watchOS 10","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["watchOS"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"69EC76C8-B751-49E6-9B2D-ED5A7D633A9D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10138\/4\/AFF87063-B0C4-49E6-A866-D89017622393\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10138\/4\/AFF87063-B0C4-49E6-A866-D89017622393\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10138\/4\/AFF87063-B0C4-49E6-A866-D89017622393\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10138\/4\/AFF87063-B0C4-49E6-A866-D89017622393\/downloads\/wwdc2023-10138_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10138\/4\/AFF87063-B0C4-49E6-A866-D89017622393\/downloads\/wwdc2023-10138_sd.mp4","duration":1160,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":82,"title":"Learn about the design principles of watchOS 10","end":354},{"start":354,"title":"Design and build with NavigationSplitView","end":473},{"start":473,"title":"Design and build with TabView","end":606},{"start":606,"title":"Design and build for NavigationStack","end":679},{"start":679,"title":"Layout","end":882},{"start":882,"title":"Color and materials","end":1160}]},"related":{"activities":["wwdc2023-10026","wwdc2023-10031","wwdc2023-10148","wwdc2023-111520"],"resources":[3104,430]}},"wwdc2023-10031":{"id":"wwdc2023-10031","staticContentId":8059,"eventContentId":10031,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:43-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10031","languageCode":"eng","description":"Join us as we update an Apple Watch app to take advantage of the latest features in watchOS 10. In this code-along, we\u2019ll show you how to use the latest SwiftUI APIs to maximize glanceability and reorient app navigation around the Digital Crown.","title":"Update your app for watchOS 10","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0A411518-17FD-4D2E-8C52-E55D97FA61F9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10031\/4\/365BFCEA-3567-4F2E-85DC-D6DF144F9B5C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10031\/4\/365BFCEA-3567-4F2E-85DC-D6DF144F9B5C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10031\/4\/365BFCEA-3567-4F2E-85DC-D6DF144F9B5C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10031\/4\/365BFCEA-3567-4F2E-85DC-D6DF144F9B5C\/downloads\/wwdc2023-10031_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10031\/4\/365BFCEA-3567-4F2E-85DC-D6DF144F9B5C\/downloads\/wwdc2023-10031_sd.mp4","duration":815,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":93,"title":"Build against the watchOS 10 SDK","end":153},{"start":153,"title":"NavigationSplitView","end":321},{"start":321,"title":"TabView and vertical pagination","end":491},{"start":491,"title":"Toolbar with new placement options","end":547},{"start":547,"title":"Background color","end":670},{"start":670,"title":"Materials","end":815}]},"related":{"activities":["wwdc2023-10026","wwdc2023-10138"],"resources":[3106,3104]}},"wwdc2023-10155":{"id":"wwdc2023-10155","staticContentId":8212,"eventContentId":10155,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10155","languageCode":"eng","description":"Discover how Xcode 15 makes it easy to localize your app by managing all of your strings in one place. We\u2019ll show you how to extract, edit, export, and build strings in your project using String Catalogs. We\u2019ll also share how you can adopt String Catalogs in existing projects at your own pace by choosing which files to migrate.","title":"Discover String Catalogs","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["i10n","internationalization","l18n","localization","localizedstringresource","nslocalizedstring","stringsdict","xcstring","xliff"],"primaryTopicID":88,"topicIds":[90,100,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"34F1FD49-77D0-4E8E-8535-8CDF69A4357A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10155\/4\/0A18D858-81AA-4A3C-B77E-EF67C956908B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10155\/4\/0A18D858-81AA-4A3C-B77E-EF67C956908B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10155\/4\/0A18D858-81AA-4A3C-B77E-EF67C956908B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10155\/4\/0A18D858-81AA-4A3C-B77E-EF67C956908B\/downloads\/wwdc2023-10155_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10155\/4\/0A18D858-81AA-4A3C-B77E-EF67C956908B\/downloads\/wwdc2023-10155_sd.mp4","duration":1894,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":89},{"start":89,"title":"Demo","end":253},{"start":253,"title":"Extract","end":799},{"start":799,"title":"Edit","end":1368},{"start":1368,"title":"Export","end":1672},{"start":1672,"title":"Build","end":1724},{"start":1724,"title":"Migrate","end":1863},{"start":1863,"title":"Wrap-up","end":1894}]},"related":{"activities":["wwdc2023-10102","wwdc2023-10153","wwdc2023-10165","wwdc2023-111238"],"resources":[1555,1353]}},"wwdc2023-10104":{"id":"wwdc2023-10104","staticContentId":8158,"eventContentId":10104,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10104","languageCode":"eng","description":"Learn how people can interact with your media app directly from HomePod. We\u2019ll show you how to add a media intent to your iPhone or iPad app and help people stream your content to a HomePod speaker over AirPlay simply by using their voice. Explore implementation details and get tips and best practices on how to create a great experience for music, audiobooks, podcasts, meditations, or other media types.\n\nTo learn more about creating a great AirPlay experience, check out \"Tune up your AirPlay audio experience\u201d from WWDC23.","title":"Integrate your media app with HomePod","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7BBC41C9-25EF-4113-8CF1-3690DB902045","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10104\/4\/5F52855D-81B2-4790-8627-C68333D4A099\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10104\/4\/5F52855D-81B2-4790-8627-C68333D4A099\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10104\/4\/5F52855D-81B2-4790-8627-C68333D4A099\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10104\/4\/5F52855D-81B2-4790-8627-C68333D4A099\/downloads\/wwdc2023-10104_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10104\/4\/5F52855D-81B2-4790-8627-C68333D4A099\/downloads\/wwdc2023-10104_sd.mp4","duration":797,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10238","wwdc2023-111333","wwdc2023-111337","wwdc2023-111338","wwdc2023-111578"],"resources":[549,12]}},"wwdc2023-10075":{"id":"wwdc2023-10075","staticContentId":8129,"eventContentId":10075,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10075","languageCode":"eng","description":"Explore the types of shared activities you can create in your visionOS apps and find out how your apps can use Spatial Persona templates to support meaningful interactions between people. Discover how to design your UI around a shared context, handle immersive content in a shared activity, and more.","title":"Design spatial SharePlay experiences","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"keywords":["group activities"],"primaryTopicID":87,"topicIds":[85,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"942191E7-9B98-487D-AE81-400D58285B31","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10075\/4\/9C508675-D44A-4BF5-80F3-5B49CF10C722\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10075\/4\/9C508675-D44A-4BF5-80F3-5B49CF10C722\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10075\/4\/9C508675-D44A-4BF5-80F3-5B49CF10C722\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10075\/4\/9C508675-D44A-4BF5-80F3-5B49CF10C722\/downloads\/wwdc2023-10075_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10075\/4\/9C508675-D44A-4BF5-80F3-5B49CF10C722\/downloads\/wwdc2023-10075_sd.mp4","duration":986,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10072","wwdc2023-10073","wwdc2023-10076","wwdc2023-10087","wwdc2023-10239","wwdc2023-10271","wwdc2022-10140"]}},"wwdc2023-10043":{"id":"wwdc2023-10043","staticContentId":8081,"eventContentId":10043,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10043","languageCode":"eng","description":"Discover how expanded SwiftUI support for MapKit has made it easier than ever for you to integrate Maps into your app. We\u2019ll show you how to use SwiftUI to add annotations and overlays to a map, control the camera, and more.","title":"Meet MapKit for SwiftUI","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":93,"topicIds":[90,93],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0E9E6543-3B90-405B-BEB3-2F008726A04F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10043\/5\/700E3600-5A61-4BE8-9A61-441B11B13E8C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10043\/5\/700E3600-5A61-4BE8-9A61-441B11B13E8C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10043\/5\/700E3600-5A61-4BE8-9A61-441B11B13E8C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10043\/5\/700E3600-5A61-4BE8-9A61-441B11B13E8C\/downloads\/wwdc2023-10043_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10043\/5\/700E3600-5A61-4BE8-9A61-441B11B13E8C\/downloads\/wwdc2023-10043_sd.mp4","duration":1641,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10148","wwdc2023-10156","wwdc2023-111516","wwdc2023-111517","wwdc2022-10006"],"resources":[3133,100]}},"wwdc2023-10180":{"id":"wwdc2023-10180","staticContentId":8240,"eventContentId":10180,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10180","languageCode":"eng","description":"Move into the future with Core Location! Meet the CLLocationUpdate class, designed for modern Swift concurrency, and learn how it simplifies getting location updates. We\u2019ll show you how this class works with your apps when they run in the foreground or background and share some best practices.","title":"Discover streamlined location updates","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":93,"topicIds":[83,93],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E2938593-5F32-416C-A288-C6E802F7DB4E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10180\/3\/BF2CDA20-2D8F-46B8-B850-E1799030451B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10180\/3\/BF2CDA20-2D8F-46B8-B850-E1799030451B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10180\/3\/BF2CDA20-2D8F-46B8-B850-E1799030451B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10180\/3\/BF2CDA20-2D8F-46B8-B850-E1799030451B\/downloads\/wwdc2023-10180_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10180\/3\/BF2CDA20-2D8F-46B8-B850-E1799030451B\/downloads\/wwdc2023-10180_sd.mp4","duration":923,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10146","wwdc2023-10147"],"resources":[3135,3134,99]}},"wwdc2023-10013":{"id":"wwdc2023-10013","staticContentId":8031,"eventContentId":10013,"eventId":"wwdc2023","contentUpdatedAt":"2026-05-05T14:32:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10013","languageCode":"eng","description":"Discover how you can use App Store product metadata and Xcode Previews to add in-app purchases to your app with just a few lines of code. Explore a new collection of UI components in StoreKit and learn how you can easily merchandise your products, present subscriptions in a way that helps users make informed decisions, and more.","title":"Meet StoreKit for SwiftUI","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":83,"topicIds":[86,100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1F145FDD-DFCA-412F-950A-834BED9BE5F7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10013\/4\/451654C1-7E00-42AE-A765-A2ECE947464C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10013\/4\/451654C1-7E00-42AE-A765-A2ECE947464C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10013\/4\/451654C1-7E00-42AE-A765-A2ECE947464C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10013\/4\/451654C1-7E00-42AE-A765-A2ECE947464C\/downloads\/wwdc2023-10013_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10013\/4\/451654C1-7E00-42AE-A765-A2ECE947464C\/downloads\/wwdc2023-10013_sd.mp4","duration":2219,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10117","wwdc2023-10140","wwdc2023-10141","wwdc2023-10148","wwdc2023-111367","wwdc2022-10039","wwdc2021-10114","wwdc2020-10659"],"resources":[3504,3503,765]}},"wwdc2023-10233":{"id":"wwdc2023-10233","staticContentId":8297,"eventContentId":10233,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10233","languageCode":"eng","description":"Discover how you can create transformative audio experiences in your app using AirPods. Learn how to incorporate AirPods Automatic Switching, use AVAudioApplication to support Mute Control, and take advantage of Spatial Audio to create immersive soundscapes in your app or game.","title":"Enhance your app\u2019s audio experience with AirPods","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":84,"topicIds":[85,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"052FAEC1-EE24-4DB7-ABD9-82C6F74C9B53","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10233\/4\/67656F5A-221D-451B-9BD0-45BCA4922204\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10233\/4\/67656F5A-221D-451B-9BD0-45BCA4922204\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10233\/4\/67656F5A-221D-451B-9BD0-45BCA4922204\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10233\/4\/67656F5A-221D-451B-9BD0-45BCA4922204\/downloads\/wwdc2023-10233_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10233\/4\/67656F5A-221D-451B-9BD0-45BCA4922204\/downloads\/wwdc2023-10233_sd.mp4","duration":899,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":260,"title":"AirPods Automatic Switching for macOS","end":401},{"start":401,"title":"Press to Mute and Unmute","end":722},{"start":722,"title":"Spatial Audio with AirPods","end":899}]},"related":{"activities":["wwdc2023-10235","wwdc2021-10265"]}},"wwdc2023-10254":{"id":"wwdc2023-10254","staticContentId":8322,"eventContentId":10254,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-16T14:49:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10254","languageCode":"eng","description":"Explore the latest updates to Managed Apple IDs and learn how you can use them in your organization. Take advantage of additional apps and services available to Managed Apple IDs, discover the Account-Driven Device Enrollment flow, and find out how to use access management controls to limit the devices and Apple services that Managed Apple IDs can access. We\u2019ll also show you how to federate with your identity provider to automate creation and sync with your directory.","title":"Do more with Managed Apple IDs","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2B877502-745B-49D5-A8DF-AD33B68C6229","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10254\/4\/3B910C3D-7545-4B14-8026-F17576CCE0E9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10254\/4\/3B910C3D-7545-4B14-8026-F17576CCE0E9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10254\/4\/3B910C3D-7545-4B14-8026-F17576CCE0E9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10254\/4\/3B910C3D-7545-4B14-8026-F17576CCE0E9\/downloads\/wwdc2023-10254_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10254\/4\/3B910C3D-7545-4B14-8026-F17576CCE0E9\/downloads\/wwdc2023-10254_sd.mp4","duration":1182,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10040","wwdc2023-10263","wwdc2023-10321","wwdc2023-10329","wwdc2023-111508","wwdc2023-111509","wwdc2023-111510","wwdc2021-10136"],"resources":[3108,584,330]}},"wwdc2023-10039":{"id":"wwdc2023-10039","staticContentId":8068,"eventContentId":10039,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10039","languageCode":"eng","description":"Organizations can now deploy and configure Apple Watch in addition to other Apple devices. Learn how to implement device management for watchOS to help organizations improve productivity, support wellness, and provide additional support for their employees.","title":"Meet device management for Apple Watch","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","watchOS"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3E919503-9142-4475-AB49-365DFDFBFC9F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10039\/4\/5852C97C-D712-4FA9-BDB2-2FC9C69289EB\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10039\/4\/5852C97C-D712-4FA9-BDB2-2FC9C69289EB\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10039\/4\/5852C97C-D712-4FA9-BDB2-2FC9C69289EB\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10039\/4\/5852C97C-D712-4FA9-BDB2-2FC9C69289EB\/downloads\/wwdc2023-10039_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10039\/4\/5852C97C-D712-4FA9-BDB2-2FC9C69289EB\/downloads\/wwdc2023-10039_sd.mp4","duration":1052,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10040","wwdc2023-10041","wwdc2023-10321","wwdc2023-10329","wwdc2023-111508","wwdc2023-111509","wwdc2023-111510"],"resources":[3108,581,163]}},"wwdc2023-10248":{"id":"wwdc2023-10248","staticContentId":8313,"eventContentId":10248,"eventId":"wwdc2023","contentUpdatedAt":"2023-07-03T20:41:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10248","languageCode":"eng","description":"User interface elements often mimic real-world interactions, including real-time responses. Apps with a noticeable delay in user interaction \u2014 a hang \u2014 can break that illusion and create frustration. We\u2019ll show you how to use Instruments to analyze, understand, and fix hangs in your apps on all Apple platforms. Discover how you can efficiently navigate an Instruments trace document, interpret trace data, and record additional profiling data to better understand your specific hang.\n\nIf you aren\u2019t familiar with using Instruments, we recommend first watching \"Getting Started with Instruments.\" And to learn about other tools that can help you discover hangs in your app, check out \"Track down hangs with Xcode and on-device detection.\"","title":"Analyze hangs with Instruments","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["\u26a1\ufe0f"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2839256F-8B72-4467-9861-77FE433AC696","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10248\/6\/AB6FF62D-3A9D-4816-95E8-2E7B464CA1DF\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10248\/6\/AB6FF62D-3A9D-4816-95E8-2E7B464CA1DF\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10248\/6\/AB6FF62D-3A9D-4816-95E8-2E7B464CA1DF\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10248\/6\/AB6FF62D-3A9D-4816-95E8-2E7B464CA1DF\/downloads\/wwdc2023-10248_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10248\/6\/AB6FF62D-3A9D-4816-95E8-2E7B464CA1DF\/downloads\/wwdc2023-10248_sd.mp4","duration":2572,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":116,"title":"What is a hang?","end":231},{"start":231,"title":"What is instant?","end":279},{"start":279,"title":"Event handling and rendering loop","end":505},{"start":505,"title":"Keep main thread work below 100ms","end":555},{"start":555,"title":"Busy main thread hang","end":866},{"start":866,"title":"Too long or too often?","end":1306},{"start":1306,"title":"LazyVGrid still hangs on iPad","end":1471},{"start":1471,"title":"Fix: Use task modifier to load thumbnail asynchronously","end":1552},{"start":1552,"title":"Asynchronous hangs","end":1958},{"start":1958,"title":"Fix: Get off of the main actor","end":2157},{"start":2157,"title":"Blocked Main Thread Hang","end":2359},{"start":2359,"title":"Fix: Make shared property async","end":2435},{"start":2435,"title":"Blocked Thread does not imply unresponsive app","end":2572}]},"related":{"activities":["wwdc2023-10099","wwdc2023-10160","wwdc2023-10299","wwdc2023-111276","wwdc2023-111277","wwdc2023-111278","wwdc2022-10082","wwdc2022-110350","wwdc2021-10254","wwdc2021-10258","wwdc2020-10031","wwdc2019-411","tech-talks-10855","wwdc2016-411"],"resources":[3521,1678]}},"wwdc2023-10103":{"id":"wwdc2023-10103","staticContentId":8157,"eventContentId":10103,"eventId":"wwdc2023","contentUpdatedAt":"2026-06-08T12:30:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10103","languageCode":"eng","description":"Bring your widgets to life with App Intents! 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\u2019ll share how you can integrate with Apple Pay, structure your code more efficiently, and take your Shortcuts app integration to the next level.\n\nFor more on App Intents and App Shortcuts, watch \u201cSpotlight your app with App Shortcuts\" from WWDC23.","title":"Explore enhancements to App Intents","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AEEE5B48-8EFF-438B-A947-A98364886080","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10103\/4\/D65BF0C4-53B8-450E-8B16-DF92AA76A73A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10103\/4\/D65BF0C4-53B8-450E-8B16-DF92AA76A73A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10103\/4\/D65BF0C4-53B8-450E-8B16-DF92AA76A73A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10103\/4\/D65BF0C4-53B8-450E-8B16-DF92AA76A73A\/downloads\/wwdc2023-10103_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10103\/4\/D65BF0C4-53B8-450E-8B16-DF92AA76A73A\/downloads\/wwdc2023-10103_sd.mp4","duration":1783,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10028","wwdc2023-10102","wwdc2023-10193","wwdc2023-111335","wwdc2023-111337","wwdc2023-111338","wwdc2023-111578"],"resources":[2958,2399]}},"wwdc2023-10106":{"id":"wwdc2023-10106","staticContentId":8160,"eventContentId":10106,"eventId":"wwdc2023","contentUpdatedAt":"2025-06-06T12:35:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10106","languageCode":"eng","description":"Learn how you can discover and connect to external cameras in your iPadOS app using the AVFoundation capture classes. We\u2019ll show you how to rotate video from both external and built-in cameras, support external microphones with USB-C, and perform audio routing. Explore telephony support, tunings for optimal echo cancellation, and best practices for external camera adoption.","title":"Support external cameras in your iPadOS app ","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iPadOS"],"primaryTopicID":95,"topicIds":[95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"873E988A-8762-4BFC-82BF-A2E49A19BEAC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10106\/4\/AE945003-3B1E-40CF-87F1-BD6F6E3EDD0F\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10106\/4\/AE945003-3B1E-40CF-87F1-BD6F6E3EDD0F\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10106\/4\/AE945003-3B1E-40CF-87F1-BD6F6E3EDD0F\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10106\/4\/AE945003-3B1E-40CF-87F1-BD6F6E3EDD0F\/downloads\/wwdc2023-10106_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10106\/4\/AE945003-3B1E-40CF-87F1-BD6F6E3EDD0F\/downloads\/wwdc2023-10106_sd.mp4","duration":1961,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-111473","wwdc2023-111475","wwdc2023-111507"],"resources":[227,91,52]}},"wwdc2023-10114":{"id":"wwdc2023-10114","staticContentId":8168,"eventContentId":10114,"eventId":"wwdc2023","contentUpdatedAt":"2026-07-07T15:29:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10114","languageCode":"eng","description":"Discover the latest updates to Wallet and Apple Pay. Learn how to take advantage of preauthorized payments, funds transfer, and Apple Pay Later merchandising to create great Apple Pay experiences in your app or for the web. Explore improved support for Mail, Messages, Safari, and third-party apps in Wallet Order Tracking, and find out how you can add more information to an order\u2019s transaction or receipt details. And we\u2019ll introduce you to Tap to Present ID on iPhone (or ID Verifier), a new way to accept IDs in Wallet using iPhone \u2014 no additional hardware needed.","title":"What\u2019s new in Wallet and Apple Pay","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0F2B5692-7E7D-4716-9E5F-63E4A4FA13ED","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10114\/5\/208CF134-3A8A-417E-8DF3-0B8A1F60B130\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10114\/5\/208CF134-3A8A-417E-8DF3-0B8A1F60B130\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10114\/5\/208CF134-3A8A-417E-8DF3-0B8A1F60B130\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10114\/5\/208CF134-3A8A-417E-8DF3-0B8A1F60B130\/downloads\/wwdc2023-10114_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10114\/5\/208CF134-3A8A-417E-8DF3-0B8A1F60B130\/downloads\/wwdc2023-10114_sd.mp4","duration":2011,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-111372","wwdc2023-111373","wwdc2022-10041","tech-talks-110336"],"resources":[3547,3139,3136]}},"wwdc2023-10041":{"id":"wwdc2023-10041","staticContentId":8070,"eventContentId":10041,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:53-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10041","languageCode":"eng","description":"Learn how you can help IT administrators get the tools they need to manage their organization\u2019s devices. Discover the latest changes to declarative device management, including software update management, additional asset types, status reporting for FileVault, and more.","title":"Explore advances in declarative device management ","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E04C267F-944C-4B9F-AE53-A5D31AFD903D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10041\/5\/3291DDC3-9C1C-4F82-885B-351107EFC8AF\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10041\/5\/3291DDC3-9C1C-4F82-885B-351107EFC8AF\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10041\/5\/3291DDC3-9C1C-4F82-885B-351107EFC8AF\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10041\/5\/3291DDC3-9C1C-4F82-885B-351107EFC8AF\/downloads\/wwdc2023-10041_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10041\/5\/3291DDC3-9C1C-4F82-885B-351107EFC8AF\/downloads\/wwdc2023-10041_sd.mp4","duration":2196,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10039","wwdc2023-10040","wwdc2023-10263","wwdc2023-10321","wwdc2023-10329","wwdc2023-111508","wwdc2023-111509","wwdc2023-111510","wwdc2022-10046","wwdc2021-10131"],"resources":[2352,581]}},"wwdc2023-10191":{"id":"wwdc2023-10191","staticContentId":8252,"eventContentId":10191,"eventId":"wwdc2023","contentUpdatedAt":"2024-08-23T16:55:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10191","languageCode":"eng","description":"Discover how you can offer an end-to-end Object Capture experience directly in your iOS apps to help people turn their objects into ready-to-use 3D models. Learn how you can create a fully automated Object Capture scan flow with our sample app and how you can assist people in automatically capturing the best content for their model. We\u2019ll also discuss LiDAR data and provide best practices for scanning objects.","title":"Meet Object Capture for iOS","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8FCF9F8A-4FF8-4AB7-A109-2717063476B8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10191\/4\/4163D349-9555-463C-B8F1-0839D7BC6E49\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10191\/4\/4163D349-9555-463C-B8F1-0839D7BC6E49\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10191\/4\/4163D349-9555-463C-B8F1-0839D7BC6E49\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10191\/4\/4163D349-9555-463C-B8F1-0839D7BC6E49\/downloads\/wwdc2023-10191_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10191\/4\/4163D349-9555-463C-B8F1-0839D7BC6E49\/downloads\/wwdc2023-10191_sd.mp4","duration":1205,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10083","wwdc2023-111195","wwdc2023-111199"],"resources":[3549]}},"wwdc2023-10149":{"id":"wwdc2023-10149","staticContentId":8206,"eventContentId":10149,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10149","languageCode":"eng","description":"Simplify your SwiftUI data models with Observation. We\u2019ll share how the Observable macro can help you simplify models and improve your app\u2019s performance. Get to know Observation, learn the fundamentals of the macro, and find out how to migrate from ObservableObject to Observable.\n","title":"Discover Observation in SwiftUI","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"575870C5-E0BB-487A-9C32-F0E70EBAADBB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10149\/4\/F4769BC3-3B47-49AF-B11B-6957B0A25574\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10149\/4\/F4769BC3-3B47-49AF-B11B-6957B0A25574\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10149\/4\/F4769BC3-3B47-49AF-B11B-6957B0A25574\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10149\/4\/F4769BC3-3B47-49AF-B11B-6957B0A25574\/downloads\/wwdc2023-10149_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10149\/4\/F4769BC3-3B47-49AF-B11B-6957B0A25574\/downloads\/wwdc2023-10149_sd.mp4","duration":771,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":63,"title":"What is Observation?","end":263},{"start":263,"title":"SwiftUI property wrappers","end":454},{"start":454,"title":"Advanced uses","end":627},{"start":627,"title":"ObservableObject","end":771}]},"related":{"activities":["wwdc2023-10148","wwdc2023-10154","wwdc2023-10160","wwdc2023-10166","wwdc2023-10167","wwdc2023-10187","wwdc2023-10189","wwdc2023-10195","wwdc2023-10196"]}},"wwdc2023-10076":{"id":"wwdc2023-10076","staticContentId":8130,"eventContentId":10076,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10076","languageCode":"eng","description":"Learn how to design great interfaces for spatial computing apps. We\u2019ll share how your existing screen-based knowledge easily translates into creating great experiences for visionOS. Explore guidelines for UI components, materials, and typography and find out how you can design experiences that are familiar, legible, and easy to use.","title":"Design for spatial user interfaces","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":87,"topicIds":[85,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"38E4EE32-29B5-4478-B8B6-35B8ACA67B16","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10076\/4\/1C3E0256-50B2-4992-AAE6-CF8A3479272E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10076\/4\/1C3E0256-50B2-4992-AAE6-CF8A3479272E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10076\/4\/1C3E0256-50B2-4992-AAE6-CF8A3479272E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10076\/4\/1C3E0256-50B2-4992-AAE6-CF8A3479272E\/downloads\/wwdc2023-10076_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10076\/4\/1C3E0256-50B2-4992-AAE6-CF8A3479272E\/downloads\/wwdc2023-10076_sd.mp4","duration":1361,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":72},{"start":72,"title":"App icons","end":165},{"start":165,"title":"Materials","end":328},{"start":328,"title":"Typography","end":415},{"start":415,"title":"Vibrancy","end":492},{"start":492,"title":"Layout","end":851},{"start":851,"title":"From screen to spatial","end":1361}]},"related":{"activities":["wwdc2023-10072","wwdc2023-10073","wwdc2023-10075","wwdc2023-10078","wwdc2023-10109","wwdc2023-10271"]}},"wwdc2023-10192":{"id":"wwdc2023-10192","staticContentId":8253,"eventContentId":10192,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:51-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10192","languageCode":"eng","description":"Join us for an exciting update to RoomPlan as we explore MultiRoom support and enhancements to room representations. Learn how you can scan areas with more detail, capture multiple rooms, and merge individual scans into one larger structure. We\u2019ll also share workflows and best practices when working with RoomPlan results that you want to combine into your existing 3D model library.","title":"Explore enhancements to RoomPlan","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"795F1AEE-16C4-43F8-BD53-FA00BB3156D0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10192\/4\/0D847FCD-B40B-4324-A284-F22B79E78F4D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10192\/4\/0D847FCD-B40B-4324-A284-F22B79E78F4D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10192\/4\/0D847FCD-B40B-4324-A284-F22B79E78F4D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10192\/4\/0D847FCD-B40B-4324-A284-F22B79E78F4D\/downloads\/wwdc2023-10192_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10192\/4\/0D847FCD-B40B-4324-A284-F22B79E78F4D\/downloads\/wwdc2023-10192_sd.mp4","duration":1350,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10085","wwdc2023-111198","wwdc2023-111200","wwdc2022-10127"]}},"wwdc2023-10028":{"id":"wwdc2023-10028","staticContentId":8056,"eventContentId":10028,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10028","languageCode":"eng","description":"Learn how to make animated and interactive widgets for your apps and games. We\u2019ll show you how to tweak animations for entry transitions and add interactivity using SwiftUI Button and Toggle so that you can create powerful moments right from the Home Screen and Lock Screen.","title":"Bring widgets to life","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":83,"topicIds":[90,100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5631C647-3158-42F6-A1D3-50566815A1BB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10028\/4\/3BBB0693-B39D-476B-AC4A-2F1A8BB53FCE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10028\/4\/3BBB0693-B39D-476B-AC4A-2F1A8BB53FCE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10028\/4\/3BBB0693-B39D-476B-AC4A-2F1A8BB53FCE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10028\/4\/3BBB0693-B39D-476B-AC4A-2F1A8BB53FCE\/downloads\/wwdc2023-10028_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10028\/4\/3BBB0693-B39D-476B-AC4A-2F1A8BB53FCE\/downloads\/wwdc2023-10028_sd.mp4","duration":1127,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":83,"title":"Animations","end":465},{"start":465,"title":"Interactivity","end":1127}]},"related":{"activities":["wwdc2023-10027","wwdc2023-10103","wwdc2023-10184","wwdc2023-10185","wwdc2023-10252","wwdc2022-10032"]}},"wwdc2023-10050":{"id":"wwdc2023-10050","staticContentId":8098,"eventContentId":10050,"eventId":"wwdc2023","contentUpdatedAt":"2025-10-20T12:26:48-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10050","languageCode":"eng","description":"Discover the latest enhancements to accelerated ML training in Metal. Find out about updates to PyTorch and TensorFlow, and learn about Metal acceleration for JAX. We\u2019ll show you how MPS Graph can support faster ML inference when you use both the GPU and Apple Neural Engine, and share how the same API can rapidly integrate your Core ML and ONNX models.\n\nFor more information on using Metal for machine learning, check out \u201cAccelerate machine learning with Metal\u201d from WWDC22.","title":"Optimize machine learning for Metal apps","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"36ADFB6F-C34C-4693-828E-ABE72BBEE638","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10050\/3\/F8F473D7-87C0-4FB5-91DD-2E665CFC4239\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10050\/3\/F8F473D7-87C0-4FB5-91DD-2E665CFC4239\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10050\/3\/F8F473D7-87C0-4FB5-91DD-2E665CFC4239\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10050\/3\/F8F473D7-87C0-4FB5-91DD-2E665CFC4239\/downloads\/wwdc2023-10050_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10050\/3\/F8F473D7-87C0-4FB5-91DD-2E665CFC4239\/downloads\/wwdc2023-10050_sd.mp4","duration":1275,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10063"],"resources":[3540,3539]}},"wwdc2023-10194":{"id":"wwdc2023-10194","staticContentId":8255,"eventContentId":10194,"eventId":"wwdc2023","contentUpdatedAt":"2025-06-09T13:32:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10194","languageCode":"eng","description":"Live Activities allow your app to display live information in key system locations on iOS and iPadOS. Learn the best way to create graphically rich layouts that update seamlessly on the Lock Screen, in StandBy, and in the Dynamic Island. Incorporate interactivity and animation to help people stay in touch with live updating events from your app as they navigate outside of your app. ","title":"Design dynamic Live Activities ","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"73CFB4C1-8568-43E9-AECF-D679A7355B99","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10194\/5\/1F92A457-3B0A-4F2A-A29C-9EC6753BEC87\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10194\/5\/1F92A457-3B0A-4F2A-A29C-9EC6753BEC87\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10194\/5\/1F92A457-3B0A-4F2A-A29C-9EC6753BEC87\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10194\/5\/1F92A457-3B0A-4F2A-A29C-9EC6753BEC87\/downloads\/wwdc2023-10194_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10194\/5\/1F92A457-3B0A-4F2A-A29C-9EC6753BEC87\/downloads\/wwdc2023-10194_sd.mp4","duration":900,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":37,"title":"Design principles for Live Activities","end":78},{"start":78,"title":"Lock Screen","end":360},{"start":360,"title":"StandBy","end":457},{"start":457,"title":"Dynamic Island","end":900}]},"related":{"activities":["wwdc2023-10184","wwdc2023-10185","wwdc2023-10193"],"resources":[2968,2960]}},"wwdc2023-10239":{"id":"wwdc2023-10239","staticContentId":8303,"eventContentId":10239,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10239","languageCode":"eng","description":"Discover how your app can take advantage of SharePlay to turn any activity into a shareable experience with friends! We\u2019ll share the latest updates to SharePlay, explore the benefits of creating shared activities, dive into some exciting use cases, and take you through best practices to create engaging and fun moments of connection in your app.","title":"Add SharePlay to your app","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["group activities"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C1ABC187-BCC7-4576-A088-141E732E411A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10239\/5\/0F1CDDAF-2EAD-43A1-8B09-806ED4EE707A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10239\/5\/0F1CDDAF-2EAD-43A1-8B09-806ED4EE707A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10239\/5\/0F1CDDAF-2EAD-43A1-8B09-806ED4EE707A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10239\/5\/0F1CDDAF-2EAD-43A1-8B09-806ED4EE707A\/downloads\/wwdc2023-10239_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10239\/5\/0F1CDDAF-2EAD-43A1-8B09-806ED4EE707A\/downloads\/wwdc2023-10239_sd.mp4","duration":817,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":130,"title":"New to SharePlay","end":343},{"start":343,"title":"Use Cases","end":588},{"start":588,"title":"Add SharePlay to your app","end":669},{"start":669,"title":"Best Practices","end":817}]},"related":{"activities":["wwdc2023-10075","wwdc2023-10087","wwdc2023-10241","wwdc2023-111355","wwdc2023-111356","wwdc2023-111533"]}},"wwdc2023-10056":{"id":"wwdc2023-10056","staticContentId":8104,"eventContentId":10056,"eventId":"wwdc2023","contentUpdatedAt":"2024-12-03T10:51:27-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10056","languageCode":"eng","description":"Discover how you can use the latest features in iPadOS to improve your document-based apps. We\u2019ll show you how to take advantage of UIDocument as well as existing desktop-class iPad and document-based APIs to add new features in your app. Find out how to convert data models to UIDocument, present documents with UIDocumentViewController, learn how to migrate your apps to the latest APIs, and explore best practices.","title":"Build better document-based apps","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":100,"topicIds":[83,101,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5B9CEA15-5792-4FAC-998C-EAE541EF1CFB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10056\/4\/288B8B11-EFDD-4A1E-8F4E-B5C863A03ADC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10056\/4\/288B8B11-EFDD-4A1E-8F4E-B5C863A03ADC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10056\/4\/288B8B11-EFDD-4A1E-8F4E-B5C863A03ADC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10056\/4\/288B8B11-EFDD-4A1E-8F4E-B5C863A03ADC\/downloads\/wwdc2023-10056_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10056\/4\/288B8B11-EFDD-4A1E-8F4E-B5C863A03ADC\/downloads\/wwdc2023-10056_sd.mp4","duration":836,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":130,"title":"Creating a document","end":346},{"start":346,"title":"Presenting a document","end":578},{"start":578,"title":"Migrating your app","end":836}]},"related":{"activities":["wwdc2023-10055","wwdc2022-10069","wwdc2022-10070","wwdc2022-110343","wwdc2020-10039","tech-talks-10696"],"resources":[3073,3072]}},"wwdc2023-10125":{"id":"wwdc2023-10125","staticContentId":8182,"eventContentId":10125,"eventId":"wwdc2023","contentUpdatedAt":"2025-09-09T12:11:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10125","languageCode":"eng","description":"Discover how you can support Metal in your rendering code as we close out our three-part series on bringing your game to Mac. Once you\u2019ve evaluated your existing Windows binary with the game porting toolkit and brought your HLSL shaders over to Metal, learn how you can optimally implement the features that high-end, modern games require. We\u2019ll show you how to manage GPU resource bindings, residency, and synchronization. Find out how to optimize GPU commands submission, render rich visuals with MetalFX Upscaling, and more.\n\nTo get the most out of this session, we recommend first watching \u201cBring your game to Mac, Part 1: Make a game plan\u201d and \u201cBring your game to Mac, Part 2: Compile your shaders\" from WWDC23.","title":"Bring your game to Mac, Part 3: Render with Metal","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[88,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DC288486-BF66-4987-8B34-5FBB332109CD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10125\/4\/1283FC25-C4D6-40B5-AAEC-221E3E4C6D16\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10125\/4\/1283FC25-C4D6-40B5-AAEC-221E3E4C6D16\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10125\/4\/1283FC25-C4D6-40B5-AAEC-221E3E4C6D16\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10125\/4\/1283FC25-C4D6-40B5-AAEC-221E3E4C6D16\/downloads\/wwdc2023-10125_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10125\/4\/1283FC25-C4D6-40B5-AAEC-221E3E4C6D16\/downloads\/wwdc2023-10125_sd.mp4","duration":1605,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Intro","end":118},{"start":118,"title":"Manage GPU resources","end":548},{"start":548,"title":"Optimize rendering commands","end":1080},{"start":1080,"title":"Handle indirect rendering","end":1361},{"start":1361,"title":"Upscale with MetalFX","end":1531},{"start":1531,"title":"Wrap-Up","end":1605}]},"related":{"activities":["wwdc2023-10123","wwdc2023-10124","wwdc2023-111269","wwdc2023-111270","wwdc2023-111271","wwdc2023-111272","wwdc2023-111285","wwdc2023-111286","wwdc2023-111287","wwdc2023-111288","wwdc2022-10103","wwdc2021-10157","wwdc2020-10602","wwdc2020-10605","wwdc2020-10631","wwdc2020-10632","tech-talks-111372"],"resources":[2972,2494,647,38]}},"wwdc2023-10073":{"id":"wwdc2023-10073","staticContentId":8127,"eventContentId":10073,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10073","languageCode":"eng","description":"Learn how to design great interactions for eyes and hands. We\u2019ll share the design principles for spatial input, explore best practices around input methods, and help you create spatial experiences that are comfortable, intuitive, and satisfying.","title":"Design for spatial input","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"keywords":["\ud83d\udc40","\ud83d\udc46","\ud83e\udd0f","\ud83d\udc41\ufe0f","ar","mixed reality","mr","spatial computing","ux","virtual reality","vr"],"primaryTopicID":87,"topicIds":[85,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C6CDCC79-CCD0-4D2F-A4D1-8FC70DC663DB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10073\/4\/0B0E3324-4B02-4EF4-8413-13A63715B2C5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10073\/4\/0B0E3324-4B02-4EF4-8413-13A63715B2C5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10073\/4\/0B0E3324-4B02-4EF4-8413-13A63715B2C5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10073\/4\/0B0E3324-4B02-4EF4-8413-13A63715B2C5\/downloads\/wwdc2023-10073_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10073\/4\/0B0E3324-4B02-4EF4-8413-13A63715B2C5\/downloads\/wwdc2023-10073_sd.mp4","duration":1204,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":142},{"start":142,"title":"Eyes","end":741},{"start":741,"title":"Hands","end":1116},{"start":1116,"title":"Conclusion","end":1204}]},"related":{"activities":["wwdc2023-10072","wwdc2023-10075","wwdc2023-10076","wwdc2023-10078","wwdc2023-10271"]}},"wwdc2023-10281":{"id":"wwdc2023-10281","staticContentId":8355,"eventContentId":10281,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10281","languageCode":"eng","description":"Each year, the keyboard evolves to support an increasing range of languages, sizes, and features. Discover how you can design your app to keep up with the keyboard, regardless of how it appears on a device. We\u2019ll show you how to create frictionless text entry and share important architectural changes to help you understand how the keyboard works within the system.","title":"Keep up with the keyboard","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["inline predictions","keyboard layout guide"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"64C5918A-BB53-4AED-AF0C-CF5E9C721BA9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10281\/5\/28D03695-D3A4-41FB-9F95-B97A11BF249B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10281\/5\/28D03695-D3A4-41FB-9F95-B97A11BF249B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10281\/5\/28D03695-D3A4-41FB-9F95-B97A11BF249B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10281\/5\/28D03695-D3A4-41FB-9F95-B97A11BF249B\/downloads\/wwdc2023-10281_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10281\/5\/28D03695-D3A4-41FB-9F95-B97A11BF249B\/downloads\/wwdc2023-10281_sd.mp4","duration":937,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":89},{"start":89,"title":"Out of process keyboard","end":227},{"start":227,"title":"Design for the keyboard","end":846},{"start":846,"title":"New text entry APIs","end":906},{"start":906,"title":"Key takeaways","end":937}]},"related":{"activities":["wwdc2023-10058","wwdc2021-10259"],"resources":[3150,3149,3148,2979,1582]}},"wwdc2023-10143":{"id":"wwdc2023-10143","staticContentId":8200,"eventContentId":10143,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:02-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10143","languageCode":"eng","description":"Discover the App Store Server Library and learn how you can take advantage of resources and configurations for your apps. We\u2019ll show you how to set up the library, call the App Store Server API, verify App Store Server Notifications, and use app receipts. Explore insights and best practices for using App Store Server API endpoints, verifying App Store signed data, and migrating away from verifyReceipt.","title":"Meet the App Store Server Library ","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":83,"topicIds":[86,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"94ECC130-1239-48EC-8B34-18791EFE0DB5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10143\/4\/2A530FC7-FDC1-4CB7-AE05-57F3F22675C7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10143\/4\/2A530FC7-FDC1-4CB7-AE05-57F3F22675C7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10143\/4\/2A530FC7-FDC1-4CB7-AE05-57F3F22675C7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10143\/4\/2A530FC7-FDC1-4CB7-AE05-57F3F22675C7\/downloads\/wwdc2023-10143_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10143\/4\/2A530FC7-FDC1-4CB7-AE05-57F3F22675C7\/downloads\/wwdc2023-10143_sd.mp4","duration":1360,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10141","wwdc2023-10142","wwdc2023-111368","wwdc2019-305"],"resources":[3520,3519,3518,3517,3516,3515,3514,1637,765]}},"wwdc2023-111241":{"id":"wwdc2023-111241","staticContentId":8493,"eventContentId":111241,"eventId":"wwdc2023","contentUpdatedAt":"2026-02-16T10:56:02-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111241","languageCode":"eng","description":"Discover how to build person-centric features with Vision. Learn how to detect human body poses and measure individual joint locations in 3D space. We\u2019ll also show you how to take advantage of person segmentation APIs to distinguish and segment up to four individuals in an image.\n\nTo learn more about the latest features in Vision, check out \u201cDetect animal poses in Vision\u201d from WWDC23.","title":"Explore 3D body pose and person segmentation in Vision","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CC4ADBF4-4B2C-4449-904B-B27421B490E0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111241\/4\/ABFB7CE2-6FB6-4998-BE3A-686BF10AC41E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111241\/4\/ABFB7CE2-6FB6-4998-BE3A-686BF10AC41E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111241\/4\/ABFB7CE2-6FB6-4998-BE3A-686BF10AC41E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111241\/4\/ABFB7CE2-6FB6-4998-BE3A-686BF10AC41E\/downloads\/wwdc2023-111241_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111241\/4\/ABFB7CE2-6FB6-4998-BE3A-686BF10AC41E\/downloads\/wwdc2023-111241_sd.mp4","duration":878,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10045","wwdc2023-10176","wwdc2023-111246","wwdc2023-111248","wwdc2023-111249","wwdc2023-111250","wwdc2023-111251","wwdc2023-111252","wwdc2023-111253","wwdc2023-111254","wwdc2023-111255","wwdc2022-110429","wwdc2020-10653"],"resources":[134]}},"wwdc2023-10172":{"id":"wwdc2023-10172","staticContentId":8229,"eventContentId":10172,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10172","languageCode":"eng","description":"Learn how you can use Swift in your C++ and Objective-C++ projects to make your code safer, faster, and easier to develop. We\u2019ll show you how to use C++ and Swift APIs to incrementally incorporate Swift into your app. ","title":"Mix Swift and C++","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0A49DAD7-7E19-4A9B-8DE5-A2C73CDBE18A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10172\/4\/58243B95-F51E-4E6A-96C8-B85E8102E450\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10172\/4\/58243B95-F51E-4E6A-96C8-B85E8102E450\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10172\/4\/58243B95-F51E-4E6A-96C8-B85E8102E450\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10172\/4\/58243B95-F51E-4E6A-96C8-B85E8102E450\/downloads\/wwdc2023-10172_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10172\/4\/58243B95-F51E-4E6A-96C8-B85E8102E450\/downloads\/wwdc2023-10172_sd.mp4","duration":1065,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":40,"title":"Basics of interoperability","end":142},{"start":142,"title":"Adding Swift to a C++ codebase","end":250},{"start":250,"title":"Calling a C++ method in Swift","end":290},{"start":290,"title":"Calling a Swift method in C++","end":452},{"start":452,"title":"Improving how C++ APIs are imported","end":735},{"start":735,"title":"Foreign reference types","end":1065}]},"related":{"activities":["wwdc2023-10164","wwdc2023-111307","wwdc2023-111308","wwdc2023-111309","wwdc2023-111310","wwdc2023-111311","wwdc2023-111312","wwdc2023-111316","wwdc2023-111317","wwdc2023-111588"],"resources":[3524,3502,3501]}},"wwdc2023-10122":{"id":"wwdc2023-10122","staticContentId":8179,"eventContentId":10122,"eventId":"wwdc2023","contentUpdatedAt":"2025-06-06T10:54:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10122","languageCode":"eng","description":"Learn about the latest image formats and video technologies supported in Safari 17. Discover how you can use JPEG XL, AVIF, and HEIC in your websites and experiences and learn how they differ from previous formats. We\u2019ll also show you how the Managed Media Source API draws less power than Media Source Extensions (MSE) and explore how you can use it to more efficiently manage streaming video over 5G.","title":"Explore media formats for the web","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DE9C0B89-A030-480A-96EB-14ADC205384F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10122\/6\/8D4F2F56-BA71-41C2-987B-9C8D656D60AF\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10122\/6\/8D4F2F56-BA71-41C2-987B-9C8D656D60AF\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10122\/6\/8D4F2F56-BA71-41C2-987B-9C8D656D60AF\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10122\/6\/8D4F2F56-BA71-41C2-987B-9C8D656D60AF\/downloads\/wwdc2023-10122_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10122\/6\/8D4F2F56-BA71-41C2-987B-9C8D656D60AF\/downloads\/wwdc2023-10122_sd.mp4","duration":1318,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10121","wwdc2023-10262","wwdc2023-10320","wwdc2023-10326","wwdc2022-10048","wwdc2021-10031"],"resources":[3089,774,772,765,587]}},"wwdc2023-10095":{"id":"wwdc2023-10095","staticContentId":8149,"eventContentId":10095,"eventId":"wwdc2023","contentUpdatedAt":"2025-09-09T13:10:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10095","languageCode":"eng","description":"Find out how you can take control of RealityKit rendering to improve the look and feel of your apps and games on visionOS. Discover how you can customize lighting, add grounding shadows, and control tone mapping for your content. We\u2019ll also go over best practices for two key treatments on the platform: rasterization rate maps and dynamic content scaling.","title":"Explore rendering for spatial computing","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","visionOS"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3BA8A047-CD95-41E8-AC08-9A187F0F657D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10095\/4\/CCE7B88E-E0C4-4BA3-87E7-9C1D644FA6CB\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10095\/4\/CCE7B88E-E0C4-4BA3-87E7-9C1D644FA6CB\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10095\/4\/CCE7B88E-E0C4-4BA3-87E7-9C1D644FA6CB\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10095\/4\/CCE7B88E-E0C4-4BA3-87E7-9C1D644FA6CB\/downloads\/wwdc2023-10095_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10095\/4\/CCE7B88E-E0C4-4BA3-87E7-9C1D644FA6CB\/downloads\/wwdc2023-10095_sd.mp4","duration":1019,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","end":75},{"start":75,"title":"Lighting and shadows","end":305},{"start":305,"title":"Materials","end":609},{"start":609,"title":"Rasterization rate maps","end":793},{"start":793,"title":"Dynamic content scaling","end":961},{"start":961,"title":"Wrap-up","end":1019}]},"related":{"activities":["wwdc2023-10081","wwdc2023-10100","wwdc2023-10202"],"resources":[3112]}},"wwdc2023-10109":{"id":"wwdc2023-10109","staticContentId":8163,"eventContentId":10109,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10109","languageCode":"eng","description":"Take a tour of the solar system with us and explore SwiftUI for visionOS! Discover how you can build an entirely new universe of apps with windows, volumes, and spaces. We\u2019ll show you how to get started with SwiftUI on this platform as we build an astronomy app, add 3D content, and create a fully immersive experience to transport people to the stars.","title":"Meet SwiftUI for spatial computing","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":100,"topicIds":[90,85,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8BB3ADB5-4319-4633-BE90-4A43DF7E4AE0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10109\/4\/F4A066BD-28D9-4CF8-AAF3-D35EA776504F\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10109\/4\/F4A066BD-28D9-4CF8-AAF3-D35EA776504F\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10109\/4\/F4A066BD-28D9-4CF8-AAF3-D35EA776504F\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10109\/4\/F4A066BD-28D9-4CF8-AAF3-D35EA776504F\/downloads\/wwdc2023-10109_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10109\/4\/F4A066BD-28D9-4CF8-AAF3-D35EA776504F\/downloads\/wwdc2023-10109_sd.mp4","duration":1559,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":329},{"start":329,"title":"Windows","end":846},{"start":846,"title":"Volumes","end":1235},{"start":1235,"title":"Full Spaces","end":1559}]},"related":{"activities":["wwdc2023-10034","wwdc2023-10072","wwdc2023-10076","wwdc2023-10080","wwdc2023-10082","wwdc2023-10090","wwdc2023-10110","wwdc2023-10111","wwdc2023-10148","wwdc2023-10260","wwdc2023-111215"],"resources":[3570]}},"wwdc2023-10087":{"id":"wwdc2023-10087","staticContentId":8141,"eventContentId":10087,"eventId":"wwdc2023","contentUpdatedAt":"2025-06-25T10:59:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10087","languageCode":"eng","description":"Discover how you can use the GroupActivities framework to build unique sharing and collaboration experiences for visionOS. We\u2019ll introduce you to SharePlay on this platform, learn how to create experiences that make people feel present as if they were in the same space, and explore how immersive apps can respect shared context between participants.","title":"Build spatial SharePlay experiences","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"keywords":["group activities"],"primaryTopicID":85,"topicIds":[85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C3E03092-D805-440E-80E1-78F9144818D1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10087\/4\/36E3D439-2B36-408C-9249-3929F2E75FBD\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10087\/4\/36E3D439-2B36-408C-9249-3929F2E75FBD\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10087\/4\/36E3D439-2B36-408C-9249-3929F2E75FBD\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10087\/4\/36E3D439-2B36-408C-9249-3929F2E75FBD\/downloads\/wwdc2023-10087_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10087\/4\/36E3D439-2B36-408C-9249-3929F2E75FBD\/downloads\/wwdc2023-10087_sd.mp4","duration":1471,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10075","wwdc2023-10111","wwdc2023-10239","wwdc2021-10187","wwdc2019-259"],"resources":[3548]}},"wwdc2023-10161":{"id":"wwdc2023-10161","staticContentId":8218,"eventContentId":10161,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10161","languageCode":"eng","description":"Meet Inspectors \u2014 a structural API that can help bring a new level of detail to your apps. We\u2019ll take you through the fundamentals of the API and show you how to adopt it. Learn about the latest updates to sheet presentation customizations and find out how you can combine the two to create perfect presentation experiences.","title":"Inspectors in SwiftUI: Discover the details","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E1D19EE8-FAFE-41CA-B28E-D980360EBE50","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10161\/4\/8290EAC4-2BB0-4766-AABF-FEC196606758\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10161\/4\/8290EAC4-2BB0-4766-AABF-FEC196606758\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10161\/4\/8290EAC4-2BB0-4766-AABF-FEC196606758\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10161\/4\/8290EAC4-2BB0-4766-AABF-FEC196606758\/downloads\/wwdc2023-10161_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10161\/4\/8290EAC4-2BB0-4766-AABF-FEC196606758\/downloads\/wwdc2023-10161_sd.mp4","duration":783,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":32,"title":"Inspector","end":207},{"start":207,"title":"\ud83c\udf4e\ud83c\udf50\ud83c\udf4b\ud83c\udf52","end":551},{"start":551,"title":"\ud83c\udf4f","end":577},{"start":577,"title":"Presentation customizations","end":783}]},"related":{"activities":["wwdc2023-10148"]}},"wwdc2023-10142":{"id":"wwdc2023-10142","staticContentId":8199,"eventContentId":10142,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10142","languageCode":"eng","description":"Learn how you can test in-app purchases throughout development with StoreKit Testing in Xcode, App Store sandbox, and TestFlight. Explore how each tool functions and how you can combine them to build the right workflow for testing your apps and games. We\u2019ll also share a sneak preview of how you can test Family Sharing for in-app purchases & subscriptions in the App Store sandbox.","title":"Explore testing in-app purchases","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":83,"topicIds":[86,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9171646C-5EA4-4B88-AB83-FD8D5E7C5957","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10142\/4\/D77D9908-4DAF-4E7C-92F7-0FC31264D914\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10142\/4\/D77D9908-4DAF-4E7C-92F7-0FC31264D914\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10142\/4\/D77D9908-4DAF-4E7C-92F7-0FC31264D914\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10142\/4\/D77D9908-4DAF-4E7C-92F7-0FC31264D914\/downloads\/wwdc2023-10142_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10142\/4\/D77D9908-4DAF-4E7C-92F7-0FC31264D914\/downloads\/wwdc2023-10142_sd.mp4","duration":1177,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10117","wwdc2023-10140","wwdc2023-10143","wwdc2023-10323","wwdc2023-111367","wwdc2023-111368","wwdc2023-111426","wwdc2023-111428","wwdc2023-111431","wwdc2023-111433","wwdc2023-111434","wwdc2023-111439","wwdc2023-111440","wwdc2023-111454","wwdc2022-10007","wwdc2022-10039","tech-talks-110343","tech-talks-110345"],"resources":[3522,3507,3506,1508,803,800,799,765,246]}},"wwdc2023-10049":{"id":"wwdc2023-10049","staticContentId":8088,"eventContentId":10049,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10049","languageCode":"eng","description":"Learn how to speed up machine learning features in your app with the latest Core ML execution engine improvements and find out how aggressive asset caching can help with inference and faster model loads. We\u2019ll show you some of the latest options for async prediction and discuss considerations for balancing performance with overall memory usage to help you create a highly responsive app. Discover APIs to help you understand and maximize hardware utilization for your models.\n\nFor more on optimizing Core ML model usage, check out \"Use Core ML Tools for machine learning model compression\" from WWDC23.","title":"Improve Core ML integration with async prediction","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3291FB4C-B9BD-4E71-98D0-CC2E462176A0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10049\/4\/2E4BF7CE-8624-47ED-90A6-AFF972EEF0D8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10049\/4\/2E4BF7CE-8624-47ED-90A6-AFF972EEF0D8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10049\/4\/2E4BF7CE-8624-47ED-90A6-AFF972EEF0D8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10049\/4\/2E4BF7CE-8624-47ED-90A6-AFF972EEF0D8\/downloads\/wwdc2023-10049_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10049\/4\/2E4BF7CE-8624-47ED-90A6-AFF972EEF0D8\/downloads\/wwdc2023-10049_sd.mp4","duration":1401,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-111245","wwdc2023-111248","wwdc2023-111249","wwdc2023-111250","wwdc2023-111251","wwdc2023-111252","wwdc2023-111253","wwdc2023-111254","wwdc2023-111255","wwdc2022-10017","wwdc2022-10027","wwdc2021-10038"],"resources":[27]}},"wwdc2023-10226":{"id":"wwdc2023-10226","staticContentId":8290,"eventContentId":10226,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10226","languageCode":"eng","description":"Discover the debug console in Xcode 15 and learn how you can improve your diagnostic experience through logging. Explore how you can navigate your logs easily and efficiently using advanced filtering and improved visualization. We\u2019ll also show you how to use the dwim-print command to evaluate expressions in your code while debugging.","title":"Debug with structured logging","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["\u26a1\ufe0f"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B74FA702-D161-4FCE-B6A4-AF5221C16910","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10226\/5\/FFFDC5A2-A309-4C9B-B908-B19B51F18FB0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10226\/5\/FFFDC5A2-A309-4C9B-B908-B19B51F18FB0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10226\/5\/FFFDC5A2-A309-4C9B-B908-B19B51F18FB0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10226\/5\/FFFDC5A2-A309-4C9B-B908-B19B51F18FB0\/downloads\/wwdc2023-10226_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10226\/5\/FFFDC5A2-A309-4C9B-B908-B19B51F18FB0\/downloads\/wwdc2023-10226_sd.mp4","duration":822,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":44,"title":"Tour of the Debug Console","end":208},{"start":208,"title":"Live debugging","end":445},{"start":445,"title":"LLDB improvements","end":544},{"start":544,"title":"Tips for logging","end":724},{"start":724,"title":"Get the most out of your logging","end":822}]},"related":{"activities":["wwdc2023-10165","wwdc2023-10297","wwdc2023-111256","wwdc2023-111257","wwdc2023-111262","wwdc2023-111263","wwdc2023-111274","wwdc2023-111275","wwdc2020-10168","wwdc2018-405","wwdc2016-721"],"resources":[424]}},"wwdc2023-10123":{"id":"wwdc2023-10123","staticContentId":8180,"eventContentId":10123,"eventId":"wwdc2023","contentUpdatedAt":"2025-07-16T18:34:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10123","languageCode":"eng","description":"Bring modern, high-end games to Mac and iPad with the powerful features of Metal and Apple silicon. Discover the game porting toolkit and learn how it can help you evaluate your existing Windows game for graphics feature compatibility and performance. We\u2019ll share best practices and technical resources for handling audio, input, and advanced display features.\n\nOnce you\u2019ve watched this session, check out \u201cBring your game to Mac, Part 2: Compile your shaders\u201d to learn more about bringing HLSL shaders to Metal.","title":"Bring your game to Mac, Part 1: Make a game plan","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[88,90,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AB3418B3-A064-48B8-BC99-18370A1584F2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10123\/4\/204C6242-388E-4884-864A-CCCBF869D651\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10123\/4\/204C6242-388E-4884-864A-CCCBF869D651\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10123\/4\/204C6242-388E-4884-864A-CCCBF869D651\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10123\/4\/204C6242-388E-4884-864A-CCCBF869D651\/downloads\/wwdc2023-10123_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10123\/4\/204C6242-388E-4884-864A-CCCBF869D651\/downloads\/wwdc2023-10123_sd.mp4","duration":906,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Intro","end":57},{"start":57,"title":"Game porting toolkit","end":184},{"start":184,"title":"Evaluate your game","end":526},{"start":526,"title":"Compile your shaders","end":553},{"start":553,"title":"Render with Metal","end":584},{"start":584,"title":"Input","end":672},{"start":672,"title":"Audio","end":788},{"start":788,"title":"Display","end":877},{"start":877,"title":"Wrap-Up","end":906}]},"related":{"activities":["wwdc2023-10124","wwdc2023-10125","wwdc2023-111271","wwdc2023-111272","wwdc2023-111285","wwdc2023-111286","wwdc2022-10065","wwdc2022-10113","wwdc2021-10079","wwdc2021-10081","wwdc2021-10161","wwdc2020-10614","tech-talks-111372"],"resources":[3542,3132,3131,758]}},"wwdc2023-10146":{"id":"wwdc2023-10146","staticContentId":8203,"eventContentId":10146,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10146","languageCode":"eng","description":"Discover how Core Location helps your app find its place in the world \u2014 literally. We\u2019ll share how you can build a spatial computing app that uses a person\u2019s location while respecting their privacy. You\u2019ll also learn how your app can request location access and how Core Location adapts requests from compatible iPad and iPhone apps.","title":"Meet Core Location for spatial computing","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":93,"topicIds":[83,85,93],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"63E2A82B-C23D-4E41-8A7A-C1DEDA383E49","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10146\/4\/17F61886-5FF3-42B0-969D-5B6FB86820B2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10146\/4\/17F61886-5FF3-42B0-969D-5B6FB86820B2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10146\/4\/17F61886-5FF3-42B0-969D-5B6FB86820B2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10146\/4\/17F61886-5FF3-42B0-969D-5B6FB86820B2\/downloads\/wwdc2023-10146_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10146\/4\/17F61886-5FF3-42B0-969D-5B6FB86820B2\/downloads\/wwdc2023-10146_sd.mp4","duration":641,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10090","wwdc2023-10147","wwdc2023-10180","wwdc2023-111265","wwdc2023-111266","wwdc2019-705"],"resources":[3135,3134,99]}},"wwdc2023-10275":{"id":"wwdc2023-10275","staticContentId":8344,"eventContentId":10275,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10275","languageCode":"eng","description":"Learn how you can use HLS Interstitials with AirPlay to create seamless transitions for your video content between advertisements. We\u2019ll share best practices and tips for creating a great experience when sharing content from Apple devices to popular smart TVs.","title":"Explore AirPlay with interstitials","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A35EBCF1-11A5-4901-A9B8-10E19F94F7A6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10275\/5\/9AAAFD03-718B-497E-8A61-C0B00CC14513\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10275\/5\/9AAAFD03-718B-497E-8A61-C0B00CC14513\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10275\/5\/9AAAFD03-718B-497E-8A61-C0B00CC14513\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10275\/5\/9AAAFD03-718B-497E-8A61-C0B00CC14513\/downloads\/wwdc2023-10275_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10275\/5\/9AAAFD03-718B-497E-8A61-C0B00CC14513\/downloads\/wwdc2023-10275_sd.mp4","duration":1191,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Overview ","end":2},{"start":2,"title":"Navigation restrictions ","end":4},{"start":4,"title":"Optimize AirPlay playback ","end":6},{"start":6,"title":"Interstitials localization ","end":8},{"start":8,"title":"Testing","end":10},{"start":10,"title":"Example VOD plan","end":1191}]},"related":{"activities":["wwdc2023-10238","wwdc2023-111341","wwdc2023-111351","wwdc2023-111352"],"resources":[3043,1792,1718,1657]}},"wwdc2023-10113":{"id":"wwdc2023-10113","staticContentId":8167,"eventContentId":10113,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10113","languageCode":"eng","description":"Get ready to add depth and dimension to your visionOS apps. Find out how to bring three-dimensional objects to your app using volumes, get to know the Model 3D API, and learn how to position and animate content. We\u2019ll also show you how to use UI attachments in RealityView and support gestures in your content.","title":"Take SwiftUI to the next dimension","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","primaryTopicID":100,"topicIds":[85,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"317EE89F-141B-4A26-807F-A77D0256DEF1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10113\/5\/00AAFA9F-AFE8-473B-BAB6-201545F4DF62\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10113\/5\/00AAFA9F-AFE8-473B-BAB6-201545F4DF62\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10113\/5\/00AAFA9F-AFE8-473B-BAB6-201545F4DF62\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10113\/5\/00AAFA9F-AFE8-473B-BAB6-201545F4DF62\/downloads\/wwdc2023-10113_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10113\/5\/00AAFA9F-AFE8-473B-BAB6-201545F4DF62\/downloads\/wwdc2023-10113_sd.mp4","duration":1170,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":109},{"start":109,"title":"Volumes","end":177},{"start":177,"title":"3D views and layout","end":466},{"start":466,"title":"RealityView","end":655},{"start":655,"title":"3D gestures","end":1170}]},"related":{"activities":["wwdc2023-10080","wwdc2023-10081","wwdc2023-10110","wwdc2023-10111","wwdc2023-10203"]}},"wwdc2023-10058":{"id":"wwdc2023-10058","staticContentId":8106,"eventContentId":10058,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10058","languageCode":"eng","description":"Text is an absolutely critical component of every app. Discover the latest features and enhancements for creating rich text experiences on Apple platforms. We\u2019ll show you how to take advantage of common text elements and create entirely custom interactions for your app. Learn about updates to dictation, text loupe, and text selection, and explore improvements to text clipping, line wrapping, and hyphenation.","title":"What\u2019s new with text and text interactions","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[83,101,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7BD31FAD-BE02-478F-BFD6-457DDB11FC11","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10058\/4\/8038A20C-9E59-409E-9C2A-02B517C649A7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10058\/4\/8038A20C-9E59-409E-9C2A-02B517C649A7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10058\/4\/8038A20C-9E59-409E-9C2A-02B517C649A7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10058\/4\/8038A20C-9E59-409E-9C2A-02B517C649A7\/downloads\/wwdc2023-10058_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10058\/4\/8038A20C-9E59-409E-9C2A-02B517C649A7\/downloads\/wwdc2023-10058_sd.mp4","duration":945,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":56,"title":"Changes in selection UI ","end":256},{"start":256,"title":"Text item actions and menus","end":406},{"start":406,"title":"Lists and bullets","end":457},{"start":457,"title":"Dictation","end":668},{"start":668,"title":"Internationalization","end":945}]},"related":{"activities":["wwdc2023-10055","wwdc2023-10281"],"resources":[3075,3074]}},"wwdc2023-10037":{"id":"wwdc2023-10037","staticContentId":8065,"eventContentId":10037,"eventId":"wwdc2023","contentUpdatedAt":"2025-10-03T09:55:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10037","languageCode":"eng","description":"Swift Charts has come full circle: Get ready to bake up pie and donut charts in your app with the latest improvements to the framework. Learn how to make your charts scrollable, explore the chart selection API for revealing additional details in your data, and find out how enabling additional interactivity can make your charts even more delightful. ","title":"Explore pie charts and interactivity in Swift Charts","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6292B213-0E4B-4B1B-A84F-0B148DB1342F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10037\/4\/77026DAB-A5CB-4FD8-8516-5E63DD12C236\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10037\/4\/77026DAB-A5CB-4FD8-8516-5E63DD12C236\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10037\/4\/77026DAB-A5CB-4FD8-8516-5E63DD12C236\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10037\/4\/77026DAB-A5CB-4FD8-8516-5E63DD12C236\/downloads\/wwdc2023-10037_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10037\/4\/77026DAB-A5CB-4FD8-8516-5E63DD12C236\/downloads\/wwdc2023-10037_sd.mp4","duration":614,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":20,"title":"Pie charts","end":262},{"start":262,"title":"Selection","end":469},{"start":469,"title":"Scrolling","end":614}]},"related":{"activities":["wwdc2023-10148","wwdc2023-10159"],"resources":[2476]}},"wwdc2023-10304":{"id":"wwdc2023-10304","staticContentId":8385,"eventContentId":10304,"eventId":"wwdc2023","contentUpdatedAt":"2026-02-16T10:56:02-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10304","languageCode":"eng","description":"Discover how you can create incredible photo and video experiences in your camera app when integrating with DockKit-compatible motorized stands. We\u2019ll show how your app can automatically track subjects in live video across a 360-degree field of view, take direct control of the stand to customize framing, directly control the motors, and provide your own inference model for tracking other objects. Finally, we\u2019ll demonstrate how to create a sense of emotion through dynamic device animations.\n\nTo learn more techniques for image tracking, check out \u201cDetect animal poses in Vision\u201d from WWDC23 and \"Classify hand poses and actions with Create ML\u201d from WWDC21.","title":"Integrate with motorized iPhone stands using DockKit","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":95,"topicIds":[94,95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"105DD585-BC10-4968-A39E-9D4B948CD544","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10304\/4\/F0FF6E30-0DEE-40FF-B969-616952919D33\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10304\/4\/F0FF6E30-0DEE-40FF-B969-616952919D33\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10304\/4\/F0FF6E30-0DEE-40FF-B969-616952919D33\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10304\/4\/F0FF6E30-0DEE-40FF-B969-616952919D33\/downloads\/wwdc2023-10304_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10304\/4\/F0FF6E30-0DEE-40FF-B969-616952919D33\/downloads\/wwdc2023-10304_sd.mp4","duration":1055,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10045","wwdc2023-111336","wwdc2021-10039","wwdc2020-10653"],"resources":[3525,443,134]}},"wwdc2023-10029":{"id":"wwdc2023-10029","staticContentId":8057,"eventContentId":10029,"eventId":"wwdc2023","contentUpdatedAt":"2024-07-25T13:04:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10029","languageCode":"eng","description":"Follow along as we build a widget for the Smart Stack on watchOS 10 using the latest SwiftUI and WidgetKit APIs. Learn tips, techniques, and best practices for creating widgets that show relevant information on Apple Watch.","title":"Build widgets for the Smart Stack on Apple Watch","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["watchOS"],"keywords":["watchos","watchos 10"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C0FF594A-2795-4BF4-99AD-9D5C2A2200F9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10029\/5\/A6F20D9A-932C-44D8-99FA-FBFE3D6E5CBE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10029\/5\/A6F20D9A-932C-44D8-99FA-FBFE3D6E5CBE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10029\/5\/A6F20D9A-932C-44D8-99FA-FBFE3D6E5CBE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10029\/5\/A6F20D9A-932C-44D8-99FA-FBFE3D6E5CBE\/downloads\/wwdc2023-10029_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10029\/5\/A6F20D9A-932C-44D8-99FA-FBFE3D6E5CBE\/downloads\/wwdc2023-10029_sd.mp4","duration":1448,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":58,"title":"Get started","end":123},{"start":123,"title":"Configure the widget","end":231},{"start":231,"title":"Set up the timeline","end":616},{"start":616,"title":"Build widget views","end":987},{"start":987,"title":"Finish building timeline","end":1198},{"start":1198,"title":"Provide relevant intents","end":1448}]},"related":{"activities":["wwdc2023-10309","wwdc2023-111335","wwdc2023-111522"],"resources":[3106,924,815]}},"wwdc2023-10015":{"id":"wwdc2023-10015","staticContentId":8033,"eventContentId":10015,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-16T14:45:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10015","languageCode":"eng","description":"Discover the latest enhancements to App Store pre-orders, including regional publishing. We\u2019ll show you how to use App Store Connect to set up pre-orders to simultaneously soft launch your app and offer it in different regions.","title":"What\u2019s new in App Store pre-orders","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"920C671C-CA54-47AE-BED3-0BC9AEE22696","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10015\/4\/1BACDF1D-18D0-4971-AED9-7DBB31B3926A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10015\/4\/1BACDF1D-18D0-4971-AED9-7DBB31B3926A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10015\/4\/1BACDF1D-18D0-4971-AED9-7DBB31B3926A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10015\/4\/1BACDF1D-18D0-4971-AED9-7DBB31B3926A\/downloads\/wwdc2023-10015_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10015\/4\/1BACDF1D-18D0-4971-AED9-7DBB31B3926A\/downloads\/wwdc2023-10015_sd.mp4","duration":458,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10117"]}},"wwdc2023-10203":{"id":"wwdc2023-10203","staticContentId":8265,"eventContentId":10203,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10203","languageCode":"eng","description":"Find out how you can build immersive apps for visionOS using Xcode and Reality Composer Pro. We\u2019ll show you how to get started with a new visionOS project, use Xcode Previews for your SwiftUI development, and take advantage of RealityKit and RealityView to render 3D content. ","title":"Develop your first immersive app","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["macOS","visionOS"],"primaryTopicID":85,"topicIds":[90,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3C1953B4-B2A5-43AA-8B93-0CB8997E609D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10203\/6\/469019B0-281D-4B3E-BAE3-B9302B204739\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10203\/6\/469019B0-281D-4B3E-BAE3-B9302B204739\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10203\/6\/469019B0-281D-4B3E-BAE3-B9302B204739\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10203\/6\/469019B0-281D-4B3E-BAE3-B9302B204739\/downloads\/wwdc2023-10203_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10203\/6\/469019B0-281D-4B3E-BAE3-B9302B204739\/downloads\/wwdc2023-10203_sd.mp4","duration":1868,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":66},{"start":66,"title":"Create an Xcode project","end":537},{"start":537,"title":"Simulator","end":732},{"start":732,"title":"Xcode Previews","end":814},{"start":814,"title":"Reality Composer Pro","end":1218},{"start":1218,"title":"Create an immersive scene","end":1528},{"start":1528,"title":"Target gestures to entities","end":1816},{"start":1816,"title":"Wrap-up","end":1868}]},"related":{"activities":["wwdc2023-10080","wwdc2023-10082","wwdc2023-10083","wwdc2023-10111","wwdc2023-10113","wwdc2023-10260","wwdc2023-10273","wwdc2023-111215"]}},"wwdc2023-10141":{"id":"wwdc2023-10141","staticContentId":8198,"eventContentId":10141,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10141","languageCode":"eng","description":"Discover the latest updates to the App Store Server API and App Store Server Notifications. Explore the current API offerings and learn how to track subscription status with notifications, work with transactions on your server, and efficiently recover missed notifications. We\u2019ll also show you how your server can support apps using StoreKit or StoreKit 2, and share an important deprecation in the API and suggested migration workflow.","title":"What\u2019s new in App Store server APIs","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":83,"topicIds":[86,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"318F5A2C-9EC3-436B-A763-A66BF4D00EB1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10141\/4\/D21B22C2-4C48-48FB-93A7-3B2712DBBDD9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10141\/4\/D21B22C2-4C48-48FB-93A7-3B2712DBBDD9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10141\/4\/D21B22C2-4C48-48FB-93A7-3B2712DBBDD9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10141\/4\/D21B22C2-4C48-48FB-93A7-3B2712DBBDD9\/downloads\/wwdc2023-10141_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10141\/4\/D21B22C2-4C48-48FB-93A7-3B2712DBBDD9\/downloads\/wwdc2023-10141_sd.mp4","duration":1266,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10013","wwdc2023-10143","wwdc2023-111368","wwdc2022-10007","wwdc2022-10040"],"resources":[3513,3512,3511,3510,3509,2371,765]}},"wwdc2023-10107":{"id":"wwdc2023-10107","staticContentId":8161,"eventContentId":10107,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10107","languageCode":"eng","description":"Discover how you can simply, safely, and securely access the Photos Library in your app. Learn how to get started with the embedded picker and explore the options menu and HDR still image support. We\u2019ll also show you how to take advantage of UI customization options to help the picker blend into your existing interface.","title":"Embed the Photos Picker in your app","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":95,"topicIds":[95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7108EE4C-2029-47B4-AC4F-7E14F6064B68","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10107\/5\/62F52A2D-1C9A-4349-8D1F-03308947930A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10107\/5\/62F52A2D-1C9A-4349-8D1F-03308947930A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10107\/5\/62F52A2D-1C9A-4349-8D1F-03308947930A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10107\/5\/62F52A2D-1C9A-4349-8D1F-03308947930A\/downloads\/wwdc2023-10107_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10107\/5\/62F52A2D-1C9A-4349-8D1F-03308947930A\/downloads\/wwdc2023-10107_sd.mp4","duration":856,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10053","wwdc2023-111472","wwdc2023-111480","wwdc2023-111481","wwdc2022-10023","wwdc2022-10132","wwdc2020-10652"],"resources":[3529,903]}},"wwdc2023-10034":{"id":"wwdc2023-10034","staticContentId":8062,"eventContentId":10034,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10034","languageCode":"eng","description":"Learn how you can make spatial computing apps that work well for everyone. Like all Apple platforms, visionOS is designed for accessibility: We\u2019ll share how we\u2019ve reimagined assistive technologies like VoiceOver and Pointer Control and designed features like Dwell Control to help people interact in the way that works best for them. Learn best practices for vision, motor, cognitive, and hearing accessibility and help everyone enjoy immersive experiences for visionOS.","title":"Create accessible spatial experiences","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":82,"topicIds":[85,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D1866B0D-617B-4A78-A645-915F82BC0B78","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10034\/5\/DF004F28-FE27-41BB-B1BB-4CF81F3F2695\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10034\/5\/DF004F28-FE27-41BB-B1BB-4CF81F3F2695\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10034\/5\/DF004F28-FE27-41BB-B1BB-4CF81F3F2695\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10034\/5\/DF004F28-FE27-41BB-B1BB-4CF81F3F2695\/downloads\/wwdc2023-10034_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10034\/5\/DF004F28-FE27-41BB-B1BB-4CF81F3F2695\/downloads\/wwdc2023-10034_sd.mp4","duration":1551,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":42,"title":"Overview","end":124},{"start":124,"title":"Vision","end":970},{"start":970,"title":"Motor","end":1215},{"start":1215,"title":"Cognitive","end":1335},{"start":1335,"title":"Hearing","end":1551}]},"related":{"activities":["wwdc2023-10109","wwdc2022-10152","wwdc2021-10119","wwdc2021-10121","wwdc2020-10020","wwdc2020-10116","wwdc2019-238","wwdc2019-250"],"resources":[3550,3543,3092,1798,50]}},"wwdc2023-10105":{"id":"wwdc2023-10105","staticContentId":8159,"eventContentId":10105,"eventId":"wwdc2023","contentUpdatedAt":"2025-06-06T12:35:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10105","languageCode":"eng","description":"Discover how AVCapture and PhotoKit can help you create more responsive and delightful apps. Learn about the camera capture process and find out how deferred photo processing can help create the best quality photo. We\u2019ll show you how zero shutter lag uses time travel to capture the perfect action photo, dive into building a responsive capture pipeline, and share how you can adopt the Video Effects API to recognize pre-defined gestures that trigger real-time video effects.","title":"Create a more responsive camera experience","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":95,"topicIds":[83,95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"51F35626-EAF3-46CA-A448-450C427740BE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10105\/4\/E34149DA-EEF7-4E25-A6B3-DDEB0BB7BF1C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10105\/4\/E34149DA-EEF7-4E25-A6B3-DDEB0BB7BF1C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10105\/4\/E34149DA-EEF7-4E25-A6B3-DDEB0BB7BF1C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10105\/4\/E34149DA-EEF7-4E25-A6B3-DDEB0BB7BF1C\/downloads\/wwdc2023-10105_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10105\/4\/E34149DA-EEF7-4E25-A6B3-DDEB0BB7BF1C\/downloads\/wwdc2023-10105_sd.mp4","duration":2097,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-111473","wwdc2023-111474","wwdc2023-111506","wwdc2023-111507","wwdc2020-10641"],"resources":[227,91,52]}},"wwdc2023-10154":{"id":"wwdc2023-10154","staticContentId":8211,"eventContentId":10154,"eventId":"wwdc2023","contentUpdatedAt":"2026-05-05T14:33:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10154","languageCode":"eng","description":"Discover how SwiftData can help you persist data in your app. Code along with us as we bring SwiftData to a multi-platform SwiftUI app. Learn how to convert existing model classes into SwiftData models, set up the environment, reflect model layer changes in UI, and build document-based applications backed by SwiftData storage.\n\nTo get the most out of this session, you should be familiar SwiftData. For an introduction, check out \"Meet SwiftData\" from WWDC23.","title":"Build an app with SwiftData","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6212A897-0836-4F61-BD05-F76FA4C5D942","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10154\/6\/00F52EA1-7867-49C3-9DA6-88D0D9D637E1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10154\/6\/00F52EA1-7867-49C3-9DA6-88D0D9D637E1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10154\/6\/00F52EA1-7867-49C3-9DA6-88D0D9D637E1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10154\/6\/00F52EA1-7867-49C3-9DA6-88D0D9D637E1\/downloads\/wwdc2023-10154_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10154\/6\/00F52EA1-7867-49C3-9DA6-88D0D9D637E1\/downloads\/wwdc2023-10154_sd.mp4","duration":1134,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Meet the app","end":189},{"start":189,"title":"SwiftData models","end":330},{"start":330,"title":"Querying models to display in UI","end":583},{"start":583,"title":"Creating and updating","end":750},{"start":750,"title":"Document-based apps","end":1134}]},"related":{"activities":["wwdc2023-10148","wwdc2023-10149","wwdc2023-10187","wwdc2023-10189","wwdc2023-10195","wwdc2023-10196"],"resources":[3037]}},"wwdc2023-10096":{"id":"wwdc2023-10096","staticContentId":8150,"eventContentId":10096,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10096","languageCode":"eng","description":"Find out how you can develop great gaming experiences for visionOS. We\u2019ll share some of the key building blocks that help you create games for this platform, explore how your experiences can fluidly move between levels of immersion, and provide a roadmap for exploring ARKit, RealityKit, Reality Composer Pro, Unity, Metal, and Compositor.","title":"Build great games for spatial computing","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":91,"topicIds":[85,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DCA568AC-19D3-44FD-A13D-7A5281DC42D8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10096\/6\/F177C6E8-2AAC-400D-B584-FC7D76E4516F\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10096\/6\/F177C6E8-2AAC-400D-B584-FC7D76E4516F\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10096\/6\/F177C6E8-2AAC-400D-B584-FC7D76E4516F\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10096\/6\/F177C6E8-2AAC-400D-B584-FC7D76E4516F\/downloads\/wwdc2023-10096_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10096\/6\/F177C6E8-2AAC-400D-B584-FC7D76E4516F\/downloads\/wwdc2023-10096_sd.mp4","duration":1106,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Intro","end":41},{"start":41,"title":"Types of spatial games","end":231},{"start":231,"title":"Rendering, audio, and input","end":730},{"start":730,"title":"Development frameworks","end":829},{"start":829,"title":"Build with RealityKit","end":1085},{"start":1085,"title":"Wrap-Up","end":1106}]},"related":{"activities":["wwdc2023-10083","wwdc2023-10088","wwdc2023-10089","wwdc2023-10093","wwdc2023-10094","wwdc2023-10202","wwdc2023-111289","wwdc2023-111290","wwdc2023-111292","wwdc2023-111293"]}},"wwdc2023-10250":{"id":"wwdc2023-10250","staticContentId":8315,"eventContentId":10250,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10250","languageCode":"eng","description":"Speed up feature development by prototyping new code with Xcode Playgrounds, eliminating the need to keep rebuilding and relaunching your project to verify your changes. We\u2019ll show you how using a playground in your project or package can help you try out your code in various scenarios and take a close look at the returned values, including complex structures and user interface elements, so you can quickly iterate on a feature before integrating it into your project.","title":"Prototype with Xcode Playgrounds","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["\ud83e\udd89","\u26a1\ufe0f"],"primaryTopicID":88,"topicIds":[90,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"63CEFDF2-765F-44A8-AF73-C6EB84E715C4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10250\/3\/A3F1820C-593C-4DF2-A36B-F95FA81B1BBC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10250\/3\/A3F1820C-593C-4DF2-A36B-F95FA81B1BBC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10250\/3\/A3F1820C-593C-4DF2-A36B-F95FA81B1BBC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10250\/3\/A3F1820C-593C-4DF2-A36B-F95FA81B1BBC\/downloads\/wwdc2023-10250_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10250\/3\/A3F1820C-593C-4DF2-A36B-F95FA81B1BBC\/downloads\/wwdc2023-10250_sd.mp4","duration":1466,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":180,"title":"Exploring the data model and inspecting UI snapshots","end":866},{"start":866,"title":"Becoming familiar with a new package","end":1087},{"start":1087,"title":"Using the Live View","end":1323},{"start":1323,"title":"Running the updated project","end":1466}]},"related":{"activities":["wwdc2020-10096"]}},"wwdc2023-10054":{"id":"wwdc2023-10054","staticContentId":8102,"eventContentId":10054,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:51-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10054","languageCode":"eng","description":"Discover the latest advances in Mac app development. We\u2019ll share improvements to controls and menus and explore the tools that can help you break free from your (view) bounds. Learn how to add motion to your user interface, take advantage of improvements to text input, and integrate your existing code with Swift and SwiftUI.","title":"What\u2019s new in AppKit","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":100,"topicIds":[83,90,101,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0196947B-5350-41B7-A763-248A97C23ED8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10054\/4\/80B02B85-8293-43F0-A6B1-210B6B6DD1F7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10054\/4\/80B02B85-8293-43F0-A6B1-210B6B6DD1F7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10054\/4\/80B02B85-8293-43F0-A6B1-210B6B6DD1F7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10054\/4\/80B02B85-8293-43F0-A6B1-210B6B6DD1F7\/downloads\/wwdc2023-10054_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10054\/4\/80B02B85-8293-43F0-A6B1-210B6B6DD1F7\/downloads\/wwdc2023-10054_sd.mp4","duration":1638,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":60,"title":"Controls","end":331},{"start":331,"title":"Menus","end":559},{"start":559,"title":"Cooperative app activation","end":676},{"start":676,"title":"Graphics","end":1084},{"start":1084,"title":"Graphics: Images","end":1254},{"start":1254,"title":"Text improvements","end":1423},{"start":1423,"title":"Swift and SwiftUI","end":1638}]},"related":{"activities":["wwdc2023-10181","wwdc2023-10252","wwdc2023-10258"]}},"wwdc2023-10061":{"id":"wwdc2023-10061","staticContentId":8109,"eventContentId":10061,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10061","languageCode":"eng","description":"Discover how you can help secure your app\u2019s dependencies. We\u2019ll show you how Xcode can automatically verify any signed XCFrameworks you include within a project. Learn how code signatures work, the benefits they provide to help protect your software supply chain, and how SDK developers can sign their XCFrameworks to help keep your apps secure.","title":"Verify app dependencies with digital signatures","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[83,90,101,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"208DE856-326D-42FD-A417-7C990F0FEF8F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10061\/4\/69744A23-9D87-4A87-B1D5-DC13BE88274F\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10061\/4\/69744A23-9D87-4A87-B1D5-DC13BE88274F\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10061\/4\/69744A23-9D87-4A87-B1D5-DC13BE88274F\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10061\/4\/69744A23-9D87-4A87-B1D5-DC13BE88274F\/downloads\/wwdc2023-10061_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10061\/4\/69744A23-9D87-4A87-B1D5-DC13BE88274F\/downloads\/wwdc2023-10061_sd.mp4","duration":1025,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":138,"title":"Dependency signatures","end":540},{"start":540,"title":"App developers","end":731},{"start":731,"title":"SDK authors","end":1025}]},"related":{"activities":["wwdc2023-10060","wwdc2023-10165"],"resources":[3115]}},"wwdc2023-10178":{"id":"wwdc2023-10178","staticContentId":8237,"eventContentId":10178,"eventId":"wwdc2023","contentUpdatedAt":"2025-06-09T12:31:48-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10178","languageCode":"eng","description":"Explore the latest updates to App Clips. We\u2019ll show you how to build App Clips more easily using default App Clip links. Learn how you can take advantage of the increased App Clip size limit to build richer and more engaging experiences, and find out how you can launch App Clips directly from your app.","title":"What\u2019s new in App Clips","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["app","app clip","app clip code","clip","download","experience","in app","in-app","install","launch","launch app clip","lightweight","preview","qr code"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"51017EEE-E758-45F4-9080-2E5EAE9621FD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10178\/4\/9DD6B041-9DA7-4F78-82A1-B2E17AFA61CB\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10178\/4\/9DD6B041-9DA7-4F78-82A1-B2E17AFA61CB\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10178\/4\/9DD6B041-9DA7-4F78-82A1-B2E17AFA61CB\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10178\/4\/9DD6B041-9DA7-4F78-82A1-B2E17AFA61CB\/downloads\/wwdc2023-10178_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10178\/4\/9DD6B041-9DA7-4F78-82A1-B2E17AFA61CB\/downloads\/wwdc2023-10178_sd.mp4","duration":381,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Intro","end":60},{"start":60,"title":"New size limit","end":137},{"start":137,"title":"Default App Clip links","end":257},{"start":257,"title":"Invoke from your app","end":342},{"start":342,"title":"Wrap-up","end":381}]},"related":{"activities":["wwdc2023-111234","wwdc2023-111493","wwdc2023-111494","wwdc2020-10146"],"resources":[1469,816]}},"wwdc2023-10102":{"id":"wwdc2023-10102","staticContentId":8156,"eventContentId":10102,"eventId":"wwdc2023","contentUpdatedAt":"2026-06-08T12:30:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10102","languageCode":"eng","description":"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\u2019ll also show you how to build great visual and voice experiences and extend to other Apple devices like Apple Watch and HomePod.\n\nFor more information about App Shortcuts and App Intents, check out \u201cExplore enhancements to App Intents\u201d and \u201cDesign Shortcuts for Spotlight\" from WWDC23.","title":"Spotlight your app with App Shortcuts","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EDFEF0E6-8C5C-4C87-9C81-138B0029CE89","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10102\/4\/1D586799-9271-4BC0-9BFB-29A6B05A5803\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10102\/4\/1D586799-9271-4BC0-9BFB-29A6B05A5803\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10102\/4\/1D586799-9271-4BC0-9BFB-29A6B05A5803\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10102\/4\/1D586799-9271-4BC0-9BFB-29A6B05A5803\/downloads\/wwdc2023-10102_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10102\/4\/1D586799-9271-4BC0-9BFB-29A6B05A5803\/downloads\/wwdc2023-10102_sd.mp4","duration":1502,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10103","wwdc2023-10155","wwdc2023-10193","wwdc2023-111335","wwdc2023-111337","wwdc2023-111338","wwdc2023-111578"],"resources":[2958,2399]}},"wwdc2023-10153":{"id":"wwdc2023-10153","staticContentId":8210,"eventContentId":10153,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10153","languageCode":"eng","description":"Discover how you can use automatic grammatical agreement in your apps and games to create inclusive and more natural-sounding expressions. We\u2019ll share best practices for working with Foundation, showcase examples in multiple languages, and demonstrate how to use these APIs to enhance the user experience for your apps.\n\nFor an introduction to automatic grammatical agreement, watch \u201cWhat\u2019s new in Foundation\u201d from WWDC21.","title":"Unlock the power of grammatical agreement","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["agreewithargument","i18n","inflect","internationalization","l10n","localization"],"primaryTopicID":100,"topicIds":[82,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2F17503D-01BA-4C1B-90AB-EEA036B5294C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10153\/6\/A7A21FC4-917F-4A51-B18C-89DB54EBD3B7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10153\/6\/A7A21FC4-917F-4A51-B18C-89DB54EBD3B7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10153\/6\/A7A21FC4-917F-4A51-B18C-89DB54EBD3B7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10153\/6\/A7A21FC4-917F-4A51-B18C-89DB54EBD3B7\/downloads\/wwdc2023-10153_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10153\/6\/A7A21FC4-917F-4A51-B18C-89DB54EBD3B7\/downloads\/wwdc2023-10153_sd.mp4","duration":1101,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":88},{"start":88,"title":"Grammatical agreement","end":192},{"start":192,"title":"Dependency agreement","end":487},{"start":487,"title":"Inclusive language","end":665},{"start":665,"title":"Demo","end":1051},{"start":1051,"title":"Wrap-up","end":1101}]},"related":{"activities":["wwdc2023-10155","wwdc2023-111238","wwdc2022-10110","wwdc2021-10109"],"resources":[3039,3038,1353]}},"wwdc2023-10140":{"id":"wwdc2023-10140","staticContentId":8197,"eventContentId":10140,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10140","languageCode":"eng","description":"Get to know the latest enhancements to StoreKit 2 and StoreKit Testing in Xcode. Discover API updates for promoted in-app purchases, StoreKit messages, the Transaction model, the RenewalInfo model, and the App Store sheet for managing subscriptions. Learn how to upgrade to SHA-256 for on-device receipt validation and use APIs to create SwiftUI views.\n\nWe\u2019ll also help you get started with StoreKit Testing in Xcode so that you can debug and test your in-app purchases and subscriptions. Meet the Transaction Inspector, explore the latest updates to the StoreKit configuration editor, and find out how you can simulate StoreKit errors to test your app\u2019s error handling.","title":"What\u2019s new in StoreKit 2 and StoreKit Testing in Xcode","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":83,"topicIds":[86,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EC2A8821-26DE-496E-9870-5F4DD9663D1B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10140\/4\/F65F9FA7-3629-45A5-A4D6-A90BE40BE5E9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10140\/4\/F65F9FA7-3629-45A5-A4D6-A90BE40BE5E9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10140\/4\/F65F9FA7-3629-45A5-A4D6-A90BE40BE5E9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10140\/4\/F65F9FA7-3629-45A5-A4D6-A90BE40BE5E9\/downloads\/wwdc2023-10140_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10140\/4\/F65F9FA7-3629-45A5-A4D6-A90BE40BE5E9\/downloads\/wwdc2023-10140_sd.mp4","duration":1465,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10013","wwdc2023-10117","wwdc2023-10142","wwdc2023-111367","wwdc2023-111434","wwdc2022-10007","wwdc2022-10039","wwdc2021-10114"],"resources":[3507,3506,3505,1511,800,765,53]}},"wwdc2023-10159":{"id":"wwdc2023-10159","staticContentId":8216,"eventContentId":10159,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10159","languageCode":"eng","description":"Find out how you can take your scroll views to the next level with the latest APIs in SwiftUI. We\u2019ll show you how to customize scroll views like never before. Explore the relationship between safe areas and a scroll view\u2019s margins, learn how to interact with the content offset of a scroll view, and discover how you can add a bit of flair to your content with scroll transitions.","title":"Beyond scroll views","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F550FF0D-DC9F-4DF2-A194-69348CB3213E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10159\/4\/DCE1F4A7-9E0E-4F48-B70A-6C44D758769E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10159\/4\/DCE1F4A7-9E0E-4F48-B70A-6C44D758769E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10159\/4\/DCE1F4A7-9E0E-4F48-B70A-6C44D758769E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10159\/4\/DCE1F4A7-9E0E-4F48-B70A-6C44D758769E\/downloads\/wwdc2023-10159_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10159\/4\/DCE1F4A7-9E0E-4F48-B70A-6C44D758769E\/downloads\/wwdc2023-10159_sd.mp4","duration":886,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction to scroll views","end":121},{"start":121,"title":"Margins and safe area","end":254},{"start":254,"title":"Targets and positions","end":693},{"start":693,"title":"Scroll transitions","end":886}]},"related":{"activities":["wwdc2023-10037","wwdc2023-10148"]}},"wwdc2023-10171":{"id":"wwdc2023-10171","staticContentId":8228,"eventContentId":10171,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10171","languageCode":"eng","description":"Discover how Swift OpenAPI Generator can help you work with HTTP server APIs whether you\u2019re extending an iOS app or writing a server in Swift. We\u2019ll show you how this package plugin can streamline your workflow and simplify your codebase by generating code from an OpenAPI document.","title":"Meet Swift OpenAPI Generator","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["\ud83d\udc31","\ud83d\ude38","\ud83d\ude39","\ud83d\ude3a","\ud83d\ude3b","\ud83d\ude3c","\ud83d\ude3d","\ud83d\ude3e","\ud83d\ude3f","\ud83d\ude40"],"primaryTopicID":99,"topicIds":[88,90,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DE57713C-3EC2-4D7A-BE0C-33BFB64BECA6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10171\/6\/B3B8830B-E039-4E13-B13E-989D45016244\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10171\/6\/B3B8830B-E039-4E13-B13E-989D45016244\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10171\/6\/B3B8830B-E039-4E13-B13E-989D45016244\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10171\/6\/B3B8830B-E039-4E13-B13E-989D45016244\/downloads\/wwdc2023-10171_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10171\/6\/B3B8830B-E039-4E13-B13E-989D45016244\/downloads\/wwdc2023-10171_sd.mp4","duration":1316,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":44,"title":"Considerations when making API calls","end":112},{"start":112,"title":"Meet OpenAPI","end":375},{"start":375,"title":"Making API calls from your app","end":753},{"start":753,"title":"Adapting as the API evolves","end":863},{"start":863,"title":"Testing your app with mocks","end":972},{"start":972,"title":"Server development in Swift","end":1164},{"start":1164,"title":"Adding a new operation","end":1316}]},"related":{"activities":["wwdc2022-110359","wwdc2022-110360"],"resources":[3538,3537,3536]}},"wwdc2023-111215":{"id":"wwdc2023-111215","staticContentId":8465,"eventContentId":111215,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/111215","languageCode":"eng","description":"Learn how to bring your UIKit app to visionOS. We\u2019ll show you how to build for a new destination, explore APIs and best practices for spatial computing, and take your content into the third dimension when you use SwiftUI with UIKit in visionOS.","title":"Meet UIKit for spatial computing","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","visionOS"],"primaryTopicID":100,"topicIds":[88,90,85,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EF381291-BE82-42DC-A2A7-F6A9FCC56DA1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111215\/4\/E8A7CF44-A276-482B-9CFA-F264FD028F54\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111215\/4\/E8A7CF44-A276-482B-9CFA-F264FD028F54\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111215\/4\/E8A7CF44-A276-482B-9CFA-F264FD028F54\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111215\/4\/E8A7CF44-A276-482B-9CFA-F264FD028F54\/downloads\/wwdc2023-111215_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/111215\/4\/E8A7CF44-A276-482B-9CFA-F264FD028F54\/downloads\/wwdc2023-111215_sd.mp4","duration":1539,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":95,"title":"Getting started","end":176},{"start":176,"title":"Platform differences","end":336},{"start":336,"title":"Polishing your app","end":352},{"start":352,"title":"Polish: Colors","end":620},{"start":620,"title":"Polish: Hover","end":732},{"start":732,"title":"Polish: Input","end":827},{"start":827,"title":"Outside the bounds","end":903},{"start":903,"title":"Outside: Presentations","end":1031},{"start":1031,"title":"Outside: Ornaments","end":1311},{"start":1311,"title":"Outside: RealityKit","end":1539}]},"related":{"activities":["wwdc2023-10072","wwdc2023-10080","wwdc2023-10090","wwdc2023-10109","wwdc2023-10110","wwdc2023-10203"]}},"wwdc2023-10279":{"id":"wwdc2023-10279","staticContentId":8350,"eventContentId":10279,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10279","languageCode":"eng","description":"Discover the web for visionOS and learn how people can experience your web content in a whole new way. Explore the unique input model powering this platform and learn how you can optimize your website for spatial computing. We\u2019ll also share how emerging standards are helping shape 3D experiences for the web.","title":"Meet Safari for spatial computing","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"primaryTopicID":98,"topicIds":[88,90,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"14A8105F-6BB1-46C9-8FD0-84DF83E31759","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10279\/4\/6F2DFF92-4E92-4C6C-BDAA-80C7646871D6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10279\/4\/6F2DFF92-4E92-4C6C-BDAA-80C7646871D6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10279\/4\/6F2DFF92-4E92-4C6C-BDAA-80C7646871D6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10279\/4\/6F2DFF92-4E92-4C6C-BDAA-80C7646871D6\/downloads\/wwdc2023-10279_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10279\/4\/6F2DFF92-4E92-4C6C-BDAA-80C7646871D6\/downloads\/wwdc2023-10279_sd.mp4","duration":979,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10119","wwdc2023-10121","wwdc2023-10262","wwdc2023-10320","wwdc2023-10326","tech-talks-401"],"resources":[1666,1416,773,765]}},"wwdc2023-10271":{"id":"wwdc2023-10271","staticContentId":8340,"eventContentId":10271,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-07T07:10:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10271","languageCode":"eng","description":"Discover how you can use sound to enhance the experience of your visionOS apps and games. Learn how Apple designers select sounds and build soundscapes to create textural, immersive experiences. We\u2019ll share how you can enrich basic interactions in your app with sound when you place audio cues spatially, vary repetitive sounds, and build moments of sonic delight into your app.","title":"Explore immersive sound design","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":87,"topicIds":[84,85,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FAD92809-C8B7-4968-802C-C662B1AF6C94","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10271\/4\/8EC963D4-5325-4F6F-8D6C-7C3DF535B0A2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10271\/4\/8EC963D4-5325-4F6F-8D6C-7C3DF535B0A2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10271\/4\/8EC963D4-5325-4F6F-8D6C-7C3DF535B0A2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10271\/4\/8EC963D4-5325-4F6F-8D6C-7C3DF535B0A2\/downloads\/wwdc2023-10271_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10271\/4\/8EC963D4-5325-4F6F-8D6C-7C3DF535B0A2\/downloads\/wwdc2023-10271_sd.mp4","duration":873,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10072","wwdc2023-10073","wwdc2023-10075","wwdc2023-10076","wwdc2017-803"]}},"wwdc2023-10016":{"id":"wwdc2023-10016","staticContentId":8035,"eventContentId":10016,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10016","languageCode":"eng","description":"WorkoutKit makes it easy to create, preview, and schedule planned workouts for the Workout app on Apple Watch. Learn how to build custom intervals, create alerts, and use the built-in preview UI to send your own workout routines to Apple Watch.","title":"Build custom workouts with WorkoutKit","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","watchOS"],"primaryTopicID":92,"topicIds":[90,92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"50551741-78CD-4E8A-9550-7D0EC29D7882","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10016\/5\/CD68A862-7DFB-45FF-B1A6-B18140FDED96\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10016\/5\/CD68A862-7DFB-45FF-B1A6-B18140FDED96\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10016\/5\/CD68A862-7DFB-45FF-B1A6-B18140FDED96\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10016\/5\/CD68A862-7DFB-45FF-B1A6-B18140FDED96\/downloads\/wwdc2023-10016_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10016\/5\/CD68A862-7DFB-45FF-B1A6-B18140FDED96\/downloads\/wwdc2023-10016_sd.mp4","duration":1282,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10023","wwdc2023-10179","wwdc2023-10318","wwdc2023-10325"],"resources":[3541,3143,3142,87]}},"wwdc2023-10256":{"id":"wwdc2023-10256","staticContentId":8324,"eventContentId":10256,"eventId":"wwdc2023","contentUpdatedAt":"2024-05-07T11:44:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10256","languageCode":"eng","description":"Discover how you can bring AVFoundation, AVFAudio, and AudioToolbox to your apps on tvOS and create camera and microphone experiences for the living room. Find out how to support tvOS in your existing iOS camera experience with the Device Discovery API, build apps that use iPhone as a webcam or FaceTime source, and explore special considerations when developing for tvOS. We\u2019ll also show you how to enable audio recording for tvOS, and how to use echo cancellation to create great voice-driven experiences.","title":"Discover Continuity Camera for tvOS","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","tvOS"],"primaryTopicID":95,"topicIds":[84,95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"084DB858-CAD8-4A44-8FA9-EDF6F68C59C3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10256\/5\/AD1AC44D-759E-4901-AE68-FC8AC41EC1BC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10256\/5\/AD1AC44D-759E-4901-AE68-FC8AC41EC1BC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10256\/5\/AD1AC44D-759E-4901-AE68-FC8AC41EC1BC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10256\/5\/AD1AC44D-759E-4901-AE68-FC8AC41EC1BC\/downloads\/wwdc2023-10256_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10256\/5\/AD1AC44D-759E-4901-AE68-FC8AC41EC1BC\/downloads\/wwdc2023-10256_sd.mp4","duration":1752,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10235","wwdc2023-111473","wwdc2023-111506","wwdc2023-111507","wwdc2023-111532","wwdc2022-10018","wwdc2022-110429"],"resources":[3528]}},"wwdc2023-10121":{"id":"wwdc2023-10121","staticContentId":8178,"eventContentId":10121,"eventId":"wwdc2023","contentUpdatedAt":"2025-06-06T10:54:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10121","languageCode":"eng","description":"Explore the latest advancements in CSS. Learn techniques and best practices for working with wide-gamut color, creating gorgeous typography, and writing simple and robust code. We\u2019ll also peer into the future and preview upcoming layout and typography features.","title":"What\u2019s new in CSS","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E8BAE3A9-7127-4E79-8AE1-D238DCCD8D03","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10121\/5\/583EB542-47B3-45F4-B7D2-35C88ED597C7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10121\/5\/583EB542-47B3-45F4-B7D2-35C88ED597C7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10121\/5\/583EB542-47B3-45F4-B7D2-35C88ED597C7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10121\/5\/583EB542-47B3-45F4-B7D2-35C88ED597C7\/downloads\/wwdc2023-10121_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10121\/5\/583EB542-47B3-45F4-B7D2-35C88ED597C7\/downloads\/wwdc2023-10121_sd.mp4","duration":2106,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10118","wwdc2023-10120","wwdc2023-10122","wwdc2023-10262","wwdc2023-10279","wwdc2022-10048"],"resources":[774,773,772,771,765,738]}},"wwdc2023-10193":{"id":"wwdc2023-10193","staticContentId":8254,"eventContentId":10193,"eventId":"wwdc2023","contentUpdatedAt":"2026-06-08T12:30:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10193","languageCode":"eng","description":"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\u2019ll 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.","title":"Design Shortcuts for Spotlight","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B9AAA7B6-3671-44CB-B195-C1D7929E616E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10193\/4\/A4E5EF33-9EA3-4609-AB6E-A3E7DF0923FA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10193\/4\/A4E5EF33-9EA3-4609-AB6E-A3E7DF0923FA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10193\/4\/A4E5EF33-9EA3-4609-AB6E-A3E7DF0923FA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10193\/4\/A4E5EF33-9EA3-4609-AB6E-A3E7DF0923FA\/downloads\/wwdc2023-10193_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10193\/4\/A4E5EF33-9EA3-4609-AB6E-A3E7DF0923FA\/downloads\/wwdc2023-10193_sd.mp4","duration":579,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":95,"title":"Principle 1: Focus on the essentials","end":124},{"start":124,"title":"Principle 2: Prefer actionable shortcuts","end":150},{"start":150,"title":"Principle 3: Design predictable and personal shortcuts","end":253},{"start":253,"title":"Design icons for actions and entities","end":347},{"start":347,"title":"Consider providing entity subtitles","end":363},{"start":363,"title":"App icon colors","end":408},{"start":408,"title":"Design your shortcut\u2019s behavior: App launch, Live Activity, or snippet","end":503},{"start":503,"title":"Supporting phrase synonyms to increase discoverability","end":532},{"start":532,"title":"App name synonyms","end":579}]},"related":{"activities":["wwdc2023-10102","wwdc2023-10103","wwdc2023-10194","wwdc2023-111335","wwdc2023-111337","wwdc2023-111338","wwdc2023-111578","wwdc2022-10169","wwdc2021-10283","wwdc2019-806"],"resources":[3105,2958,430]}},"wwdc2023-10175":{"id":"wwdc2023-10175","staticContentId":8233,"eventContentId":10175,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10175","languageCode":"eng","description":"Discover how you can find, debug, and fix test failures faster with the test report in Xcode and Xcode Cloud. Learn how Xcode identifies failure patterns to help you find the right place to start investigating. We\u2019ll also show you how to use the UI automation explorer and video recordings to understand the events that led up to your UI test failure.","title":"Fix failures faster with Xcode test reports","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DB9D2152-02F4-4D8D-A894-2AA7973ADD03","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10175\/6\/2DA62902-FA90-4651-8713-E60599F43E83\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10175\/6\/2DA62902-FA90-4651-8713-E60599F43E83\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10175\/6\/2DA62902-FA90-4651-8713-E60599F43E83\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10175\/6\/2DA62902-FA90-4651-8713-E60599F43E83\/downloads\/wwdc2023-10175_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10175\/6\/2DA62902-FA90-4651-8713-E60599F43E83\/downloads\/wwdc2023-10175_sd.mp4","duration":781,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":66},{"start":66,"title":"Test structure, configurations, and run destinations","end":273},{"start":273,"title":"Xcode Cloud build overview","end":353},{"start":353,"title":"Test summary","end":448},{"start":448,"title":"Insights","end":487},{"start":487,"title":"Unit test details","end":542},{"start":542,"title":"UI test details","end":654},{"start":654,"title":"Automation explorer","end":735},{"start":735,"title":"Wrap-up","end":781}]},"related":{"activities":["wwdc2023-10165","wwdc2023-10290","wwdc2023-10293","wwdc2023-111279","wwdc2023-111280","wwdc2023-111281","wwdc2023-111282","wwdc2023-111283","wwdc2023-111284"]}},"wwdc2023-10048":{"id":"wwdc2023-10048","staticContentId":8087,"eventContentId":10048,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10048","languageCode":"eng","description":"Discover how VisionKit can help people quickly lift subjects from images in your app and learn more about the content of an image with Visual Look Up. We\u2019ll also take a tour of the latest updates to VisionKit for Live Text interaction, data scanning, and expanded support for macOS apps.\n\nFor more on VisionKit, check out \u201cLift subjects from images in your app\" from WWDC23.","title":"What\u2019s new in VisionKit","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":83,"topicIds":[94,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F13887A1-B8CB-43B4-95A1-6E4E6AEFC8D6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10048\/4\/55A7BD30-D197-43F5-B35B-74973DEDD898\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10048\/4\/55A7BD30-D197-43F5-B35B-74973DEDD898\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10048\/4\/55A7BD30-D197-43F5-B35B-74973DEDD898\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10048\/4\/55A7BD30-D197-43F5-B35B-74973DEDD898\/downloads\/wwdc2023-10048_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10048\/4\/55A7BD30-D197-43F5-B35B-74973DEDD898\/downloads\/wwdc2023-10048_sd.mp4","duration":1196,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10176","wwdc2023-111258","wwdc2023-111259","wwdc2023-111260","wwdc2023-111261","wwdc2022-10026","wwdc2021-10276"],"resources":[3050]}},"wwdc2023-10124":{"id":"wwdc2023-10124","staticContentId":8181,"eventContentId":10124,"eventId":"wwdc2023","contentUpdatedAt":"2025-09-15T12:21:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10124","languageCode":"eng","description":"Discover how the Metal shader converter streamlines the process of bringing your HLSL shaders to Metal as we continue our three-part series on bringing your game to Mac. Find out how to build a fast, end-to-end shader pipeline from DXIL that supports all shader stages and allows you to leverage the advanced features of Apple GPUs. We\u2019ll also show you how to reduce app launch time and stutters by generating GPU binaries with the offline compiler.\n\nTo get the most out of this session, we recommend first watching \u201cBring your game to Mac, Part 1: Make a game plan.\" And once you\u2019re ready to level up, check out \u201cBring your game to Mac, Part 3: Render with Metal\" from WWDC23.","title":"Bring your game to Mac, Part 2: Compile your shaders","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[88,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7DBBA8A1-51FC-4031-AA04-3F4BBF1CE97B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10124\/4\/8043B2FD-2363-4733-85E6-CCDF0BEE783F\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10124\/4\/8043B2FD-2363-4733-85E6-CCDF0BEE783F\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10124\/4\/8043B2FD-2363-4733-85E6-CCDF0BEE783F\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10124\/4\/8043B2FD-2363-4733-85E6-CCDF0BEE783F\/downloads\/wwdc2023-10124_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10124\/4\/8043B2FD-2363-4733-85E6-CCDF0BEE783F\/downloads\/wwdc2023-10124_sd.mp4","duration":1137,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Intro","end":49},{"start":49,"title":"New Metal compiler tools","end":114},{"start":114,"title":"Convert your shaders","end":747},{"start":747,"title":"Finalize GPU binaries","end":1100},{"start":1100,"title":"Wrap-Up","end":1137}]},"related":{"activities":["wwdc2023-10123","wwdc2023-10125","wwdc2023-111269","wwdc2023-111270","wwdc2023-111271","wwdc2023-111272","wwdc2023-111285","wwdc2023-111286","wwdc2023-111287","wwdc2023-111288","wwdc2022-10101","wwdc2022-10102","wwdc2021-10229","wwdc2020-10615","tech-talks-111372","tech-talks-111375"],"resources":[3140,3132,3131,38]}},"wwdc2023-10051":{"id":"wwdc2023-10051","staticContentId":8099,"eventContentId":10051,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10051","languageCode":"eng","description":"Discover how your app can offer a great audio matching experience with the latest updates to ShazamKit. We\u2019ll take you through matching features, updates to audio recognition, and interactions with the Shazam library. Learn tips and best practices for using ShazamKit in your audio apps.\n\nFor more on ShazamKit, check out \"Create custom catalogs at scale with ShazamKit\" from WWDC22 as well as \"Explore ShazamKit\" and \"Create custom audio experiences with ShazamKit\" from WWDC21.","title":"Create a great ShazamKit experience","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":83,"topicIds":[84,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9172B605-0048-476D-9FDC-695CA027CA2A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10051\/4\/609FFA81-2E88-4DC5-ACDB-5C4A0C42875D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10051\/4\/609FFA81-2E88-4DC5-ACDB-5C4A0C42875D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10051\/4\/609FFA81-2E88-4DC5-ACDB-5C4A0C42875D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10051\/4\/609FFA81-2E88-4DC5-ACDB-5C4A0C42875D\/downloads\/wwdc2023-10051_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10051\/4\/609FFA81-2E88-4DC5-ACDB-5C4A0C42875D\/downloads\/wwdc2023-10051_sd.mp4","duration":1318,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-111482","wwdc2023-111501","wwdc2023-111502","wwdc2023-111503","wwdc2023-111504","wwdc2022-10028","wwdc2021-10044"],"resources":[1608]}},"wwdc2023-10035":{"id":"wwdc2023-10035","staticContentId":8063,"eventContentId":10035,"eventId":"wwdc2023","contentUpdatedAt":"2025-12-18T01:09:00-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10035","languageCode":"eng","description":"Discover how you can test your app for accessibility with every build. Learn how to perform automated audits for accessibility using XCTest and find out how to interpret the results. We\u2019ll also share enhancements to the accessibility API that can help you improve UI test coverage.","title":"Perform accessibility audits for your app","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[88,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0C1B59D8-1271-4A4D-BBD5-401BCFA4D855","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10035\/5\/AE94C37D-A130-4B28-987C-ADEA8AC1BEA8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10035\/5\/AE94C37D-A130-4B28-987C-ADEA8AC1BEA8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10035\/5\/AE94C37D-A130-4B28-987C-ADEA8AC1BEA8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10035\/5\/AE94C37D-A130-4B28-987C-ADEA8AC1BEA8\/downloads\/wwdc2023-10035_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10035\/5\/AE94C37D-A130-4B28-987C-ADEA8AC1BEA8\/downloads\/wwdc2023-10035_sd.mp4","duration":955,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":40,"title":"Discover accessibility audits","end":172},{"start":172,"title":"Add audits to your UI tests","end":574},{"start":574,"title":"Filter audit issues","end":701},{"start":701,"title":"Considerations when running audits","end":779},{"start":779,"title":"Expose elements hidden from accessibility to UI tests","end":955}]},"related":{"activities":["wwdc2018-230"],"resources":[3076]}},"wwdc2023-10093":{"id":"wwdc2023-10093","staticContentId":8147,"eventContentId":10093,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10093","languageCode":"eng","description":"Discover how you can bring your existing Unity VR apps and games to visionOS. We\u2019ll explore workflows that can help you get started and show you how to build for eyes and hands in your apps and games with the Unity Input System. Learn about Unity\u2019s XR Interaction Toolkit, tips for foveated rendering, and best practices.","title":"Bring your Unity VR app to a fully immersive space","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":91,"topicIds":[85,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B0DBB887-7D90-45B4-AE6F-72A235D58B0B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10093\/4\/D52AC313-8624-4177-BB94-C2F64F591723\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10093\/4\/D52AC313-8624-4177-BB94-C2F64F591723\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10093\/4\/D52AC313-8624-4177-BB94-C2F64F591723\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10093\/4\/D52AC313-8624-4177-BB94-C2F64F591723\/downloads\/wwdc2023-10093_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10093\/4\/D52AC313-8624-4177-BB94-C2F64F591723\/downloads\/wwdc2023-10093_sd.mp4","duration":910,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":1,"title":"Intro","end":148},{"start":148,"title":"Build and run workflow","end":195},{"start":195,"title":"Prepare your graphics","end":356},{"start":356,"title":"Input options","end":823},{"start":823,"title":"Wrap-Up","end":910}]},"related":{"activities":["wwdc2023-10088","wwdc2023-10096","wwdc2023-111289","wwdc2023-111290","wwdc2023-111292","wwdc2023-111293"],"resources":[3129]}},"wwdc2023-10202":{"id":"wwdc2023-10202","staticContentId":8264,"eventContentId":10202,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10202","languageCode":"eng","description":"Learn how Reality Composer Pro can help you alter the appearance of your 3D objects using RealityKit materials. We\u2019ll introduce you to MaterialX and physically-based (PBR) shaders, show you how to design dynamic materials using the shader graph editor, and explore adding custom inputs to a material so that you can control it in your visionOS app.\n\nTo get the most out of this session, we recommend first watching \u201cMeet Reality Composer Pro.\u201d Once you\u2019re ready to learn how you can incorporate your models and materials into an Xcode project, check out \"Work with Reality Composer Pro content in Xcode.\"","title":"Explore materials in Reality Composer Pro","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["macOS","visionOS"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"03989E04-AE81-449A-B33A-4C335A300EA7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10202\/5\/7DF5114E-91B3-4A42-AF97-D01AC560E3AB\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10202\/5\/7DF5114E-91B3-4A42-AF97-D01AC560E3AB\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10202\/5\/7DF5114E-91B3-4A42-AF97-D01AC560E3AB\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10202\/5\/7DF5114E-91B3-4A42-AF97-D01AC560E3AB\/downloads\/wwdc2023-10202_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10202\/5\/7DF5114E-91B3-4A42-AF97-D01AC560E3AB\/downloads\/wwdc2023-10202_sd.mp4","duration":1214,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":55},{"start":55,"title":"Materials in xrOS","end":218},{"start":218,"title":"Material editing","end":626},{"start":626,"title":"Node graphs","end":796},{"start":796,"title":"Geometry modifiers","end":1154},{"start":1154,"title":"Wrap-up","end":1214}]},"related":{"activities":["wwdc2023-10083","wwdc2023-10086","wwdc2023-10095","wwdc2023-10096","wwdc2023-10100","wwdc2023-10273"],"resources":[3550]}},"wwdc2023-10165":{"id":"wwdc2023-10165","staticContentId":8222,"eventContentId":10165,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10165","languageCode":"eng","description":"Discover the latest productivity and performance improvements in Xcode 15. Explore enhancements to code completion and Xcode Previews, learn about the test navigator and test report, and find out more about the streamlined distribution process. We\u2019ll also highlight improved navigation, source control management, and debugging.","title":"What\u2019s new in Xcode 15","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[90,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B5265C1C-7E25-4B20-91CB-0F4E67348B4C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10165\/5\/C61041BB-AC4B-41C2-982C-6476B513F891\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10165\/5\/C61041BB-AC4B-41C2-982C-6476B513F891\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10165\/5\/C61041BB-AC4B-41C2-982C-6476B513F891\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10165\/5\/C61041BB-AC4B-41C2-982C-6476B513F891\/downloads\/wwdc2023-10165_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10165\/5\/C61041BB-AC4B-41C2-982C-6476B513F891\/downloads\/wwdc2023-10165_sd.mp4","duration":1352,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":39},{"start":39,"title":"Downloading Xcode","end":89},{"start":89,"title":"Code completion updates","end":225},{"start":225,"title":"What's new in asset catalogs","end":270},{"start":270,"title":"Meet string catalogs","end":325},{"start":325,"title":"What's new in Swift-DocC","end":421},{"start":421,"title":"Meet Swift macros","end":520},{"start":520,"title":"What's new in Previews","end":600},{"start":600,"title":"The bookmark navigator","end":738},{"start":738,"title":"What's new in source control","end":890},{"start":890,"title":"What's new in testing","end":1043},{"start":1043,"title":"Updates in the debug console","end":1117},{"start":1117,"title":"Updates in Xcode Cloud distribution","end":1177},{"start":1177,"title":"Signature verification and privacy manifests","end":1263},{"start":1263,"title":"What's new in Xcode distribution","end":1352}]},"related":{"activities":["wwdc2023-10060","wwdc2023-10061","wwdc2023-10155","wwdc2023-10166","wwdc2023-10167","wwdc2023-10175","wwdc2023-10224","wwdc2023-10226","wwdc2023-10244","wwdc2023-10252","wwdc2023-10295","wwdc2023-111256","wwdc2023-111257","wwdc2023-111262","wwdc2023-111263","wwdc2023-111274","wwdc2023-111275"],"resources":[3044]}},"wwdc2023-10089":{"id":"wwdc2023-10089","staticContentId":8143,"eventContentId":10089,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10089","languageCode":"eng","description":"Find out how you can use Metal to render fully immersive experiences for visionOS. We\u2019ll show you how to set up a rendering session on the platform and create a basic render loop, and share how you can make your experience interactive by incorporating spatial input.","title":"Discover Metal for immersive apps","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"keywords":["compositor","compositorservices"],"primaryTopicID":91,"topicIds":[85,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A38C4FF5-3AFA-41B2-8750-AE16F67A1CA1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10089\/5\/49D0E645-DBE8-4D7A-9637-C4D744C86894\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10089\/5\/49D0E645-DBE8-4D7A-9637-C4D744C86894\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10089\/5\/49D0E645-DBE8-4D7A-9637-C4D744C86894\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10089\/5\/49D0E645-DBE8-4D7A-9637-C4D744C86894\/downloads\/wwdc2023-10089_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10089\/5\/49D0E645-DBE8-4D7A-9637-C4D744C86894\/downloads\/wwdc2023-10089_sd.mp4","duration":1251,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":6,"title":"Intro","end":110},{"start":110,"title":"App Architecture","end":358},{"start":358,"title":"Render configuration","end":689},{"start":689,"title":"Render Loop","end":780},{"start":780,"title":"Render a frame","end":1048},{"start":1048,"title":"User input","end":1222},{"start":1222,"title":"Wrap-Up","end":1251}]},"related":{"activities":["wwdc2023-10082","wwdc2023-10096","wwdc2023-10111","wwdc2023-111289","wwdc2023-111290","wwdc2023-111292","wwdc2023-111293","wwdc2021-10161"],"resources":[3544,38]}},"wwdc2023-10100":{"id":"wwdc2023-10100","staticContentId":8154,"eventContentId":10100,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10100","languageCode":"eng","description":"Learn how you can create powerful apps and games for visionOS by optimizing for performance and efficiency. We\u2019ll cover the unique power characteristics of the platform, explore building a performance plan, and share some of the tools and strategies to test and optimize your apps.","title":"Optimize app power and performance for spatial computing","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":88,"topicIds":[85,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6C77BED2-BB13-460A-B3EB-6BC10C171DDA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10100\/4\/174B83C9-684A-4C6F-832F-54135856AE47\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10100\/4\/174B83C9-684A-4C6F-832F-54135856AE47\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10100\/4\/174B83C9-684A-4C6F-832F-54135856AE47\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10100\/4\/174B83C9-684A-4C6F-832F-54135856AE47\/downloads\/wwdc2023-10100_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10100\/4\/174B83C9-684A-4C6F-832F-54135856AE47\/downloads\/wwdc2023-10100_sd.mp4","duration":1756,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":38,"title":"Explore performance with spatial computing","end":105},{"start":105,"title":"Profile your app","end":379},{"start":379,"title":"Explore render performance","end":493},{"start":493,"title":"Optimize SwiftUI and UIKit content for render performance","end":650},{"start":650,"title":"Optimize RealityKit content for render performance","end":1015},{"start":1015,"title":"Optimize Metal apps for render performance","end":1137},{"start":1137,"title":"Learn about user input performance","end":1214},{"start":1214,"title":"Optimize ARKit usage","end":1329},{"start":1329,"title":"Explore audio and video playback performance","end":1452},{"start":1452,"title":"Bring great performance to SharePlay experiences","end":1520},{"start":1520,"title":"Avoid terminations from thermal and memory pressure","end":1756}]},"related":{"activities":["wwdc2023-10070","wwdc2023-10082","wwdc2023-10095","wwdc2023-10099","wwdc2023-10202","wwdc2023-10274","wwdc2022-10106","wwdc2021-10180","wwdc2021-10181","wwdc2020-10603","wwdc2019-422","wwdc2019-606","wwdc2018-416","wwdc2018-612"],"resources":[3579,3545]}},"wwdc2023-10052":{"id":"wwdc2023-10052","staticContentId":8100,"eventContentId":10052,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10052","languageCode":"eng","description":"Discover how you can bring Calendar into your app and help people better manage their time. Find out how to create new events from your app, fetch events, and implement a virtual conference extension. We\u2019ll also take you through some of the changes to calendar access levels that help your app stay connected without compromising the privacy of someone\u2019s calendar data. ","title":"Discover Calendar and EventKit","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":101,"topicIds":[83,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7DD238C6-0A71-44FE-97BC-6794907B4268","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10052\/5\/B5C95345-FDF4-40FF-AFFB-350DD26BED61\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10052\/5\/B5C95345-FDF4-40FF-AFFB-350DD26BED61\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10052\/5\/B5C95345-FDF4-40FF-AFFB-350DD26BED61\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10052\/5\/B5C95345-FDF4-40FF-AFFB-350DD26BED61\/downloads\/wwdc2023-10052_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10052\/5\/B5C95345-FDF4-40FF-AFFB-350DD26BED61\/downloads\/wwdc2023-10052_sd.mp4","duration":1336,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":41,"title":"Integrate with Calendar","end":112},{"start":112,"title":"Frameworks overview","end":276},{"start":276,"title":"Adding events","end":296},{"start":296,"title":"Adding: EventKitUI","end":487},{"start":487,"title":"Adding: Siri Event Suggestions","end":659},{"start":659,"title":"Adding: Write-only","end":736},{"start":736,"title":"Adding: EventKit","end":863},{"start":863,"title":"Full Access","end":1081},{"start":1081,"title":"Virtual conferences","end":1336}]},"related":{"activities":["wwdc2023-10053","wwdc2020-10197"],"resources":[3138,3113,2975,1773,446]}},"wwdc2023-10262":{"id":"wwdc2023-10262","staticContentId":8331,"eventContentId":10262,"eventId":"wwdc2023","contentUpdatedAt":"2025-06-06T10:54:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10262","languageCode":"eng","description":"Get ready to explore Safari\u2019s rich set of tools for web developers and designers. Learn how you can inspect web content, find out about Responsive Design Mode and WebDriver, and get started with simulators and devices. We\u2019ll also show you how to pair with Vision Pro, make content inspectable in your apps, and use Open with Simulator in Responsive Design Mode to help you test your websites on any device.","title":"Rediscover Safari developer features","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":98,"topicIds":[88,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A6ABB130-2ABF-445C-9820-1BB428BB9743","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10262\/4\/5A68BE0E-CC0F-4DF7-8982-F315B0ED6A2D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10262\/4\/5A68BE0E-CC0F-4DF7-8982-F315B0ED6A2D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10262\/4\/5A68BE0E-CC0F-4DF7-8982-F315B0ED6A2D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10262\/4\/5A68BE0E-CC0F-4DF7-8982-F315B0ED6A2D\/downloads\/wwdc2023-10262_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10262\/4\/5A68BE0E-CC0F-4DF7-8982-F315B0ED6A2D\/downloads\/wwdc2023-10262_sd.mp4","duration":1281,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10118","wwdc2023-10119","wwdc2023-10121","wwdc2023-10122","wwdc2023-10279","wwdc2023-10320","wwdc2023-10326","wwdc2021-10031","tech-talks-111381"],"resources":[2365,774,772,771,765]}},"wwdc2023-10044":{"id":"wwdc2023-10044","staticContentId":8083,"eventContentId":10044,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10044","languageCode":"eng","description":"Find out how Create ML can help you do even more with machine learning models. Learn about the latest updates to image understanding and text-based tasks with multilingual BERT embeddings. Discover how easy it is to train models that can understand the content of images using multi-label classification. We\u2019ll also share information about interactive model evaluation and the latest APIs for custom training data augmentations.\n\nTo learn more about the latest updates to machine learning, watch \u201cExplore Natural Language multilingual models\u201d and \u201cImprove Core ML integration with async prediction\" from WWDC23.","title":"Discover machine learning enhancements in Create ML","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"98F91E6B-077B-4F9F-8A95-BF20AF251F23","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10044\/4\/A21FDEB3-C1AF-472E-827F-1E7D7499033E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10044\/4\/A21FDEB3-C1AF-472E-827F-1E7D7499033E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10044\/4\/A21FDEB3-C1AF-472E-827F-1E7D7499033E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10044\/4\/A21FDEB3-C1AF-472E-827F-1E7D7499033E\/downloads\/wwdc2023-10044_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10044\/4\/A21FDEB3-C1AF-472E-827F-1E7D7499033E\/downloads\/wwdc2023-10044_sd.mp4","duration":1010,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10042","wwdc2023-111244","wwdc2023-111248","wwdc2023-111249","wwdc2023-111250","wwdc2023-111251","wwdc2023-111252","wwdc2023-111253","wwdc2023-111254","wwdc2023-111255","wwdc2022-10019","wwdc2022-10020","wwdc2022-110332"],"resources":[443,88,27]}},"wwdc2023-10057":{"id":"wwdc2023-10057","staticContentId":8105,"eventContentId":10057,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10057","languageCode":"eng","description":"Discover powerful enhancements to the trait system in UIKit. Learn how you can define custom traits to add your own data to UITraitCollection, modify the data propagated to view controllers and views with trait override APIs, and adopt APIs to improve flexibility and performance. We\u2019ll also show you how to bridge UIKit traits with SwiftUI environment keys to seamlessly access data from both UIKit and SwiftUI components in your app.","title":"Unleash the UIKit trait system","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":100,"topicIds":[83,90,101,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E09F8114-E9D4-4EFC-813D-288C0B5EB90A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10057\/4\/D79F0058-1869-464A-BABD-A1457AE857A0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10057\/4\/D79F0058-1869-464A-BABD-A1457AE857A0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10057\/4\/D79F0058-1869-464A-BABD-A1457AE857A0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10057\/4\/D79F0058-1869-464A-BABD-A1457AE857A0\/downloads\/wwdc2023-10057_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10057\/4\/D79F0058-1869-464A-BABD-A1457AE857A0\/downloads\/wwdc2023-10057_sd.mp4","duration":1790,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":57,"title":"Understanding traits","end":464},{"start":464,"title":"Defining custom traits","end":871},{"start":871,"title":"Applying overrides","end":1188},{"start":1188,"title":"Handling changes","end":1524},{"start":1524,"title":"SwiftUI bridging","end":1790}]},"related":{"activities":["wwdc2023-10055"],"resources":[3071,3070]}},"wwdc2023-10025":{"id":"wwdc2023-10025","staticContentId":8051,"eventContentId":10025,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10025","languageCode":"eng","description":"The Push Notifications Console is the best way to quickly test user notifications in your app. Learn how you can iterate on new ideas quickly by sending notifications directly from the console and analyze delivery logs to learn more about your pushes. We\u2019ll also show you how to generate and validate tokens to successfully authenticate with Apple Push Notification service (APNs).\n\nTo get the most out of this session, you should have a basic understanding of Apple Push Notification service (APNs) and user notifications.","title":"Meet Push Notifications Console","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["alert","apns","apple push notification service","backend","notification","notifications","notify","push","server","service"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8A889FD2-9772-4B59-B02E-90F90BF79AEF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10025\/4\/A630204A-7F9E-49E8-9B21-ADC3517405E0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10025\/4\/A630204A-7F9E-49E8-9B21-ADC3517405E0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10025\/4\/A630204A-7F9E-49E8-9B21-ADC3517405E0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10025\/4\/A630204A-7F9E-49E8-9B21-ADC3517405E0\/downloads\/wwdc2023-10025_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10025\/4\/A630204A-7F9E-49E8-9B21-ADC3517405E0\/downloads\/wwdc2023-10025_sd.mp4","duration":692,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Intro","end":146},{"start":146,"title":"Send notifications","end":300},{"start":300,"title":"Examine delivery logs","end":473},{"start":473,"title":"Debug with tools","end":661},{"start":661,"title":"Wrap-up","end":692}]},"related":{"activities":["wwdc2023-111492","wwdc2020-10095"],"resources":[3094,3093,651]}},"wwdc2023-10268":{"id":"wwdc2023-10268","staticContentId":8337,"eventContentId":10268,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10268","languageCode":"eng","description":"Discover how mergeable libraries combine the best parts of static and dynamic libraries to help improve your app\u2019s productivity and runtime performance. Learn how you can enable faster development while shipping the smallest app. We\u2019ll show you how to adopt mergeable libraries in Xcode 15 and share best practices for working with your code.","title":"Meet mergeable libraries","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D3A4F58C-B424-4629-9C5C-07760903F672","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10268\/4\/8ABBA81C-E5D8-4695-A921-FE326B1AC4E3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10268\/4\/8ABBA81C-E5D8-4695-A921-FE326B1AC4E3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10268\/4\/8ABBA81C-E5D8-4695-A921-FE326B1AC4E3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10268\/4\/8ABBA81C-E5D8-4695-A921-FE326B1AC4E3\/downloads\/wwdc2023-10268_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10268\/4\/8ABBA81C-E5D8-4695-A921-FE326B1AC4E3\/downloads\/wwdc2023-10268_sd.mp4","duration":1575,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":55,"title":"Static and dynamic libraries overview","end":105},{"start":105,"title":"Meet mergeable libraries","end":341},{"start":341,"title":"Benefits of mergeable libraries","end":541},{"start":541,"title":"Automatic merging in Xcode","end":783},{"start":783,"title":"Manual merging in Xcode","end":1000},{"start":1000,"title":"Debug mode","end":1147},{"start":1147,"title":"Considerations","end":1439},{"start":1439,"title":"Recommendations","end":1511},{"start":1511,"title":"Wrap-up","end":1575}]},"related":{"activities":["wwdc2023-111316","wwdc2023-111317","wwdc2023-111589","wwdc2022-110362"],"resources":[3046]}},"wwdc2023-10257":{"id":"wwdc2023-10257","staticContentId":8325,"eventContentId":10257,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10257","languageCode":"eng","description":"Discover animation presets and learn how to use them with SF Symbols and custom symbols. We\u2019ll show you how to experiment with different options and configurations to find the perfect animation for your app. Learn how to update custom symbols for animation using annotation features, find out how to modify your custom symbols with symbol components, and explore the redesigned export process to help keep symbols looking great on all platforms.\n\nTo get the most out of this session, check out \u201cWhat\u2019s new in SF Symbols 5\u201d from WWDC23.","title":"Create animated symbols","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[83,100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"80577069-4F0B-4756-96A0-B8F68156A39F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10257\/4\/8BAB2E01-3308-47DF-AF21-49268DE79899\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10257\/4\/8BAB2E01-3308-47DF-AF21-49268DE79899\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10257\/4\/8BAB2E01-3308-47DF-AF21-49268DE79899\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10257\/4\/8BAB2E01-3308-47DF-AF21-49268DE79899\/downloads\/wwdc2023-10257_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10257\/4\/8BAB2E01-3308-47DF-AF21-49268DE79899\/downloads\/wwdc2023-10257_sd.mp4","duration":1084,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":111,"title":"Previewing Animations","end":265},{"start":265,"title":"Animating custom symbols","end":479},{"start":479,"title":"Symbol components","end":890},{"start":890,"title":"Compatibility","end":1084}]},"related":{"activities":["wwdc2023-10197","wwdc2023-10258"]}},"wwdc2023-10042":{"id":"wwdc2023-10042","staticContentId":8079,"eventContentId":10042,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10042","languageCode":"eng","description":"Learn how to create custom Natural Language models for text classification and word tagging using multilingual, transformer-based embeddings. We\u2019ll show you how to train with less data and support up to 27 different languages across three scripts. Find out how to use these embeddings to fine-tune complex models trained in PyTorch and TensorFlow.\n\nFor more on Natural Language, check out \"Make apps smarter with Natural Language\u201d from WWDC20.","title":"Explore Natural Language multilingual models","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BD05C693-9C15-48D3-8EF0-75641AF988B7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10042\/5\/6CB98B4D-64C7-4818-8DFE-12CF2EFAF5CA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10042\/5\/6CB98B4D-64C7-4818-8DFE-12CF2EFAF5CA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10042\/5\/6CB98B4D-64C7-4818-8DFE-12CF2EFAF5CA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10042\/5\/6CB98B4D-64C7-4818-8DFE-12CF2EFAF5CA\/downloads\/wwdc2023-10042_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10042\/5\/6CB98B4D-64C7-4818-8DFE-12CF2EFAF5CA\/downloads\/wwdc2023-10042_sd.mp4","duration":865,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10044","wwdc2023-111247","wwdc2023-111248","wwdc2023-111249","wwdc2023-111250","wwdc2023-111251","wwdc2023-111252","wwdc2023-111253","wwdc2023-111254","wwdc2023-111255","wwdc2020-10657","wwdc2019-232"],"resources":[3048]}},"wwdc2023-10060":{"id":"wwdc2023-10060","staticContentId":8108,"eventContentId":10060,"eventId":"wwdc2023","contentUpdatedAt":"2025-07-08T14:22:02-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10060","languageCode":"eng","description":"Meet privacy manifests: a new tool that helps you accurately identify the privacy practices of your app\u2019s dependencies. Find out how third-party SDK developers can use these manifests to share privacy practices for their frameworks. We\u2019ll also share how Xcode can produce a full privacy report to help you more easily represent the privacy practices of all the code in your app.","title":"Get started with privacy manifests","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["app tracking transparency","att","nutrition label","privacy nutrition label"],"primaryTopicID":96,"topicIds":[83,90,101,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6E1920EF-1990-4803-A5D8-E1ED2694823E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10060\/4\/FF91AF30-61BD-4DCA-A65E-9D3CD75DA679\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10060\/4\/FF91AF30-61BD-4DCA-A65E-9D3CD75DA679\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10060\/4\/FF91AF30-61BD-4DCA-A65E-9D3CD75DA679\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10060\/4\/FF91AF30-61BD-4DCA-A65E-9D3CD75DA679\/downloads\/wwdc2023-10060_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10060\/4\/FF91AF30-61BD-4DCA-A65E-9D3CD75DA679\/downloads\/wwdc2023-10060_sd.mp4","duration":769,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":88,"title":"Privacy manifests","end":200},{"start":200,"title":"Privacy report","end":264},{"start":264,"title":"Tracking domains","end":457},{"start":457,"title":"Required reason APIs","end":769}]},"related":{"activities":["wwdc2023-10061","wwdc2023-10165","wwdc2022-10166","wwdc2022-10167"],"resources":[3581,3580,3114,1568]}},"wwdc2023-10158":{"id":"wwdc2023-10158","staticContentId":8215,"eventContentId":10158,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10158","languageCode":"eng","description":"Discover how you can bring life to your app with animation! We\u2019ll show you how to create amazing animations when you take advantage of springs and help you learn how to use them in your app.","title":"Animate with springs","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0F30B407-A78D-45DC-9094-0D2C0A5AE4EA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10158\/4\/0BAD22E7-61F5-4C4C-BA74-61BF66E8A9B1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10158\/4\/0BAD22E7-61F5-4C4C-BA74-61BF66E8A9B1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10158\/4\/0BAD22E7-61F5-4C4C-BA74-61BF66E8A9B1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10158\/4\/0BAD22E7-61F5-4C4C-BA74-61BF66E8A9B1\/downloads\/wwdc2023-10158_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10158\/4\/0BAD22E7-61F5-4C4C-BA74-61BF66E8A9B1\/downloads\/wwdc2023-10158_sd.mp4","duration":1372,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":96,"title":"Why springs","end":513},{"start":513,"title":"How springs work  ","end":1049},{"start":1049,"title":"How to use springs","end":1372}]},"related":{"activities":["wwdc2023-10055","wwdc2023-10148","wwdc2023-10156"]}},"wwdc2023-10266":{"id":"wwdc2023-10266","staticContentId":8335,"eventContentId":10266,"eventId":"wwdc2023","contentUpdatedAt":"2024-08-20T12:49:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10266","languageCode":"eng","description":"Learn how to improve the security of your Mac app by adopting environment constraints. We\u2019ll show you how to set limits on how processes are launched, make sure your Launch Agents and Launch Daemons aren\u2019t tampered with, and prevent unwanted code from running in your address space.","title":"Protect your Mac app with environment constraints","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["macOS"],"keywords":["code signing","consent","control","gatekeeper","launch agent","launchd","sandbox","secure boot","transparency","xpc","xprotect"],"primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"838D961B-0E8E-4A1E-B218-2D419E8FDC16","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10266\/4\/24189FC4-EAA7-44E2-B039-930BF35F451F\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10266\/4\/24189FC4-EAA7-44E2-B039-930BF35F451F\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10266\/4\/24189FC4-EAA7-44E2-B039-930BF35F451F\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10266\/4\/24189FC4-EAA7-44E2-B039-930BF35F451F\/downloads\/wwdc2023-10266_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10266\/4\/24189FC4-EAA7-44E2-B039-930BF35F451F\/downloads\/wwdc2023-10266_sd.mp4","duration":1000,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","end":167},{"start":167,"title":"Environment constraints","end":468},{"start":468,"title":"Defining constraints","end":616},{"start":616,"title":"Adopting constraints","end":982},{"start":982,"title":"Wrap-up","end":1000}]},"related":{"activities":["wwdc2023-111236","wwdc2023-111237","wwdc2022-10109","wwdc2020-10686"],"resources":[387,75]}},"wwdc2023-10235":{"id":"wwdc2023-10235","staticContentId":8299,"eventContentId":10235,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10235","languageCode":"eng","description":"Learn how to use the Apple voice processing APIs to achieve the best possible audio experience in your VoIP apps. We\u2019ll show you how to detect when someone is talking while muted, adjust ducking behavior of other audio, and more.","title":"What\u2019s new in voice processing","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EEB2620E-BBAA-4365-A757-74F2F3497E5A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10235\/4\/78AFC6EE-45CE-4229-AB90-1DE57152E4BA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10235\/4\/78AFC6EE-45CE-4229-AB90-1DE57152E4BA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10235\/4\/78AFC6EE-45CE-4229-AB90-1DE57152E4BA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10235\/4\/78AFC6EE-45CE-4229-AB90-1DE57152E4BA\/downloads\/wwdc2023-10235_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10235\/4\/78AFC6EE-45CE-4229-AB90-1DE57152E4BA\/downloads\/wwdc2023-10235_sd.mp4","duration":954,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":199},{"start":199,"title":"Other audio ducking","end":475},{"start":475,"title":"Muted talker detection","end":697},{"start":697,"title":"Muted talker detection for macOS","end":954}]},"related":{"activities":["wwdc2023-10233","wwdc2023-10256"]}},"wwdc2023-10111":{"id":"wwdc2023-10111","staticContentId":8165,"eventContentId":10111,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-16T14:47:02-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10111","languageCode":"eng","description":"Get ready to launch into space \u2014 a new SwiftUI scene type that can help you make great immersive experiences for visionOS. We\u2019ll show you how to create a new scene with ImmersiveSpace, place 3D content, and integrate RealityView. Explore how you can use the immersionStyle scene modifier to increase the level of immersion in an app and learn best practices for managing spaces, adding virtual hands with ARKit, adding support for SharePlay, and building an \"out of this world\" experience!","title":"Go beyond the window with SwiftUI","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":100,"topicIds":[85,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"11D4DBE6-2699-45A8-9DFB-6B3DE4828466","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10111\/4\/D880BF62-C9CB-46EC-B2A2-802877B189DB\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10111\/4\/D880BF62-C9CB-46EC-B2A2-802877B189DB\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10111\/4\/D880BF62-C9CB-46EC-B2A2-802877B189DB\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10111\/4\/D880BF62-C9CB-46EC-B2A2-802877B189DB\/downloads\/wwdc2023-10111_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10111\/4\/D880BF62-C9CB-46EC-B2A2-802877B189DB\/downloads\/wwdc2023-10111_sd.mp4","duration":1433,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Introduction","end":207},{"start":207,"title":"Get Started","end":351},{"start":351,"title":"Display content","end":720},{"start":720,"title":"Managing your Space","end":1152},{"start":1152,"title":"Customization","end":1433}]},"related":{"activities":["wwdc2023-10080","wwdc2023-10081","wwdc2023-10087","wwdc2023-10089","wwdc2023-10109","wwdc2023-10110","wwdc2023-10113","wwdc2023-10203"]}},"wwdc2023-10258":{"id":"wwdc2023-10258","staticContentId":8326,"eventContentId":10258,"eventId":"wwdc2023","contentUpdatedAt":"2023-06-08T07:35:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10258","languageCode":"eng","description":"Bring delight to your app with animated symbols. Explore the new Symbols framework, which features a unified API to create and configure symbol effects. Learn how SwiftUI, AppKit, and UIKit make it easy to animate symbols in user interfaces. Discover tips and tricks to seamlessly integrate the new animations alongside other app content. To get the most from this session, we recommend first watching \u201cWhat\u2019s new in SF Symbols 5.\u201d","title":"Animate symbols in your app","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[83,87,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"51772E98-2745-4FCF-9F04-B24EEBE7AD95","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10258\/4\/F5972AFA-C206-4702-9005-E146CE71FC29\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10258\/4\/F5972AFA-C206-4702-9005-E146CE71FC29\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10258\/4\/F5972AFA-C206-4702-9005-E146CE71FC29\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10258\/4\/F5972AFA-C206-4702-9005-E146CE71FC29\/downloads\/wwdc2023-10258_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10258\/4\/F5972AFA-C206-4702-9005-E146CE71FC29\/downloads\/wwdc2023-10258_sd.mp4","duration":1027,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10054","wwdc2023-10055","wwdc2023-10148","wwdc2023-10197","wwdc2023-10257"]}},"wwdc2023-10078":{"id":"wwdc2023-10078","staticContentId":8132,"eventContentId":10078,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10078","languageCode":"eng","description":"Learn how to design engaging immersive experiences for visionOS that respect the limitations of human vision and motion perception. We\u2019ll show you how you can use depth cues, contrast, focus, and motion to keep people comfortable as they enjoy your apps and games.","title":"Design considerations for vision and motion","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":87,"topicIds":[82,85,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2C47B638-090D-4CBB-9E9E-EBE8114536D9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10078\/5\/A2493B0B-6540-4634-B38C-E2FEFC0F8DAC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10078\/5\/A2493B0B-6540-4634-B38C-E2FEFC0F8DAC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10078\/5\/A2493B0B-6540-4634-B38C-E2FEFC0F8DAC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10078\/5\/A2493B0B-6540-4634-B38C-E2FEFC0F8DAC\/downloads\/wwdc2023-10078_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10078\/5\/A2493B0B-6540-4634-B38C-E2FEFC0F8DAC\/downloads\/wwdc2023-10078_sd.mp4","duration":910,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10072","wwdc2023-10073","wwdc2023-10076"]}},"wwdc2023-10033":{"id":"wwdc2023-10033","staticContentId":8061,"eventContentId":10033,"eventId":"wwdc2023","contentUpdatedAt":"2024-11-22T12:31:56-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10033","languageCode":"eng","description":"Bring the latest advancements in Speech Synthesis to your apps. Learn how you can integrate your custom speech synthesizer and voices into iOS and macOS. We\u2019ll show you how SSML is used to generate expressive speech synthesis, and explore how Personal Voice can enable your augmentative and assistive communication app to speak on a person\u2019s behalf in an authentic way.","title":"Extend Speech Synthesis with personal and custom voices","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":82,"topicIds":[82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A93805E1-686D-4936-82A4-32403D14E4AE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10033\/4\/2BED83CA-28F2-4B53-ACB4-EF89AB371676\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10033\/4\/2BED83CA-28F2-4B53-ACB4-EF89AB371676\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10033\/4\/2BED83CA-28F2-4B53-ACB4-EF89AB371676\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10033\/4\/2BED83CA-28F2-4B53-ACB4-EF89AB371676\/downloads\/wwdc2023-10033_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10033\/4\/2BED83CA-28F2-4B53-ACB4-EF89AB371676\/downloads\/wwdc2023-10033_sd.mp4","duration":769,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Welcome","end":85},{"start":85,"title":"Explore SSML","end":157},{"start":157,"title":"Implement a synthesis provider","end":601},{"start":601,"title":"Use Personal Voice","end":769}]},"related":{"activities":["wwdc2020-10022"],"resources":[3091,3090,2515,1795]}},"wwdc2023-10185":{"id":"wwdc2023-10185","staticContentId":8245,"eventContentId":10185,"eventId":"wwdc2023","contentUpdatedAt":"2025-06-09T13:32:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10185","languageCode":"eng","description":"Discover how you can remotely update Live Activities in your app when you push content through Apple Push Notification service (APNs). We\u2019ll show you how to configure your first Live Activity push locally so you can quickly iterate on your implementation. Learn best practices for determining your push priority and configuring alerting updates, and explore how to further improve your Live Activities with relevance score and stale date.\n\nTo get the most out of this session, you should be familiar with ActivityKit and Live Activities. Check out \u201cMeet ActivityKit\u201d for an introduction to Live Activities.","title":"Update Live Activities with push notifications","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["activities","activity","activitykit","dynamic","dynamic island","island","live","live activities","live notification","live notifications","lock","lock screen","notification","notifications","screen","standby"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E8F2CADC-14F4-4F73-9421-705E2A99A353","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10185\/4\/1867F512-50A9-4907-A90A-34A7E198BDB7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10185\/4\/1867F512-50A9-4907-A90A-34A7E198BDB7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10185\/4\/1867F512-50A9-4907-A90A-34A7E198BDB7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10185\/4\/1867F512-50A9-4907-A90A-34A7E198BDB7\/downloads\/wwdc2023-10185_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10185\/4\/1867F512-50A9-4907-A90A-34A7E198BDB7\/downloads\/wwdc2023-10185_sd.mp4","duration":1100,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Intro","end":130},{"start":130,"title":"Preparations","end":358},{"start":358,"title":"First push update","end":664},{"start":664,"title":"Priority and alerts","end":940},{"start":940,"title":"Enhancements","end":1047},{"start":1047,"title":"Wrap-up","end":1100}]},"related":{"activities":["wwdc2023-10028","wwdc2023-10184","wwdc2023-10194","wwdc2023-111224","wwdc2023-111228","wwdc2024-10069"],"resources":[3100,3093,2968,2961,2959,651]}},"wwdc2023-10166":{"id":"wwdc2023-10166","staticContentId":8223,"eventContentId":10166,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10166","languageCode":"eng","description":"Discover how you can use Swift macros to make your codebase more expressive and easier to read. Code along as we explore how macros can help you avoid writing repetitive code and find out how to use them in your app. We\u2019ll share the building blocks of a macro, show you how to test it, and take you through how you can emit compilation errors from macros.","title":"Write Swift macros","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"32FADEC8-4C13-49F4-99A9-55E0E2B724C1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10166\/5\/58425163-99DA-4506-A86E-A2D794244136\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10166\/5\/58425163-99DA-4506-A86E-A2D794244136\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10166\/5\/58425163-99DA-4506-A86E-A2D794244136\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10166\/5\/58425163-99DA-4506-A86E-A2D794244136\/downloads\/wwdc2023-10166_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10166\/5\/58425163-99DA-4506-A86E-A2D794244136\/downloads\/wwdc2023-10166_sd.mp4","duration":2038,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":75,"title":"Overview","end":310},{"start":310,"title":"Create a macro using Xcode's macro template","end":650},{"start":650,"title":"Macro roles","end":700},{"start":700,"title":"Write a SlopeSubset macro to define an enum subset","end":1217},{"start":1217,"title":"Inspect the syntax tree structure in the debugger","end":1475},{"start":1475,"title":"Add a macro to an Xcode project","end":1625},{"start":1625,"title":"Emit error messages from a macro","end":1812},{"start":1812,"title":"Generalize SlopeSubset to a generic EnumSubset macro","end":2038}]},"related":{"activities":["wwdc2023-10149","wwdc2023-10164","wwdc2023-10165","wwdc2023-10167","wwdc2023-10296","wwdc2023-111307","wwdc2023-111308","wwdc2023-111309","wwdc2023-111310","wwdc2023-111311","wwdc2023-111312"]}},"wwdc2023-10181":{"id":"wwdc2023-10181","staticContentId":8241,"eventContentId":10181,"eventId":"wwdc2023","contentUpdatedAt":"2025-11-04T16:52:08-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10181","languageCode":"eng","description":"Learn how to identify, load, display, and create High Dynamic Range (HDR) still images in your app. Explore common HDR concepts and find out about the latest updates to the ISO specification. Learn how to identify and display HDR images with SwiftUI and UIKit, create them from ProRAW and RAW captures, and display them in CALayers. We\u2019ll also take you through CoreGraphics support for ISO HDR and share best practices for HDR adoption.","title":"Support HDR images in your app","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":95,"topicIds":[95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8226C70F-64DC-4FF1-9956-2DC0751A2143","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10181\/4\/B669E5B5-B6C7-40D3-AF7D-801FBEE8FF55\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10181\/4\/B669E5B5-B6C7-40D3-AF7D-801FBEE8FF55\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10181\/4\/B669E5B5-B6C7-40D3-AF7D-801FBEE8FF55\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10181\/4\/B669E5B5-B6C7-40D3-AF7D-801FBEE8FF55\/downloads\/wwdc2023-10181_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10181\/4\/B669E5B5-B6C7-40D3-AF7D-801FBEE8FF55\/downloads\/wwdc2023-10181_sd.mp4","duration":1738,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ko"]},"related":{"activities":["wwdc2023-10054","wwdc2023-10055","wwdc2023-111477","wwdc2023-111536","wwdc2023-111538","wwdc2022-10113","wwdc2022-110565"],"resources":[3147,2238,1494,1493,909]}},"wwdc2023-10006":{"id":"wwdc2023-10006","staticContentId":8018,"eventContentId":10006,"eventId":"wwdc2023","contentUpdatedAt":"2025-04-30T15:15:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10006","languageCode":"eng","description":"Find out how URLSession can help your apps transfer large files and recover from network interruptions. Learn how to pause and resume HTTP file transfers and support resumable uploads, and explore best practices for using URLSession to transfer files even when your app is suspended in the background.","title":"Build robust and resumable file transfers","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5A0BF5E9-A388-4213-9AF9-04A0D3DDB1B3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10006\/4\/62804C33-C167-4D42-9E12-390AED4A4EE1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10006\/4\/62804C33-C167-4D42-9E12-390AED4A4EE1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10006\/4\/62804C33-C167-4D42-9E12-390AED4A4EE1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10006\/4\/62804C33-C167-4D42-9E12-390AED4A4EE1\/downloads\/wwdc2023-10006_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10006\/4\/62804C33-C167-4D42-9E12-390AED4A4EE1\/downloads\/wwdc2023-10006_sd.mp4","duration":1239,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Welcome","end":162},{"start":162,"title":"Explore the resumable downloads protocol in HTTP","end":263},{"start":263,"title":"Pause and resume downloads with URLSession","end":470},{"start":470,"title":"Pause and resume uploads with URLSession","end":585},{"start":585,"title":"Explore the resumable uploads protocol in HTTP","end":766},{"start":766,"title":"Add resumable uploads to SwiftNIO","end":971},{"start":971,"title":"Use background URLSession","end":1239}]},"related":{"activities":["wwdc2019-712"],"resources":[3080,732,137]}},"wwdc2023-10197":{"id":"wwdc2023-10197","staticContentId":8259,"eventContentId":10197,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10197","languageCode":"eng","description":"Explore the latest updates to SF Symbols, Apple\u2019s library of iconography designed to integrate seamlessly with San Francisco, the system font for Apple platforms. Learn about symbol animations: a collection of expressive, configurable animations that can make your interface feel more lively and improve user feedback. See how to draw for animation when creating your own custom symbols, and discover the latest additions to the SF Symbols library. To get the most out of this session, we recommend first watching \u201cWhat\u2019s new in SF Symbols 4\u201d from WWDC22.","title":"What\u2019s new in SF Symbols 5","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A5D5F4FB-B017-464E-92B2-1B9809572A36","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10197\/4\/01BB92C1-0F42-4AE4-A526-7C83DA02ACAD\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10197\/4\/01BB92C1-0F42-4AE4-A526-7C83DA02ACAD\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10197\/4\/01BB92C1-0F42-4AE4-A526-7C83DA02ACAD\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10197\/4\/01BB92C1-0F42-4AE4-A526-7C83DA02ACAD\/downloads\/wwdc2023-10197_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10197\/4\/01BB92C1-0F42-4AE4-A526-7C83DA02ACAD\/downloads\/wwdc2023-10197_sd.mp4","duration":1133,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10257","wwdc2023-10258","wwdc2022-10157"]}},"wwdc2023-10027":{"id":"wwdc2023-10027","staticContentId":8055,"eventContentId":10027,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10027","languageCode":"eng","description":"The widget ecosystem is expanding: Discover how you can use the latest WidgetKit APIs to make your widget look great everywhere. We\u2019ll show you how to identify your widget\u2019s background, adjust layout dynamically, and prepare colors for vibrant rendering so that your widget can sit seamlessly in any environment.","title":"Bring widgets to new places","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D21F46FB-1BFA-479D-B9DD-71C620C5E482","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10027\/4\/7DEB1A11-79AB-4C43-B6F7-B7525FC746B6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10027\/4\/7DEB1A11-79AB-4C43-B6F7-B7525FC746B6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10027\/4\/7DEB1A11-79AB-4C43-B6F7-B7525FC746B6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10027\/4\/7DEB1A11-79AB-4C43-B6F7-B7525FC746B6\/downloads\/wwdc2023-10027_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10027\/4\/7DEB1A11-79AB-4C43-B6F7-B7525FC746B6\/downloads\/wwdc2023-10027_sd.mp4","duration":438,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":104},{"start":104,"title":"Transition to content margins ","end":180},{"start":180,"title":"Add a removable background ","end":271},{"start":271,"title":"Dynamically adjust layout ","end":360},{"start":360,"title":"Prepare for vibrant rendering","end":438}]},"related":{"activities":["wwdc2023-10028","wwdc2022-10050"]}},"wwdc2023-10088":{"id":"wwdc2023-10088","staticContentId":8142,"eventContentId":10088,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10088","languageCode":"eng","description":"Explore how you can use Unity to create engaging and immersive experiences for visionOS. We\u2019ll share how Unity integrates seamlessly with Apple frameworks, take you through the tools you can use to build natively for the platform, and show you how volume cameras can bring your existing scenes into visionOS windows, volumes, and spaces. \n\nDiscover how to incorporate visionOS features like passthrough and scene understanding, customize your visuals with Shader Graph, and adapt your interactions to work with spatial input.","title":"Create immersive Unity apps","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":91,"topicIds":[85,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"26A7B9D8-F50A-47E5-A3B0-D149EF8FBC37","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10088\/5\/77EBB91E-9B3E-41DC-AF08-623919A9F182\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10088\/5\/77EBB91E-9B3E-41DC-AF08-623919A9F182\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10088\/5\/77EBB91E-9B3E-41DC-AF08-623919A9F182\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10088\/5\/77EBB91E-9B3E-41DC-AF08-623919A9F182\/downloads\/wwdc2023-10088_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10088\/5\/77EBB91E-9B3E-41DC-AF08-623919A9F182\/downloads\/wwdc2023-10088_sd.mp4","duration":946,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":7,"title":"Intro","end":133},{"start":133,"title":"Achieve your visual look","end":378},{"start":378,"title":"Play to device","end":468},{"start":468,"title":"Explore volume cameras","end":600},{"start":600,"title":"Build interaction","end":829},{"start":829,"title":"Prepare for the platform","end":904},{"start":904,"title":"Wrap-Up","end":946}]},"related":{"activities":["wwdc2023-10093","wwdc2023-10096","wwdc2023-10260","wwdc2023-111289","wwdc2023-111290","wwdc2023-111292","wwdc2023-111293"],"resources":[3129]}},"wwdc2023-10229":{"id":"wwdc2023-10229","staticContentId":8293,"eventContentId":10229,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10229","languageCode":"eng","description":"Teach people how to use your app with TipKit! Learn how you can create effective educational moments through tips. We\u2019ll share how you can build eligibility rules to reach the ideal audience, control tip frequency, and strategies for testing to ensure successful interactions.","title":"Make features discoverable with TipKit","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["coaching","discover","discovery","education","feature","features","hint","hints","in-app","instructional","teach","teaching","tip","tipkit","tips"],"primaryTopicID":83,"topicIds":[87,90,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7BCB7D16-5D51-419D-B332-E008219FB631","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10229\/4\/07E6CA29-01CD-4E03-A3FF-D7D8A3FB4CEF\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10229\/4\/07E6CA29-01CD-4E03-A3FF-D7D8A3FB4CEF\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10229\/4\/07E6CA29-01CD-4E03-A3FF-D7D8A3FB4CEF\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10229\/4\/07E6CA29-01CD-4E03-A3FF-D7D8A3FB4CEF\/downloads\/wwdc2023-10229_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10229\/4\/07E6CA29-01CD-4E03-A3FF-D7D8A3FB4CEF\/downloads\/wwdc2023-10229_sd.mp4","duration":885,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Intro","end":87},{"start":87,"title":"Create a tip","end":323},{"start":323,"title":"Eligibility rules","end":559},{"start":559,"title":"Display and dismissal","end":755},{"start":755,"title":"Test tips","end":836},{"start":836,"title":"Wrap-up","end":885}]},"related":{"activities":["wwdc2024-10070"]}},"wwdc2023-10147":{"id":"wwdc2023-10147","staticContentId":8204,"eventContentId":10147,"eventId":"wwdc2023","contentUpdatedAt":"2024-06-11T18:50:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10147","languageCode":"eng","description":"Discover how Core Location Monitor can help you better understand location and beacon events in your app. Learn how to use Core Location Conditions to describe and track the state of events in your app, and find out how you can better respond to transitions in your apps through Swift semantics and improved reliability.","title":"Meet Core Location Monitor","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":93,"topicIds":[83,93],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FCD39ECC-AF31-4D44-858B-5D0CA479794A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10147\/4\/D414CF50-4EF2-43CA-B57D-0FB2F054F2FA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10147\/4\/D414CF50-4EF2-43CA-B57D-0FB2F054F2FA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10147\/4\/D414CF50-4EF2-43CA-B57D-0FB2F054F2FA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10147\/4\/D414CF50-4EF2-43CA-B57D-0FB2F054F2FA\/downloads\/wwdc2023-10147_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10147\/4\/D414CF50-4EF2-43CA-B57D-0FB2F054F2FA\/downloads\/wwdc2023-10147_sd.mp4","duration":964,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-10146","wwdc2023-10180","wwdc2023-111265","wwdc2023-111266"],"resources":[3135,3134,99]}},"wwdc2023-10244":{"id":"wwdc2023-10244","staticContentId":8309,"eventContentId":10244,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10244","languageCode":"eng","description":"Learn how you can take advantage of the latest features in Swift-DocC to create rich and detailed documentation for your app or framework. We\u2019ll show you how to use the Xcode 15 Documentation Preview editor to efficiently iterate on your existing project\u2019s documentation, and explore expanded authoring capabilities like grid-based layouts, video support, and custom themes.\n\nTo get the most out of this session, you should have a working knowledge of the basics of Swift-DocC documentation.","title":"Create rich documentation with Swift-DocC","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["\ud83e\udda5","\u26a1\ufe0f"],"primaryTopicID":88,"topicIds":[99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DF3657B5-B7AD-49C0-8C48-D1BFBADEB7DC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10244\/4\/6BE389F4-2F7E-4D0C-A6B6-25C8306D816E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10244\/4\/6BE389F4-2F7E-4D0C-A6B6-25C8306D816E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10244\/4\/6BE389F4-2F7E-4D0C-A6B6-25C8306D816E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10244\/4\/6BE389F4-2F7E-4D0C-A6B6-25C8306D816E\/downloads\/wwdc2023-10244_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10244\/4\/6BE389F4-2F7E-4D0C-A6B6-25C8306D816E\/downloads\/wwdc2023-10244_sd.mp4","duration":2033,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction and overview of Swift-DocC","end":213},{"start":213,"title":"Building and browsing documentation in Xcode","end":381},{"start":381,"title":"Documenting Swift extensions","end":485},{"start":485,"title":"Activating the Documentation Preview editor","end":584},{"start":584,"title":"Adding an image to your documentation","end":726},{"start":726,"title":"Organizing documentation pages into Topic Groups","end":833},{"start":833,"title":"Using Swift-DocC directives to create rich documentation pages","end":1512},{"start":1512,"title":"Theming the online version of your documentation","end":1709},{"start":1709,"title":"Publishing and browsing documentation on the web","end":1862},{"start":1862,"title":"Quick navigation","end":2033}]},"related":{"activities":["wwdc2023-10165","wwdc2023-111315","wwdc2022-110368","wwdc2022-110369","wwdc2021-10166","wwdc2021-10167","wwdc2021-10235"],"resources":[1676]}},"wwdc2023-10026":{"id":"wwdc2023-10026","staticContentId":8054,"eventContentId":10026,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10026","languageCode":"eng","description":"Discover some of the most significant changes to Apple Watch since its introduction as we tour the redesigned user interface and the new Smart Stack. Learn how Apple designers approached the design of watchOS 10 as we explore layout, navigation, and visual style, and find out how you can apply them to create a great app for Apple Watch.","title":"Meet watchOS 10","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["watchOS"],"keywords":["watchos"],"primaryTopicID":87,"topicIds":[90,100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B1446E95-6CAF-4E43-BAE7-0C7041B44B94","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10026\/4\/F0D39B26-C7C2-4ABB-8897-C377223B6A82\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10026\/4\/F0D39B26-C7C2-4ABB-8897-C377223B6A82\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10026\/4\/F0D39B26-C7C2-4ABB-8897-C377223B6A82\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10026\/4\/F0D39B26-C7C2-4ABB-8897-C377223B6A82\/downloads\/wwdc2023-10026_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10026\/4\/F0D39B26-C7C2-4ABB-8897-C377223B6A82\/downloads\/wwdc2023-10026_sd.mp4","duration":595,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":100,"title":"Design principles of watchOS 10 ","end":169},{"start":169,"title":"Layout system of controls, labels and content","end":216},{"start":216,"title":"Background colors and content","end":268},{"start":268,"title":"Materials","end":303},{"start":303,"title":"Navigation patterns","end":542},{"start":542,"title":"Wrap up","end":595}]},"related":{"activities":["wwdc2023-10031","wwdc2023-10138","wwdc2023-10309","wwdc2023-111520"],"resources":[3104,430]}},"wwdc2023-10184":{"id":"wwdc2023-10184","staticContentId":8244,"eventContentId":10184,"eventId":"wwdc2023","contentUpdatedAt":"2025-06-09T13:32:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10184","languageCode":"eng","description":"Live Activities are a glanceable way for someone to keep track of the progress of a task within your app. We\u2019ll teach you how you can create helpful experiences for the Lock Screen, the Dynamic Island, and StandBy. Learn how to update your app\u2019s Live Activities, monitor activity state, and take advantage of WidgetKit and SwiftUI to build richer experiences.","title":"Meet ActivityKit","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["activities","activity","activitykit","dynamic","dynamic island","island","live","live activities","live notification","live notifications","lock","lock screen","notification","notifications","screen","standby"],"primaryTopicID":83,"topicIds":[90,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B13DB71E-9E8F-4A86-88B3-306C4E772627","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10184\/4\/A7390924-2731-4B9B-925E-1CBDFB186C3E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10184\/4\/A7390924-2731-4B9B-925E-1CBDFB186C3E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10184\/4\/A7390924-2731-4B9B-925E-1CBDFB186C3E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10184\/4\/A7390924-2731-4B9B-925E-1CBDFB186C3E\/downloads\/wwdc2023-10184_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10184\/4\/A7390924-2731-4B9B-925E-1CBDFB186C3E\/downloads\/wwdc2023-10184_sd.mp4","duration":1035,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Intro","end":36},{"start":36,"title":"Live Activity overview","end":263},{"start":263,"title":"Lifecycle of Live Activities","end":643},{"start":643,"title":"Building Live Activity UI","end":997},{"start":997,"title":"Wrap-up","end":1035}]},"related":{"activities":["wwdc2023-10028","wwdc2023-10185","wwdc2023-10194","wwdc2023-111224"],"resources":[2968,2961,2960,2959,924]}},"wwdc2023-10162":{"id":"wwdc2023-10162","staticContentId":8219,"eventContentId":10162,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10162","languageCode":"eng","description":"The SwiftUI team is back in the coding \"kitchen\" with powerful tools to shape your app\u2019s focus experience. Join us and learn about the staple ingredients that support focus-driven interactions in your app. Discover focus interactions for custom views, find out about key-press handlers for keyboard input, and learn how to support movement and hierarchy with focus sections. We\u2019ll also go through some tasty recipes for common focus patterns in your app.","title":"The SwiftUI cookbook for focus","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"404EDBFE-0362-4AFB-93E4-8CF3EB3DC937","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10162\/4\/6C82F6E0-81BE-4742-B8F1-A77694DA6074\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10162\/4\/6C82F6E0-81BE-4742-B8F1-A77694DA6074\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10162\/4\/6C82F6E0-81BE-4742-B8F1-A77694DA6074\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10162\/4\/6C82F6E0-81BE-4742-B8F1-A77694DA6074\/downloads\/wwdc2023-10162_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10162\/4\/6C82F6E0-81BE-4742-B8F1-A77694DA6074\/downloads\/wwdc2023-10162_sd.mp4","duration":1397,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":104,"title":"What is focus","end":198},{"start":198,"title":"Ingredients","end":215},{"start":215,"title":"Ingredients: Focusable views","end":364},{"start":364,"title":"Ingredients: Focus state","end":423},{"start":423,"title":"Ingredients: Focused values","end":534},{"start":534,"title":"Ingredients: Focused sections","end":645},{"start":645,"title":"Recipes","end":681},{"start":681,"title":"Recipes: Controlling focus","end":876},{"start":876,"title":"Recipes: Custom focusable control","end":1084},{"start":1084,"title":"Recipes: Grid view","end":1397}]},"related":{"activities":["wwdc2023-10148"]}},"wwdc2023-10080":{"id":"wwdc2023-10080","staticContentId":8134,"eventContentId":10080,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10080","languageCode":"eng","description":"Discover how RealityKit can bring your apps into a new dimension. Get started with RealityKit entities, components, and systems, and learn how you can add 3D models and effects to your app on visionOS. We\u2019ll also take you through the RealityView API and demonstrate how to add 3D objects to windows, volumes, and spaces to make your apps more immersive. And we\u2019ll explore combining RealityKit with spatial input, animation, and spatial audio.","title":"Build spatial experiences with RealityKit","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","visionOS"],"primaryTopicID":85,"topicIds":[90,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E06EA002-41B2-4EB8-97C0-C165108379E3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10080\/4\/285DEB34-9EE6-466F-8F33-BF04E334E215\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10080\/4\/285DEB34-9EE6-466F-8F33-BF04E334E215\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10080\/4\/285DEB34-9EE6-466F-8F33-BF04E334E215\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10080\/4\/285DEB34-9EE6-466F-8F33-BF04E334E215\/downloads\/wwdc2023-10080_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10080\/4\/285DEB34-9EE6-466F-8F33-BF04E334E215\/downloads\/wwdc2023-10080_sd.mp4","duration":1652,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":170},{"start":170,"title":"RealityKit and SwiftUI","end":576},{"start":576,"title":"Entities and components","end":740},{"start":740,"title":"RealityView","end":937},{"start":937,"title":"Input, animation and audio","end":1380},{"start":1380,"title":"Custom systems","end":1575},{"start":1575,"title":"Wrap-up","end":1652}]},"related":{"activities":["wwdc2023-10081","wwdc2023-10082","wwdc2023-10083","wwdc2023-10086","wwdc2023-10091","wwdc2023-10109","wwdc2023-10111","wwdc2023-10113","wwdc2023-10203","wwdc2023-10260","wwdc2023-10273","wwdc2023-111215"],"resources":[3570]}},"wwdc2023-10117":{"id":"wwdc2023-10117","staticContentId":8174,"eventContentId":10117,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:54-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10117","languageCode":"eng","description":"Discover the latest updates to App Store Connect, the suite of tools used to manage and submit apps to the App Store. Explore how you can use the latest features to test, price, promote, and automate the management of your app more easily. We\u2019ll also share enhancements to tools like TestFlight and the App Store Connect API.","title":"What\u2019s new in App Store Connect","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":86,"topicIds":[88,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0AF7F2B4-09DD-4BFB-8847-1CB9E0A9E27D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10117\/5\/371EF10F-F98C-4AC5-B998-FD7FD3267F98\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10117\/5\/371EF10F-F98C-4AC5-B998-FD7FD3267F98\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10117\/5\/371EF10F-F98C-4AC5-B998-FD7FD3267F98\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10117\/5\/371EF10F-F98C-4AC5-B998-FD7FD3267F98\/downloads\/wwdc2023-10117_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10117\/5\/371EF10F-F98C-4AC5-B998-FD7FD3267F98\/downloads\/wwdc2023-10117_sd.mp4","duration":782,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10012","wwdc2023-10013","wwdc2023-10014","wwdc2023-10015","wwdc2023-10053","wwdc2023-10082","wwdc2023-10140","wwdc2023-10142","wwdc2023-10224"]}},"wwdc2023-10083":{"id":"wwdc2023-10083","staticContentId":8137,"eventContentId":10083,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10083","languageCode":"eng","description":"Discover how to easily compose, edit, and preview 3D content with Reality Composer Pro. Follow along as we explore this developer tool by setting up a new project, composing scenes, adding particle emitters and audio, and even previewing content on device.\n\nOnce you\u2019re familiar with the basics of Reality Composer Pro, check out \"Explore Materials in Reality Composer Pro\" and \"Work with Reality Composer Pro content in Xcode\" to learn more advanced techniques and tips.","title":"Meet Reality Composer Pro","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["macOS","visionOS"],"primaryTopicID":85,"topicIds":[90,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6E0DDBF9-93E1-49DB-8290-D95CC83AE165","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10083\/4\/B3A4D3EA-0CF5-4ECB-9874-28313698D3EE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10083\/4\/B3A4D3EA-0CF5-4ECB-9874-28313698D3EE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10083\/4\/B3A4D3EA-0CF5-4ECB-9874-28313698D3EE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10083\/4\/B3A4D3EA-0CF5-4ECB-9874-28313698D3EE\/downloads\/wwdc2023-10083_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10083\/4\/B3A4D3EA-0CF5-4ECB-9874-28313698D3EE\/downloads\/wwdc2023-10083_sd.mp4","duration":1272,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":75},{"start":75,"title":"Project setup","end":167},{"start":167,"title":"UI navigation","end":248},{"start":248,"title":"Composing scenes","end":428},{"start":428,"title":"Particle emitters","end":803},{"start":803,"title":"Audio authoring","end":1059},{"start":1059,"title":"Statistics","end":1166},{"start":1166,"title":"On-device preview","end":1199},{"start":1199,"title":"Wrap-up","end":1272}]},"related":{"activities":["wwdc2023-10080","wwdc2023-10081","wwdc2023-10086","wwdc2023-10091","wwdc2023-10096","wwdc2023-10099","wwdc2023-10191","wwdc2023-10202","wwdc2023-10203","wwdc2023-10260","wwdc2023-10273","wwdc2022-10129","wwdc2021-10077"],"resources":[3550]}},"wwdc2023-10136":{"id":"wwdc2023-10136","staticContentId":8193,"eventContentId":10136,"eventId":"wwdc2023","contentUpdatedAt":"2026-06-22T16:59:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10136","languageCode":"eng","description":"Level up your screen sharing experience with the latest features in ScreenCaptureKit. Explore the built-in system picker, Presenter Overlay, and screenshot capabilities, and learn how to incorporate these features into your existing ScreenCaptureKit app or game.","title":"What\u2019s new in ScreenCaptureKit","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":91,"topicIds":[84,95,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"96D115F3-9442-4C8E-BEE4-A8C80A166DED","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10136\/6\/998A4D51-FB97-4CB9-959F-65B5827F9926\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10136\/6\/998A4D51-FB97-4CB9-959F-65B5827F9926\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10136\/6\/998A4D51-FB97-4CB9-959F-65B5827F9926\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10136\/6\/998A4D51-FB97-4CB9-959F-65B5827F9926\/downloads\/wwdc2023-10136_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10136\/6\/998A4D51-FB97-4CB9-959F-65B5827F9926\/downloads\/wwdc2023-10136_sd.mp4","duration":823,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":8,"title":"Intro","end":96},{"start":96,"title":"Presenter Overlay","end":276},{"start":276,"title":"Screen sharing picker","end":586},{"start":586,"title":"Screenshot API","end":781},{"start":781,"title":"Wrap-Up","end":823}]},"related":{"activities":["wwdc2023-10053","wwdc2023-111273","wwdc2022-10155","wwdc2022-10156","wwdc2022-110652"],"resources":[2438]}},"wwdc2023-10115":{"id":"wwdc2023-10115","staticContentId":8170,"eventContentId":10115,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10115","languageCode":"eng","description":"Discover how SwiftUI can help you quickly iterate and explore design ideas. Learn from Apple designers as they share how working with SwiftUI influenced the design of the Maps app in watchOS 10 and other elements of their work, and find out how you can incorporate these workflows in your own process.","title":"Design with SwiftUI","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["prototyping"],"primaryTopicID":87,"topicIds":[99,100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"742AA546-66E7-4C4D-AD36-1016CBFB3414","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10115\/4\/19F9A9B5-0463-4EA9-B5C4-E7BBFE8E1F66\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10115\/4\/19F9A9B5-0463-4EA9-B5C4-E7BBFE8E1F66\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10115\/4\/19F9A9B5-0463-4EA9-B5C4-E7BBFE8E1F66\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10115\/4\/19F9A9B5-0463-4EA9-B5C4-E7BBFE8E1F66\/downloads\/wwdc2023-10115_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10115\/4\/19F9A9B5-0463-4EA9-B5C4-E7BBFE8E1F66\/downloads\/wwdc2023-10115_sd.mp4","duration":1114,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":100},{"start":100,"title":"SwiftUI as a design tool","end":356},{"start":356,"title":"Getting the details right","end":551},{"start":551,"title":"Designing for interaction","end":710},{"start":710,"title":"Testing your ideas","end":923},{"start":923,"title":"Presenting your work","end":1114}]},"related":{"activities":["wwdc2023-10337","wwdc2020-10119"]}},"wwdc2023-10099":{"id":"wwdc2023-10099","staticContentId":8153,"eventContentId":10099,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10099","languageCode":"eng","description":"Discover how you can use RealityKit Trace to improve the performance of your spatial computing apps. Explore performance profiling guidelines for this platform and learn how the RealityKit Trace template can help you optimize rendering for your apps. We\u2019ll also provide guidance on profiling various types of content in your app to help pinpoint performance issues.","title":"Meet RealityKit Trace","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":88,"topicIds":[85,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9EC522F8-719C-412A-8473-3E211C824DBB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10099\/5\/3AFC66A2-7703-40D9-BB5A-874A5091FE1A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10099\/5\/3AFC66A2-7703-40D9-BB5A-874A5091FE1A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10099\/5\/3AFC66A2-7703-40D9-BB5A-874A5091FE1A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10099\/5\/3AFC66A2-7703-40D9-BB5A-874A5091FE1A\/downloads\/wwdc2023-10099_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10099\/5\/3AFC66A2-7703-40D9-BB5A-874A5091FE1A\/downloads\/wwdc2023-10099_sd.mp4","duration":1257,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":44,"title":"Rendering","end":137},{"start":137,"title":"Profiling spatial apps","end":214},{"start":214,"title":"Introduction to RealityKit Trace","end":458},{"start":458,"title":"Optimizing offscreen passes","end":690},{"start":690,"title":"Optimizing asset rendering","end":842},{"start":842,"title":"Optimizing system power impact","end":1075},{"start":1075,"title":"Overview of optimized World app","end":1141},{"start":1141,"title":"Recommendations","end":1257}]},"related":{"activities":["wwdc2023-10083","wwdc2023-10100","wwdc2023-10248","wwdc2023-10260","wwdc2023-111276","wwdc2023-111277","wwdc2023-111278","wwdc2023-111605","wwdc2021-10157","tech-talks-10857"],"resources":[3579]}},"wwdc2023-10081":{"id":"wwdc2023-10081","staticContentId":8135,"eventContentId":10081,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10081","languageCode":"eng","description":"Go beyond the window and learn how you can bring engaging and immersive 3D content to your apps with RealityKit. Discover how SwiftUI scenes work in tandem with RealityView and how you can embed your content into an entity hierarchy. We\u2019ll also explore how you can blend virtual content and the real world using anchors, bring particle effects into your apps, add video content, and create more immersive experiences with portals.","title":"Enhance your spatial computing app with RealityKit","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","visionOS"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7863167C-3ADF-48FF-A01A-8C5D4247E1C9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10081\/4\/218C691E-8111-4A1A-925F-F43AB9832C41\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10081\/4\/218C691E-8111-4A1A-925F-F43AB9832C41\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10081\/4\/218C691E-8111-4A1A-925F-F43AB9832C41\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10081\/4\/218C691E-8111-4A1A-925F-F43AB9832C41\/downloads\/wwdc2023-10081_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10081\/4\/218C691E-8111-4A1A-925F-F43AB9832C41\/downloads\/wwdc2023-10081_sd.mp4","duration":1241,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":125},{"start":125,"title":"RealityView attachments","end":371},{"start":371,"title":"Video playback","end":659},{"start":659,"title":"Portals","end":904},{"start":904,"title":"Particle emitters","end":1026},{"start":1026,"title":"Anchors","end":1168},{"start":1168,"title":"Wrap-up","end":1241}]},"related":{"activities":["wwdc2023-10071","wwdc2023-10080","wwdc2023-10082","wwdc2023-10083","wwdc2023-10095","wwdc2023-10111","wwdc2023-10113","wwdc2023-10273"],"resources":[3550]}},"wwdc2023-10101":{"id":"wwdc2023-10101","staticContentId":8155,"eventContentId":10101,"eventId":"wwdc2023","contentUpdatedAt":"2026-06-08T12:29:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10101","languageCode":"eng","description":"Find out how you can improve on-device speech recognition in your app by customizing the underlying model with additional vocabulary. We\u2019ll share how speech recognition works on device and show you how to boost specific words and phrases for more predictable transcription. Learn how you can provide specific pronunciations for words and use template support to quickly generate a full set of custom phrases \u2014 all at runtime.\n\nFor more on the Speech framework, check out \u201cAdvances in Speech Recognition\u201d from WWDC19.","title":"Customize on-device speech recognition","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FF36170D-0895-473D-A201-03BB0C8DF06C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10101\/4\/4BB06F60-9134-4AB0-9A85-B5A9B9564C71\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10101\/4\/4BB06F60-9134-4AB0-9A85-B5A9B9564C71\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10101\/4\/4BB06F60-9134-4AB0-9A85-B5A9B9564C71\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10101\/4\/4BB06F60-9134-4AB0-9A85-B5A9B9564C71\/downloads\/wwdc2023-10101_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10101\/4\/4BB06F60-9134-4AB0-9A85-B5A9B9564C71\/downloads\/wwdc2023-10101_sd.mp4","duration":472,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-111247","wwdc2023-111248","wwdc2023-111249","wwdc2023-111250","wwdc2023-111251","wwdc2023-111252","wwdc2023-111253","wwdc2023-111254","wwdc2023-111255","wwdc2019-256"],"resources":[3049,524]}},"wwdc2023-10071":{"id":"wwdc2023-10071","staticContentId":8121,"eventContentId":10071,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10071","languageCode":"eng","description":"Learn how to prepare and deliver video content for visionOS using HTTP Live Streaming (HLS). Discover the current HLS delivery process for media and explore how you can expand your delivery pipeline to support 3D content. Get up to speed with tips and techniques for spatial media streaming and adapting your existing caption production workflows for 3D. And find out how to share audio tracks across video variants and add spatial audio to make your video content more immersive.","title":"Deliver video content for spatial experiences","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["visionOS"],"primaryTopicID":84,"topicIds":[85,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"696C6201-585A-45A1-80D1-F95F3794E7BD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10071\/4\/F38AC007-2A42-4AFD-B0AA-EFC2EA0A8ECD\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10071\/4\/F38AC007-2A42-4AFD-B0AA-EFC2EA0A8ECD\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10071\/4\/F38AC007-2A42-4AFD-B0AA-EFC2EA0A8ECD\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10071\/4\/F38AC007-2A42-4AFD-B0AA-EFC2EA0A8ECD\/downloads\/wwdc2023-10071_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10071\/4\/F38AC007-2A42-4AFD-B0AA-EFC2EA0A8ECD\/downloads\/wwdc2023-10071_sd.mp4","duration":990,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":41,"title":"Deliver 2D content","end":320},{"start":320,"title":"Deliver 3D content","end":990}]},"related":{"activities":["wwdc2023-10070","wwdc2023-10081","wwdc2023-111345","wwdc2023-111346","wwdc2023-111534"],"resources":[3574,3572]}},"wwdc2023-10263":{"id":"wwdc2023-10263","staticContentId":8332,"eventContentId":10263,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10263","languageCode":"eng","description":"Discover how you can take advantage of passkeys in managed environments at work. We\u2019ll explore how passkeys can work well in enterprise environments through Managed Apple ID support for iCloud Keychain. We\u2019ll also share how administrators can manage passkeys for specific devices using Access Management controls in Apple Business Manager and Apple School Manager.","title":"Deploy passkeys at work","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["2fa","attestation","password","phishing"],"primaryTopicID":89,"topicIds":[96,89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"229B4B92-D708-4C89-9BAF-7E6BD07F3781","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10263\/6\/31A324CE-DD40-456B-A7DB-8660EF139277\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10263\/6\/31A324CE-DD40-456B-A7DB-8660EF139277\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10263\/6\/31A324CE-DD40-456B-A7DB-8660EF139277\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10263\/6\/31A324CE-DD40-456B-A7DB-8660EF139277\/downloads\/wwdc2023-10263_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10263\/6\/31A324CE-DD40-456B-A7DB-8660EF139277\/downloads\/wwdc2023-10263_sd.mp4","duration":983,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":80},{"start":80,"title":"Benefits of passkeys at work","end":401},{"start":401,"title":"Managing passkeys at work","end":873},{"start":873,"title":"Demo","end":942},{"start":942,"title":"Next steps","end":983}]},"related":{"activities":["wwdc2023-10040","wwdc2023-10041","wwdc2023-10254","wwdc2022-10092"],"resources":[3035]}},"wwdc2023-10045":{"id":"wwdc2023-10045","staticContentId":8084,"eventContentId":10045,"eventId":"wwdc2023","contentUpdatedAt":"2026-02-16T10:56:02-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10045","languageCode":"eng","description":"Go beyond detecting cats and dogs in images. We\u2019ll show you how to use Vision to detect the individual joints and poses of these animals as well \u2014 all in real time \u2014 and share how you can enable exciting features like animal tracking for a camera app, creative embellishment on an animal photo, and more. We\u2019ll also explore other important enhancements to Vision and share best practices.\n\nTo learn even more about what\u2019s new in the Vision framework, watch \"Explore 3D body pose and person segmentation in Vision\u201d and \"Lift subjects from images in your app.\u201d And to learn more about building live camera-tracking experiences, check out \"Integrate with motorized iPhone stands using DockKit\"\n","title":"Detect animal poses in Vision","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4CE8E672-E759-4A28-9E1F-2197CB918E46","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10045\/4\/CD4F90B5-A291-452A-93CC-2694D9A8FB9E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10045\/4\/CD4F90B5-A291-452A-93CC-2694D9A8FB9E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10045\/4\/CD4F90B5-A291-452A-93CC-2694D9A8FB9E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10045\/4\/CD4F90B5-A291-452A-93CC-2694D9A8FB9E\/downloads\/wwdc2023-10045_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10045\/4\/CD4F90B5-A291-452A-93CC-2694D9A8FB9E\/downloads\/wwdc2023-10045_sd.mp4","duration":827,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10304","wwdc2023-111241","wwdc2023-111246","wwdc2023-111248","wwdc2023-111249","wwdc2023-111250","wwdc2023-111251","wwdc2023-111252","wwdc2023-111253","wwdc2023-111254","wwdc2023-111255"],"resources":[134]}},"wwdc2023-10157":{"id":"wwdc2023-10157","staticContentId":8214,"eventContentId":10157,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:54:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10157","languageCode":"eng","description":"Discover how you can take animation to the next level with the latest updates to SwiftUI. Join us as we wind our way through animation and build out multiple steps, use keyframes to add coordinated multi-track animated effects, and combine APIs in unique ways to make your app spring to life.","title":"Wind your way through advanced animations in SwiftUI","originalPublishingDate":"2023-06-06T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"78D7E404-DACB-494B-90A8-D1448F66A351","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10157\/4\/11302D30-B890-47AB-B8B0-CA3D4A8F136F\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10157\/4\/11302D30-B890-47AB-B8B0-CA3D4A8F136F\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10157\/4\/11302D30-B890-47AB-B8B0-CA3D4A8F136F\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10157\/4\/11302D30-B890-47AB-B8B0-CA3D4A8F136F\/downloads\/wwdc2023-10157_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10157\/4\/11302D30-B890-47AB-B8B0-CA3D4A8F136F\/downloads\/wwdc2023-10157_sd.mp4","duration":1091,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"],"chapters":[{"start":0,"title":"Introduction","end":143},{"start":143,"title":"Animation phases","end":492},{"start":492,"title":"Keyframes","end":907},{"start":907,"title":"Tips and tricks","end":1091}]},"related":{"activities":["wwdc2023-10148","wwdc2023-10156"]}},"wwdc2023-10119":{"id":"wwdc2023-10119","staticContentId":8176,"eventContentId":10119,"eventId":"wwdc2023","contentUpdatedAt":"2025-05-22T08:55:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10119","languageCode":"eng","description":"Learn about the latest improvements to Safari extensions. We\u2019ll take you through new APIs, explore per-site permissions for Safari app extensions, and share how you can make sure your extensions work great in both Private Browsing and Profiles.\n\n","title":"What\u2019s new in Safari extensions","originalPublishingDate":"2023-06-09T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B361576E-A213-4769-BACF-CB185ABC1819","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10119\/4\/83A24FCC-71E7-4137-BD8D-E165D7A1A020\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10119\/4\/83A24FCC-71E7-4137-BD8D-E165D7A1A020\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10119\/4\/83A24FCC-71E7-4137-BD8D-E165D7A1A020\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10119\/4\/83A24FCC-71E7-4137-BD8D-E165D7A1A020\/downloads\/wwdc2023-10119_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10119\/4\/83A24FCC-71E7-4137-BD8D-E165D7A1A020\/downloads\/wwdc2023-10119_sd.mp4","duration":732,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10053","wwdc2023-10118","wwdc2023-10262","wwdc2023-10279","wwdc2022-10099","wwdc2021-10104"],"resources":[2365,904,773,765,738]}},"wwdc2023-10047":{"id":"wwdc2023-10047","staticContentId":8086,"eventContentId":10047,"eventId":"wwdc2023","contentUpdatedAt":"2024-06-10T12:47:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10047","languageCode":"eng","description":"Discover how to reduce the footprint of machine learning models in your app with Core ML Tools. Learn how to use techniques like palettization, pruning, and quantization to dramatically reduce model size while still achieving great accuracy. Explore comparisons between compression during the training stages and on fully trained models, and learn how compressed models can run even faster when your app takes full advantage of the Apple Neural Engine.\n\nFor more on optimizing Core ML, check out \u201cImprove Core ML integration with async prediction\" from WWDC23.","title":"Use Core ML Tools for machine learning model compression","originalPublishingDate":"2023-06-08T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"72521AAC-1AF8-4BAC-B49C-A5C76A401C2B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10047\/4\/E4F2FB98-2605-4693-8FA8-978D1AD634F4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10047\/4\/E4F2FB98-2605-4693-8FA8-978D1AD634F4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10047\/4\/E4F2FB98-2605-4693-8FA8-978D1AD634F4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10047\/4\/E4F2FB98-2605-4693-8FA8-978D1AD634F4\/downloads\/wwdc2023-10047_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10047\/4\/E4F2FB98-2605-4693-8FA8-978D1AD634F4\/downloads\/wwdc2023-10047_sd.mp4","duration":1518,"availableAudioLanguageCodes":["eng"]},"related":{"activities":["wwdc2023-111245","wwdc2023-111248","wwdc2023-111249","wwdc2023-111250","wwdc2023-111251","wwdc2023-111252","wwdc2023-111253","wwdc2023-111254","wwdc2023-111255","wwdc2020-10153","tech-talks-10154"],"resources":[1605,1410,27]}},"wwdc2023-10195":{"id":"wwdc2023-10195","staticContentId":8257,"eventContentId":10195,"eventId":"wwdc2023","contentUpdatedAt":"2025-06-11T14:34:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2023\/10195","languageCode":"eng","description":"Learn how to use schema macros and migration plans with SwiftData to build more complex features for your app. We\u2019ll show you how to fine-tune your persistence with @Attribute and @Relationship options. Learn how to exclude properties from your data model with @Transient and migrate from one version of your schema to the next with ease.\n\nTo get the most out of this session, we recommend first watching \"Meet SwiftData\" and \"Build an app with SwiftData\" from WWDC23.","title":"Model your schema with SwiftData","originalPublishingDate":"2023-06-07T08:00:00-07:00","publishingExpiryDate":"2033-06-06T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["@attribute","coredata","core data","data","fetchdescriptor","macro","macros","model","@model","models","persistence","predicate","#predicate","@relationship","sortdescriptor","swift","swiftdata"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"20CADB15-4BB2-4A64-9668-F48C5D7D505C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10195\/4\/1FEA69A1-120E-4305-8976-D2E1D1530A13\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10195\/4\/1FEA69A1-120E-4305-8976-D2E1D1530A13\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10195\/4\/1FEA69A1-120E-4305-8976-D2E1D1530A13\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10195\/4\/1FEA69A1-120E-4305-8976-D2E1D1530A13\/downloads\/wwdc2023-10195_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2023\/10195\/4\/1FEA69A1-120E-4305-8976-D2E1D1530A13\/downloads\/wwdc2023-10195_sd.mp4","duration":565,"availableAudioLanguageCodes":["eng"],"chapters":[{"start":0,"title":"Intro","end":101},{"start":101,"title":"Utilizing schema macros","end":330},{"start":330,"title":"Evolving schemas","end":536},{"start":536,"title":"Wrap-up","end":565}]},"related":{"activities":["wwdc2023-10149","wwdc2023-10154","wwdc2023-10187","wwdc2023-10189","wwdc2023-10196","wwdc2023-10331","wwdc2023-111497","wwdc2023-111498","wwdc2023-111543"],"resources":[3085,3084]}},"wwdc2022-10083":{"id":"wwdc2022-10083","staticContentId":6577,"eventContentId":10083,"eventId":"wwdc2022","contentUpdatedAt":"2025-06-09T12:31:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10083","languageCode":"eng","description":"Discover how you can limit your power usage and help people get even more out of your app. We'll show you how you can reduce battery drain from your app by making four key changes to your code. Learn how to add Dark Mode to your app and benefit from OLED displays, audit frame rates from secondary animations, limit background data processing, and defer long running tasks.\n","title":"Power down: Improve battery consumption","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"07E644E3-5E9D-4C08-AA04-E2D885ABEB1C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10083\/4\/B0CF7C82-605A-4F0E-9BF2-C1F540932B45\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10083\/4\/B0CF7C82-605A-4F0E-9BF2-C1F540932B45\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10083\/4\/B0CF7C82-605A-4F0E-9BF2-C1F540932B45\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10083\/4\/B0CF7C82-605A-4F0E-9BF2-C1F540932B45\/downloads\/wwdc2022-10083_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10083\/4\/B0CF7C82-605A-4F0E-9BF2-C1F540932B45\/downloads\/wwdc2022-10083_sd.mp4","duration":1137,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10117","wwdc2022-110723","wwdc2022-110724","wwdc2022-110926","wwdc2021-10147","wwdc2019-214","wwdc2019-511"],"resources":[557,554,523]}},"wwdc2022-110340":{"id":"wwdc2022-110340","staticContentId":6692,"eventContentId":110340,"eventId":"wwdc2022","contentUpdatedAt":"2025-10-03T09:55:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110340","languageCode":"eng","description":"Learn how to design focused, approachable, and accessible charts. We'll show you how to design great charts with clear marks, axes, descriptions, interaction, and color and help you create useful experiences for everyone.","title":"Design an effective chart","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[90,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4BBCB61E-65ED-43FE-8F7B-81524E0C96BE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110340\/3\/B5BDA6B6-597F-460B-A88C-959265B6715D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110340\/3\/B5BDA6B6-597F-460B-A88C-959265B6715D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110340\/3\/B5BDA6B6-597F-460B-A88C-959265B6715D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110340\/3\/B5BDA6B6-597F-460B-A88C-959265B6715D\/downloads\/wwdc2022-110340_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110340\/3\/B5BDA6B6-597F-460B-A88C-959265B6715D\/downloads\/wwdc2022-110340_sd.mp4","duration":1501,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10136","wwdc2022-10137","wwdc2022-110342","wwdc2022-110467","wwdc2022-110531","wwdc2022-110567","wwdc2022-110569","wwdc2022-110570","wwdc2022-110571","wwdc2022-110572","wwdc2022-110574","wwdc2022-110575","wwdc2022-110576","wwdc2022-110610"],"resources":[2478,2477,2476]}},"wwdc2022-10045":{"id":"wwdc2022-10045","staticContentId":6538,"eventContentId":10045,"eventId":"wwdc2022","contentUpdatedAt":"2025-01-16T15:10:28-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10045","languageCode":"eng","description":"Explore enhancements to device management across Apple platforms. Improve device deployment workflows using the latest version of Apple Configurator for iPhone. Learn about identity technologies and MDM protocol updates for macOS, iOS and iPadOS. We'll also share an exciting change in how we provide device management documentation.","title":"What's new in managing Apple devices","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["configuration","configurator","dns","education","enrollment","enterprise","esim","identity","idp","management","mdm","networking","oauth","privacy","profile","profiles","security","shared ipad","software update"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"ED9D49BD-E2AA-4D2D-B726-10D49A1A7441","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10045\/3\/F899BEB5-EBE4-422E-AE52-AEF752A194A0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10045\/3\/F899BEB5-EBE4-422E-AE52-AEF752A194A0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10045\/3\/F899BEB5-EBE4-422E-AE52-AEF752A194A0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10045\/3\/F899BEB5-EBE4-422E-AE52-AEF752A194A0\/downloads\/wwdc2022-10045_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10045\/3\/F899BEB5-EBE4-422E-AE52-AEF752A194A0\/downloads\/wwdc2022-10045_sd.mp4","duration":2303,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10046","wwdc2022-10053","wwdc2022-10143","wwdc2022-110335","wwdc2022-110515","wwdc2022-110516","wwdc2022-110538","wwdc2022-110539","wwdc2021-10129","wwdc2021-10297"],"resources":[2352,2349,1345,794,581,329]}},"wwdc2022-10032":{"id":"wwdc2022-10032","staticContentId":6525,"eventContentId":10032,"eventId":"wwdc2022","contentUpdatedAt":"2026-06-08T12:29:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10032","languageCode":"eng","description":"Learn how you can make your app more discoverable and increase app engagement when you use the App Intents framework. We'll take you through the powerful capabilities of this Swift framework, explore the differences between App Intents and SiriKit Intents, and show you how you can expose your app's functionality to the system. We'll also share how you can build entities and queries to create rich App Shortcuts experiences.\n\nTo learn more about App Intents, watch \"Implement App Shortcuts with App Intents\" and \"Design App Shortcuts\" from WWDC22.","title":"Dive into App Intents","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"859FFF9A-19D9-4279-BB97-3D6C5F7BF744","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10032\/6\/69FD8F9D-5C29-4114-9C81-DF1ACC4B4BCA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10032\/6\/69FD8F9D-5C29-4114-9C81-DF1ACC4B4BCA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10032\/6\/69FD8F9D-5C29-4114-9C81-DF1ACC4B4BCA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10032\/6\/69FD8F9D-5C29-4114-9C81-DF1ACC4B4BCA\/downloads\/wwdc2022-10032_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10032\/6\/69FD8F9D-5C29-4114-9C81-DF1ACC4B4BCA\/downloads\/wwdc2022-10032_sd.mp4","duration":1841,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10028","wwdc2022-10121","wwdc2022-10169","wwdc2022-10170","wwdc2022-110533","wwdc2022-110885","wwdc2022-110886","wwdc2022-110887","wwdc2022-110888","wwdc2022-110889","wwdc2022-110890","wwdc2022-110891","wwdc2021-10283","tech-talks-10168","tech-talks-110356"],"resources":[2399]}},"wwdc2022-10082":{"id":"wwdc2022-10082","staticContentId":6576,"eventContentId":10082,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T04:57:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10082","languageCode":"eng","description":"Learn how you can increase responsiveness and eliminate hangs in your app and make even better experiences. Hang out with the Performance Tools team as we explore how you can track down these issues \u2014 and even stop them from occurring in the first place. We\u2019ll take you through the latest detection mechanisms for iOS to help track hangs during pre-release testing, show you how to identify issues in release builds using the Xcode Organizer, and more.","title":"Track down hangs with Xcode and on-device detection","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"588B9AAA-6B8C-4A18-B338-FF4607543EE6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10082\/5\/31EEEDCE-D908-48E8-AEDA-A40811515F69\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10082\/5\/31EEEDCE-D908-48E8-AEDA-A40811515F69\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10082\/5\/31EEEDCE-D908-48E8-AEDA-A40811515F69\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10082\/5\/31EEEDCE-D908-48E8-AEDA-A40811515F69\/downloads\/wwdc2022-10082_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10082\/5\/31EEEDCE-D908-48E8-AEDA-A40811515F69\/downloads\/wwdc2022-10082_sd.mp4","duration":1033,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10248","wwdc2022-110350","wwdc2022-110427","wwdc2022-110723","wwdc2022-110724","wwdc2022-110926","wwdc2022-110931","wwdc2021-10087","wwdc2021-10258","wwdc2020-10057"],"resources":[1678]}},"wwdc2022-10167":{"id":"wwdc2022-10167","staticContentId":6666,"eventContentId":10167,"eventId":"wwdc2022","contentUpdatedAt":"2024-12-03T11:51:27-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10167","languageCode":"eng","description":"Privacy Nutrition Labels help people understand your app's privacy practices. Discover how you can take inventory of your current data habits and learn best practices for creating your app\u2019s Privacy Nutrition Label on your App Store product page.","title":"Create your Privacy Nutrition Label ","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":96,"topicIds":[101,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CE9A2845-0A05-4790-93CF-89218075AB87","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10167\/5\/043ACD7F-3BC9-4AA1-A5BC-7DCCF91098EA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10167\/5\/043ACD7F-3BC9-4AA1-A5BC-7DCCF91098EA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10167\/5\/043ACD7F-3BC9-4AA1-A5BC-7DCCF91098EA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10167\/5\/043ACD7F-3BC9-4AA1-A5BC-7DCCF91098EA\/downloads\/wwdc2022-10167_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10167\/5\/043ACD7F-3BC9-4AA1-A5BC-7DCCF91098EA\/downloads\/wwdc2022-10167_sd.mp4","duration":734,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10060","wwdc2022-10096","wwdc2022-10166","wwdc2022-110789","wwdc2022-110790"],"resources":[1568,475]}},"wwdc2022-110374":{"id":"wwdc2022-110374","staticContentId":6729,"eventContentId":110374,"eventId":"wwdc2022","contentUpdatedAt":"2025-02-21T11:17:06-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110374","languageCode":"eng","description":"Discover how you can get the most out of Xcode Cloud, Apple\u2019s continuous integration and continuous delivery (CI\/CD) service. We'll take you through an overview of Xcode Cloud and how it connects with Xcode and App Store Connect. We'll also explore the Xcode Cloud Usage Dashboard in App Store Connect, and learn how you can use this tool to help optimize your build and release process across multiple team projects.","title":"Get the most out of Xcode Cloud","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"76316CDA-12B3-4942-8E51-73422013EECB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110374\/5\/69623440-5AFC-4AFB-9641-DBC4EEF46379\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110374\/5\/69623440-5AFC-4AFB-9641-DBC4EEF46379\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110374\/5\/69623440-5AFC-4AFB-9641-DBC4EEF46379\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110374\/5\/69623440-5AFC-4AFB-9641-DBC4EEF46379\/downloads\/wwdc2022-110374_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110374\/5\/69623440-5AFC-4AFB-9641-DBC4EEF46379\/downloads\/wwdc2022-110374_sd.mp4","duration":813,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110361","wwdc2022-110375","wwdc2022-110741","wwdc2022-110742","wwdc2022-110743","wwdc2022-110744","wwdc2022-110745","wwdc2022-110746","wwdc2022-110925","wwdc2022-110929","articles-110934"],"resources":[1650,1649,1648,1647,1646,1645,1618]}},"wwdc2022-110355":{"id":"wwdc2022-110355","staticContentId":6709,"eventContentId":110355,"eventId":"wwdc2022","contentUpdatedAt":"2025-06-05T15:32:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110355","languageCode":"eng","description":"Discover the latest open source Swift package from Apple: Swift Async Algorithms. We'll explore algorithms from this package that you can use with AsyncSequence, including zip, merge, and throttle. Follow along with us as we use these algorithms to build a great messaging app. We'll also share best practices for combining multiple AsyncSequences and using the Swift Clock type to work with values over time.\n\nTo get the most out of this session, we recommend watching \"Meet AsyncSequence.\"","title":"Meet Swift Async Algorithms","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[90,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"684C6744-93D3-4B56-AAF3-049E150D82F8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110355\/4\/459D7B80-E4A7-428F-ADA8-EF2543CE3350\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110355\/4\/459D7B80-E4A7-428F-ADA8-EF2543CE3350\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110355\/4\/459D7B80-E4A7-428F-ADA8-EF2543CE3350\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110355\/4\/459D7B80-E4A7-428F-ADA8-EF2543CE3350\/downloads\/wwdc2022-110355_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110355\/4\/459D7B80-E4A7-428F-ADA8-EF2543CE3350\/downloads\/wwdc2022-110355_sd.mp4","duration":781,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110354","wwdc2022-110480","wwdc2022-110726","wwdc2022-110727","wwdc2022-110728","wwdc2022-110729","wwdc2022-110730","wwdc2022-110731","wwdc2022-110732","wwdc2022-110938","wwdc2021-10058","wwdc2021-10256"],"resources":[2406,1712,1634]}},"wwdc2022-10100":{"id":"wwdc2022-10100","staticContentId":6594,"eventContentId":10100,"eventId":"wwdc2022","contentUpdatedAt":"2024-08-02T15:19:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10100","languageCode":"eng","description":"Learn how to add your own tools directly into Web Inspector using the latest Web Extensions APIs. We'll show you how to create your own tab in Web Inspector, evaluate JavaScript in the inspected page, and use the result to help you troubleshoot and identify potential problems.","title":"Create Safari Web Inspector Extensions","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7AB394AA-AB4C-4311-964F-8CEE1BF54027","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10100\/8\/7E160FF7-856D-4B6E-BE75-633EF8C15CA5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10100\/8\/7E160FF7-856D-4B6E-BE75-633EF8C15CA5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10100\/8\/7E160FF7-856D-4B6E-BE75-633EF8C15CA5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10100\/8\/7E160FF7-856D-4B6E-BE75-633EF8C15CA5\/downloads\/wwdc2022-10100_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10100\/8\/7E160FF7-856D-4B6E-BE75-633EF8C15CA5\/downloads\/wwdc2022-10100_sd.mp4","duration":1058,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10118","wwdc2022-10048","wwdc2022-10099","wwdc2022-110485","wwdc2022-110487","wwdc2022-110488","wwdc2022-110535"],"resources":[2365,771,763,738,431]}},"wwdc2022-10068":{"id":"wwdc2022-10068","staticContentId":6562,"eventContentId":10068,"eventId":"wwdc2022","contentUpdatedAt":"2025-03-26T11:14:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10068","languageCode":"eng","description":"Discover the latest updates and improvements to UIKit and learn how to build better iPadOS, iOS, and Mac Catalyst apps. We\u2019ll take you through UI refinements, productivity updates, API enhancements, and more. We\u2019ll also help you explore improvements to performance, security, and privacy.","title":"What's new in UIKit","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9CFE74D6-45AF-4357-95F9-2FF97D9F72D4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10068\/4\/CD436E87-CE6B-4E99-A7EA-66C5A424B38B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10068\/4\/CD436E87-CE6B-4E99-A7EA-66C5A424B38B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10068\/4\/CD436E87-CE6B-4E99-A7EA-66C5A424B38B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10068\/4\/CD436E87-CE6B-4E99-A7EA-66C5A424B38B\/downloads\/wwdc2022-10068_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10068\/4\/CD436E87-CE6B-4E99-A7EA-66C5A424B38B\/downloads\/wwdc2022-10068_sd.mp4","duration":1454,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10069","wwdc2022-10070","wwdc2022-10071","wwdc2022-10072","wwdc2022-10090","wwdc2022-10157","wwdc2022-10158","wwdc2022-110350","wwdc2022-110351","wwdc2022-110395","wwdc2022-110419","wwdc2022-110829","wwdc2022-110830","wwdc2022-110833","wwdc2022-110859","wwdc2022-110860","wwdc2021-10063"],"resources":[2425,2423,2422,2419,2413]}},"wwdc2022-10094":{"id":"wwdc2022-10094","staticContentId":6588,"eventContentId":10094,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T01:04:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10094","languageCode":"eng","description":"Shared with You helps people easily find content in your app that someone has shared with them in Messages. Learn how you can support Shared with You in your app and continue the messaging experience right with the content. We'll show you how pinning can give implicit Shared with You permission and can elevate content to be automatically shared. We'll also go over how to present Shared with You content in a Shared with You shelf and visually represent shared items with a Shared with You attribution view.","title":"Add Shared with You to your app","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[83,100,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"70436873-2B4F-451D-993A-9F5DC324C45B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10094\/4\/6D2459BF-7717-4646-BE9A-E73C7E602DB9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10094\/4\/6D2459BF-7717-4646-BE9A-E73C7E602DB9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10094\/4\/6D2459BF-7717-4646-BE9A-E73C7E602DB9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10094\/4\/6D2459BF-7717-4646-BE9A-E73C7E602DB9\/downloads\/wwdc2022-10094_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10094\/4\/6D2459BF-7717-4646-BE9A-E73C7E602DB9\/downloads\/wwdc2022-10094_sd.mp4","duration":1109,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10093","wwdc2022-10095","wwdc2022-110881","wwdc2022-110882","wwdc2020-10098"]}},"wwdc2022-10140":{"id":"wwdc2022-10140","staticContentId":6637,"eventContentId":10140,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T23:38:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10140","languageCode":"eng","description":"Join us as we share the latest updates to SharePlay. We\u2019ll show you how you can start SharePlay sessions right from your app, take you through improvements to APIs to create richer experiences, and check out enhancements to GroupSessionMessenger. We\u2019ll also explore best practices for adding SharePlay to your app.","title":"What's new in SharePlay","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":83,"topicIds":[84,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"44A32012-A89B-457D-B8DA-E8AF348F25B8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10140\/3\/7F5B5E00-19E6-4DBE-A169-044C9D0418F0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10140\/3\/7F5B5E00-19E6-4DBE-A169-044C9D0418F0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10140\/3\/7F5B5E00-19E6-4DBE-A169-044C9D0418F0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10140\/3\/7F5B5E00-19E6-4DBE-A169-044C9D0418F0\/downloads\/wwdc2022-10140_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10140\/3\/7F5B5E00-19E6-4DBE-A169-044C9D0418F0\/downloads\/wwdc2022-10140_sd.mp4","duration":894,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10075","wwdc2022-10139","wwdc2022-110380","wwdc2022-110554","wwdc2022-110555","wwdc2022-110815","wwdc2022-110822","wwdc2022-110824"],"resources":[2274,2273]}},"wwdc2022-10074":{"id":"wwdc2022-10074","staticContentId":6568,"eventContentId":10074,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T22:30:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10074","languageCode":"eng","description":"Discover the latest advances in Mac app development using AppKit. We\u2019ll take you through the latest updates to SF Symbols, show you how you can elevate your interface with enhanced controls, and help you learn to coordinate your windows with Stage Manager. We\u2019ll also explore the latest sharing and collaboration features for macOS.","title":"What's new in AppKit","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"06BD097B-67A8-4330-81BD-E38560697C0C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10074\/3\/1BF7E42D-BA6E-467E-9A03-1973DCC5E9A5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10074\/3\/1BF7E42D-BA6E-467E-9A03-1973DCC5E9A5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10074\/3\/1BF7E42D-BA6E-467E-9A03-1973DCC5E9A5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10074\/3\/1BF7E42D-BA6E-467E-9A03-1973DCC5E9A5\/downloads\/wwdc2022-10074_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10074\/3\/1BF7E42D-BA6E-467E-9A03-1973DCC5E9A5\/downloads\/wwdc2022-10074_sd.mp4","duration":1376,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10075","wwdc2022-10093","wwdc2022-10095","wwdc2022-10157","wwdc2022-10158","wwdc2022-110419","wwdc2022-110829","wwdc2022-110830","wwdc2022-110856","wwdc2022-110857","wwdc2022-110947"]}},"wwdc2022-10170":{"id":"wwdc2022-10170","staticContentId":6671,"eventContentId":10170,"eventId":"wwdc2022","contentUpdatedAt":"2026-06-08T12:29:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10170","languageCode":"eng","description":"Discover how you can create Shortcuts in your app with zero user setup. We'll show you how App Intents can help you present custom Shortcuts views, and explore how you can add support for parameterized phrases to allow people to quickly express their intent. We'll also share how you can make your App Shortcuts discoverable with a Siri Tip, and Shortcuts links.\n\nTo get the most out of this session, we recommend a basic familiarity with SwiftUI.","title":"Implement App Shortcuts with App Intents","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8ED05354-3C9C-4F3C-A4A1-FED3C33D359B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10170\/3\/30D42D9F-AF97-4B32-B470-C0A9B4D8C279\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10170\/3\/30D42D9F-AF97-4B32-B470-C0A9B4D8C279\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10170\/3\/30D42D9F-AF97-4B32-B470-C0A9B4D8C279\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10170\/3\/30D42D9F-AF97-4B32-B470-C0A9B4D8C279\/downloads\/wwdc2022-10170_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10170\/3\/30D42D9F-AF97-4B32-B470-C0A9B4D8C279\/downloads\/wwdc2022-10170_sd.mp4","duration":1403,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10032","wwdc2022-10169","wwdc2022-110885","wwdc2022-110886","wwdc2022-110887","wwdc2022-110890","wwdc2022-110891","tech-talks-10168","tech-talks-110356"],"resources":[2399]}},"wwdc2022-110380":{"id":"wwdc2022-110380","staticContentId":6735,"eventContentId":110380,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T01:35:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110380","languageCode":"eng","description":"Find out how you can deliver a coordinated playback experience in SharePlay when your app delivers different ad schedules to each participant. We'll explore how to build playback experiences with stitched-in ads and scheduled HLS interstitials, and share tips and best practices.","title":"Display ads and interstitials in SharePlay","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":84,"topicIds":[83,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"397EC99B-10A5-4FBC-ADAE-6E8DB372F186","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110380\/4\/F37ED64E-304D-423D-B8FA-17687B8EC980\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110380\/4\/F37ED64E-304D-423D-B8FA-17687B8EC980\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110380\/4\/F37ED64E-304D-423D-B8FA-17687B8EC980\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110380\/4\/F37ED64E-304D-423D-B8FA-17687B8EC980\/downloads\/wwdc2022-110380_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110380\/4\/F37ED64E-304D-423D-B8FA-17687B8EC980\/downloads\/wwdc2022-110380_sd.mp4","duration":670,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10139","wwdc2022-10140","wwdc2022-10145","wwdc2022-110545","wwdc2022-110546","wwdc2022-110554","wwdc2022-110555","wwdc2022-110815","wwdc2022-110822","wwdc2022-110823","wwdc2022-110824"]}},"wwdc2022-10115":{"id":"wwdc2022-10115","staticContentId":6611,"eventContentId":10115,"eventId":"wwdc2022","contentUpdatedAt":"2024-12-17T15:18:42-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10115","languageCode":"eng","description":"We\u2019ll take you through the latest updates to CloudKit Console and discover how you can explore and debug your containers on the web like never before. Learn more about Act as iCloud, which helps you query records and view data from the perspective of another account. Discover how to share zones of records, and provide better collaboration between participants. And find out how to hide inactive containers. We\u2019ll also share a few tips on getting the most out of CloudKit Console.\n\nTo get the most out of this session, we recommend having basic knowledge of CloudKit containers.","title":"What\u2019s new in CloudKit Console","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EDCCE044-CFFB-48A1-9DC8-A87A2CA02554","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10115\/3\/76BE7C00-CB67-4FF0-A159-19D8B091CED3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10115\/3\/76BE7C00-CB67-4FF0-A159-19D8B091CED3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10115\/3\/76BE7C00-CB67-4FF0-A159-19D8B091CED3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10115\/3\/76BE7C00-CB67-4FF0-A159-19D8B091CED3\/downloads\/wwdc2022-10115_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10115\/3\/76BE7C00-CB67-4FF0-A159-19D8B091CED3\/downloads\/wwdc2022-10115_sd.mp4","duration":430,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10116","wwdc2022-110673","wwdc2022-110674","wwdc2022-110831","wwdc2022-110834","wwdc2021-10117"],"resources":[1604,132]}},"wwdc2022-110368":{"id":"wwdc2022-110368","staticContentId":6722,"eventContentId":110368,"eventId":"wwdc2022","contentUpdatedAt":"2025-11-04T17:52:39-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110368","languageCode":"eng","description":"Join us for an exciting update on Swift-DocC and learn how you can write and share documentation for your own projects. We'll explore improvements to Swift-DocC navigation and share how you can compile documentation for application targets and Objective-C code. We'll also show you how to publish your content straight to hosting services like GitHub Pages.","title":"What's new in Swift-DocC","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3F5A7A86-D217-437E-A28A-2F05FA56714D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110368\/6\/40936E45-C4DD-4831-B7B9-146B53027E76\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110368\/6\/40936E45-C4DD-4831-B7B9-146B53027E76\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110368\/6\/40936E45-C4DD-4831-B7B9-146B53027E76\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110368\/6\/40936E45-C4DD-4831-B7B9-146B53027E76\/downloads\/wwdc2022-110368_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110368\/6\/40936E45-C4DD-4831-B7B9-146B53027E76\/downloads\/wwdc2022-110368_sd.mp4","duration":1073,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10244","wwdc2022-110719","wwdc2022-110720","wwdc2021-10422"],"resources":[2442,2441,1676,1669]}},"wwdc2022-110336":{"id":"wwdc2022-110336","staticContentId":6688,"eventContentId":110336,"eventId":"wwdc2022","contentUpdatedAt":"2026-05-14T15:54:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110336","languageCode":"eng","description":"Find out how you can build apps that help people manage their relationship with their device \u2014 all while putting privacy first. We\u2019ll take you through the Screen Time API and share how you can use features like core restrictions and device activity reports to create great experiences while providing measurable control for the device\u2019s owner, parents, and guardians.","title":"What's new in Screen Time API","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":101,"topicIds":[83,89,90,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"140F373C-846D-45E9-8BCB-01993050B850","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110336\/4\/DB808128-449E-420A-9FA1-E5CF7403B7FD\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110336\/4\/DB808128-449E-420A-9FA1-E5CF7403B7FD\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110336\/4\/DB808128-449E-420A-9FA1-E5CF7403B7FD\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110336\/4\/DB808128-449E-420A-9FA1-E5CF7403B7FD\/downloads\/wwdc2022-110336_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110336\/4\/DB808128-449E-420A-9FA1-E5CF7403B7FD\/downloads\/wwdc2022-110336_sd.mp4","duration":574,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110526"],"resources":[2242,2241,2240]}},"wwdc2022-10025":{"id":"wwdc2022-10025","staticContentId":6518,"eventContentId":10025,"eventId":"wwdc2022","contentUpdatedAt":"2024-02-13T11:57:22-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10025","languageCode":"eng","description":"Meet the Data Scanner in VisionKit: This framework combines AVCapture and Vision to enable live capture of machine-readable codes and text through a simple Swift API. We\u2019ll show you how to control the types of content your app can capture by specifying barcode symbologies and language selection. We\u2019ll also explore how you can enable guidance in your app, customize item highlighting or regions of interest, and handle interactions after your app detects an item.\n\nFor more on interacting with Live Text through still images or paused video frames, watch \"Add Live Text interaction to your app\" from WWDC22.","title":"Capture machine-readable codes and text with VisionKit","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":94,"topicIds":[95,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4335C7A1-A214-4892-A5D4-77E8496424C0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10025\/4\/5DB691AA-D403-4394-885D-0F1F18772715\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10025\/4\/5DB691AA-D403-4394-885D-0F1F18772715\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10025\/4\/5DB691AA-D403-4394-885D-0F1F18772715\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10025\/4\/5DB691AA-D403-4394-885D-0F1F18772715\/downloads\/wwdc2022-10025_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10025\/4\/5DB691AA-D403-4394-885D-0F1F18772715\/downloads\/wwdc2022-10025_sd.mp4","duration":731,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10024","wwdc2022-10026","wwdc2022-110850","wwdc2022-110851","wwdc2022-110852","wwdc2022-110905","tech-talks-110356"],"resources":[2398]}},"wwdc2022-10066":{"id":"wwdc2022-10066","staticContentId":6559,"eventContentId":10066,"eventId":"wwdc2022","contentUpdatedAt":"2025-01-15T14:08:43-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10066","languageCode":"eng","description":"Harness the full potential of Apple silicon in your app with Metal 3. We'll introduce you to the latest features, improvements, and tooling. We'll also explore how you can use advanced features and compiler tools to load resources faster, compile shader binaries at build time, process complex geometry with mesh shaders, render high-resolution graphics in less time, train machine learning networks faster, and more. ","title":"Discover Metal 3","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["game dev","game developer","metal","metal 3","metal compute","metal shading language","metal tools","proapps","raytracing","ray tracing"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"56BAD184-51C0-4360-B5A9-96230668A312","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10066\/5\/E8711A5F-B118-4630-BC5C-BEDA558FE370\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10066\/5\/E8711A5F-B118-4630-BC5C-BEDA558FE370\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10066\/5\/E8711A5F-B118-4630-BC5C-BEDA558FE370\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10066\/5\/E8711A5F-B118-4630-BC5C-BEDA558FE370\/downloads\/wwdc2022-10066_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10066\/5\/E8711A5F-B118-4630-BC5C-BEDA558FE370\/downloads\/wwdc2022-10066_sd.mp4","duration":944,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10063","wwdc2022-10101","wwdc2022-10102","wwdc2022-10103","wwdc2022-10104","wwdc2022-10105","wwdc2022-10159","wwdc2022-10160","wwdc2022-10162","wwdc2022-110645","wwdc2022-110646","wwdc2022-110649","wwdc2022-110657","wwdc2022-110666","wwdc2022-110667","wwdc2022-110670","wwdc2022-110929"],"resources":[38]}},"wwdc2022-10078":{"id":"wwdc2022-10078","staticContentId":6572,"eventContentId":10078,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T01:43:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10078","languageCode":"eng","description":"Find out how network latency can affect your apps when trying to get full benefit out of modern network throughput rates. Learn about changes you can make in your app and on your server to boost responsiveness, and prepare your app for improvements coming to the Internet that will offer even lower end-to-end delays.","title":"Reduce networking delays for a more responsive app","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"07B475EE-8846-40F2-AD89-EE4D4A350B60","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10078\/4\/688F144C-0F4D-4F7B-B77A-F10A56978C49\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10078\/4\/688F144C-0F4D-4F7B-B77A-F10A56978C49\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10078\/4\/688F144C-0F4D-4F7B-B77A-F10A56978C49\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10078\/4\/688F144C-0F4D-4F7B-B77A-F10A56978C49\/downloads\/wwdc2022-10078_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10078\/4\/688F144C-0F4D-4F7B-B77A-F10A56978C49\/downloads\/wwdc2022-10078_sd.mp4","duration":1122,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10004","wwdc2022-10117","wwdc2022-110876","wwdc2022-110877","wwdc2022-110878","wwdc2022-110879","wwdc2021-10094","wwdc2021-10239"],"resources":[2534,2533,2532,2531]}},"wwdc2022-110359":{"id":"wwdc2022-110359","staticContentId":6713,"eventContentId":110359,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T05:12:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110359","languageCode":"eng","description":"Discover how you can perform actions on Swift packages and Xcode projects with Swift package plugins. We'll go over how these plugins work and explore how you can use them to generate source code and automate your development workflow.","title":"Meet Swift Package plugins","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"524342E0-22CB-47B1-84DD-D1AF3CDD8676","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110359\/6\/0515ED86-51DB-430A-9521-E5DB4FC59C61\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110359\/6\/0515ED86-51DB-430A-9521-E5DB4FC59C61\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110359\/6\/0515ED86-51DB-430A-9521-E5DB4FC59C61\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110359\/6\/0515ED86-51DB-430A-9521-E5DB4FC59C61\/downloads\/wwdc2022-110359_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110359\/6\/0515ED86-51DB-430A-9521-E5DB4FC59C61\/downloads\/wwdc2022-110359_sd.mp4","duration":927,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10171","wwdc2022-110354","wwdc2022-110401","wwdc2022-110427","wwdc2022-110489","wwdc2022-110726","wwdc2022-110727","wwdc2022-110728","wwdc2022-110729","wwdc2022-110730","wwdc2022-110731","wwdc2022-110732","wwdc2019-408"]}},"wwdc2022-10003":{"id":"wwdc2022-10003","staticContentId":6492,"eventContentId":10003,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T21:57:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10003","languageCode":"eng","description":"WeatherKit offers valuable weather data for your apps and services to help people stay up to date on the latest conditions.\n\nLearn how to use Swift and REST APIs to access information about the current weather, 10-day hourly forecasts for temperature, expected precipitation, wind reports, the UV Index, and more. We\u2019ll also share how WeatherKit can provide timely, hyperlocal weather information without compromising someone\u2019s personal data or their privacy.","title":"Meet WeatherKit","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["api","browser","rest","weather","web"],"primaryTopicID":83,"topicIds":[93,98,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"517F8347-EF48-4A32-856E-3A1CE31B86A1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10003\/5\/C8AAE478-A435-4DA4-8256-F32941E32204\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10003\/5\/C8AAE478-A435-4DA4-8256-F32941E32204\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10003\/5\/C8AAE478-A435-4DA4-8256-F32941E32204\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10003\/5\/C8AAE478-A435-4DA4-8256-F32941E32204\/downloads\/wwdc2022-10003_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10003\/5\/C8AAE478-A435-4DA4-8256-F32941E32204\/downloads\/wwdc2022-10003_sd.mp4","duration":729,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110749","wwdc2022-110750","wwdc2022-110929","tech-talks-110356","discover-root-100222","discover-root-100223"],"resources":[2357]}},"wwdc2022-10040":{"id":"wwdc2022-10040","staticContentId":6533,"eventContentId":10040,"eventId":"wwdc2022","contentUpdatedAt":"2024-12-05T13:56:33-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10040","languageCode":"eng","description":"Learn how you can migrate to the latest App Store Server APIs and incorporate App Store Server Notifications. We\u2019ll help you get started with these tools and provide best practices to make the most of managing in-app purchases on your server. Discover how you can sign JSON Web Tokens, verify signed transactions, and migrate from verifyReceipt.\n","title":"Explore in-app purchase integration and migration","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D3093571-2BDE-4FD0-9321-DAB9B89A8583","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10040\/3\/EA4705F8-227B-4C1A-81CF-328BB3CA9E68\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10040\/3\/EA4705F8-227B-4C1A-81CF-328BB3CA9E68\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10040\/3\/EA4705F8-227B-4C1A-81CF-328BB3CA9E68\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10040\/3\/EA4705F8-227B-4C1A-81CF-328BB3CA9E68\/downloads\/wwdc2022-10040_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10040\/3\/EA4705F8-227B-4C1A-81CF-328BB3CA9E68\/downloads\/wwdc2022-10040_sd.mp4","duration":2402,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10141","wwdc2022-10007","wwdc2022-110404","wwdc2022-110578","wwdc2022-110581","wwdc2022-110758","wwdc2022-110759","wwdc2021-10174","wwdc2021-10175","tech-talks-10887"],"resources":[2372,2371,2370,2369,1637]}},"wwdc2022-110369":{"id":"wwdc2022-110369","staticContentId":6723,"eventContentId":110369,"eventId":"wwdc2022","contentUpdatedAt":"2025-11-04T17:52:39-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110369","languageCode":"eng","description":"Explore the navigation experience for Swift-DocC on the web. We'll show you how you can organize and optimize your content to help guide developers through documentation about your frameworks and applications. We'll also share enhanced techniques to help readers browse your documentation with ease.","title":"Improve the discoverability of your Swift-DocC content","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C089D8BB-685E-43C1-83D9-5611ED456DC8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110369\/4\/7FCC1556-7EF4-4CFA-B757-DBCDC51B836A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110369\/4\/7FCC1556-7EF4-4CFA-B757-DBCDC51B836A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110369\/4\/7FCC1556-7EF4-4CFA-B757-DBCDC51B836A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110369\/4\/7FCC1556-7EF4-4CFA-B757-DBCDC51B836A\/downloads\/wwdc2022-110369_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110369\/4\/7FCC1556-7EF4-4CFA-B757-DBCDC51B836A\/downloads\/wwdc2022-110369_sd.mp4","duration":669,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10244","wwdc2022-110719","wwdc2022-110720","wwdc2021-10422"],"resources":[2441,1676,1673,1672,1669]}},"wwdc2022-10119":{"id":"wwdc2022-10119","staticContentId":6615,"eventContentId":10119,"eventId":"wwdc2022","contentUpdatedAt":"2025-02-21T12:17:07-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10119","languageCode":"eng","description":"Join us as we explore the three parts of the development cycle that can help you optimize your Core Data and CloudKit implementation. We'll show you how you can analyze your app's architecture and feature set to verify assumptions, explore changes in behavior after ingesting large data sets, and get actionable feedback to make improvements to your workflow.\n\nTo get the most out of this session, we recommend familiarity with syncing your data model to CloudKit.","title":"Optimize your use of Core Data and CloudKit","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C0C0A378-4740-40E9-AC46-9123C6A7D005","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10119\/4\/8D4ACDA6-A3CE-4294-8DFE-B4CF5DE26D86\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10119\/4\/8D4ACDA6-A3CE-4294-8DFE-B4CF5DE26D86\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10119\/4\/8D4ACDA6-A3CE-4294-8DFE-B4CF5DE26D86\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10119\/4\/8D4ACDA6-A3CE-4294-8DFE-B4CF5DE26D86\/downloads\/wwdc2022-10119_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10119\/4\/8D4ACDA6-A3CE-4294-8DFE-B4CF5DE26D86\/downloads\/wwdc2022-10119_sd.mp4","duration":1581,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10120","wwdc2022-110675","wwdc2022-110676","wwdc2022-110836","wwdc2022-110838","wwdc2021-10015","wwdc2020-10076","wwdc2019-202","wwdc2019-411"],"resources":[698,694,161]}},"wwdc2022-110381":{"id":"wwdc2022-110381","staticContentId":6736,"eventContentId":110381,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T03:33:52-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110381","languageCode":"eng","description":"Discover the latest additions to San Francisco \u2013 the system font for Apple platforms \u2013 and find out how they can provide more control and versatility when designing interfaces. In addition to weights and optical sizes, San Francisco now supports three new width styles: Condensed, Compressed, and Expanded. We\u2019ll also take you through the linguistic expansion of San Francisco and learn more about the feature-rich Arabic system font families: SF Arabic and SF Arabic Rounded.","title":"Meet the expanded San Francisco font family","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["new york","san francisco","type","typeface","typography"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F688D32F-15D2-4082-9505-DB2FA7FE0B0B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110381\/5\/23FB4AFE-1352-4B9D-A2C6-A3F7C232C022\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110381\/5\/23FB4AFE-1352-4B9D-A2C6-A3F7C232C022\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110381\/5\/23FB4AFE-1352-4B9D-A2C6-A3F7C232C022\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110381\/5\/23FB4AFE-1352-4B9D-A2C6-A3F7C232C022\/downloads\/wwdc2022-110381_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110381\/5\/23FB4AFE-1352-4B9D-A2C6-A3F7C232C022\/downloads\/wwdc2022-110381_sd.mp4","duration":1109,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10034","wwdc2022-110441","wwdc2020-10175","tech-talks-110356"]}},"wwdc2022-102":{"id":"wwdc2022-102","staticContentId":6855,"eventContentId":102,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T07:16:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/102","languageCode":"eng","description":"Take a deeper dive into the latest tools, technologies, and advances across Apple platforms to help you create even better apps.","title":"Platforms State of the Union","startTime":"2022-06-06T13:00:00-07:00","endTime":"2022-06-06T14:15:00-07:00","originalPublishingDate":"2022-06-06T13:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["sotu","sotu 2022"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"56C122F8-74BE-4D50-A212-B9E24C028670","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/102\/2\/4143C9F2-546F-4065-B38B-4EC32099CD03\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/102\/2\/4143C9F2-546F-4065-B38B-4EC32099CD03\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/102\/2\/4143C9F2-546F-4065-B38B-4EC32099CD03\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/102\/2\/4143C9F2-546F-4065-B38B-4EC32099CD03\/downloads\/wwdc2022-102_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/102\/2\/4143C9F2-546F-4065-B38B-4EC32099CD03\/downloads\/wwdc2022-102_sd.mp4","duration":4210,"availableSubtitleLanguageCodes":["en","ja","ko","zh"]}},"wwdc2022-10103":{"id":"wwdc2022-10103","staticContentId":6597,"eventContentId":10103,"eventId":"wwdc2022","contentUpdatedAt":"2025-01-15T14:08:43-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10103","languageCode":"eng","description":"Discover MetalFX, a new API that provides platform optimized graphics effects for Metal applications. With MetalFX Upscaling, your application can now render frames at a lower resolution, reducing rendering time, without compromising rendering quality. We'll also show you how and when to use its two effects: spatial upscaling, which delivers substantial performance gains, and temporal AA and upscaling, which delivers the highest quality rendering.","title":"Boost performance with MetalFX Upscaling","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["game dev","game developer","games","metal","metal 3","metalfx","metalfx upscaling","metal tools","performance"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DE0A23FC-C31E-4C2B-A0F7-6791F66ADB04","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10103\/7\/0DA14AB6-97A2-4E95-A960-E27CBC5E5012\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10103\/7\/0DA14AB6-97A2-4E95-A960-E27CBC5E5012\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10103\/7\/0DA14AB6-97A2-4E95-A960-E27CBC5E5012\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10103\/7\/0DA14AB6-97A2-4E95-A960-E27CBC5E5012\/downloads\/wwdc2022-10103_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10103\/7\/0DA14AB6-97A2-4E95-A960-E27CBC5E5012\/downloads\/wwdc2022-10103_sd.mp4","duration":1331,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10125","wwdc2022-10066","wwdc2022-110645","wwdc2022-110646","wwdc2022-110649","wwdc2022-110661","wwdc2022-110666","wwdc2022-110667","wwdc2022-110670","tech-talks-111372"],"resources":[2972,2935,2494,38]}},"wwdc2022-10127":{"id":"wwdc2022-10127","staticContentId":6624,"eventContentId":10127,"eventId":"wwdc2022","contentUpdatedAt":"2025-03-03T16:36:27-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10127","languageCode":"eng","description":"RoomPlan can help your app quickly create simplified parametric 3D scans of a room. Learn how you can use this API to easily add a room scanning experience. We'll show you how to adopt this API, explore the 3D parametric output, and share best practices to help your app get great results with every scan.","title":"Create parametric 3D room scans with RoomPlan","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["ar","arkit","augmented reality"],"primaryTopicID":85,"topicIds":[95,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"74B089D3-CE09-44D4-BF19-87E3EBB4BF7F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10127\/3\/C6A70FDB-501E-42BB-A50E-9794D4050C07\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10127\/3\/C6A70FDB-501E-42BB-A50E-9794D4050C07\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10127\/3\/C6A70FDB-501E-42BB-A50E-9794D4050C07\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10127\/3\/C6A70FDB-501E-42BB-A50E-9794D4050C07\/downloads\/wwdc2022-10127_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10127\/3\/C6A70FDB-501E-42BB-A50E-9794D4050C07\/downloads\/wwdc2022-10127_sd.mp4","duration":989,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10192","wwdc2022-10131","wwdc2022-10141","wwdc2022-110474","wwdc2022-110475","wwdc2022-110621","wwdc2022-110622","wwdc2022-110930","tech-talks-110356"],"resources":[2385,2384]}},"wwdc2022-10104":{"id":"wwdc2022-10104","staticContentId":6598,"eventContentId":10104,"eventId":"wwdc2022","contentUpdatedAt":"2025-09-09T13:11:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10104","languageCode":"eng","description":"Discover how you can use fast resource streaming in Metal 3 to quickly load assets. We'll show you how to use an asynchronous set-it-and-forget-it workflow in your app to take advantage of the speed of SSD storage and the throughput of Apple silicon\u2019s unified memory architecture. We'll also explore how you can create separate queues that run parallel to \u2014 and synchronize with \u2014 your GPU render and compute work. Finally, we'll share how to designate assets like audio with high-priority queues to help you load data with lower latency.","title":"Load resources faster with Metal 3","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["3d graphics","game","game dev","game developer","metal","metal 3","metal tools","raytracing"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F53878BD-50F9-4450-BA43-76528D095A67","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10104\/4\/E095D698-00CE-4A00-812C-4BA755CE26DB\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10104\/4\/E095D698-00CE-4A00-812C-4BA755CE26DB\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10104\/4\/E095D698-00CE-4A00-812C-4BA755CE26DB\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10104\/4\/E095D698-00CE-4A00-812C-4BA755CE26DB\/downloads\/wwdc2022-10104_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10104\/4\/E095D698-00CE-4A00-812C-4BA755CE26DB\/downloads\/wwdc2022-10104_sd.mp4","duration":1344,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10066","wwdc2022-110645","wwdc2022-110646","wwdc2022-110649","wwdc2022-110666","wwdc2022-110667","wwdc2022-110670"],"resources":[2498,38]}},"wwdc2022-111":{"id":"wwdc2022-111","staticContentId":7395,"eventContentId":111,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-09T10:50:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/111","languageCode":"eng","description":"The Apple Worldwide Developers Conference kicks off with exciting reveals, inspiration, and new opportunities. Join the worldwide developer community for an in-depth look at the future of Apple platforms, directly from Apple Park.","title":"Keynote (ASL)","startTime":"2022-06-06T10:00:00-07:00","endTime":"2022-06-06T12:00:00-07:00","originalPublishingDate":"2022-06-06T10:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"1634969D-0B63-467B-9269-D8337D9C96DB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/events-delivery.apple.com\/0205eyyhwbbqexozkwmgccegwnjyrktg\/m3u8\/vod_asl_index-ktnaTcjUgzeMGMTaiatvJAZgtCVGqFUX.m3u8","tvOShls":"https:\/\/events-delivery.apple.com\/0205eyyhwbbqexozkwmgccegwnjyrktg\/m3u8\/vod_asl_index-ktnaTcjUgzeMGMTaiatvJAZgtCVGqFUX.m3u8","duration":6533,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["de","en","es","fr","ja","ko","zh"]}},"wwdc2022-110361":{"id":"wwdc2022-110361","staticContentId":6715,"eventContentId":110361,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T23:44:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110361","languageCode":"eng","description":"Discover how you can create effective testing plans for Xcode Cloud, Apple\u2019s continuous integration and continuous delivery service. We'll show you how testing can be an essential tool to consistently verify your code works correctly. Learn how you can author fast, reliable, and efficient tests for Xcode Cloud, avoid irrelevant failures, and verify your code changes quickly.","title":"Author fast and reliable tests for Xcode Cloud","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[90,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"62FD48BE-49EC-461E-9816-2D3E10F49133","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110361\/3\/7FB8FB7D-976B-432E-A47D-05ADDFE1BD45\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110361\/3\/7FB8FB7D-976B-432E-A47D-05ADDFE1BD45\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110361\/3\/7FB8FB7D-976B-432E-A47D-05ADDFE1BD45\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110361\/3\/7FB8FB7D-976B-432E-A47D-05ADDFE1BD45\/downloads\/wwdc2022-110361_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110361\/3\/7FB8FB7D-976B-432E-A47D-05ADDFE1BD45\/downloads\/wwdc2022-110361_sd.mp4","duration":1300,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10278","wwdc2022-110374","wwdc2022-110375","wwdc2022-110427","wwdc2022-110741","wwdc2022-110742","wwdc2022-110743","wwdc2022-110744","wwdc2022-110745","wwdc2022-110746","wwdc2022-110932","wwdc2021-10207","wwdc2021-10267","wwdc2021-10269","wwdc2021-10296","wwdc2020-10091","wwdc2020-10164","wwdc2020-10221","wwdc2020-10746","articles-110934","wwdc2019-413","wwdc2018-417"]}},"wwdc2022-101":{"id":"wwdc2022-101","staticContentId":6854,"eventContentId":101,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-09T10:47:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/101","languageCode":"eng","description":"The Apple Worldwide Developers Conference kicks off with exciting reveals, inspiration, and new opportunities. Join the worldwide developer community for an in-depth look at the future of Apple platforms, directly from Apple Park.","title":"Keynote","startTime":"2022-06-06T10:00:00-07:00","endTime":"2022-06-06T12:00:00-07:00","originalPublishingDate":"2022-06-06T10:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"B8406147-26DD-4930-95E8-FB401761F1C7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/events-delivery.apple.com\/0205eyyhwbbqexozkwmgccegwnjyrktg\/m3u8\/vod_index-dpyfrsVksFWjneFiptbXnAMYBtGYbXeZ.m3u8","tvOShls":"https:\/\/events-delivery.apple.com\/0205eyyhwbbqexozkwmgccegwnjyrktg\/m3u8\/vod_index-dpyfrsVksFWjneFiptbXnAMYBtGYbXeZ.m3u8","duration":6533,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["de","en","es","fr","ja","ko","zh"]}},"wwdc2022-110403":{"id":"wwdc2022-110403","staticContentId":6763,"eventContentId":110403,"eventId":"wwdc2022","contentUpdatedAt":"2025-08-05T12:08:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110403","languageCode":"eng","description":"Discover how you can use the Background Assets framework to download large files directly from your CDN and improve the initial launch experience of your apps and games. We\u2019ll show you how to schedule background downloads during initial app install, app updates, and periodically as someone uses the app. We\u2019ll also explore how you can manage scheduled downloads to make sure people have the content they want, when they want it.","title":"Meet Background Assets","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5953F36F-3F6F-4041-99EE-8E128DCCFBF6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110403\/3\/7B38146A-41F4-422B-A863-6E4277C76C6E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110403\/3\/7B38146A-41F4-422B-A863-6E4277C76C6E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110403\/3\/7B38146A-41F4-422B-A863-6E4277C76C6E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110403\/3\/7B38146A-41F4-422B-A863-6E4277C76C6E\/downloads\/wwdc2022-110403_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110403\/3\/7B38146A-41F4-422B-A863-6E4277C76C6E\/downloads\/wwdc2022-110403_sd.mp4","duration":1442,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10108","wwdc2022-110568","wwdc2021-10094","tech-talks-111372","wwdc2015-214"],"resources":[2428,2356]}},"wwdc2022-110335":{"id":"wwdc2022-110335","staticContentId":6687,"eventContentId":110335,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T22:24:54-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110335","languageCode":"eng","description":"Learn more about Apple Business Essentials \u2014 a complete solution that brings together device management, 24\/7 support, and cloud storage for your small business. We'll explore how you can use features like Collections to manage apps and settings for every iPhone, iPad, Mac, and Apple TV in your organization. Find out how you can get started and review how Apple Business Essentials works for you and your employees.","title":"Explore Apple Business Essentials","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["apple business manager","device management","mdm","small business","smb"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C2A2B5A8-4514-4F94-B066-D78965002E8C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110335\/4\/0F40B105-473E-42E2-A5BD-C33EE3C6B743\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110335\/4\/0F40B105-473E-42E2-A5BD-C33EE3C6B743\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110335\/4\/0F40B105-473E-42E2-A5BD-C33EE3C6B743\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110335\/4\/0F40B105-473E-42E2-A5BD-C33EE3C6B743\/downloads\/wwdc2022-110335_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110335\/4\/0F40B105-473E-42E2-A5BD-C33EE3C6B743\/downloads\/wwdc2022-110335_sd.mp4","duration":792,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10045","wwdc2022-110515","wwdc2022-110516","wwdc2022-110538","wwdc2022-110539"],"resources":[2366,2350]}},"wwdc2022-110358":{"id":"wwdc2022-110358","staticContentId":6712,"eventContentId":110358,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T05:21:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110358","languageCode":"eng","description":"Go beyond the basics of string processing with Swift Regex. We'll share an overview of Regex and how it works, explore Foundation\u2019s rich data parsers and discover how to integrate your own, and delve into captures. We\u2019ll also provide best practices for matching strings and wielding Regex-powered algorithms with ease.","title":"Swift Regex: Beyond the basics","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DA6C62C6-66E8-420B-B3EE-8778CBFD925D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110358\/6\/CCCFE7E0-48F7-4D00-A8C1-6DB5E768F833\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110358\/6\/CCCFE7E0-48F7-4D00-A8C1-6DB5E768F833\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110358\/6\/CCCFE7E0-48F7-4D00-A8C1-6DB5E768F833\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110358\/6\/CCCFE7E0-48F7-4D00-A8C1-6DB5E768F833\/downloads\/wwdc2022-110358_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110358\/6\/CCCFE7E0-48F7-4D00-A8C1-6DB5E768F833\/downloads\/wwdc2022-110358_sd.mp4","duration":1292,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110354","wwdc2022-110357","wwdc2022-110726","wwdc2022-110727","wwdc2022-110728","wwdc2022-110729","wwdc2022-110730","wwdc2022-110731","wwdc2022-110732","wwdc2022-110921","wwdc2021-10109"],"resources":[2411,2410,2409,2408,2407]}},"wwdc2022-110929":{"id":"wwdc2022-110929","staticContentId":7323,"eventContentId":110929,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T22:20:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110929","languageCode":"eng","description":"It's time for your Day 1 report from Apple HQ. Check out all the exciting announcements and new technologies unveiled at WWDC22 \u2014 and learn more about what's coming tomorrow.","title":"WWDC22 Day 1 recap","originalPublishingDate":"2022-06-06T17:30:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","keywords":["recap"],"primaryTopicID":90,"topicIds":[90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AC83E011-8E3A-423B-AD33-84CA0F444CAC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110929\/1\/E9996C71-5D71-46C7-BC47-4A26302DA7D6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110929\/1\/E9996C71-5D71-46C7-BC47-4A26302DA7D6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110929\/1\/E9996C71-5D71-46C7-BC47-4A26302DA7D6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110929\/1\/E9996C71-5D71-46C7-BC47-4A26302DA7D6\/downloads\/wwdc2022-110929_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110929\/1\/E9996C71-5D71-46C7-BC47-4A26302DA7D6\/downloads\/wwdc2022-110929_sd.mp4","duration":180,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10003","wwdc2022-10052","wwdc2022-10066","wwdc2022-10121","wwdc2022-10128","wwdc2022-10137","wwdc2022-110357","wwdc2022-110374","wwdc2022-110427","wwdc2022-110930","wwdc2022-110931","wwdc2022-110932","wwdc2022-110933"]}},"wwdc2022-110932":{"id":"wwdc2022-110932","staticContentId":7326,"eventContentId":110932,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T06:27:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110932","languageCode":"eng","description":"It's time to review Day 4. Check out the Thursday highlights and tune in for a quick preview of the last day of WWDC22.","title":"WWDC22 Day 4 recap","originalPublishingDate":"2022-06-09T15:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","keywords":["recap"],"primaryTopicID":90,"topicIds":[90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B4CCA3DF-643A-4BAC-8A16-07645C073310","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110932\/1\/FAD2EDA0-088A-4ECC-A98A-4448F5568116\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110932\/1\/FAD2EDA0-088A-4ECC-A98A-4448F5568116\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110932\/1\/FAD2EDA0-088A-4ECC-A98A-4448F5568116\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110932\/1\/FAD2EDA0-088A-4ECC-A98A-4448F5568116\/downloads\/wwdc2022-110932_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110932\/1\/FAD2EDA0-088A-4ECC-A98A-4448F5568116\/downloads\/wwdc2022-110932_sd.mp4","duration":80,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10024","wwdc2022-10037","wwdc2022-10058","wwdc2022-10072","wwdc2022-10089","wwdc2022-10139","wwdc2022-10142","wwdc2022-10152","wwdc2022-110361","wwdc2022-110929","wwdc2022-110930","wwdc2022-110931"]}},"wwdc2022-10148":{"id":"wwdc2022-10148","staticContentId":6646,"eventContentId":10148,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T01:40:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10148","languageCode":"eng","description":"Explore the Apple Music API and MusicKit client frameworks. Learn how you can integrate Apple Music features into your web service or Android app, make requests to the Apple Music API to discover and fetch content, and personalize the experience for subscribers.","title":"Meet Apple Music API and MusicKit","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":84,"topicIds":[90,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D361E243-B1A4-4BDF-A0A3-B8B699C2A68A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10148\/4\/ABD3D85D-6492-4E1A-B39A-BEBABBC5C075\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10148\/4\/ABD3D85D-6492-4E1A-B39A-BEBABBC5C075\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10148\/4\/ABD3D85D-6492-4E1A-B39A-BEBABBC5C075\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10148\/4\/ABD3D85D-6492-4E1A-B39A-BEBABBC5C075\/downloads\/wwdc2022-10148_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10148\/4\/ABD3D85D-6492-4E1A-B39A-BEBABBC5C075\/downloads\/wwdc2022-10148_sd.mp4","duration":1106,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110347","wwdc2022-110560","wwdc2022-110561","wwdc2022-110825","wwdc2021-10291","wwdc2021-10293"],"resources":[1607]}},"wwdc2022-112":{"id":"wwdc2022-112","staticContentId":7396,"eventContentId":112,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T10:28:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/112","languageCode":"eng","description":"Take a deeper dive into the latest tools, technologies, and advances across Apple platforms to help you create even better apps.","title":"Platforms State of the Union (ASL)","startTime":"2022-06-06T13:00:00-07:00","endTime":"2022-06-06T14:15:00-07:00","originalPublishingDate":"2022-06-06T13:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["asl","sotu","sotu 2022"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"62BEC5A1-CC1C-456B-B56B-724977DA8771","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/112\/1\/EA7B4115-D8B3-4D25-8463-CD4D748729A3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/112\/1\/EA7B4115-D8B3-4D25-8463-CD4D748729A3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/112\/1\/EA7B4115-D8B3-4D25-8463-CD4D748729A3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/112\/1\/EA7B4115-D8B3-4D25-8463-CD4D748729A3\/downloads\/wwdc2022-112_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/112\/1\/EA7B4115-D8B3-4D25-8463-CD4D748729A3\/downloads\/wwdc2022-112_sd.mp4","duration":4210,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]}},"wwdc2022-10090":{"id":"wwdc2022-10090","staticContentId":6584,"eventContentId":10090,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T01:28:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10090","languageCode":"eng","description":"Discover the latest updates to TextKit and text views in UI frameworks. Explore layout refinements and API enhancements, learn how you can maintain compatibility across multiple OS versions, and find out how to modernize your app with TextKit 2. \n\nTo get the most out of this session, watch \u201cMeet TextKit 2\u201d from WWDC21.","title":"What's new in TextKit and text views","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1EE78339-F99A-4616-AF2E-2AC852C3302F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10090\/4\/5A0AE4B4-BE39-434E-8B9E-0910F2FD152D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10090\/4\/5A0AE4B4-BE39-434E-8B9E-0910F2FD152D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10090\/4\/5A0AE4B4-BE39-434E-8B9E-0910F2FD152D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10090\/4\/5A0AE4B4-BE39-434E-8B9E-0910F2FD152D\/downloads\/wwdc2022-10090_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10090\/4\/5A0AE4B4-BE39-434E-8B9E-0910F2FD152D\/downloads\/wwdc2022-10090_sd.mp4","duration":1444,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10068","wwdc2022-110829","wwdc2022-110830","wwdc2022-110856","wwdc2022-110857","wwdc2022-110863","wwdc2021-10061"]}},"wwdc2022-10160":{"id":"wwdc2022-10160","staticContentId":6659,"eventContentId":10160,"eventId":"wwdc2022","contentUpdatedAt":"2025-01-15T14:08:43-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10160","languageCode":"eng","description":"Your C++ games and apps can now tap into the power of Metal. We'll show you how metal-cpp helps you bridge your C++ code to Metal, explore how each manages object lifecycles, and demonstrate utilities that can help these language cooperate in your app. We'll also share best practices for designing app architecture to elegantly integrate Objective-C and C++ together.","title":"Program Metal in C++ with metal-cpp","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["c++","game dev","game developer","metal 3","metal-cpp"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6A4471BC-BD43-47B3-9D9B-7E78A80FF437","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10160\/5\/F0ACC08B-EFC0-459E-AE6D-DEA492619F49\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10160\/5\/F0ACC08B-EFC0-459E-AE6D-DEA492619F49\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10160\/5\/F0ACC08B-EFC0-459E-AE6D-DEA492619F49\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10160\/5\/F0ACC08B-EFC0-459E-AE6D-DEA492619F49\/downloads\/wwdc2022-10160_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10160\/5\/F0ACC08B-EFC0-459E-AE6D-DEA492619F49\/downloads\/wwdc2022-10160_sd.mp4","duration":1618,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10066","wwdc2022-110645","wwdc2022-110646","wwdc2022-110649","wwdc2022-110663","wwdc2022-110664","wwdc2022-110666","wwdc2022-110667","wwdc2022-110670","wwdc2022-110949"],"resources":[2429,2396,38]}},"wwdc2022-10005":{"id":"wwdc2022-10005","staticContentId":6494,"eventContentId":10005,"eventId":"wwdc2022","contentUpdatedAt":"2025-01-24T12:25:20-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10005","languageCode":"eng","description":"Bring the latest HealthKit features to your health & fitness app. We'll show you how to capture more detailed sleep data through sleep stages, track swim-bike-run and interval workouts with the enhanced Workout API, and save vision prescriptions \u2014 including an image of the physical prescription \u2014 directly to HealthKit while preserving privacy.","title":"What's new in HealthKit","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","tvOS","watchOS"],"primaryTopicID":92,"topicIds":[92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BF21F110-9211-4B2F-97FB-CA06F932D91C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10005\/4\/55C7CDFC-2E36-4AC0-8E77-7327EBD9E0E9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10005\/4\/55C7CDFC-2E36-4AC0-8E77-7327EBD9E0E9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10005\/4\/55C7CDFC-2E36-4AC0-8E77-7327EBD9E0E9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10005\/4\/55C7CDFC-2E36-4AC0-8E77-7327EBD9E0E9\/downloads\/wwdc2022-10005_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10005\/4\/55C7CDFC-2E36-4AC0-8E77-7327EBD9E0E9\/downloads\/wwdc2022-10005_sd.mp4","duration":1465,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110415","wwdc2022-110416","wwdc2022-110566","wwdc2022-110946"],"resources":[2367,87]}},"wwdc2022-110347":{"id":"wwdc2022-110347","staticContentId":6700,"eventContentId":110347,"eventId":"wwdc2022","contentUpdatedAt":"2026-06-22T17:59:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110347","languageCode":"eng","description":"Discover how you can enhance and personalize your app using MusicKit. We\u2019ll take you through the latest additions to the MusicKit framework and explore how you can bring music content to your app through requests, metadata, and more.","title":"Explore more content with MusicKit","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["apple music","music","musickit","music library","playlists","songs","swift"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"96347382-D417-4A82-B18D-50BEC4188D40","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110347\/3\/9A5697EE-37FC-497A-AD9F-5033E026866E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110347\/3\/9A5697EE-37FC-497A-AD9F-5033E026866E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110347\/3\/9A5697EE-37FC-497A-AD9F-5033E026866E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110347\/3\/9A5697EE-37FC-497A-AD9F-5033E026866E\/downloads\/wwdc2022-110347_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110347\/3\/9A5697EE-37FC-497A-AD9F-5033E026866E\/downloads\/wwdc2022-110347_sd.mp4","duration":1554,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10148","wwdc2022-110354","wwdc2022-110558","wwdc2022-110559","wwdc2022-110825","wwdc2021-10294"],"resources":[2446,1607]}},"wwdc2022-103":{"id":"wwdc2022-103","staticContentId":6739,"eventContentId":103,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T06:49:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/103","languageCode":"eng","description":"The Apple Design Awards honors excellence in innovation, ingenuity, and technical achievement in app and game design. Watch along as we reveal and celebrate the 2022 winners.","title":"Apple Design Awards","startTime":"2022-06-06T17:00:00-07:00","endTime":"2022-06-06T17:40:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"E12F5688-AD05-443B-ABDA-15BE148CC86C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/103\/3\/AFC3701A-AC3C-4F5D-9AB3-1CDE42CB5763\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/103\/3\/AFC3701A-AC3C-4F5D-9AB3-1CDE42CB5763\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/103\/3\/AFC3701A-AC3C-4F5D-9AB3-1CDE42CB5763\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/103\/3\/AFC3701A-AC3C-4F5D-9AB3-1CDE42CB5763\/downloads\/wwdc2022-103_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/103\/3\/AFC3701A-AC3C-4F5D-9AB3-1CDE42CB5763\/downloads\/wwdc2022-103_sd.mp4","duration":1117,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]}},"wwdc2022-10026":{"id":"wwdc2022-10026","staticContentId":6519,"eventContentId":10026,"eventId":"wwdc2022","contentUpdatedAt":"2024-02-13T11:57:22-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10026","languageCode":"eng","description":"Learn how you can bring Live Text support for still photos or paused video frames to your app. We'll share how you can easily enable text interactions, translation, data detection, and QR code scanning within any image view on iOS, iPadOS, or macOS. We'll also go over how to control interaction types, manage the supplementary interface, and resolve potential gesture conflicts.\n\nTo learn more about capturing and interacting with detected data in live camera feeds, watch \"Capture machine-readable codes and text with VisionKit\" from WWDC22.","title":"Add Live Text interaction to your app","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":83,"topicIds":[95,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B0176840-DE6B-4C0A-9D54-F5F686740381","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10026\/3\/346C760E-A60C-4D64-89A7-26C888CBBE0E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10026\/3\/346C760E-A60C-4D64-89A7-26C888CBBE0E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10026\/3\/346C760E-A60C-4D64-89A7-26C888CBBE0E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10026\/3\/346C760E-A60C-4D64-89A7-26C888CBBE0E\/downloads\/wwdc2022-10026_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10026\/3\/346C760E-A60C-4D64-89A7-26C888CBBE0E\/downloads\/wwdc2022-10026_sd.mp4","duration":866,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10048","wwdc2022-10025","wwdc2022-10147","wwdc2022-110850","wwdc2022-110851","wwdc2022-110852","wwdc2022-110853","wwdc2022-110905","articles-110968"],"resources":[2397]}},"wwdc2022-10166":{"id":"wwdc2022-10166","staticContentId":6665,"eventContentId":10166,"eventId":"wwdc2022","contentUpdatedAt":"2024-12-03T11:51:27-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10166","languageCode":"eng","description":"Learn more about App Tracking Transparency and how it helps people using your app have choice and control over tracking. App Store Policy now requires that all apps receive permission through the AppTrackingTransparency framework in order to track people's data. We\u2019ll explain how this policy defines tracking, whether your app needs to adopt this framework, and how to implement it effectively.","title":"Explore App Tracking Transparency","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["app tracking transparency","nutrion label","privacy","tracking"],"primaryTopicID":96,"topicIds":[90,101,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"98DDD8EA-475F-4896-9474-E17157D5ECAE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10166\/3\/144ECF3D-FAB1-44D1-A265-90946F21F612\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10166\/3\/144ECF3D-FAB1-44D1-A265-90946F21F612\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10166\/3\/144ECF3D-FAB1-44D1-A265-90946F21F612\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10166\/3\/144ECF3D-FAB1-44D1-A265-90946F21F612\/downloads\/wwdc2022-10166_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10166\/3\/144ECF3D-FAB1-44D1-A265-90946F21F612\/downloads\/wwdc2022-10166_sd.mp4","duration":822,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10060","wwdc2022-10038","wwdc2022-10096","wwdc2022-10167","wwdc2022-110786","wwdc2022-110788","wwdc2021-10085"],"resources":[2382,1568,475]}},"wwdc2022-110344":{"id":"wwdc2022-110344","staticContentId":6697,"eventContentId":110344,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T00:52:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110344","languageCode":"eng","description":"Meet Developer Mode \u2014 required on iOS 16, iPadOS 16, and watchOS 9 to install, run, and debug your apps during development. We'll show you how you to opt in to Developer Mode on your devices, and how to enable Developer Mode in your automation workflows.","title":"Get to know Developer Mode","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["devmodectl","distribution","provisioning profiles","xcode"],"primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"18A85C07-1583-45A1-997E-479B33DE7AD6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110344\/4\/3BE29FF5-6545-4560-A014-79CD116180E9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110344\/4\/3BE29FF5-6545-4560-A014-79CD116180E9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110344\/4\/3BE29FF5-6545-4560-A014-79CD116180E9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110344\/4\/3BE29FF5-6545-4560-A014-79CD116180E9\/downloads\/wwdc2022-110344_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110344\/4\/3BE29FF5-6545-4560-A014-79CD116180E9\/downloads\/wwdc2022-110344_sd.mp4","duration":343,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10109","wwdc2022-110460","wwdc2022-110462"],"resources":[75]}},"wwdc2022-10052":{"id":"wwdc2022-10052","staticContentId":6545,"eventContentId":10052,"eventId":"wwdc2022","contentUpdatedAt":"2024-11-13T17:16:57-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10052","languageCode":"eng","description":"It's a SwiftUI party \u2014 and you're invited! Join us as we share the latest updates and a glimpse into the future of UI framework design. Discover deep levels of customization, advanced techniques for layout, elegant strategies for sharing, and rock-solid structural approaches for designing an app top-to-bottom in SwiftUI. We\u2019ll also have some celebratory fun as we play with the latest graphical effects and explore APIs.","title":"What's new in SwiftUI","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1E3D9DB9-A0E1-44B8-B4A7-2689D7E081FD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10052\/5\/241B4005-877E-40CD-91AA-4CE0714BB2E6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10052\/5\/241B4005-877E-40CD-91AA-4CE0714BB2E6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10052\/5\/241B4005-877E-40CD-91AA-4CE0714BB2E6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10052\/5\/241B4005-877E-40CD-91AA-4CE0714BB2E6\/downloads\/wwdc2022-10052_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10052\/5\/241B4005-877E-40CD-91AA-4CE0714BB2E6\/downloads\/wwdc2022-10052_sd.mp4","duration":2025,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10009","wwdc2022-10054","wwdc2022-10056","wwdc2022-10058","wwdc2022-10061","wwdc2022-10062","wwdc2022-10093","wwdc2022-10095","wwdc2022-10133","wwdc2022-10136","wwdc2022-10137","wwdc2022-110343","wwdc2022-110371","wwdc2022-110391","wwdc2022-110393","wwdc2022-110397","wwdc2022-110427","wwdc2022-110443","wwdc2022-110466","wwdc2022-110467","wwdc2022-110929"],"resources":[571]}},"wwdc2022-10169":{"id":"wwdc2022-10169","staticContentId":6670,"eventContentId":10169,"eventId":"wwdc2022","contentUpdatedAt":"2026-06-08T12:29:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10169","languageCode":"eng","description":"Learn how you can surface great features from your app directly in Siri, Spotlight, and the Shortcuts app. We'll introduce you to App Shortcuts, provide best practices to help you evaluate features in your app that would work well as App Shortcuts, and take you through the process of creating one of your own. Learn how to create clear and memorable names, design custom visuals, collect required information, and create discoverable shortcuts","title":"Design App Shortcuts","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":87,"topicIds":[83,90,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D3281878-D461-48C4-85E9-FCB66D09A038","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10169\/5\/8F7E31FB-73E9-405E-8031-74902FC37BB8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10169\/5\/8F7E31FB-73E9-405E-8031-74902FC37BB8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10169\/5\/8F7E31FB-73E9-405E-8031-74902FC37BB8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10169\/5\/8F7E31FB-73E9-405E-8031-74902FC37BB8\/downloads\/wwdc2022-10169_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10169\/5\/8F7E31FB-73E9-405E-8031-74902FC37BB8\/downloads\/wwdc2022-10169_sd.mp4","duration":1213,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10193","wwdc2022-10032","wwdc2022-10170","wwdc2022-110533","wwdc2022-110567","wwdc2022-110569","wwdc2022-110570","wwdc2022-110571","wwdc2022-110572","wwdc2022-110574","wwdc2022-110575","wwdc2022-110576","wwdc2022-110890","wwdc2022-110891","wwdc2022-110931","wwdc2021-10283","tech-talks-10168"],"resources":[2399,1699,603]}},"wwdc2022-110348":{"id":"wwdc2022-110348","staticContentId":6702,"eventContentId":110348,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T04:07:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110348","languageCode":"eng","description":"Learn how you can easily prototype and build apps with Swift Playgrounds. We\u2019ll show you how to create an app from a blank project, build its interface with SwiftUI, and use Swift Package Manager to add extra functionality from an open source package. We'll also explore how you can debug issues using Previews and the console and take you through submitting an app to App Store Connect for distribution via TestFlight.","title":"Build your first app in Swift Playgrounds","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":99,"topicIds":[89,88,90,92,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"135B565F-93B2-4B36-82A8-D8E4530DD170","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110348\/5\/EF06F7AC-5379-4AFF-A0AB-FD1413B78098\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110348\/5\/EF06F7AC-5379-4AFF-A0AB-FD1413B78098\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110348\/5\/EF06F7AC-5379-4AFF-A0AB-FD1413B78098\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110348\/5\/EF06F7AC-5379-4AFF-A0AB-FD1413B78098\/downloads\/wwdc2022-110348_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110348\/5\/EF06F7AC-5379-4AFF-A0AB-FD1413B78098\/downloads\/wwdc2022-110348_sd.mp4","duration":948,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110349","wwdc2022-110490","wwdc2022-110506","wwdc2022-110956"]}},"wwdc2022-10009":{"id":"wwdc2022-10009","staticContentId":6500,"eventContentId":10009,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T11:18:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10009","languageCode":"eng","description":"Discover the latest updates in iPad app design. We\u2019ll take you through improvements to search, navigation bars, edit menus, multi-selection, and more. Learn how you can make your app both more powerful and easier to use when you incorporate customizable toolbars, multi-column tables, and find and replace.\n","title":"What\u2019s new in iPad app design","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["customization","productivity","screen size","search","sidebar","split view","toolbar"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6E076CE0-7DDF-4471-B6F0-005ADF9C7960","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10009\/5\/22B7E083-47EE-4292-AD3E-6622DA2DF064\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10009\/5\/22B7E083-47EE-4292-AD3E-6622DA2DF064\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10009\/5\/22B7E083-47EE-4292-AD3E-6622DA2DF064\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10009\/5\/22B7E083-47EE-4292-AD3E-6622DA2DF064\/downloads\/wwdc2022-10009_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10009\/5\/22B7E083-47EE-4292-AD3E-6622DA2DF064\/downloads\/wwdc2022-10009_sd.mp4","duration":1088,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10052","wwdc2022-10058","wwdc2022-10070","wwdc2022-110343","wwdc2022-110812","wwdc2022-110930"]}},"wwdc2022-10113":{"id":"wwdc2022-10113","staticContentId":6609,"eventContentId":10113,"eventId":"wwdc2022","contentUpdatedAt":"2024-12-17T13:18:40-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10113","languageCode":"eng","description":"EDR is Apple's High Dynamic Range representation and rendering pipeline. Explore how you can render HDR content using EDR in your app and unleash the dynamic range capabilities of HDR displays on iPhone and iPad. We'll show how you can take advantage of the native EDR APIs on iOS, provide best practices to help you decide when HDR is appropriate, and share tips for tone-mapping and HDR content rendering. We'll also introduce you to Reference Mode and highlight how it provides a reference response to enable color-critical workflows such as color grading, editing, and content review.","title":"Explore EDR on iOS","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[84,95,100,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DD48B7DD-2242-4569-8FF0-20C110EAFDEE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/events-delivery.apple.com\/wwdc22\/S6609-rUNWRhfHEGjdhBffWQLkyEHB\/cmaf.m3u8","tvOShls":"https:\/\/events-delivery.apple.com\/wwdc22\/S6609-rUNWRhfHEGjdhBffWQLkyEHB\/cmaf.m3u8","duration":1236,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en"]},"related":{"activities":["wwdc2023-10123","wwdc2023-10181","wwdc2022-10114","wwdc2022-110537","wwdc2022-110565","wwdc2022-110843","tech-talks-110337"],"resources":[2340]}},"wwdc2022-10149":{"id":"wwdc2022-10149","staticContentId":6647,"eventContentId":10149,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T02:43:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10149","languageCode":"eng","description":"Discover the latest updates and improvements to the Advanced Video Quality Tool (AVQT). We'll take you through the interactive reports feature and help you learn how to identify video quality-related issues. We'll also explore extended support for raw formats, show you how to evaluate specific scenes within a video, and explore how you can use AVQT for Linux to analyze videos on Linux servers and online in the cloud.\n","title":"What\u2019s new in AVQT","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["avqt","linux","video quality"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D2BFFC4F-F356-4B5E-BDB6-FC4BC4CCB6AC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10149\/4\/BAEE96D6-1250-4911-A2D6-A96AC4D48ED4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10149\/4\/BAEE96D6-1250-4911-A2D6-A96AC4D48ED4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10149\/4\/BAEE96D6-1250-4911-A2D6-A96AC4D48ED4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10149\/4\/BAEE96D6-1250-4911-A2D6-A96AC4D48ED4\/downloads\/wwdc2022-10149_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10149\/4\/BAEE96D6-1250-4911-A2D6-A96AC4D48ED4\/downloads\/wwdc2022-10149_sd.mp4","duration":578,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110562","wwdc2021-10145"],"resources":[2219]}},"wwdc2022-110384":{"id":"wwdc2022-110384","staticContentId":6742,"eventContentId":110384,"eventId":"wwdc2022","contentUpdatedAt":"2024-02-19T10:07:29-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110384","languageCode":"eng","description":"Discover how you can create personalized, individual experiences in your tvOS app. We\u2019ll show you how you can offer a single checkbox to store profile data, game save states, and more, providing each person with the same level of data separation they'd have on a personal device like iPhone. We\u2019ll also explore how the new user-independent keychain can help you maintain your existing sign on experience for multiple people in the same household.","title":"Support multiple users in tvOS apps","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["tvOS"],"keywords":["appletv","apple tv","apple tv 4k","content","content first","keychain","login","log in","multiuser","multi user","password","persona","personalizable","personalization","personalize","profile","profiles","runs as current user","signin","sign in","tv","tv app","tv apps","tv dev","tv developer","tvos","user","user independent","user management","users"],"primaryTopicID":83,"topicIds":[84,92,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8E6C29EB-2A0E-4134-9F22-BD2FD6A5EF53","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110384\/6\/1F377839-E110-4222-BBC2-B0424F6E635C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110384\/6\/1F377839-E110-4222-BBC2-B0424F6E635C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110384\/6\/1F377839-E110-4222-BBC2-B0424F6E635C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110384\/6\/1F377839-E110-4222-BBC2-B0424F6E635C\/downloads\/wwdc2022-110384_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110384\/6\/1F377839-E110-4222-BBC2-B0424F6E635C\/downloads\/wwdc2022-110384_sd.mp4","duration":876,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10092","wwdc2021-10279","wwdc2020-10645"],"resources":[526]}},"wwdc2022-10062":{"id":"wwdc2022-10062","staticContentId":6555,"eventContentId":10062,"eventId":"wwdc2022","contentUpdatedAt":"2024-11-13T17:17:04-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10062","languageCode":"eng","description":"Meet Transferable: a model-layer protocol that allows for effortless support for sharing, drag and drop, copy\/paste, and other features in your app.\n\nWe'll explore how you can use the API for common use cases, and take advantage of advanced features to customize the behavior. We'll also share how you can optimize for memory efficiency when dealing with large amounts of data. Whether you're extending your models to share with other applications as strings or images or creating custom declared data types, Transferable can help you facilitate a great experience in your app.","title":"Meet Transferable","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6BB7BF81-A717-462D-9B74-7EA17CB6D3A3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10062\/4\/004375E4-2295-45FB-9D6D-20F1B8C3834C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10062\/4\/004375E4-2295-45FB-9D6D-20F1B8C3834C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10062\/4\/004375E4-2295-45FB-9D6D-20F1B8C3834C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10062\/4\/004375E4-2295-45FB-9D6D-20F1B8C3834C\/downloads\/wwdc2022-10062_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10062\/4\/004375E4-2295-45FB-9D6D-20F1B8C3834C\/downloads\/wwdc2022-10062_sd.mp4","duration":842,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10052","wwdc2022-10093","wwdc2022-10095","wwdc2022-10133","wwdc2022-110394","wwdc2022-110397","wwdc2022-110466","wwdc2022-110467","wwdc2018-222","tech-talks-10696"],"resources":[2468]}},"wwdc2022-10114":{"id":"wwdc2022-10114","staticContentId":6610,"eventContentId":10114,"eventId":"wwdc2022","contentUpdatedAt":"2025-06-09T14:31:53-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10114","languageCode":"eng","description":"Discover how you can add support for rendering in Extended Dynamic Range (EDR) from a Core Image based multi-platform SwiftUI application. We'll outline best practices for displaying CIImages to a MTKView using ViewRepresentable. We'll also share the simple steps to enable EDR rendering and explore some of the over 150 built-in CIFilters that support EDR.","title":"Display EDR content with Core Image, Metal, and SwiftUI","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":91,"topicIds":[84,95,100,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4C85902C-DE25-422C-964F-7B59A02BBA96","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/events-delivery.apple.com\/wwdc22\/S6610-wbTYzbGrJjXGpwDYrMCraMxm\/cmaf.m3u8","tvOShls":"https:\/\/events-delivery.apple.com\/wwdc22\/S6610-wbTYzbGrJjXGpwDYrMCraMxm\/cmaf.m3u8","duration":1061,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en"]},"related":{"activities":["wwdc2022-10017","wwdc2022-10113","wwdc2022-110537","wwdc2022-110565","wwdc2022-110645","wwdc2022-110646","wwdc2022-110843","tech-talks-110337"],"resources":[2341,32]}},"wwdc2022-10008":{"id":"wwdc2022-10008","staticContentId":6497,"eventContentId":10008,"eventId":"wwdc2022","contentUpdatedAt":"2024-08-26T17:00:53-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10008","languageCode":"eng","description":"Discover how the Nearby Interaction framework can help you easily integrate Ultra Wideband (UWB) into your apps and hardware accessories. Learn how you can combine the visual-spatial power of ARKit with the radio sensitivity of the U1 chip to locate nearby stationary objects with precision. We\u2019ll also show you how you can create background interactions using UWB accessories paired via Bluetooth.","title":"What's new in Nearby Interaction","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","watchOS"],"primaryTopicID":93,"topicIds":[83,93],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5A4FDC03-3499-4107-A33A-4C8354DE2BE5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10008\/5\/BB4E3444-7C8E-42CC-B427-08DA670C9D41\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10008\/5\/BB4E3444-7C8E-42CC-B427-08DA670C9D41\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10008\/5\/BB4E3444-7C8E-42CC-B427-08DA670C9D41\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10008\/5\/BB4E3444-7C8E-42CC-B427-08DA670C9D41\/downloads\/wwdc2022-10008_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10008\/5\/BB4E3444-7C8E-42CC-B427-08DA670C9D41\/downloads\/wwdc2022-10008_sd.mp4","duration":1732,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110573","wwdc2021-10165","wwdc2021-10245","wwdc2020-10668","wwdc2017-712"],"resources":[2424,1754,1682,775,172]}},"wwdc2022-110404":{"id":"wwdc2022-110404","staticContentId":6764,"eventContentId":110404,"eventId":"wwdc2022","contentUpdatedAt":"2024-12-17T14:18:38-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110404","languageCode":"eng","description":"Learn how you can restore someone\u2019s in-app purchases access proactively when they first open your app. We\u2019ll show you how you can deliver instant access to existing subscriptions using StoreKit or StoreKit 2 and cover best practices for both your client and server implementations. Find out more about how you can determine customer purchase state and create a personalized onboarding experience for your app.","title":"Implement proactive in-app purchase restore","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"68D9FF51-A3F2-4C77-8857-D0C6B7E595AE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110404\/3\/55253AC0-EEDC-49B5-884C-CE8F562CC023\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110404\/3\/55253AC0-EEDC-49B5-884C-CE8F562CC023\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110404\/3\/55253AC0-EEDC-49B5-884C-CE8F562CC023\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110404\/3\/55253AC0-EEDC-49B5-884C-CE8F562CC023\/downloads\/wwdc2022-110404_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110404\/3\/55253AC0-EEDC-49B5-884C-CE8F562CC023\/downloads\/wwdc2022-110404_sd.mp4","duration":1285,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10007","wwdc2022-10040","wwdc2022-110578","wwdc2022-110581","wwdc2022-110758","wwdc2022-110759","wwdc2021-10114","wwdc2020-10671","tech-talks-10887"],"resources":[1696,1636,1508,911,805,132]}},"wwdc2022-10109":{"id":"wwdc2022-10109","staticContentId":6603,"eventContentId":10109,"eventId":"wwdc2022","contentUpdatedAt":"2024-08-20T13:50:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10109","languageCode":"eng","description":"Notarization works in tandem with macOS to help people safely download software for their Mac outside of the App Store. Learn about the required transition from altool to notarytool and how the Xcode GUI can help you achieve better overall performance when notarizing your app. We'll also share information about APIs for interacting with the Notary service from any internet-connected machine.","title":"What\u2019s new in notarization for Mac apps","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"keywords":["malware","notarizing","notary","webhook"],"primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"23A1A4DA-29A0-46F0-926D-DF3662FB6779","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10109\/3\/AC093573-81B2-4A1E-BA66-50E413DF5660\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10109\/3\/AC093573-81B2-4A1E-BA66-50E413DF5660\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10109\/3\/AC093573-81B2-4A1E-BA66-50E413DF5660\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10109\/3\/AC093573-81B2-4A1E-BA66-50E413DF5660\/downloads\/wwdc2022-10109_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10109\/3\/AC093573-81B2-4A1E-BA66-50E413DF5660\/downloads\/wwdc2022-10109_sd.mp4","duration":514,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10224","wwdc2023-10266","wwdc2022-110344","wwdc2022-110460","wwdc2022-110462","wwdc2021-10204","wwdc2021-10261","wwdc2019-703"],"resources":[2342,1482]}},"wwdc2022-110441":{"id":"wwdc2022-110441","staticContentId":6802,"eventContentId":110441,"eventId":"wwdc2022","contentUpdatedAt":"2024-05-31T13:14:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110441","languageCode":"eng","description":"\u062a\u0639\u0631\u0651\u0641 \u0639\u0644\u0649 \u0627\u0644\u0645\u0628\u0627\u062f\u0626 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629 \u0644\u062a\u0635\u0645\u064a\u0645 \u0627\u0644\u0648\u0627\u062c\u0647\u0627\u062a \u0627\u0644\u0631\u0642\u0645\u064a\u0629 \u0628\u0627\u0644\u0644\u063a\u0629 \u0627\u0644\u0639\u0631\u0628\u064a\u0629. \u0633\u0648\u0627\u0621 \u0643\u0646\u062a \u062a\u0648\u062f \u062a\u0635\u0645\u064a\u0645 \u062a\u0637\u0628\u064a\u0642 \u0623\u0648 \u0644\u0639\u0628\u0629 \u062e\u0635\u064a\u0635\u064b\u0627 \u0644\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0639\u0631\u0628\u064a\u060c \u0623\u0648 \u062a\u0648\u062f \u062a\u0631\u062c\u0645\u0629 \u062a\u0637\u0628\u064a\u0642 \u0645\u0646 \u0644\u063a\u0629 \u0623\u062e\u0631\u0649 \u0625\u0644\u0649 \u0627\u0644\u0639\u0631\u0628\u064a\u0629\u060c \u0633\u0646\u0642\u062f\u0645 \u0644\u0643 \u0623\u0641\u0636\u0644 \u0627\u0644\u0637\u0631\u0642 \u0644\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u062a\u0635\u0645\u064a\u0645 \u0645\u062b\u0627\u0644\u064a \u064a\u062e\u062f\u0645 \u0627\u0644\u0645\u062d\u062a\u0648\u0649 \u0627\u0644\u0639\u0631\u0628\u064a. \u062a\u0639\u0644\u0645 \u0623\u064a\u0636\u0627 \u062a\u0623\u062b\u064a\u0631 \u0627\u062a\u062c\u0627\u0647 \u0627\u0644\u0644\u063a\u0629 \u0639\u0644\u0649 \u0627\u062a\u062c\u0627\u0647 \u0627\u0644\u0642\u0648\u0627\u0644\u0628 \u0648\u0627\u0644\u0623\u064a\u0642\u0648\u0646\u0627\u062a\u060c \u0648\u0633\u0645\u0627\u062a \u0627\u0644\u062e\u0637 \u0627\u0644\u0639\u0631\u0628\u064a \u0627\u0644\u062c\u064a\u062f \u0644\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0631\u0642\u0645\u064a\u060c \u0648\u0635\u064a\u063a \u0627\u0644\u0623\u0631\u0642\u0627\u0645 \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0648\u062a\u0623\u062b\u064a\u0631\u0647\u0627 \u0639\u0644\u0649 \u0648\u0627\u062c\u0647\u0629 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645.\n\nThis is the Arabic language edition of \"Design for Arabic.\" Find out how to design or optimize your app or game for Arabic. Whether you\u2019re planning a first release or improving an existing app or game, we\u2019ll help you learn best practices and tips for UI design for Arabic speakers. Learn how to create beautiful Right to Left layouts with UI components and iconography, discover the nuances of Arabic script and typography in product design, and explore Arabic numerals.","title":"Design for Arabic \u00b7 \u0635\u0645\u0651\u0645 \u0628\u0627\u0644\u0639\u0631\u0628\u064a","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["rtl"],"primaryTopicID":87,"topicIds":[82,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"ara","imagesUUID":"1BD0B73C-749C-4B77-934E-51FD6409132C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110441\/4\/C8C3F26A-9D07-41B4-A006-585B5F484C08\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110441\/4\/C8C3F26A-9D07-41B4-A006-585B5F484C08\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110441\/4\/C8C3F26A-9D07-41B4-A006-585B5F484C08\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110441\/4\/C8C3F26A-9D07-41B4-A006-585B5F484C08\/downloads\/wwdc2022-110441_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110441\/4\/C8C3F26A-9D07-41B4-A006-585B5F484C08\/downloads\/wwdc2022-110441_sd.mp4","duration":1170,"availableAudioLanguageCodes":["ar"],"availableSubtitleLanguageCodes":["ar","en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10034","wwdc2022-10107","wwdc2022-110381","wwdc2022-110463","wwdc2022-110464","wwdc2022-110540","wwdc2022-110813","wwdc2022-110931"],"resources":[1738,430]}},"wwdc2022-10056":{"id":"wwdc2022-10056","staticContentId":6549,"eventContentId":10056,"eventId":"wwdc2022","contentUpdatedAt":"2026-05-05T14:32:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10056","languageCode":"eng","description":"SwiftUI now offers powerful tools to level up your layouts and arrange views for your app\u2019s interface. We\u2019ll introduce you to the Grid container, which helps you create highly customizable, two-dimensional layouts, and show you how you can use the Layout protocol to build your own containers with completely custom behavior. We\u2019ll also explore how you can create seamless animated transitions between your layout types, and share tips and best practices for creating great interfaces.\n","title":"Compose custom layouts with SwiftUI","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["anylayout","apply different layouts","arrange buttons","bounds","button","cache: inout void","cat","columns","dog","equalwidthhstack","equatable","frame()","geometry reader","goldfish","grid","gridcolumnalignment","gridrow","identifiable","layout","layout protocol","layout tools","lazy grid","lazyhgrid","leading edge",".origin","placesubviews","rows","sizethatfits","trailing edge","view","view modifier","view spacing","viewthatfits","vstack"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1E740BE0-AF55-430B-B8C2-346CA2982476","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10056\/5\/F52141E2-6868-4629-A64D-83E618CD6CD5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10056\/5\/F52141E2-6868-4629-A64D-83E618CD6CD5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10056\/5\/F52141E2-6868-4629-A64D-83E618CD6CD5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10056\/5\/F52141E2-6868-4629-A64D-83E618CD6CD5\/downloads\/wwdc2022-10056_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10056\/5\/F52141E2-6868-4629-A64D-83E618CD6CD5\/downloads\/wwdc2022-10056_sd.mp4","duration":1621,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10032","wwdc2022-10050","wwdc2022-10052","wwdc2022-10110","wwdc2022-110392","wwdc2022-110394","wwdc2022-110397","wwdc2022-110466","wwdc2022-110467","wwdc2022-110519","wwdc2022-110931","wwdc2020-10031","wwdc2019-237"],"resources":[2483,2451,2450,2449,2448,2447]}},"wwdc2022-10018":{"id":"wwdc2022-10018","staticContentId":6511,"eventContentId":10018,"eventId":"wwdc2022","contentUpdatedAt":"2024-11-21T08:30:17-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10018","languageCode":"eng","description":"Discover how you can use iPhone as an external camera in any Mac app with Continuity Camera. Whether you\u2019re building video conferencing software or an experience that makes creative use of cameras, we\u2019ll show you how you can enhance your app with automatic camera switching. We\u2019ll also explore how to recognize user-preferred and system-preferred cameras, take you through APIs for high-resolution and high-quality photo capture from iPhone\u2019s video stream, and more.\n\nTo learn more about camera capture, watch \"Discover advancements in iOS camera capture\" from WWDC22.","title":"Bring Continuity Camera to your macOS app","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":95,"topicIds":[89,95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3203D06B-CD0C-4F0D-9DC8-A5314F0740F0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10018\/6\/1C7686E9-BB02-4797-B131-7FA5BD1B6133\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10018\/6\/1C7686E9-BB02-4797-B131-7FA5BD1B6133\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10018\/6\/1C7686E9-BB02-4797-B131-7FA5BD1B6133\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10018\/6\/1C7686E9-BB02-4797-B131-7FA5BD1B6133\/downloads\/wwdc2022-10018_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10018\/6\/1C7686E9-BB02-4797-B131-7FA5BD1B6133\/downloads\/wwdc2022-10018_sd.mp4","duration":1181,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10256","wwdc2022-110429","wwdc2022-110642","wwdc2022-110643","wwdc2022-110959","wwdc2022-110960","wwdc2022-110961","wwdc2022-110964","wwdc2021-10047","wwdc2021-10247","articles-110968"],"resources":[2432,28]}},"wwdc2022-10108":{"id":"wwdc2022-10108","staticContentId":6602,"eventContentId":10108,"eventId":"wwdc2022","contentUpdatedAt":"2024-08-20T13:50:39-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10108","languageCode":"eng","description":"Discover how you can use the latest authorization-focused APIs in LocalAuthentication to protect the privacy and security of people\u2019s data. We\u2019ll show you how LocalAuthentication can authorize access to secrets, keys, and other sensitive resources in your app, all while reducing complexity and relying on the security and usability of common local authentication methods such as Touch ID and Face ID.","title":"Streamline local authorization flows","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["acl","biometric","lacontext","laright","lock","secure enclave","unlock"],"primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7EFBCBC4-3BF1-4691-AD48-488735435714","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10108\/4\/1F8BF487-ABEF-47CD-AC84-C3AC2E35885A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10108\/4\/1F8BF487-ABEF-47CD-AC84-C3AC2E35885A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10108\/4\/1F8BF487-ABEF-47CD-AC84-C3AC2E35885A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10108\/4\/1F8BF487-ABEF-47CD-AC84-C3AC2E35885A\/downloads\/wwdc2022-10108_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10108\/4\/1F8BF487-ABEF-47CD-AC84-C3AC2E35885A\/downloads\/wwdc2022-10108_sd.mp4","duration":956,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110460","wwdc2022-110462","wwdc2015-706"],"resources":[2344,2335]}},"wwdc2022-10063":{"id":"wwdc2022-10063","staticContentId":6556,"eventContentId":10063,"eventId":"wwdc2022","contentUpdatedAt":"2025-01-15T14:08:43-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10063","languageCode":"eng","description":"Discover how you can use Metal to accelerate your PyTorch model training on macOS. We'll take you through updates to TensorFlow training support, explore the latest features and operations of MPS Graph, and share best practices to help you achieve great performance for all your machine learning needs.\n\nFor more on using Metal with machine learning, watch \"Accelerate machine learning with Metal Performance Shaders Graph\" from WWDC21.","title":"Accelerate machine learning with Metal","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":94,"topicIds":[91,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E6C4974E-52F5-4CF3-ACF4-CC386781CB1D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10063\/4\/0942FD31-5504-40C2-A4E8-6AAAC31E459C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10063\/4\/0942FD31-5504-40C2-A4E8-6AAAC31E459C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10063\/4\/0942FD31-5504-40C2-A4E8-6AAAC31E459C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10063\/4\/0942FD31-5504-40C2-A4E8-6AAAC31E459C\/downloads\/wwdc2022-10063_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10063\/4\/0942FD31-5504-40C2-A4E8-6AAAC31E459C\/downloads\/wwdc2022-10063_sd.mp4","duration":1791,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10050","wwdc2022-10017","wwdc2022-10066","wwdc2022-110645","wwdc2022-110646","wwdc2022-110850","wwdc2022-110851","wwdc2022-110852","wwdc2022-110853","wwdc2022-110906","wwdc2022-110907","wwdc2021-10152"],"resources":[38]}},"wwdc2022-10121":{"id":"wwdc2022-10121","staticContentId":6617,"eventContentId":10121,"eventId":"wwdc2022","contentUpdatedAt":"2024-02-16T16:03:36-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10121","languageCode":"eng","description":"Discover how you can customize app behaviors based on someone's currently enabled Focus. We'll show you how to use App Intents to define your app's Focus filters, act on changes from the system, and present your app's views in different ways. We'll also explore how you can filter notifications and update badge counts.\n\nTo get the most out of this session, we recommend first watching \"Dive into App Intents\" from WWDC22.","title":"Meet Focus filters","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"39265F46-9CAB-4CBB-8327-C2674E69E484","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10121\/5\/E497A884-24B9-4D6C-A35D-6F9BEEB985B6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10121\/5\/E497A884-24B9-4D6C-A35D-6F9BEEB985B6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10121\/5\/E497A884-24B9-4D6C-A35D-6F9BEEB985B6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10121\/5\/E497A884-24B9-4D6C-A35D-6F9BEEB985B6\/downloads\/wwdc2022-10121_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10121\/5\/E497A884-24B9-4D6C-A35D-6F9BEEB985B6\/downloads\/wwdc2022-10121_sd.mp4","duration":948,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10032","wwdc2022-110428","wwdc2022-110885","wwdc2022-110890","wwdc2022-110891","wwdc2022-110929","wwdc2022-110936"],"resources":[2443,16]}},"wwdc2022-10007":{"id":"wwdc2022-10007","staticContentId":6496,"eventContentId":10007,"eventId":"wwdc2022","contentUpdatedAt":"2025-03-26T14:14:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10007","languageCode":"eng","description":"Learn how you can make your in-app purchase experience even better on iPhone, iPad, Mac, and Apple Watch. We\u2019ll take you through enhancements to StoreKit 2 and App Store Server API, and explore improvements to App Store Server Notifications. Discover how you can verify app purchases with App Transaction API, add properties to your StoreKit models, incorporate SwiftUI-friendly APIs and StoreKit Messages, and preserve applicationUsername in transactions. For those working server-side, we\u2019ll show you how to make the most of App Store Server Notifications, additional ways to retrieve user transaction history, and recovery steps when your server experiences an outage.","title":"What's new with in-app purchase","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B0CBEC9B-0B05-4CCB-9F26-52A7F5F22880","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10007\/4\/2E07F67B-3E73-4DC2-A300-93EB4AF56295\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10007\/4\/2E07F67B-3E73-4DC2-A300-93EB4AF56295\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10007\/4\/2E07F67B-3E73-4DC2-A300-93EB4AF56295\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10007\/4\/2E07F67B-3E73-4DC2-A300-93EB4AF56295\/downloads\/wwdc2022-10007_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10007\/4\/2E07F67B-3E73-4DC2-A300-93EB4AF56295\/downloads\/wwdc2022-10007_sd.mp4","duration":2855,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10140","wwdc2023-10141","wwdc2023-10142","wwdc2022-10039","wwdc2022-10040","wwdc2022-110404","wwdc2022-110578","wwdc2022-110581","wwdc2022-110758","wwdc2022-110759","wwdc2021-10114","wwdc2021-10174","wwdc2021-10175"],"resources":[2378,2377,2376,2375,2374,2373]}},"wwdc2022-110427":{"id":"wwdc2022-110427","staticContentId":6788,"eventContentId":110427,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T10:05:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110427","languageCode":"eng","description":"Discover the latest productivity and performance advancements in Xcode 14. We\u2019ll introduce you to the fully redesigned SwiftUI canvas experience, explore enhancements to code completion and navigation, and take you through performance improvements we\u2019ve made throughout the entire development process. We\u2019ll also show you how you can now read and respond to feedback on your TestFlight builds without ever leaving Xcode.","title":"What's new in Xcode","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[90,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DD206348-BAF5-4A9F-AF4F-9671EB33FFB1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110427\/5\/60E9EBA5-592E-48D0-9429-A85E40C4C9F0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110427\/5\/60E9EBA5-592E-48D0-9429-A85E40C4C9F0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110427\/5\/60E9EBA5-592E-48D0-9429-A85E40C4C9F0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110427\/5\/60E9EBA5-592E-48D0-9429-A85E40C4C9F0\/downloads\/wwdc2022-110427_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110427\/5\/60E9EBA5-592E-48D0-9429-A85E40C4C9F0\/downloads\/wwdc2022-110427_sd.mp4","duration":1261,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10052","wwdc2022-10082","wwdc2022-10110","wwdc2022-110357","wwdc2022-110359","wwdc2022-110361","wwdc2022-110362","wwdc2022-110364","wwdc2022-110371","wwdc2022-110401","wwdc2022-110734","wwdc2022-110735","wwdc2022-110736","wwdc2022-110738","wwdc2022-110739","wwdc2022-110740","wwdc2022-110924","wwdc2022-110927","wwdc2022-110929","wwdc2022-110930","wwdc2022-110945"]}},"wwdc2022-10099":{"id":"wwdc2022-10099","staticContentId":6593,"eventContentId":10099,"eventId":"wwdc2022","contentUpdatedAt":"2024-08-06T12:25:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10099","languageCode":"eng","description":"Learn how you can use the latest improvements to Safari Web Extensions to create even better experiences for people browsing the web. We'll show you how to upgrade to manifest version 3, adopt the latest APIs for Web Extensions, and sync extensions across devices.","title":"What\u2019s new in Safari Web Extensions","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8B849A29-31FA-4D62-9523-729D280F90B3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10099\/5\/AE8329C9-B427-49CF-95BE-71C9B5F49627\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10099\/5\/AE8329C9-B427-49CF-95BE-71C9B5F49627\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10099\/5\/AE8329C9-B427-49CF-95BE-71C9B5F49627\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10099\/5\/AE8329C9-B427-49CF-95BE-71C9B5F49627\/downloads\/wwdc2022-10099_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10099\/5\/AE8329C9-B427-49CF-95BE-71C9B5F49627\/downloads\/wwdc2022-10099_sd.mp4","duration":1387,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10119","wwdc2022-10048","wwdc2022-10100","wwdc2022-110485","wwdc2022-110487","wwdc2022-110488","wwdc2022-110535","wwdc2021-10027"],"resources":[2902,905,904,763,738,431]}},"wwdc2022-10136":{"id":"wwdc2022-10136","staticContentId":6633,"eventContentId":10136,"eventId":"wwdc2022","contentUpdatedAt":"2025-10-03T09:55:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10136","languageCode":"eng","description":"Say hello to Swift Charts \u2014 a flexible framework that helps you create charts entirely in SwiftUI that look and feel right at home on all Apple platforms. Discover how you can use compositional syntax to make informative, delightful, and accessible charts with less code. We\u2019ll share the building blocks for making visualizations with Swift Charts, and explore how you can change your charts\u2019 design with a simple modifier. We\u2019ll also take you through the latest updates to Xcode Previews to help you chart a path toward an engaging experience.","title":"Hello Swift Charts","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["accessibility","animation","area","array of structs","audio graphs","bar","bar chart","bar marks","charts","collection","composition","custom marks","data","declarative","declarative syntax","food truck","foreground style","identifable","labels","line","line chart","linemark","line style","mark properties","marks","multi-platform","ostensible","pancakes","picker","point","pointmark","preview","rectangle","rule","sonification","swiftui","symbol","symbols","symbol size","variants","visual elements","voice over","x axis","x position","y axis","y position"],"primaryTopicID":100,"topicIds":[90,92,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5D24326E-AAF9-4EDB-8CE1-C12DBFB28F51","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10136\/4\/ED1436D1-9197-468B-8B26-5DAD9AEC3720\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10136\/4\/ED1436D1-9197-468B-8B26-5DAD9AEC3720\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10136\/4\/ED1436D1-9197-468B-8B26-5DAD9AEC3720\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10136\/4\/ED1436D1-9197-468B-8B26-5DAD9AEC3720\/downloads\/wwdc2022-10136_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10136\/4\/ED1436D1-9197-468B-8B26-5DAD9AEC3720\/downloads\/wwdc2022-10136_sd.mp4","duration":1042,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10052","wwdc2022-10072","wwdc2022-10133","wwdc2022-10137","wwdc2022-110340","wwdc2022-110342","wwdc2022-110393","wwdc2022-110397","wwdc2022-110407","wwdc2022-110467","wwdc2022-110610","tech-talks-110356"],"resources":[2478,2477,2476]}},"wwdc2022-10133":{"id":"wwdc2022-10133","staticContentId":6630,"eventContentId":10133,"eventId":"wwdc2022","contentUpdatedAt":"2025-10-17T17:22:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10133","languageCode":"eng","description":"Your wrist has never been more productive. Discover how you can use SwiftUI and system features to build a great productivity app for Apple Watch. We\u2019ll show you how you can design great work experiences for the wrist, and explore how you can get text input, display a basic chart, and share content with friends.","title":"Build a productivity app for Apple Watch","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["watchOS"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D35181B8-E51F-4466-8F07-28C89D524707","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10133\/4\/BBFD71DD-1E5F-4843-861E-0D333BAA1A3F\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10133\/4\/BBFD71DD-1E5F-4843-861E-0D333BAA1A3F\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10133\/4\/BBFD71DD-1E5F-4843-861E-0D333BAA1A3F\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10133\/4\/BBFD71DD-1E5F-4843-861E-0D333BAA1A3F\/downloads\/wwdc2022-10133_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10133\/4\/BBFD71DD-1E5F-4843-861E-0D333BAA1A3F\/downloads\/wwdc2022-10133_sd.mp4","duration":1446,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10052","wwdc2022-10054","wwdc2022-10062","wwdc2022-10136","wwdc2022-10137","wwdc2022-110446","wwdc2022-110448","wwdc2022-110449","wwdc2022-110495","wwdc2022-110496"],"resources":[2907,2337]}},"wwdc2022-10035":{"id":"wwdc2022-10035","staticContentId":6528,"eventContentId":10035,"eventId":"wwdc2022","contentUpdatedAt":"2025-01-09T16:57:45-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10035","languageCode":"eng","description":"Come along with us as MapKit enters a new dimension. We'll show you how you can upgrade your app to use the latest map and support the highly-detailed 3D City Experience. Learn how you can visualize data using overlays while ensuring they integrate smoothly into the 3D map. We\u2019ll also cover how to create interactive and immersive experiences with Selectable Map Features and Look Around APIs.","title":"What's new in MapKit","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":93,"topicIds":[83,90,93],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0767C1AF-A19F-4F7C-9A8A-7EFFFD9FD214","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10035\/5\/78F0B50C-C39D-4819-88A0-A1167D43FD7E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10035\/5\/78F0B50C-C39D-4819-88A0-A1167D43FD7E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10035\/5\/78F0B50C-C39D-4819-88A0-A1167D43FD7E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10035\/5\/78F0B50C-C39D-4819-88A0-A1167D43FD7E\/downloads\/wwdc2022-10035_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10035\/5\/78F0B50C-C39D-4819-88A0-A1167D43FD7E\/downloads\/wwdc2022-10035_sd.mp4","duration":2491,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10006","wwdc2022-110527","wwdc2022-110747","wwdc2022-110919","tech-talks-110356"],"resources":[2915,2361,2360,414,173,100]}},"wwdc2022-10153":{"id":"wwdc2022-10153","staticContentId":6652,"eventContentId":10153,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T05:38:43-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10153","languageCode":"eng","description":"Discover techniques for building rich, accessible web apps with custom controls, SSML, and the dialog element. We'll discuss different assistive technologies and help you learn how to use them when testing the accessibility of your web apps.","title":"What's new in web accessibility","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":82,"topicIds":[90,98,100,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"540E92A1-D130-449B-8840-950E790B61CD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10153\/6\/390C5399-8CDD-4D3E-8701-29B14E042A94\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10153\/6\/390C5399-8CDD-4D3E-8701-29B14E042A94\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10153\/6\/390C5399-8CDD-4D3E-8701-29B14E042A94\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10153\/6\/390C5399-8CDD-4D3E-8701-29B14E042A94\/downloads\/wwdc2022-10153_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10153\/6\/390C5399-8CDD-4D3E-8701-29B14E042A94\/downloads\/wwdc2022-10153_sd.mp4","duration":893,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110424","wwdc2022-110468","wwdc2022-110469","wwdc2021-10120"],"resources":[2516,2515,2514]}},"wwdc2022-10158":{"id":"wwdc2022-10158","staticContentId":6657,"eventContentId":10158,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T02:10:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10158","languageCode":"eng","description":"Explore how you can use Variable Color to make SF Symbols even more expressive. We\u2019ll show you how system-provided symbols use variable color and provide best practices and guidance for using it effectively. We\u2019ll also help you learn how to incorporate variable color into custom symbols using the SF Symbols app and its annotation tools.","title":"Adopt Variable Color in SF Symbols","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["color","glyph","icon","symbol"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CB4DF3F4-EC99-4441-B517-BACD07A94347","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10158\/4\/94078977-F8B3-4097-A94F-9C4931D9A1FE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10158\/4\/94078977-F8B3-4097-A94F-9C4931D9A1FE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10158\/4\/94078977-F8B3-4097-A94F-9C4931D9A1FE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10158\/4\/94078977-F8B3-4097-A94F-9C4931D9A1FE\/downloads\/wwdc2022-10158_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10158\/4\/94078977-F8B3-4097-A94F-9C4931D9A1FE\/downloads\/wwdc2022-10158_sd.mp4","duration":1033,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10068","wwdc2022-10074","wwdc2022-10157","wwdc2022-110529","wwdc2022-110784","wwdc2022-110930"]}},"wwdc2022-10147":{"id":"wwdc2022-10147","staticContentId":6645,"eventContentId":10147,"eventId":"wwdc2022","contentUpdatedAt":"2024-05-31T11:41:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10147","languageCode":"eng","description":"Find out how you can use the latest iOS and iPadOS system media players to build amazing media apps. We\u2019ll share how we designed the updated player and give you best practices and tips to help you design media experiences of your own. We\u2019ll also explore Live Text for video and show you how to integrate interstitials and playback speed controls into your apps.","title":"Create a great video playback experience","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":84,"topicIds":[92,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"344FB830-5184-4C63-8D0C-D8861D31A70D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10147\/5\/B7675782-6F3F-4D44-B56D-06CCE29D9E22\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10147\/5\/B7675782-6F3F-4D44-B56D-06CCE29D9E22\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10147\/5\/B7675782-6F3F-4D44-B56D-06CCE29D9E22\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10147\/5\/B7675782-6F3F-4D44-B56D-06CCE29D9E22\/downloads\/wwdc2022-10147_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10147\/5\/B7675782-6F3F-4D44-B56D-06CCE29D9E22\/downloads\/wwdc2022-10147_sd.mp4","duration":1447,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10026","wwdc2022-10096","wwdc2022-110338","wwdc2022-110547","wwdc2022-110548","wwdc2022-110817","wwdc2022-110826"],"resources":[2519]}},"wwdc2022-10041":{"id":"wwdc2022-10041","staticContentId":6534,"eventContentId":10041,"eventId":"wwdc2022","contentUpdatedAt":"2025-04-24T12:03:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10041","languageCode":"eng","description":"Discover the latest updates to Wallet & Apple Pay. We'll show you how to support Orders in Wallet for your apps and websites and securely validate someone's age and identity with the Identity Verification API. We'll also explore PassKit support for SwiftUI, and discuss how you how you can improve your Apple Pay experience with Automatic Payments.","title":"What\u2019s new in Wallet and Apple Pay","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"560ECBAA-5557-428A-96EC-6E716EF90909","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10041\/4\/A173FAFA-9D08-4E7F-9154-7B821167B78E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10041\/4\/A173FAFA-9D08-4E7F-9154-7B821167B78E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10041\/4\/A173FAFA-9D08-4E7F-9154-7B821167B78E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10041\/4\/A173FAFA-9D08-4E7F-9154-7B821167B78E\/downloads\/wwdc2022-10041_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10041\/4\/A173FAFA-9D08-4E7F-9154-7B821167B78E\/downloads\/wwdc2022-10041_sd.mp4","duration":2182,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10114","wwdc2022-110522","wwdc2022-110525"],"resources":[2939,2546,2545,2544,2381,2380,2379,2224,792,104,102]}},"wwdc2022-10022":{"id":"wwdc2022-10022","staticContentId":6515,"eventContentId":10022,"eventId":"wwdc2022","contentUpdatedAt":"2024-11-21T08:29:55-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10022","languageCode":"eng","description":"Discover how you can use Core Media IO to easily create macOS system extensions for software cameras, hardware cameras, and creative cameras. We'll introduce you to our modern replacement for legacy DAL plug-ins \u2014 these extensions are secure, fast, and fully-compatible with any app that uses a camera input. We'll take you through the Core Media IO APIs and share how they can support camera manufacturers, video conferencing apps with special effects features, creative app ideas, and more.\n","title":"Create camera extensions with Core Media IO","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":95,"topicIds":[95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C999AD03-A72E-4FCC-AF34-78A7A021C582","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10022\/5\/62C081E5-0066-440B-BDE0-A89D5099C4B8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10022\/5\/62C081E5-0066-440B-BDE0-A89D5099C4B8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10022\/5\/62C081E5-0066-440B-BDE0-A89D5099C4B8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10022\/5\/62C081E5-0066-440B-BDE0-A89D5099C4B8\/downloads\/wwdc2022-10022_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10022\/5\/62C081E5-0066-440B-BDE0-A89D5099C4B8\/downloads\/wwdc2022-10022_sd.mp4","duration":1928,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110642","wwdc2022-110643","wwdc2022-110959","wwdc2022-110960","wwdc2022-110964","articles-110968","wwdc2019-702"],"resources":[2435,2434,2433,579,28]}},"wwdc2022-10079":{"id":"wwdc2022-10079","staticContentId":6573,"eventContentId":10079,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T03:39:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10079","languageCode":"eng","description":"Discover the latest ways to ensure that DNS \u2014 the foundation of internet addressing \u2014 is secure within your app. Learn how to authenticate DNS responses in your app with DNSSEC and enable DNS encryption automatically with Discovery of Designated Resolvers (DDR).","title":"Improve DNS security for apps and servers","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[96,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3CA1FE9E-3733-4769-8D1D-9DF8FE579E23","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10079\/5\/31E85A57-3035-4B6A-9BA4-4A73D156F55E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10079\/5\/31E85A57-3035-4B6A-9BA4-4A73D156F55E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10079\/5\/31E85A57-3035-4B6A-9BA4-4A73D156F55E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10079\/5\/31E85A57-3035-4B6A-9BA4-4A73D156F55E\/downloads\/wwdc2022-10079_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10079\/5\/31E85A57-3035-4B6A-9BA4-4A73D156F55E\/downloads\/wwdc2022-10079_sd.mp4","duration":1103,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110876","wwdc2022-110877","wwdc2022-110878","wwdc2022-110879","wwdc2020-10047"]}},"wwdc2022-10002":{"id":"wwdc2022-10002","staticContentId":6491,"eventContentId":10002,"eventId":"wwdc2022","contentUpdatedAt":"2025-04-11T10:40:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10002","languageCode":"eng","description":"Learn how you can use the Virtualization framework to quickly create virtual machines on your Mac. We'll show you how to create a virtual Mac and quickly test changes to your app in an isolated environment. We'll also explore how you can install and run full Linux distributions on Apple silicon, and share how you can take advantage of Rosetta 2 to run x86-64 Linux binaries.","title":"Create macOS or Linux virtual machines","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":101,"topicIds":[89,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"378707E0-28E6-429E-904A-E2D96406DAC6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10002\/5\/F229C2EC-A6BC-4671-91A0-65FBC9D71DDF\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10002\/5\/F229C2EC-A6BC-4671-91A0-65FBC9D71DDF\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10002\/5\/F229C2EC-A6BC-4671-91A0-65FBC9D71DDF\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10002\/5\/F229C2EC-A6BC-4671-91A0-65FBC9D71DDF\/downloads\/wwdc2022-10002_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10002\/5\/F229C2EC-A6BC-4671-91A0-65FBC9D71DDF\/downloads\/wwdc2022-10002_sd.mp4","duration":1380,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10007","wwdc2022-110847"],"resources":[2445,2444,2436]}},"wwdc2022-10129":{"id":"wwdc2022-10129","staticContentId":6626,"eventContentId":10129,"eventId":"wwdc2022","contentUpdatedAt":"2025-09-09T12:10:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10129","languageCode":"eng","description":"Discover the fundamentals of Pixar's Universal Scene Description (USD) and learn how it can help you build great 3D assets and workflows. We'll introduce you to the core concepts behind USD and explore how you can integrate the format into your content creation pipeline. We'll also show you how to harness the power of USD by using composition to create flexible and versatile assets.","title":"Understand USD fundamentals","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ar","arkit","augmented reality"],"primaryTopicID":91,"topicIds":[85,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"81579241-CABB-4F18-8E48-4F04895AFBB2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10129\/6\/FB8C0A23-9B2F-4564-B2C3-D48F6B53BB9A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10129\/6\/FB8C0A23-9B2F-4564-B2C3-D48F6B53BB9A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10129\/6\/FB8C0A23-9B2F-4564-B2C3-D48F6B53BB9A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10129\/6\/FB8C0A23-9B2F-4564-B2C3-D48F6B53BB9A\/downloads\/wwdc2022-10129_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10129\/6\/FB8C0A23-9B2F-4564-B2C3-D48F6B53BB9A\/downloads\/wwdc2022-10129_sd.mp4","duration":1095,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10083","wwdc2022-10141","wwdc2022-110479","wwdc2022-110653","wwdc2022-110654","wwdc2021-10077"],"resources":[2387,2236,1664,1416]}},"wwdc2022-10076":{"id":"wwdc2022-10076","staticContentId":6570,"eventContentId":10076,"eventId":"wwdc2022","contentUpdatedAt":"2024-12-03T11:52:05-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10076","languageCode":"eng","description":"Discover all the different ways you can transform your iOS app into a great macOS experience. We\u2019ll explore best practices for bringing your app to the Mac, whether you ship an iPad app for M1 Macs or build something for all Macs using Mac Catalyst. Learn about the latest tools, options, and APIs to help you deliver enhanced experiences. We\u2019ll also show you how you can optimize your app for the Mac, and find out how desktop class iPad features automatically transform into Mac-native options when built using Mac Catalyst.","title":"Bring your iOS app to the Mac","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FEEF33D3-E1F7-4534-BE1C-AB9A607C20AC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10076\/6\/DC2BEEAC-6D3F-40B0-B9A7-0C46031B0C91\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10076\/6\/DC2BEEAC-6D3F-40B0-B9A7-0C46031B0C91\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10076\/6\/DC2BEEAC-6D3F-40B0-B9A7-0C46031B0C91\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10076\/6\/DC2BEEAC-6D3F-40B0-B9A7-0C46031B0C91\/downloads\/wwdc2022-10076_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10076\/6\/DC2BEEAC-6D3F-40B0-B9A7-0C46031B0C91\/downloads\/wwdc2022-10076_sd.mp4","duration":1357,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10069","wwdc2022-10070","wwdc2022-110812","wwdc2022-110829","wwdc2022-110830","wwdc2022-110839","wwdc2022-110868","wwdc2020-10094","wwdc2020-10109"],"resources":[2412,817,11]}},"wwdc2022-110373":{"id":"wwdc2022-110373","staticContentId":6728,"eventContentId":110373,"eventId":"wwdc2022","contentUpdatedAt":"2026-08-11T13:46:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110373","languageCode":"eng","description":"Discover how you can easily connect Thunderbolt and USB accessories to iPad with DriverKit. We\u2019ll show you how to convert your existing Mac drivers without any code changes, learn how to add real-time audio support with AudioDriverKit, and provide best practices and tips for developing drivers for iPad.","title":"Bring your driver to iPad with DriverKit","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[84,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"80EEEAAF-5BD1-4FEA-8ED4-CEAC5EA62979","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110373\/5\/9E0B243C-9E0C-4E4E-91FF-AACD903146B2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110373\/5\/9E0B243C-9E0C-4E4E-91FF-AACD903146B2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110373\/5\/9E0B243C-9E0C-4E4E-91FF-AACD903146B2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110373\/5\/9E0B243C-9E0C-4E4E-91FF-AACD903146B2\/downloads\/wwdc2022-110373_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110373\/5\/9E0B243C-9E0C-4E4E-91FF-AACD903146B2\/downloads\/wwdc2022-110373_sd.mp4","duration":1082,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110791","wwdc2021-10190","wwdc2020-10210"],"resources":[2518,2517,579]}},"wwdc2022-110370":{"id":"wwdc2022-110370","staticContentId":6724,"eventContentId":110370,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T05:44:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110370","languageCode":"eng","description":"Learn how you can set up complex Swift projects for debugging. We'll take you on a deep dive into the internals of LLDB and debug info. We'll also share best practices for complex scenarios such as debugging code built on build servers or code from custom build systems.","title":"Debug Swift debugging with LLDB","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"84374E77-C173-41F0-A7E4-2EBB12119E4F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110370\/7\/31CCC67C-D5AC-4493-AFB4-7B833E2B8162\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110370\/7\/31CCC67C-D5AC-4493-AFB4-7B833E2B8162\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110370\/7\/31CCC67C-D5AC-4493-AFB4-7B833E2B8162\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110370\/7\/31CCC67C-D5AC-4493-AFB4-7B833E2B8162\/downloads\/wwdc2022-110370_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110370\/7\/31CCC67C-D5AC-4493-AFB4-7B833E2B8162\/downloads\/wwdc2022-110370_sd.mp4","duration":1204,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110505","wwdc2022-110716","wwdc2022-110718","wwdc2021-10209","wwdc2021-10211","wwdc2019-429","wwdc2018-412"]}},"wwdc2022-10069":{"id":"wwdc2022-10069","staticContentId":6563,"eventContentId":10069,"eventId":"wwdc2022","contentUpdatedAt":"2025-03-26T11:14:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10069","languageCode":"eng","description":"Learn how you can bring desktop-class features to your iPad app. Explore updates to UINavigationBar that bring more discoverability and customizability to your app\u2019s features. Find out how the latest updates to UIKit can help make it easier and faster for people to explore content in your app. Lastly, we\u2019ll share a few updates on how it\u2019s easier than ever to bring your iPad app to the desktop with Mac Catalyst.","title":"Meet desktop-class iPad","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6E6736E0-3F22-409B-BD75-9E56E4E84EEC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10069\/4\/1646A8BA-EEFA-4533-A631-3BCDF704A4EB\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10069\/4\/1646A8BA-EEFA-4533-A631-3BCDF704A4EB\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10069\/4\/1646A8BA-EEFA-4533-A631-3BCDF704A4EB\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10069\/4\/1646A8BA-EEFA-4533-A631-3BCDF704A4EB\/downloads\/wwdc2022-10069_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10069\/4\/1646A8BA-EEFA-4533-A631-3BCDF704A4EB\/downloads\/wwdc2022-10069_sd.mp4","duration":971,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10056","wwdc2022-10068","wwdc2022-10070","wwdc2022-10071","wwdc2022-10076","wwdc2022-110811","wwdc2022-110812","wwdc2022-110829","wwdc2022-110830","wwdc2022-110835","wwdc2022-110854","wwdc2022-110855","wwdc2022-110859","wwdc2022-110860"],"resources":[2426,2425,2420,2419,2418,2417,2413,2412]}},"wwdc2022-10023":{"id":"wwdc2022-10023","staticContentId":6516,"eventContentId":10023,"eventId":"wwdc2022","contentUpdatedAt":"2024-12-03T13:51:56-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10023","languageCode":"eng","description":"PHPicker provides simple and secure integration between your app and the system Photos library. Learn how SwiftUI and Transferable can help you offer integration across iOS, iPadOS, macOS, and watchOS.\n\nWe\u2019ll also show you how you can use AppKit and NSOpenPanel to bring the Photos picker on Mac into your macOS apps.\n\nFor even more on the Photos picker, watch \"Improve access to Photos in your app\" from WWDC21.","title":"What's new in the Photos picker","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":95,"topicIds":[90,95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5C681121-3EA6-48C5-8598-FA312013586A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10023\/3\/7AAE9501-211F-4201-B017-2AAC7F0C2556\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10023\/3\/7AAE9501-211F-4201-B017-2AAC7F0C2556\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10023\/3\/7AAE9501-211F-4201-B017-2AAC7F0C2556\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10023\/3\/7AAE9501-211F-4201-B017-2AAC7F0C2556\/downloads\/wwdc2022-10023_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10023\/3\/7AAE9501-211F-4201-B017-2AAC7F0C2556\/downloads\/wwdc2022-10023_sd.mp4","duration":870,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10107","wwdc2022-10132","wwdc2022-110911","wwdc2022-110912","wwdc2022-110913","wwdc2021-10046","wwdc2020-10652","articles-110968"],"resources":[903,374]}},"wwdc2022-10046":{"id":"wwdc2022-10046","staticContentId":6539,"eventContentId":10046,"eventId":"wwdc2022","contentUpdatedAt":"2025-01-16T15:10:28-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10046","languageCode":"eng","description":"Discover how you can simplify development of your device management solution with the declarative approach. We\u2019ll take you through the latest updates to platform support and explore protocol enhancements for status and predicates.","title":"Adopt declarative device management","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["business","declarative","device management","education","enterprise","mdm"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"21DC019D-72D3-4B4A-8428-A9D5328824E1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10046\/3\/776B5FA8-B8C0-46DA-9EDE-7A0BE5F03772\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10046\/3\/776B5FA8-B8C0-46DA-9EDE-7A0BE5F03772\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10046\/3\/776B5FA8-B8C0-46DA-9EDE-7A0BE5F03772\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10046\/3\/776B5FA8-B8C0-46DA-9EDE-7A0BE5F03772\/downloads\/wwdc2022-10046_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10046\/3\/776B5FA8-B8C0-46DA-9EDE-7A0BE5F03772\/downloads\/wwdc2022-10046_sd.mp4","duration":1907,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10041","wwdc2022-10045","wwdc2022-110481","wwdc2022-110538","wwdc2022-110539","wwdc2021-10131"],"resources":[581]}},"wwdc2022-10034":{"id":"wwdc2022-10034","staticContentId":6527,"eventContentId":10034,"eventId":"wwdc2022","contentUpdatedAt":"2024-05-31T13:14:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10034","languageCode":"eng","description":"Find out how to design or optimize your app or game for Arabic. Whether you\u2019re planning a first release or improving an existing app or game, we\u2019ll help you learn best practices and tips for UI design for Arabic speakers. Learn how to create beautiful Right to Left layouts with UI components and iconography, discover the nuances of Arabic script and typography in product design, and explore Arabic numerals.","title":"Design for Arabic","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[82,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7F5167EA-F6A3-4605-83FF-FF75E802969C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10034\/4\/09670B48-23F9-4B12-87A7-05A34F146625\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10034\/4\/09670B48-23F9-4B12-87A7-05A34F146625\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10034\/4\/09670B48-23F9-4B12-87A7-05A34F146625\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10034\/4\/09670B48-23F9-4B12-87A7-05A34F146625\/downloads\/wwdc2022-10034_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10034\/4\/09670B48-23F9-4B12-87A7-05A34F146625\/downloads\/wwdc2022-10034_sd.mp4","duration":1213,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10107","wwdc2022-10110","wwdc2022-110381","wwdc2022-110441","wwdc2022-110463","wwdc2022-110464","wwdc2022-110540","wwdc2022-110813","wwdc2022-110931"],"resources":[1738,430]}},"wwdc2022-10162":{"id":"wwdc2022-10162","staticContentId":6661,"eventContentId":10162,"eventId":"wwdc2022","contentUpdatedAt":"2025-01-15T15:08:23-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10162","languageCode":"eng","description":"Meet Metal mesh shaders \u2014 a modern and flexible pipeline in Metal for GPU-driven geometry creation and processing. We'll explore how this API can improve and add flexibility to your render pipeline, and share some of the opportunities that GPU-driven work can create. Discover how you can create procedural geometry \u2014 like hair rendering \u2014 on the GPU using mesh shaders, and build single render passes without additional compute passes or intermediate buffers. We'll also show you how to improve scene processing and rendering through GPU-driven meshlet culling.","title":"Transform your geometry with Metal mesh shaders","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["3d graphics","game dev","game developer","mesh shaders","metal","metal 3","metal shading language","metal tools","proapps","procedural geometry"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D71E2A70-0778-4B51-8FEC-E5B1863AAF6D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10162\/5\/9408DC15-0B03-4DD9-8ADE-161821D0E7FC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10162\/5\/9408DC15-0B03-4DD9-8ADE-161821D0E7FC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10162\/5\/9408DC15-0B03-4DD9-8ADE-161821D0E7FC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10162\/5\/9408DC15-0B03-4DD9-8ADE-161821D0E7FC\/downloads\/wwdc2022-10162_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10162\/5\/9408DC15-0B03-4DD9-8ADE-161821D0E7FC\/downloads\/wwdc2022-10162_sd.mp4","duration":1064,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10066","wwdc2022-110645","wwdc2022-110646","wwdc2022-110649","wwdc2022-110666","wwdc2022-110667","wwdc2022-110670","wwdc2022-110931","tech-talks-111375"],"resources":[2924,38]}},"wwdc2022-10144":{"id":"wwdc2022-10144","staticContentId":6642,"eventContentId":10144,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T22:41:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10144","languageCode":"eng","description":"HLS Content Steering dynamically steers clients to different servers based on load and redundancy. We'll take you through the latest updates to this framework and explore how you can introduce dynamically spawned CDNs to existing HLS clients with Pathway Cloning. We'll also share how you can achieve global traffic steering with bucket-based Steering Server rules and more.\n","title":"Deliver reliable streams with HLS Content Steering","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["adaptive playback","cdn switching","error fallback","load balance","traffic steering","video streaming"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E4A2274A-3ECA-4CFC-B468-13C1A5562DB0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10144\/3\/B295073D-367F-4EAB-A65F-6FBB86ECDD6E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10144\/3\/B295073D-367F-4EAB-A65F-6FBB86ECDD6E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10144\/3\/B295073D-367F-4EAB-A65F-6FBB86ECDD6E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10144\/3\/B295073D-367F-4EAB-A65F-6FBB86ECDD6E\/downloads\/wwdc2022-10144_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10144\/3\/B295073D-367F-4EAB-A65F-6FBB86ECDD6E\/downloads\/wwdc2022-10144_sd.mp4","duration":1344,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110556","wwdc2022-110557","wwdc2021-10141"],"resources":[2485,2484]}},"wwdc2022-10064":{"id":"wwdc2022-10064","staticContentId":6557,"eventContentId":10064,"eventId":"wwdc2022","contentUpdatedAt":"2024-11-21T08:30:17-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10064","languageCode":"eng","description":"Meet the Game Center activity dashboard and discover how it can help your game reach new players. We'll introduce you to the dashboard and profiles and explore how they can track player achievements, high scores, and leaderboard changes for your game. We'll also show you how to add Game Center to your Unity game project using the Game Center plug-in.","title":"Reach new players with Game Center dashboard","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["game center","game dev","game developer","gamekit","game kit"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5389777D-1AF4-43FD-A18C-6B73D86BBE64","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10064\/9\/B7DD74D7-2555-495C-9DA2-8A9B7D0C6D8B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10064\/9\/B7DD74D7-2555-495C-9DA2-8A9B7D0C6D8B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10064\/9\/B7DD74D7-2555-495C-9DA2-8A9B7D0C6D8B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10064\/9\/B7DD74D7-2555-495C-9DA2-8A9B7D0C6D8B\/downloads\/wwdc2022-10064_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10064\/9\/B7DD74D7-2555-495C-9DA2-8A9B7D0C6D8B\/downloads\/wwdc2022-10064_sd.mp4","duration":607,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10065","wwdc2022-110647","wwdc2022-110648","wwdc2022-110649","wwdc2022-110662","wwdc2022-110663","wwdc2022-110664","wwdc2021-10066","wwdc2021-10067","wwdc2020-10145","wwdc2020-10618","wwdc2020-10619","tech-talks-111377"],"resources":[1621,827]}},"wwdc2022-10157":{"id":"wwdc2022-10157","staticContentId":6656,"eventContentId":10157,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T23:11:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10157","languageCode":"eng","description":"Explore the latest updates to SF Symbols, Apple\u2019s extensive library of iconography designed to integrate seamlessly with San Francisco, the system font for all Apple platforms. Discover the latest additions to the SF Symbols library and new categories in the app. Learn about the new Automatic behavior, which chooses the rendering mode that best highlights what\u2019s unique about the symbol\u2019s characteristics. See how to use the new Variable Color feature to make a symbol more dynamic. We\u2019ll also learn about a more efficient way of annotating symbols with the new unified approach. \n\nTo get the most out of this session, we recommend first watching \u201cWhat\u2019s new in SF Symbols\u201d from WWDC21.","title":"What's new in SF Symbols 4","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["categories","glyph","icon","template"],"primaryTopicID":87,"topicIds":[90,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"880AAA14-FD15-451F-AC8B-347BA53F4206","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10157\/3\/A3A24118-7045-4049-9392-6B10E8CDD489\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10157\/3\/A3A24118-7045-4049-9392-6B10E8CDD489\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10157\/3\/A3A24118-7045-4049-9392-6B10E8CDD489\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10157\/3\/A3A24118-7045-4049-9392-6B10E8CDD489\/downloads\/wwdc2022-10157_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10157\/3\/A3A24118-7045-4049-9392-6B10E8CDD489\/downloads\/wwdc2022-10157_sd.mp4","duration":1069,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10197","wwdc2022-10068","wwdc2022-10074","wwdc2022-10158","wwdc2022-110528","wwdc2022-110784","wwdc2021-10097","tech-talks-110356"]}},"wwdc2022-10137":{"id":"wwdc2022-10137","staticContentId":6634,"eventContentId":10137,"eventId":"wwdc2022","contentUpdatedAt":"2025-10-03T09:55:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10137","languageCode":"eng","description":"Dive deep into data visualizations: Learn how Swift Charts and SwiftUI can help your apps represent complex datasets through a wide variety of chart options. We\u2019ll show you how to plot different kinds of data and compose marks to create more elaborate charts. We\u2019ll also take you through Swift Charts\u2019 extensive chart customization API to help you match the style of your charts to your app.\n\nTo get the most out of this session, we recommend you begin with \u201cHello Swift Charts\u201d from WWDC22.","title":"Swift Charts: Raise the bar ","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[92,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D316078E-AF38-4380-BCBE-1E99040299D2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10137\/3\/AB0A9BA9-E0B1-440B-98E6-E9C8A395FF34\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10137\/3\/AB0A9BA9-E0B1-440B-98E6-E9C8A395FF34\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10137\/3\/AB0A9BA9-E0B1-440B-98E6-E9C8A395FF34\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10137\/3\/AB0A9BA9-E0B1-440B-98E6-E9C8A395FF34\/downloads\/wwdc2022-10137_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10137\/3\/AB0A9BA9-E0B1-440B-98E6-E9C8A395FF34\/downloads\/wwdc2022-10137_sd.mp4","duration":1307,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10052","wwdc2022-10133","wwdc2022-10136","wwdc2022-110340","wwdc2022-110342","wwdc2022-110397","wwdc2022-110407","wwdc2022-110467","wwdc2022-110610","wwdc2022-110929","tech-talks-110356"],"resources":[2478,2477,2476]}},"wwdc2022-10061":{"id":"wwdc2022-10061","staticContentId":6554,"eventContentId":10061,"eventId":"wwdc2022","contentUpdatedAt":"2026-05-05T14:33:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10061","languageCode":"eng","description":"Discover the latest SwiftUI APIs to help you present windows within your app\u2019s scenes. We\u2019ll explore how scene types like MenuBarExtra can help you easily build more kinds of apps using SwiftUI. We\u2019ll also show you how to use modifiers that customize the presentation and behavior of your app windows to make even better macOS apps.","title":"Bring multiple windows to your SwiftUI app ","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["apps","auxiliary scene","book club","codable",".commandsremoved","context menu","customize windows",".defaultposition",".defaultsize","documentgroup","filedocument","hashable","identifiable",".keyboardshortcut","menu","menubarextra","menu bar extra","newdocument","openwindow","presented value","referencefiledocument","scene","settings","single window","state restoration","topleading","toptrailing","views","window","window customization","windowgroup"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AFA38514-561F-435C-91B1-F1135FC40018","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10061\/4\/012AFD7A-B26E-4C25-9C6C-AB01D5336EA7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10061\/4\/012AFD7A-B26E-4C25-9C6C-AB01D5336EA7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10061\/4\/012AFD7A-B26E-4C25-9C6C-AB01D5336EA7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10061\/4\/012AFD7A-B26E-4C25-9C6C-AB01D5336EA7\/downloads\/wwdc2022-10061_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10061\/4\/012AFD7A-B26E-4C25-9C6C-AB01D5336EA7\/downloads\/wwdc2022-10061_sd.mp4","duration":833,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10052","wwdc2022-10054","wwdc2022-10058","wwdc2022-110343","wwdc2022-110466","wwdc2022-110467","wwdc2022-110828"],"resources":[2465,2460,2459,2458,2457,2456,2339,920,918]}},"wwdc2022-110352":{"id":"wwdc2022-110352","staticContentId":6706,"eventContentId":110352,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T00:46:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110352","languageCode":"eng","description":"Generics are a fundamental tool for writing abstract code in Swift. Learn how you can identify opportunities for abstraction as your code evolves, evaluate strategies for writing one piece of code with many behaviors, and discover language features in Swift 5.7 that can help you make generic code easier to write and understand.","title":"Embrace Swift generics","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[90,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3F4D8C04-0E6B-48A1-85B4-0FBE021939A0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110352\/3\/961EB9A0-3340-443A-8C57-8665B9034F1D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110352\/3\/961EB9A0-3340-443A-8C57-8665B9034F1D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110352\/3\/961EB9A0-3340-443A-8C57-8665B9034F1D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110352\/3\/961EB9A0-3340-443A-8C57-8665B9034F1D\/downloads\/wwdc2022-110352_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110352\/3\/961EB9A0-3340-443A-8C57-8665B9034F1D\/downloads\/wwdc2022-110352_sd.mp4","duration":1649,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10168","wwdc2022-110353","wwdc2022-110354","wwdc2022-110726","wwdc2022-110727","wwdc2022-110728","wwdc2022-110729","wwdc2022-110730","wwdc2022-110731","wwdc2022-110732"],"resources":[45]}},"wwdc2022-10096":{"id":"wwdc2022-10096","staticContentId":6590,"eventContentId":10096,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T00:48:53-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10096","languageCode":"eng","description":"At Apple, we believe that privacy is a fundamental human right, and protecting people\u2019s privacy is at the center of everything we do. Discover how our engineering teams build privacy into all of our products and developer frameworks, and learn about the technologies and patterns you can adopt in your apps to build trust and protect your customers.","title":"What\u2019s new in privacy","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C893984A-2478-4435-BF71-89816FC5D962","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10096\/3\/A04D6D9D-A138-488C-A470-371FB62609AA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10096\/3\/A04D6D9D-A138-488C-A470-371FB62609AA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10096\/3\/A04D6D9D-A138-488C-A470-371FB62609AA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10096\/3\/A04D6D9D-A138-488C-A470-371FB62609AA\/downloads\/wwdc2022-10096_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10096\/3\/A04D6D9D-A138-488C-A470-371FB62609AA\/downloads\/wwdc2022-10096_sd.mp4","duration":1223,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10077","wwdc2022-10092","wwdc2022-10147","wwdc2022-10166","wwdc2022-10167","wwdc2022-110785","wwdc2022-110786","wwdc2022-110787","wwdc2022-110788","wwdc2022-110789","wwdc2022-110790","wwdc2022-110930"]}},"wwdc2022-110931":{"id":"wwdc2022-110931","staticContentId":7325,"eventContentId":110931,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T23:08:43-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110931","languageCode":"eng","description":"Your Day 3 status report is here. Catch up on the latest from WWDC22 and discover what's coming to a Thursday near you.","title":"WWDC22 Day 3 recap","originalPublishingDate":"2022-06-08T15:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","keywords":["recap"],"primaryTopicID":90,"topicIds":[90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B9BF5CDB-F7D7-4FEC-A578-7ABE7C5D6B59","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110931\/1\/B3A83EB2-B46E-432E-92E9-9F5D15D6E793\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110931\/1\/B3A83EB2-B46E-432E-92E9-9F5D15D6E793\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110931\/1\/B3A83EB2-B46E-432E-92E9-9F5D15D6E793\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110931\/1\/B3A83EB2-B46E-432E-92E9-9F5D15D6E793\/downloads\/wwdc2022-110931_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110931\/1\/B3A83EB2-B46E-432E-92E9-9F5D15D6E793\/downloads\/wwdc2022-110931_sd.mp4","duration":81,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10015","wwdc2022-10034","wwdc2022-10051","wwdc2022-10056","wwdc2022-10070","wwdc2022-10082","wwdc2022-10126","wwdc2022-10162","wwdc2022-10169","wwdc2022-110429","wwdc2022-110441","wwdc2022-110929","wwdc2022-110930","wwdc2022-110932","wwdc2022-110933"]}},"wwdc2022-10107":{"id":"wwdc2022-10107","staticContentId":6601,"eventContentId":10107,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T00:25:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10107","languageCode":"eng","description":"Discover how to develop your app so that it can be localized into \"right-to-left\" languages such as Arabic and Hebrew. We'll take you through important considerations for these languages, share solutions to challenges, and provide best practices for delivering a great right-to-left experience in your app.","title":"Get it right (to left)","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["alignment","arabic","hebrew","i10n","internationalization","l18n","localization","ltr","pseudolanguage","rtl","sf symbols","writing direction"],"primaryTopicID":100,"topicIds":[82,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AAFB088F-F1EB-422E-9DDF-60F09028831F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10107\/3\/85B12DD5-27C3-420C-97F8-4C71326BB3D0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10107\/3\/85B12DD5-27C3-420C-97F8-4C71326BB3D0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10107\/3\/85B12DD5-27C3-420C-97F8-4C71326BB3D0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10107\/3\/85B12DD5-27C3-420C-97F8-4C71326BB3D0\/downloads\/wwdc2022-10107_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10107\/3\/85B12DD5-27C3-420C-97F8-4C71326BB3D0\/downloads\/wwdc2022-10107_sd.mp4","duration":2026,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10034","wwdc2022-10110","wwdc2022-110441","wwdc2022-110463","wwdc2022-110464","wwdc2022-110540","wwdc2022-110813","wwdc2021-10221"],"resources":[1555,1353,109]}},"wwdc2022-110356":{"id":"wwdc2022-110356","staticContentId":6710,"eventContentId":110356,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T05:18:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110356","languageCode":"eng","description":"Discover distributed actors \u2014 an extension of Swift\u2019s actor model that simplifies development of distributed systems. We'll explore how distributed actor isolation and location transparency can help you avoid the accidental complexity of networking, serialization, and other transport concerns when working with distributed apps and systems.\n\nTo get the most out of this session, watch \u201cProtect mutable state with Swift actors\u201d from WWDC21.","title":"Meet distributed actors in Swift","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5F8299C1-1945-426D-85E3-86B560F5E8BD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110356\/6\/AAC6A083-0D2D-4FFF-B60E-86EF01E37EE2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110356\/6\/AAC6A083-0D2D-4FFF-B60E-86EF01E37EE2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110356\/6\/AAC6A083-0D2D-4FFF-B60E-86EF01E37EE2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110356\/6\/AAC6A083-0D2D-4FFF-B60E-86EF01E37EE2\/downloads\/wwdc2022-110356_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110356\/6\/AAC6A083-0D2D-4FFF-B60E-86EF01E37EE2\/downloads\/wwdc2022-110356_sd.mp4","duration":1517,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110351","wwdc2022-110354","wwdc2022-110360","wwdc2022-110480","wwdc2022-110726","wwdc2022-110727","wwdc2022-110728","wwdc2022-110729","wwdc2022-110730","wwdc2022-110731","wwdc2022-110732","wwdc2022-110930","wwdc2021-10133","wwdc2019-713"],"resources":[2548,2404,2403,2402,2401]}},"wwdc2022-10059":{"id":"wwdc2022-10059","staticContentId":6552,"eventContentId":10059,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T00:20:53-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10059","languageCode":"eng","description":"Explore progressive disclosure \u2014 one of SwiftUI\u2019s core principles \u2014 and learn how it influences the design of our APIs. We\u2019ll show you how we use progressive disclosure, discuss how it can support quick iteration and exploration, and help you take advantage of it in your own code.","title":"The craft of SwiftUI API design: Progressive disclosure","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"00B9E28A-AD4C-43BC-8D2F-B40650654180","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10059\/3\/689200F0-E14A-4B93-A3B2-7D95D747540F\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10059\/3\/689200F0-E14A-4B93-A3B2-7D95D747540F\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10059\/3\/689200F0-E14A-4B93-A3B2-7D95D747540F\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10059\/3\/689200F0-E14A-4B93-A3B2-7D95D747540F\/downloads\/wwdc2022-10059_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10059\/3\/689200F0-E14A-4B93-A3B2-7D95D747540F\/downloads\/wwdc2022-10059_sd.mp4","duration":907,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110394"]}},"wwdc2022-10097":{"id":"wwdc2022-10097","staticContentId":6591,"eventContentId":10097,"eventId":"wwdc2022","contentUpdatedAt":"2025-06-09T12:31:48-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10097","languageCode":"eng","description":"Explore the latest updates to App Clips! Discover how we\u2019ve made your App Clip even easier to build with improvements to the size limit as well as CloudKit and keychain usage. We\u2019ll also show you how to use our validation tool to verify your App Clip and automate workflows for your advanced App Clip experiences using App Store Connect.","title":"What's new in App Clips","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["15 mb","advanced app clip","api","app clip code","app clip experience","app clip testing","app group container","app store connect","associated domain","attributes","banner","cloudkit","developer settings","diagnostics","included","keychain","keychain migration","local keychain","migration","physical code","public database","qr code","relationships","resource id","size limit","smart banner","transferred from app clip to app","universal link"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5A53322B-3025-41F2-B2DD-23A2DB656ABD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10097\/4\/1195D4FF-4AF5-48B0-BB92-948D01AF942B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10097\/4\/1195D4FF-4AF5-48B0-BB92-948D01AF942B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10097\/4\/1195D4FF-4AF5-48B0-BB92-948D01AF942B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10097\/4\/1195D4FF-4AF5-48B0-BB92-948D01AF942B\/downloads\/wwdc2022-10097_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10097\/4\/1195D4FF-4AF5-48B0-BB92-948D01AF942B\/downloads\/wwdc2022-10097_sd.mp4","duration":584,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110444","wwdc2022-110445","wwdc2022-110500","wwdc2022-110501","wwdc2021-10012","wwdc2021-10013","wwdc2020-10172","wwdc2020-10651","wwdc2018-303"],"resources":[1469]}},"wwdc2022-10141":{"id":"wwdc2022-10141","staticContentId":6638,"eventContentId":10141,"eventId":"wwdc2022","contentUpdatedAt":"2025-09-09T12:10:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10141","languageCode":"eng","description":"Discover the latest advancements in tooling to help you generate, inspect, and convert Universal Scene Description (USD) assets. We'll learn about updates to these tools and help you integrate them into your content creation pipeline. We'll also explore the power of USD Hydra rendering, and show how you can integrate it into your own apps.\n\nFor an introduction to USD, watch \"Understand USD fundamentals\" from WWDC22.","title":"Explore USD tools and rendering","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ar","arkit","augmented reality"],"primaryTopicID":91,"topicIds":[85,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4F8F4BF7-BF57-4EA1-9E7A-F413BB3DC5E5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10141\/4\/31DD4CF1-C4A2-4A5C-A3C8-B231788AE125\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10141\/4\/31DD4CF1-C4A2-4A5C-A3C8-B231788AE125\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10141\/4\/31DD4CF1-C4A2-4A5C-A3C8-B231788AE125\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10141\/4\/31DD4CF1-C4A2-4A5C-A3C8-B231788AE125\/downloads\/wwdc2022-10141_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10141\/4\/31DD4CF1-C4A2-4A5C-A3C8-B231788AE125\/downloads\/wwdc2022-10141_sd.mp4","duration":1341,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10127","wwdc2022-10129","wwdc2022-110479","wwdc2022-110653","wwdc2022-110654","wwdc2021-10075","wwdc2021-10076","wwdc2021-10077","wwdc2020-10601"],"resources":[2387,2236,1664,1416]}},"wwdc2022-10132":{"id":"wwdc2022-10132","staticContentId":6629,"eventContentId":10132,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T22:31:48-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10132","languageCode":"eng","description":"PhotoKit can help you build rich, photo-centric features. Learn how you can easily track changes to image assets with the latest APIs in PhotoKit. We\u2019ll introduce you to the PHPhotoLibrary change history API and demonstrate how you can persist change tokens across launches to help your app recognize additions, deletions, and updates to someone\u2019s photo library.\n\nTo learn more about Photos library integration, be sure to watch \"What's new in the Photos picker\" from WWDC22 and \"Improve access to Photos in your app\" from WWDC21.","title":"Discover PhotoKit change history","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":95,"topicIds":[95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5571B004-E7D3-4AB7-9874-688617EAE66A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10132\/3\/E1001357-38F4-429C-A7E2-495996D84893\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10132\/3\/E1001357-38F4-429C-A7E2-495996D84893\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10132\/3\/E1001357-38F4-429C-A7E2-495996D84893\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10132\/3\/E1001357-38F4-429C-A7E2-495996D84893\/downloads\/wwdc2022-10132_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10132\/3\/E1001357-38F4-429C-A7E2-495996D84893\/downloads\/wwdc2022-10132_sd.mp4","duration":600,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10107","wwdc2022-10023","wwdc2022-110911","wwdc2022-110912","wwdc2022-110913","wwdc2021-10046","articles-110968"],"resources":[374]}},"wwdc2022-10017":{"id":"wwdc2022-10017","staticContentId":6510,"eventContentId":10017,"eventId":"wwdc2022","contentUpdatedAt":"2024-06-10T13:47:48-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10017","languageCode":"eng","description":"Learn how to bring great machine learning (ML) based experiences to your app. We'll take you through model discovery, conversion, and training and provide tips and best practices for ML. We'll share considerations to take into account as you begin your ML journey, demonstrate techniques for evaluating model performance, and explore how you can tune models to achieve real-time performance on device.\n\nTo learn more about the techniques covered in this session, watch \"Optimize your Core ML usage\" and \"Accelerate machine learning with Metal\" from WWDC22.","title":"Explore the machine learning development experience","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"61E3CAA8-8DAC-49B4-B121-76740B69AFE3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10017\/3\/6F4C9F52-725A-4AD2-83BD-A3D43D29A914\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10017\/3\/6F4C9F52-725A-4AD2-83BD-A3D43D29A914\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10017\/3\/6F4C9F52-725A-4AD2-83BD-A3D43D29A914\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10017\/3\/6F4C9F52-725A-4AD2-83BD-A3D43D29A914\/downloads\/wwdc2022-10017_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10017\/3\/6F4C9F52-725A-4AD2-83BD-A3D43D29A914\/downloads\/wwdc2022-10017_sd.mp4","duration":1039,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10049","wwdc2022-10027","wwdc2022-10063","wwdc2022-10114","wwdc2022-110850","wwdc2022-110851","wwdc2022-110852","wwdc2022-110853","wwdc2022-110903","wwdc2022-110907","wwdc2020-10153","tech-talks-10154"],"resources":[1605,1410,88,27]}},"wwdc2022-110565":{"id":"wwdc2022-110565","staticContentId":6931,"eventContentId":110565,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T02:15:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110565","languageCode":"eng","description":"Learn how you can take advantage of AVFoundation and Metal to build an efficient EDR pipeline. Follow along as we demonstrate how you can use AVPlayer to display HDR video as EDR, add playback into an app view, render it with Metal, and use Core Image or custom Metal shaders to add video effects such as keying or color management. Whether you develop games or pro apps, we'll help you decide which frameworks to use and share best practices for selecting transports, colorspaces, and pixelbuffer formats.","title":"Display HDR video in EDR with AVFoundation and Metal","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[84,95,100,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2C1D9E0B-9F07-49AB-B83B-C6C045F50480","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110565\/4\/46CD2F39-5184-416E-A4F4-E57AEAF92AC8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110565\/4\/46CD2F39-5184-416E-A4F4-E57AEAF92AC8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110565\/4\/46CD2F39-5184-416E-A4F4-E57AEAF92AC8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110565\/4\/46CD2F39-5184-416E-A4F4-E57AEAF92AC8\/downloads\/wwdc2022-110565_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110565\/4\/46CD2F39-5184-416E-A4F4-E57AEAF92AC8\/downloads\/wwdc2022-110565_sd.mp4","duration":1324,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10181","wwdc2022-10113","wwdc2022-10114","wwdc2022-110537","wwdc2022-110645","wwdc2022-110646","wwdc2022-110823","wwdc2022-110843","wwdc2021-10161","wwdc2020-10008","wwdc2020-10009","tech-talks-110337"],"resources":[91]}},"wwdc2022-110360":{"id":"wwdc2022-110360","staticContentId":6714,"eventContentId":110360,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T23:49:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110360","languageCode":"eng","description":"Discover how you can create, build, and deploy a Swift server app alongside your pre-existing Xcode projects within the same workspace. We'll show you how to create your own local app and test endpoints using Xcode, and explore how you can structure and share code between server and client apps to ease your development process","title":"Use Xcode for server-side development","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"56907DFC-59BD-4AE2-9E1D-0F84594E8840","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110360\/3\/95EF8495-F291-49FD-8958-276AC76C222D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110360\/3\/95EF8495-F291-49FD-8958-276AC76C222D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110360\/3\/95EF8495-F291-49FD-8958-276AC76C222D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110360\/3\/95EF8495-F291-49FD-8958-276AC76C222D\/downloads\/wwdc2022-110360_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110360\/3\/95EF8495-F291-49FD-8958-276AC76C222D\/downloads\/wwdc2022-110360_sd.mp4","duration":1055,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10171","wwdc2022-110356","wwdc2022-110726","wwdc2022-110727","wwdc2022-110728","wwdc2022-110729","wwdc2022-110730","wwdc2022-110731","wwdc2022-110732","wwdc2021-10132","wwdc2021-10133","wwdc2020-10644","wwdc2019-410"],"resources":[2405]}},"wwdc2022-110343":{"id":"wwdc2022-110343","staticContentId":6695,"eventContentId":110343,"eventId":"wwdc2022","contentUpdatedAt":"2024-11-13T17:17:04-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110343","languageCode":"eng","description":"Get ready to tune up your iPad app\u2019s toolbars with SwiftUI. We\u2019ll show you how you can structure toolbars to take advantage of the space available on iPad and help people maximize their productivity. We\u2019ll also take you through customization, explore the latest ways you can represent documents, and more.\n\nThis is the second session in a two-part series. To get the most out of this video, we recommend starting with \u201cSwiftUI on iPad: Organize your interface.\u201d","title":"SwiftUI on iPad: Add toolbars, titles, and more","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["area","center","controlgroup","control group","customizable toolbars","customization","customization popover","document","editable titles","id","label","leading","leading aligned navigation","menu","more menu","navigation titles","overflow menu","placement",".primaryaction","primary action","primary action placement","renamebutton()",".secondaryaction","secondary action","title menu","title menu header","toolbar","toolbar customization","toolbar item","trailing"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AD94338F-7DF6-4B93-A675-370BD4D9621D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110343\/4\/61E55FAE-4837-4DAF-912C-8D101B7DF820\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110343\/4\/61E55FAE-4837-4DAF-912C-8D101B7DF820\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110343\/4\/61E55FAE-4837-4DAF-912C-8D101B7DF820\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110343\/4\/61E55FAE-4837-4DAF-912C-8D101B7DF820\/downloads\/wwdc2022-110343_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110343\/4\/61E55FAE-4837-4DAF-912C-8D101B7DF820\/downloads\/wwdc2022-110343_sd.mp4","duration":802,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10056","wwdc2022-10009","wwdc2022-10052","wwdc2022-10058","wwdc2022-10061","wwdc2022-110466","wwdc2022-110467"],"resources":[2470,2469,2468,2467,2466]}},"wwdc2022-10089":{"id":"wwdc2022-10089","staticContentId":6583,"eventContentId":10089,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T22:43:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10089","languageCode":"eng","description":"Discover PDFKit \u2014 a full-featured framework that helps your app view, edit, and save PDF documents. We'll take you through the latest features in PDFKit, including support for live text and forms, creating PDFs from images, building interactive overlays, and saving annotations.","title":"What's new in PDFKit","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["pencilkit","pencil kit"],"primaryTopicID":83,"topicIds":[90,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FB3AED0E-271C-40AF-B512-344289FEB42D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10089\/3\/473B1E55-B2A6-42BB-AA96-EE2599D6E779\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10089\/3\/473B1E55-B2A6-42BB-AA96-EE2599D6E779\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10089\/3\/473B1E55-B2A6-42BB-AA96-EE2599D6E779\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10089\/3\/473B1E55-B2A6-42BB-AA96-EE2599D6E779\/downloads\/wwdc2022-10089_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10089\/3\/473B1E55-B2A6-42BB-AA96-EE2599D6E779\/downloads\/wwdc2022-10089_sd.mp4","duration":821,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110932","wwdc2019-221","wwdc2017-241"],"resources":[215]}},"wwdc2022-110379":{"id":"wwdc2022-110379","staticContentId":6734,"eventContentId":110379,"eventId":"wwdc2022","contentUpdatedAt":"2024-11-21T08:30:16-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110379","languageCode":"eng","description":"Discover how you can use AVFoundation to keep people focused on your media app\u2019s content \u2014 not your loading spinner. We\u2019ll show you how to support a responsive and fluid interface in your app, all while you create rich audiovisual compositions, load audiovisual assets, and prepare media thumbnails. Find out how you can perform these tasks on your app\u2019s main thread while I\/O processes in parallel, learn how to get top-notch playback performance when loading data from custom storage, and more. \n\nTo get the most out of this session, we recommend first watching \"What's new in AVFoundation\u201d from WWDC21.","title":"Create a more responsive media app","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["async load","avasset","avassetresourceloader","avasynchronouskeyvalueloading","avcomposition","latency","thumbnail"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5E871A27-CC16-4E55-8EF7-97FB5C13235E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110379\/3\/072CE81E-54AA-400F-82CC-3667BB3549E1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110379\/3\/072CE81E-54AA-400F-82CC-3667BB3549E1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110379\/3\/072CE81E-54AA-400F-82CC-3667BB3549E1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110379\/3\/072CE81E-54AA-400F-82CC-3667BB3549E1\/downloads\/wwdc2022-110379_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110379\/3\/072CE81E-54AA-400F-82CC-3667BB3549E1\/downloads\/wwdc2022-110379_sd.mp4","duration":627,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110545","wwdc2022-110823","wwdc2021-10058","wwdc2021-10146","wwdc2021-10194"],"resources":[2440,1828]}},"wwdc2022-10027":{"id":"wwdc2022-10027","staticContentId":6520,"eventContentId":10027,"eventId":"wwdc2022","contentUpdatedAt":"2024-06-10T12:47:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10027","languageCode":"eng","description":"Learn how Core ML works with the CPU, GPU, and Neural Engine to power on-device, privacy-preserving machine learning experiences for your apps. We\u2019ll explore the latest tools for understanding and maximizing the performance of your models. We\u2019ll also show you how to generate reports to easily understand your model performance characteristics, help you gain insight into your models with the Core ML Instrument, and take you through API enhancements to further optimize Core ML integration in your apps.\n\nTo get the most out of this session, be sure to watch \u201cTune your Core ML models\u201d from WWDC21.","title":"Optimize your Core ML usage","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FED93D18-0AF6-4C45-A9B6-51BD36852601","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10027\/3\/F6386488-80EB-46AC-BFEE-23B81B5E621A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10027\/3\/F6386488-80EB-46AC-BFEE-23B81B5E621A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10027\/3\/F6386488-80EB-46AC-BFEE-23B81B5E621A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10027\/3\/F6386488-80EB-46AC-BFEE-23B81B5E621A\/downloads\/wwdc2022-10027_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10027\/3\/F6386488-80EB-46AC-BFEE-23B81B5E621A\/downloads\/wwdc2022-10027_sd.mp4","duration":1410,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10049","wwdc2022-10017","wwdc2022-110850","wwdc2022-110851","wwdc2022-110852","wwdc2022-110853","wwdc2022-110903","wwdc2022-110907"],"resources":[27]}},"wwdc2022-110332":{"id":"wwdc2022-110332","staticContentId":6684,"eventContentId":110332,"eventId":"wwdc2022","contentUpdatedAt":"2025-09-02T11:58:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110332","languageCode":"eng","description":"Discover the latest updates to Create ML. We\u2019ll share improvements to Create ML\u2019s evaluation tools that can help you understand how your custom models will perform on real-world data. Learn how you can check model performance on each type of image in your test data and identify problems within individual images to help you troubleshoot mistaken classifications, poorly labeled data, and other errors. We\u2019ll also show you how to test your model with iPhone and iPad in live preview using Continuity Camera, and share how you can take Action Classification even further with the new Repetition Counting capabilities of the Create ML Components framework.\n\nTo learn more about all that Create ML can bring to your app, watch \"Classify hand poses and actions with Create ML\" and \"Build dynamic iOS apps with the Create ML framework\" from WWDC21.","title":"What's new in Create ML","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3B10A962-6D8E-4E2A-B2F7-6BB1DB04D206","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110332\/5\/6B7CFC73-E018-439B-8755-EA807A72DEA3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110332\/5\/6B7CFC73-E018-439B-8755-EA807A72DEA3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110332\/5\/6B7CFC73-E018-439B-8755-EA807A72DEA3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110332\/5\/6B7CFC73-E018-439B-8755-EA807A72DEA3\/downloads\/wwdc2022-110332_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110332\/5\/6B7CFC73-E018-439B-8755-EA807A72DEA3\/downloads\/wwdc2022-110332_sd.mp4","duration":1006,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10044","wwdc2022-10019","wwdc2022-10020","wwdc2022-110850","wwdc2022-110851","wwdc2022-110852","wwdc2022-110853","wwdc2022-110901","wwdc2021-10037","wwdc2021-10039"],"resources":[2906,443]}},"wwdc2022-10058":{"id":"wwdc2022-10058","staticContentId":6551,"eventContentId":10058,"eventId":"wwdc2022","contentUpdatedAt":"2025-08-19T15:32:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10058","languageCode":"eng","description":"It\u2019s time to supercharge the interface of your iPad app with SwiftUI lists and tables. We\u2019ll show how you can add selection interactions and context menus and help people who use your app be more productive. We'll also give you best practices on structuring your navigation and explore how you can avoid modality using split views to ensure a top-notch desktop-class iPad experience.\n\nThis is the first session in a two-part series. To get the most out of this video, we recommend you have some basic familiarity with SwiftUI. After watching this session, check out \"SwiftUI on iPad: Add toolbars, titles, and more\" to learn how SwiftUI can help you make even better toolbars for your iPad app.","title":"SwiftUI on iPad: Organize your interface","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":[".balanced","column builder","comparator","contextmenu","context menu","desktop class","edit mode","foreach","identifier","keyboard","keypathcomparator","list","lists","menu","modality","multicolumn","multi-column","multiple selection","multi select context menu","navigation","navigation split view",".prominentdetail","section","selection","selection state","sidebar","slide over","split view","state","supplementary","supplementary column","table","tables","tag","three column layout","trackpad","two column layout"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9B509A9E-9883-463D-A0C5-2B0221A9EF3B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10058\/3\/A2E41140-1058-4AFF-BF2C-5058A6588994\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10058\/3\/A2E41140-1058-4AFF-BF2C-5058A6588994\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10058\/3\/A2E41140-1058-4AFF-BF2C-5058A6588994\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10058\/3\/A2E41140-1058-4AFF-BF2C-5058A6588994\/downloads\/wwdc2022-10058_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10058\/3\/A2E41140-1058-4AFF-BF2C-5058A6588994\/downloads\/wwdc2022-10058_sd.mp4","duration":1100,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10009","wwdc2022-10052","wwdc2022-10054","wwdc2022-10061","wwdc2022-110343","wwdc2022-110466","wwdc2022-110467","wwdc2022-110932","wwdc2021-10022","wwdc2021-10062"],"resources":[2473,2464,2463,2462,2461,2454]}},"wwdc2022-10120":{"id":"wwdc2022-10120","staticContentId":6616,"eventContentId":10120,"eventId":"wwdc2022","contentUpdatedAt":"2025-02-21T12:16:54-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10120","languageCode":"eng","description":"Learn how you can cleanly migrate Core Data schemas after updating your app, and breeze through data model changes. We\u2019ll show you how you can take advantage of built-in migration tools to keep your data storage up to date, and let Core Data analyze your schema to infer data model migrations. We\u2019ll also provide best practices, help you tackle tough migration challenges, and discover how Core Data schemas can interact with CloudKit to support easy migrations in the cloud.\n\nTo get the most out of this session, we recommend being familiar with Core Data schemas and data types, and have a basic understanding around syncing Core Data databases with CloudKit.","title":"Evolve your Core Data schema","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8AC4F99A-B40D-4E00-9DC8-83AF9D744942","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10120\/5\/7685DE64-40AC-4C35-9865-8CDA798501E4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10120\/5\/7685DE64-40AC-4C35-9865-8CDA798501E4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10120\/5\/7685DE64-40AC-4C35-9865-8CDA798501E4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10120\/5\/7685DE64-40AC-4C35-9865-8CDA798501E4\/downloads\/wwdc2022-10120_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10120\/5\/7685DE64-40AC-4C35-9865-8CDA798501E4\/downloads\/wwdc2022-10120_sd.mp4","duration":1191,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10186","wwdc2022-10119","wwdc2022-110675","wwdc2022-110676","wwdc2022-110836","wwdc2022-110838","wwdc2022-110928"],"resources":[2499]}},"wwdc2022-10028":{"id":"wwdc2022-10028","staticContentId":6521,"eventContentId":10028,"eventId":"wwdc2022","contentUpdatedAt":"2024-02-16T15:02:48-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10028","languageCode":"eng","description":"Learn how ShazamKit can help you build custom catalogs and support exact matching of any audio source within your app \u2014 all on-device. Find out how you can easily generate audio signatures and build catalogs at scale through the new ShazamKit CLI. We'll also show you how you can quickly update your app to sync with large amounts of audio content like multiple seasons of a TV show or multiple episodes of a podcast, and we'll share updates to the ShazamKit API and SHMediaItems to help your apps respond precisely to key moments in audio sources using time ranges.\n\nFor more on ShazamKit, we recommend watching \"Explore ShazamKit\" and \"Create custom audio experiences with ShazamKit\" from WWDC21.","title":"Create custom catalogs at scale with ShazamKit","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"124C948D-9FCA-4377-B500-C9D5D9C7924A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10028\/3\/F2DB18FC-F40C-4FB9-A080-5202CE2794CA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10028\/3\/F2DB18FC-F40C-4FB9-A080-5202CE2794CA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10028\/3\/F2DB18FC-F40C-4FB9-A080-5202CE2794CA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10028\/3\/F2DB18FC-F40C-4FB9-A080-5202CE2794CA\/downloads\/wwdc2022-10028_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10028\/3\/F2DB18FC-F40C-4FB9-A080-5202CE2794CA\/downloads\/wwdc2022-10028_sd.mp4","duration":1184,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10051","wwdc2022-110897","wwdc2022-110898","wwdc2022-110899","wwdc2022-110900","wwdc2022-110908","wwdc2021-10044","wwdc2021-10045"],"resources":[1608]}},"wwdc2022-110338":{"id":"wwdc2022-110338","staticContentId":6690,"eventContentId":110338,"eventId":"wwdc2022","contentUpdatedAt":"2024-12-23T16:28:54-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110338","languageCode":"eng","description":"Learn how you can highlight your app's Now Playing information on every platform. We'll take you through an overview of media metadata, learn how it gets represented in areas like the Lock Screen and Control Center, and show you how to write and publish effective media metadata for your content. We'll also explore how your app can respond to commands from other devices such as HomePod.","title":"Explore media metadata publishing and playback interactions","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AC08354E-8420-43D5-87E5-D3F1D62EBDD8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110338\/3\/BCB38F17-7908-4BD8-8A7A-767EC8C59367\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110338\/3\/BCB38F17-7908-4BD8-8A7A-767EC8C59367\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110338\/3\/BCB38F17-7908-4BD8-8A7A-767EC8C59367\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110338\/3\/BCB38F17-7908-4BD8-8A7A-767EC8C59367\/downloads\/wwdc2022-110338_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110338\/3\/BCB38F17-7908-4BD8-8A7A-767EC8C59367\/downloads\/wwdc2022-110338_sd.mp4","duration":852,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10147"],"resources":[54]}},"wwdc2022-10131":{"id":"wwdc2022-10131","staticContentId":6628,"eventContentId":10131,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T03:08:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10131","languageCode":"eng","description":"Discover best practices and techniques to help craft magical AR experiences for iPhone and iPad. We\u2019ll provide guidance to help you determine if AR is a good fit for your experience, explore examples of great AR apps, and take you through key considerations when designing for augmented reality.","title":"Qualities of great AR experiences","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["ar","arkit","augmented reality","design","mr"],"primaryTopicID":87,"topicIds":[90,92,85,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D9569ADB-FA90-4DB7-9987-A4366BA0E921","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10131\/4\/AE5E1692-81D5-4EF7-A74E-667A4D426D71\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10131\/4\/AE5E1692-81D5-4EF7-A74E-667A4D426D71\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10131\/4\/AE5E1692-81D5-4EF7-A74E-667A4D426D71\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10131\/4\/AE5E1692-81D5-4EF7-A74E-667A4D426D71\/downloads\/wwdc2022-10131_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10131\/4\/AE5E1692-81D5-4EF7-A74E-667A4D426D71\/downloads\/wwdc2022-10131_sd.mp4","duration":800,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10126","wwdc2022-10127"]}},"wwdc2022-110362":{"id":"wwdc2022-110362","staticContentId":6716,"eventContentId":110362,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T22:55:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110362","languageCode":"eng","description":"Discover how to improve your app's build and runtime linking performance. We'll take you behind the scenes to learn more about linking, your options, and the latest updates that improve the link performance of your app.","title":"Link fast: Improve build and launch times","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6513DF08-6359-4A7B-9BA6-AF7A4D1A42E6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110362\/3\/629CBACC-AF8F-4856-98CA-075275ADEAA4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110362\/3\/629CBACC-AF8F-4856-98CA-075275ADEAA4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110362\/3\/629CBACC-AF8F-4856-98CA-075275ADEAA4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110362\/3\/629CBACC-AF8F-4856-98CA-075275ADEAA4\/downloads\/wwdc2022-110362_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110362\/3\/629CBACC-AF8F-4856-98CA-075275ADEAA4\/downloads\/wwdc2022-110362_sd.mp4","duration":1869,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10268","wwdc2022-110363","wwdc2022-110364","wwdc2022-110367","wwdc2022-110427","wwdc2022-110716","wwdc2022-110718"]}},"wwdc2022-10019":{"id":"wwdc2022-10019","staticContentId":6512,"eventContentId":10019,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T01:07:45-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10019","languageCode":"eng","description":"Create ML makes it easy to build custom machine learning models for image classification, object detection, sound classification, hand pose classification, action classification, tabular data regression, and more. And with the Create ML Components framework, you can further customize underlying tasks and improve your model. We\u2019ll explore the feature extractors, transformers, and estimators that make up these tasks, and show you how you can combine them with other components and pre-processing steps to build custom tasks for concepts like image regression.\n\nFor more information on creating complex customizable tasks, we recommend watching \"Compose advanced models with Create ML Components\" from WWDC22.","title":"Get to know Create ML Components","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E6F3BD19-F50A-46F2-BB27-0DABEF6040C8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10019\/4\/CA2236CA-EAD0-454F-8556-FA583BA70590\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10019\/4\/CA2236CA-EAD0-454F-8556-FA583BA70590\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10019\/4\/CA2236CA-EAD0-454F-8556-FA583BA70590\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10019\/4\/CA2236CA-EAD0-454F-8556-FA583BA70590\/downloads\/wwdc2022-10019_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10019\/4\/CA2236CA-EAD0-454F-8556-FA583BA70590\/downloads\/wwdc2022-10019_sd.mp4","duration":1531,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10044","wwdc2022-10020","wwdc2022-110332","wwdc2022-110850","wwdc2022-110851","wwdc2022-110852","wwdc2022-110853","wwdc2022-110901","wwdc2022-110902","wwdc2022-110904","wwdc2021-10037","wwdc2021-10039","wwdc2020-10169","wwdc2019-222","tech-talks-10100"],"resources":[443]}},"wwdc2022-110401":{"id":"wwdc2022-110401","staticContentId":6760,"eventContentId":110401,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T05:15:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110401","languageCode":"eng","description":"Tailor your development workflow and learn how to write your own package plugins in Swift. We'll show you how you can extend Xcode\u2019s functionality by using the PackagePlugin API to generate source code or automate release tasks and share best practices for creating great plugins.","title":"Create Swift Package plugins","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"787D7B9B-6155-4E2D-9821-0C1525E8D425","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110401\/6\/E6B6BDA3-C922-4FC4-AF6B-EB6C290568A7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110401\/6\/E6B6BDA3-C922-4FC4-AF6B-EB6C290568A7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110401\/6\/E6B6BDA3-C922-4FC4-AF6B-EB6C290568A7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110401\/6\/E6B6BDA3-C922-4FC4-AF6B-EB6C290568A7\/downloads\/wwdc2022-110401_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110401\/6\/E6B6BDA3-C922-4FC4-AF6B-EB6C290568A7\/downloads\/wwdc2022-110401_sd.mp4","duration":1442,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110354","wwdc2022-110359","wwdc2022-110427","wwdc2022-110489","wwdc2022-110726","wwdc2022-110727","wwdc2022-110728","wwdc2022-110729","wwdc2022-110730","wwdc2022-110731","wwdc2022-110732","wwdc2021-10220","wwdc2020-10169","wwdc2019-410"]}},"wwdc2022-110350":{"id":"wwdc2022-110350","staticContentId":6704,"eventContentId":110350,"eventId":"wwdc2022","contentUpdatedAt":"2025-06-05T15:32:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110350","languageCode":"eng","description":"Learn how you can optimize your app with the Swift Concurrency template in Instruments. We'll discuss common performance issues and show you how to use Instruments to find and resolve these problems. Learn how you can keep your UI responsive, maximize parallel performance, and analyze Swift concurrency activity within your app.\n\nTo get the most out of this session, we recommend familiarity with Swift concurrency (including tasks and actors).","title":"Visualize and optimize Swift concurrency","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["swift","swift concurrency"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"56808E23-1E88-4F34-B01D-DFB046548339","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110350\/4\/3B87EB1E-4E88-4D11-817A-16852AEA794C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110350\/4\/3B87EB1E-4E88-4D11-817A-16852AEA794C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110350\/4\/3B87EB1E-4E88-4D11-817A-16852AEA794C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110350\/4\/3B87EB1E-4E88-4D11-817A-16852AEA794C\/downloads\/wwdc2022-110350_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110350\/4\/3B87EB1E-4E88-4D11-817A-16852AEA794C\/downloads\/wwdc2022-110350_sd.mp4","duration":1478,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10170","wwdc2023-10248","wwdc2022-10068","wwdc2022-10082","wwdc2022-110351","wwdc2022-110354","wwdc2022-110480","wwdc2022-110726","wwdc2022-110727","wwdc2022-110728","wwdc2022-110729","wwdc2022-110730","wwdc2022-110731","wwdc2022-110732","wwdc2021-10132","wwdc2021-10133","wwdc2021-10134","wwdc2021-10194","wwdc2021-10254"],"resources":[1788,1712]}},"wwdc2022-10024":{"id":"wwdc2022-10024","staticContentId":6517,"eventContentId":10024,"eventId":"wwdc2022","contentUpdatedAt":"2026-02-16T10:56:02-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10024","languageCode":"eng","description":"Learn about the latest updates to Vision APIs that help your apps recognize text, detect faces and face landmarks, and implement optical flow. We\u2019ll take you through the capabilities of optical flow for video-based apps, show you how to update your apps with revisions to the machine learning models that drive these APIs, and explore how you can visualize your Vision tasks with Quick Look Preview support in Xcode.\n\nTo get the most out of this session, we recommend watching \u201cDetect people, faces, and poses using Vision\u201d from WWDC21.","title":"What's new in Vision","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":94,"topicIds":[90,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8F74535F-CCFF-4544-927D-3284D6D8AC20","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10024\/3\/9BD19E63-1BFD-49E9-A941-5CA5A937682C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10024\/3\/9BD19E63-1BFD-49E9-A941-5CA5A937682C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10024\/3\/9BD19E63-1BFD-49E9-A941-5CA5A937682C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10024\/3\/9BD19E63-1BFD-49E9-A941-5CA5A937682C\/downloads\/wwdc2022-10024_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10024\/3\/9BD19E63-1BFD-49E9-A941-5CA5A937682C\/downloads\/wwdc2022-10024_sd.mp4","duration":1188,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10025","wwdc2022-110850","wwdc2022-110851","wwdc2022-110852","wwdc2022-110853","wwdc2022-110905","wwdc2022-110932","wwdc2021-10040","tech-talks-110356"],"resources":[134]}},"wwdc2022-110371":{"id":"wwdc2022-110371","staticContentId":6726,"eventContentId":110371,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T02:41:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110371","languageCode":"eng","description":"Learn how you can build apps for multiple Apple platforms using Xcode 14. We'll show you how to streamline app targets, maintain a common codebase, and share settings by default. We'll also explore how you can customize your app for each platform through conditionalizing your settings and code.","title":"Use Xcode to develop a multiplatform app","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":88,"topicIds":[90,99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D9255475-776B-42ED-8A04-6C3AACE0D5E0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110371\/4\/F41F7DFC-33C6-4BFA-9CC0-D212E30E6599\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110371\/4\/F41F7DFC-33C6-4BFA-9CC0-D212E30E6599\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110371\/4\/F41F7DFC-33C6-4BFA-9CC0-D212E30E6599\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110371\/4\/F41F7DFC-33C6-4BFA-9CC0-D212E30E6599\/downloads\/wwdc2022-110371_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110371\/4\/F41F7DFC-33C6-4BFA-9CC0-D212E30E6599\/downloads\/wwdc2022-110371_sd.mp4","duration":963,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10052","wwdc2022-110427","wwdc2022-110734","wwdc2022-110735","wwdc2022-110736","wwdc2022-110738","wwdc2022-110739","wwdc2022-110740","wwdc2022-110924","wwdc2022-110927"]}},"wwdc2022-10054":{"id":"wwdc2022-10054","staticContentId":6547,"eventContentId":10054,"eventId":"wwdc2022","contentUpdatedAt":"2024-11-13T17:17:05-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10054","languageCode":"eng","description":"The recipe for a great app begins with a clear and robust navigation structure. Join the SwiftUI team in our proverbial coding kitchen and learn how you can cook up a great experience for your app. We\u2019ll introduce you to SwiftUI\u2019s navigation stack and split view features, show you how you can link to specific areas of your app, and explore how you can quickly and easily restore navigational state.","title":"The SwiftUI cookbook for navigation","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3CF41982-A237-43E3-99AD-8C0758849A16","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10054\/4\/E85249AE-F795-40DC-BD9E-A3E385906FE6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10054\/4\/E85249AE-F795-40DC-BD9E-A3E385906FE6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10054\/4\/E85249AE-F795-40DC-BD9E-A3E385906FE6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10054\/4\/E85249AE-F795-40DC-BD9E-A3E385906FE6\/downloads\/wwdc2022-10054_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10054\/4\/E85249AE-F795-40DC-BD9E-A3E385906FE6\/downloads\/wwdc2022-10054_sd.mp4","duration":1566,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10052","wwdc2022-10058","wwdc2022-10061","wwdc2022-10133","wwdc2022-110393","wwdc2022-110397","wwdc2022-110442","wwdc2022-110466","wwdc2022-110467","wwdc2022-110930","tech-talks-110356"],"resources":[2461,2455,2454,2453,2452]}},"wwdc2022-10077":{"id":"wwdc2022-10077","staticContentId":6571,"eventContentId":10077,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T02:36:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10077","languageCode":"eng","description":"Don\u2019t be captured by CAPTCHAs! Private Access Tokens are a powerful alternative that help you identify HTTP requests from legitimate devices and people without compromising their identity or personal information. We\u2019ll show you how your app and server can take advantage of this tool to add confidence to your online transactions and preserve privacy.","title":"Replace CAPTCHAs with Private Access Tokens","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[96,98,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"718F51EF-16D8-45CE-85D1-F79E6A6756C5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10077\/4\/C35119F9-FA1E-478C-9638-E90C1153FACD\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10077\/4\/C35119F9-FA1E-478C-9638-E90C1153FACD\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10077\/4\/C35119F9-FA1E-478C-9638-E90C1153FACD\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10077\/4\/C35119F9-FA1E-478C-9638-E90C1153FACD\/downloads\/wwdc2022-10077_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10077\/4\/C35119F9-FA1E-478C-9638-E90C1153FACD\/downloads\/wwdc2022-10077_sd.mp4","duration":758,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10053","wwdc2022-10096","wwdc2022-110876","wwdc2022-110877","wwdc2022-110878","wwdc2022-110879","wwdc2022-110916","wwdc2022-110948"]}},"wwdc2022-10106":{"id":"wwdc2022-10106","staticContentId":6600,"eventContentId":10106,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T04:29:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10106","languageCode":"eng","description":"Learn how Apple platforms calculate and allocate memory for your game. We'll show you how to use Instruments and the Game Memory template to profile your game, take a memory graph to monitor current memory use, and analyze it using Xcode Memory Debugger and command line tools. We'll also explore Metal resources in Metal Debugger and provide tips and tricks to further help you optimize memory usage.","title":"Profile and optimize your game's memory","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["game dev","game developer","games","instruments","memory","memory graph","metal 3","profile guided optimization","xcode"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6C1BD62C-1574-4AB2-8525-8F223E5F84DC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10106\/5\/56A1A2BE-7EF5-4AA0-AE93-1F93BD885019\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10106\/5\/56A1A2BE-7EF5-4AA0-AE93-1F93BD885019\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10106\/5\/56A1A2BE-7EF5-4AA0-AE93-1F93BD885019\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10106\/5\/56A1A2BE-7EF5-4AA0-AE93-1F93BD885019\/downloads\/wwdc2022-10106_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10106\/5\/56A1A2BE-7EF5-4AA0-AE93-1F93BD885019\/downloads\/wwdc2022-10106_sd.mp4","duration":2306,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10100","wwdc2022-10101","wwdc2022-110645","wwdc2022-110646","wwdc2022-110649","wwdc2022-110663","wwdc2022-110664","wwdc2022-110666","wwdc2022-110667","wwdc2022-110670","wwdc2021-10157","wwdc2021-10180"]}},"wwdc2022-113":{"id":"wwdc2022-113","staticContentId":7397,"eventContentId":113,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T23:41:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/113","languageCode":"eng","description":"The Apple Design Awards honors excellence in innovation, ingenuity, and technical achievement in app and game design. Watch along as we reveal and celebrate the 2022 winners.","title":"Apple Design Awards (ASL)","startTime":"2022-06-06T17:00:00-07:00","endTime":"2022-06-06T17:40:00-07:00","originalPublishingDate":"2022-06-06T12:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"CE2045A7-62FC-40A5-8472-BA743394DC26","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/113\/1\/62CF83FA-0B10-4D25-A188-368E2557F674\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/113\/1\/62CF83FA-0B10-4D25-A188-368E2557F674\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/113\/1\/62CF83FA-0B10-4D25-A188-368E2557F674\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/113\/1\/62CF83FA-0B10-4D25-A188-368E2557F674\/downloads\/wwdc2022-113_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/113\/1\/62CF83FA-0B10-4D25-A188-368E2557F674\/downloads\/wwdc2022-113_sd.mp4","duration":1117,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]}},"wwdc2022-10128":{"id":"wwdc2022-10128","staticContentId":6625,"eventContentId":10128,"eventId":"wwdc2022","contentUpdatedAt":"2025-10-17T17:22:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10128","languageCode":"eng","description":"Follow along as we demonstrate how you can use Object Capture and RealityKit to bring real-world objects into an augmented reality game. We'll show you how to capture detailed items using the Object Capture framework, add them to a RealityKit project in Xcode, apply stylized shaders and animations, and use them as part of an AR experience. We'll also share best practices when working with ARKit, RealityKit, and Object Capture.\n\nTo get the most out of this session, we recommend first watching \"Dive into RealityKit 2\" and \"Create 3D models with Object Capture\" from WWDC21.","title":"Bring your world into augmented reality","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ar","arkit","augmented reality"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"84E8ED1A-3533-429E-B059-F2C301A7D093","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10128\/3\/A48642CC-4EA4-478D-BC86-9AD9FE213885\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10128\/3\/A48642CC-4EA4-478D-BC86-9AD9FE213885\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10128\/3\/A48642CC-4EA4-478D-BC86-9AD9FE213885\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10128\/3\/A48642CC-4EA4-478D-BC86-9AD9FE213885\/downloads\/wwdc2022-10128_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10128\/3\/A48642CC-4EA4-478D-BC86-9AD9FE213885\/downloads\/wwdc2022-10128_sd.mp4","duration":1560,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10126","wwdc2022-110472","wwdc2022-110473","wwdc2022-110476","wwdc2022-110477","wwdc2022-110619","wwdc2022-110620","wwdc2022-110655","wwdc2022-110656","wwdc2022-110929","wwdc2021-10074","wwdc2021-10075","wwdc2021-10076"],"resources":[2388,1644,1643,1641,1622,568,560]}},"wwdc2022-10050":{"id":"wwdc2022-10050","staticContentId":6543,"eventContentId":10050,"eventId":"wwdc2022","contentUpdatedAt":"2025-02-21T11:16:46-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10050","languageCode":"eng","description":"Our widgets code-along returns as we adventure onto the watchOS and iOS Lock Screen. Learn about the latest improvements to WidgetKit that help power complex complications on watchOS and can help you create Lock Screen widgets for iPhone. We\u2019ll show you how to incorporate the latest SwiftUI views to provide great glanceable data, explore how each platform renders content, and learn how you can customize the design and feel of your content within a widget or complication.","title":"Complications and widgets: Reloaded","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","watchOS"],"primaryTopicID":83,"topicIds":[90,100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A37E04FC-826F-44B5-A5D8-36B41E5F73E5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10050\/5\/358B551F-283C-4CD1-8172-DAC014727969\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10050\/5\/358B551F-283C-4CD1-8172-DAC014727969\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10050\/5\/358B551F-283C-4CD1-8172-DAC014727969\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10050\/5\/358B551F-283C-4CD1-8172-DAC014727969\/downloads\/wwdc2022-10050_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10050\/5\/358B551F-283C-4CD1-8172-DAC014727969\/downloads\/wwdc2022-10050_sd.mp4","duration":1055,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10027","wwdc2022-10051","wwdc2022-10056","wwdc2022-110431","wwdc2022-110432","wwdc2022-110433","wwdc2022-110452","wwdc2022-110498","wwdc2022-110499","wwdc2021-10048","wwdc2020-10028","tech-talks-110356"],"resources":[2904,2903,924]}},"wwdc2022-110429":{"id":"wwdc2022-110429","staticContentId":6790,"eventContentId":110429,"eventId":"wwdc2022","contentUpdatedAt":"2024-11-21T08:29:55-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110429","languageCode":"eng","description":"Discover how you can take advantage of advanced camera capture features in your app. We'll show you how to use the LiDAR scanner to create photo and video effects and perform accurate depth measurement. Learn how your app can use the camera for picture-in-picture or multitasking, control face-driven autofocus and autoexposure during camera capture, and more. We'll also share strategies for using multiple video outputs so that you can optimize live preview while capturing high-quality video output.\n\nFor an overview on camera capture capabilities, watch \"What\u2019s new in camera capture\" from WWDC21.","title":"Discover advancements in iOS camera capture: Depth, focus, and multitasking","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":95,"topicIds":[95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B5D75CE7-7DE1-4CDD-93B9-BEF8E2C5B44D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110429\/4\/60E4BC61-632F-484F-AF90-EA3203042E76\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110429\/4\/60E4BC61-632F-484F-AF90-EA3203042E76\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110429\/4\/60E4BC61-632F-484F-AF90-EA3203042E76\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110429\/4\/60E4BC61-632F-484F-AF90-EA3203042E76\/downloads\/wwdc2022-110429_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110429\/4\/60E4BC61-632F-484F-AF90-EA3203042E76\/downloads\/wwdc2022-110429_sd.mp4","duration":1102,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10256","wwdc2023-111241","wwdc2022-10018","wwdc2022-110642","wwdc2022-110643","wwdc2022-110931","wwdc2022-110959","wwdc2022-110960","wwdc2022-110962","wwdc2021-10047","articles-110968"],"resources":[2543,2542,1790,28]}},"wwdc2022-10065":{"id":"wwdc2022-10065","staticContentId":6558,"eventContentId":10065,"eventId":"wwdc2022","contentUpdatedAt":"2024-12-03T15:52:29-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10065","languageCode":"eng","description":"Help make your Unity app or game an even better experience on Apple platforms. Learn how you can add Apple technologies directly to your projects with six plug-ins: Apple.Core, Game Center, Game Controller, Accessibility, Core Haptics, and PHASE. We'll show you how you can add new gameplay mechanics, make your games more accessible, and tap into the latest Apple features and services.","title":"Plug-in and play: Add Apple frameworks to your Unity game projects","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["game center","game controller","game controllers","game dev","game developer","haptic","haptics","phase","plugin","plug-in","plugins","unity","unity plug-ins"],"primaryTopicID":91,"topicIds":[82,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"61FA2BB5-E540-4E1C-8AEE-4E03F5CF7C1D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10065\/5\/C221E77C-502C-47CD-B0C4-9091B529DD77\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10065\/5\/C221E77C-502C-47CD-B0C4-9091B529DD77\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10065\/5\/C221E77C-502C-47CD-B0C4-9091B529DD77\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10065\/5\/C221E77C-502C-47CD-B0C4-9091B529DD77\/downloads\/wwdc2022-10065_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10065\/5\/C221E77C-502C-47CD-B0C4-9091B529DD77\/downloads\/wwdc2022-10065_sd.mp4","duration":1601,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10123","wwdc2022-10064","wwdc2022-10151","wwdc2022-110552","wwdc2022-110553","wwdc2022-110647","wwdc2022-110648","wwdc2022-110649","wwdc2022-110658","wwdc2022-110662","wwdc2022-110663","wwdc2022-110664","wwdc2022-110846","wwdc2022-110930","wwdc2021-10079","wwdc2021-10081","wwdc2021-10278","wwdc2020-10145","wwdc2020-10614","wwdc2020-10618","wwdc2020-10619"],"resources":[2431,2228,1798,1754,827,758]}},"wwdc2022-10105":{"id":"wwdc2022-10105","staticContentId":6599,"eventContentId":10105,"eventId":"wwdc2022","contentUpdatedAt":"2025-01-15T14:08:43-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10105","languageCode":"eng","description":"Learn how to simplify your ray tracing code and increase performance with the power of Metal 3. We\u2019ll explore the GPU debugging and profiling tools that can help you tune your ray tracing applications. We'll also show you how you can speed up intersection tests and reduce shader code memory accesses and indirections with per-primitive data in an acceleration structure. And we'll help you implement faster acceleration structure builds and refits to reduce load times and per-frame overhead. ","title":"Maximize your Metal ray tracing performance","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["game dev","game developer","metal","metal 3","metal shading language","metal tools","optimization","proapps","raytracing","ray tracing"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"453C0B07-38A7-45BF-AA6E-C09D8D0D242F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10105\/7\/A0348CEB-F711-422B-9FA4-D1A0E1DB8BF8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10105\/7\/A0348CEB-F711-422B-9FA4-D1A0E1DB8BF8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10105\/7\/A0348CEB-F711-422B-9FA4-D1A0E1DB8BF8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10105\/7\/A0348CEB-F711-422B-9FA4-D1A0E1DB8BF8\/downloads\/wwdc2022-10105_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10105\/7\/A0348CEB-F711-422B-9FA4-D1A0E1DB8BF8\/downloads\/wwdc2022-10105_sd.mp4","duration":1883,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10128","wwdc2022-10066","wwdc2022-10101","wwdc2022-110645","wwdc2022-110646","wwdc2022-110649","wwdc2022-110666","wwdc2022-110667","wwdc2022-110670","wwdc2021-10157","wwdc2020-10616","tech-talks-111374","tech-talks-111375"],"resources":[880,38]}},"wwdc2022-10043":{"id":"wwdc2022-10043","staticContentId":6536,"eventContentId":10043,"eventId":"wwdc2022","contentUpdatedAt":"2026-06-08T15:29:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10043","languageCode":"eng","description":"Discover the latest updates to App Store Connect, your suite of tools to create, manage, and submit apps on the App Store. Learn about enhancements to the submission experience \u2014 including the ability to manage submissions in App Store Connect on iOS and iPadOS \u2014 as well as the newest updates to the App Store Connect API and much more.","title":"What's new in App Store Connect","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[90,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2ECEF2DC-D78F-4094-ADAF-234FD2C14F7D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10043\/3\/F1797DDF-C678-4B65-9571-42C3B99B40B8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10043\/3\/F1797DDF-C678-4B65-9571-42C3B99B40B8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10043\/3\/F1797DDF-C678-4B65-9571-42C3B99B40B8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10043\/3\/F1797DDF-C678-4B65-9571-42C3B99B40B8\/downloads\/wwdc2022-10043_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10043\/3\/F1797DDF-C678-4B65-9571-42C3B99B40B8\/downloads\/wwdc2022-10043_sd.mp4","duration":555,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110697","wwdc2022-110698","wwdc2022-110700","wwdc2022-110701","wwdc2022-110702","wwdc2022-110703","wwdc2022-110704","wwdc2022-110705","wwdc2022-110706","wwdc2022-110708","wwdc2022-110709","wwdc2022-110710","wwdc2022-110751"],"resources":[1626,462]}},"wwdc2022-10072":{"id":"wwdc2022-10072","staticContentId":6566,"eventContentId":10072,"eventId":"wwdc2022","contentUpdatedAt":"2024-12-03T11:51:51-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10072","languageCode":"eng","description":"Learn how to take advantage of the power of SwiftUI in your UIKit app. Build custom UICollectionView and UITableView cells seamlessly with SwiftUI using UIHostingConfiguration. We\u2019ll also show you how to manage data flow between UIKit and SwiftUI components within your app.\n\nTo get the most out of this session, we encourage basic familiarity with SwiftUI.","title":"Use SwiftUI with UIKit","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0D95E2A9-9E86-42E9-AC0F-18227D3E7E94","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10072\/4\/03036EB8-1A2E-4ADD-A5A3-C50A9AFA841C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10072\/4\/03036EB8-1A2E-4ADD-A5A3-C50A9AFA841C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10072\/4\/03036EB8-1A2E-4ADD-A5A3-C50A9AFA841C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10072\/4\/03036EB8-1A2E-4ADD-A5A3-C50A9AFA841C\/downloads\/wwdc2022-10072_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10072\/4\/03036EB8-1A2E-4ADD-A5A3-C50A9AFA841C\/downloads\/wwdc2022-10072_sd.mp4","duration":1569,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10068","wwdc2022-10136","wwdc2022-110393","wwdc2022-110394","wwdc2022-110395","wwdc2022-110419","wwdc2022-110829","wwdc2022-110830","wwdc2022-110859","wwdc2022-110860","wwdc2022-110932","wwdc2020-10027","wwdc2020-10040"],"resources":[2481,2480,2479,2475,2474,2472,2471,261]}},"wwdc2022-10135":{"id":"wwdc2022-10135","staticContentId":6632,"eventContentId":10135,"eventId":"wwdc2022","contentUpdatedAt":"2024-03-27T14:25:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10135","languageCode":"eng","description":"Find out how Bluetooth devices can send timely and relevant alerts to Apple Watch. We'll show you how to take advantage of periodic data in complications, explore background peripheral discovery, and help you learn how to use characteristic monitoring in watchOS. We'll also share best practices and design guidance for creating a great Bluetooth accessory.","title":"Get timely alerts from Bluetooth devices on watchOS","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","watchOS"],"primaryTopicID":101,"topicIds":[92,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1EDC64CF-D8DD-4299-B052-762D99009B67","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10135\/4\/B6405ED7-98EE-473C-8174-144D5E72CA02\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10135\/4\/B6405ED7-98EE-473C-8174-144D5E72CA02\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10135\/4\/B6405ED7-98EE-473C-8174-144D5E72CA02\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10135\/4\/B6405ED7-98EE-473C-8174-144D5E72CA02\/downloads\/wwdc2022-10135_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10135\/4\/B6405ED7-98EE-473C-8174-144D5E72CA02\/downloads\/wwdc2022-10135_sd.mp4","duration":833,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110446","wwdc2022-110448","wwdc2022-110792","wwdc2021-10005"],"resources":[2511,172]}},"wwdc2022-110341":{"id":"wwdc2022-110341","staticContentId":6693,"eventContentId":110341,"eventId":"wwdc2022","contentUpdatedAt":"2024-12-17T15:18:47-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110341","languageCode":"eng","description":"SMS message filter extensions can help people manage Messages by filtering SMS messages from unknown senders. Discover how to create apps with message filter extensions that automatically categorize SMS messages into folders and sub-folders based on message contents and other heuristics.","title":"Explore SMS message filters","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["junk","promotions","transactions"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AAE7B145-F87D-4A2A-B780-306A9B61E087","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110341\/3\/B3803998-3525-4D12-A13D-CFE6C8435AAF\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110341\/3\/B3803998-3525-4D12-A13D-CFE6C8435AAF\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110341\/3\/B3803998-3525-4D12-A13D-CFE6C8435AAF\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110341\/3\/B3803998-3525-4D12-A13D-CFE6C8435AAF\/downloads\/wwdc2022-110341_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110341\/3\/B3803998-3525-4D12-A13D-CFE6C8435AAF\/downloads\/wwdc2022-110341_sd.mp4","duration":757,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"resources":[2343]}},"wwdc2022-10143":{"id":"wwdc2022-10143","staticContentId":6640,"eventContentId":10143,"eventId":"wwdc2022","contentUpdatedAt":"2025-01-16T15:10:28-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10143","languageCode":"eng","description":"Learn how to use Managed Device Attestation to ensure only legitimate devices can connect to your servers while attackers are thwarted. We'll take you through an overview of how attestations provide strong evidence about managed devices. We'll also explore how to use attestations and private keys generated by the Secure Enclave to secure communications to services such as MDM, VPN, and Wi-Fi.","title":"Discover Managed Device Attestation","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","tvOS"],"keywords":["acme","attestation","certificates","cryptography","device identity","device management","idp","mdm","security","zero trust","zero trust architecture","zero trust network architecture","zta","ztna"],"primaryTopicID":89,"topicIds":[96,89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"044C5BBF-54ED-4020-99D9-9AD81AF6730A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10143\/3\/585D8CA2-12BF-4F97-8DDD-11A5561BD143\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10143\/3\/585D8CA2-12BF-4F97-8DDD-11A5561BD143\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10143\/3\/585D8CA2-12BF-4F97-8DDD-11A5561BD143\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10143\/3\/585D8CA2-12BF-4F97-8DDD-11A5561BD143\/downloads\/wwdc2022-10143_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10143\/3\/585D8CA2-12BF-4F97-8DDD-11A5561BD143\/downloads\/wwdc2022-10143_sd.mp4","duration":1435,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10040","wwdc2022-10045","wwdc2022-110517"],"resources":[2359,2353,581]}},"wwdc2022-10071":{"id":"wwdc2022-10071","staticContentId":6565,"eventContentId":10071,"eventId":"wwdc2022","contentUpdatedAt":"2025-03-26T11:14:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10071","languageCode":"eng","description":"Discover advanced desktop-class editing features that can help people accelerate their productivity in your app. Learn how you can provide more interactions inline with your UI to help people quickly access editing features and make your iPadOS app feel right at home on macOS with Mac Catalyst. We\u2019ll also explore the highly-customizable find interaction and learn how the system UI can help people consistently find content in your app.","title":"Adopt desktop-class editing interactions","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"91C9BC5C-EE73-4A5A-B1C4-EDCFD2046E55","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10071\/4\/A7198C26-97D7-49C3-8FE7-907808F342DE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10071\/4\/A7198C26-97D7-49C3-8FE7-907808F342DE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10071\/4\/A7198C26-97D7-49C3-8FE7-907808F342DE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10071\/4\/A7198C26-97D7-49C3-8FE7-907808F342DE\/downloads\/wwdc2022-10071_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10071\/4\/A7198C26-97D7-49C3-8FE7-907808F342DE\/downloads\/wwdc2022-10071_sd.mp4","duration":1259,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10068","wwdc2022-10069","wwdc2022-10070","wwdc2022-110811","wwdc2022-110829","wwdc2022-110830","wwdc2022-110859","wwdc2022-110860","wwdc2022-110909","wwdc2019-224","wwdc2019-235"],"resources":[2415,2414,2413,2412]}},"wwdc2022-10037":{"id":"wwdc2022-10037","staticContentId":6530,"eventContentId":10037,"eventId":"wwdc2022","contentUpdatedAt":"2024-05-31T13:14:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10037","languageCode":"eng","description":"The words and phrases you choose for your app matter. Whether you\u2019re writing an alert, building an onboarding experience, or describing an image for accessibility, learn how you can design through the lens of language and help people get the most from your app. We'll show you how to create clear, conversational, and helpful writing and provide tips for applying these techniques to your work.\n","title":"Writing for interfaces","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["copy","description","editorial design","label","message","text","title","ui copy"],"primaryTopicID":87,"topicIds":[90,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E58B8A59-15C1-4FB4-B61A-23DBA2AF6D28","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10037\/6\/63F99354-D35D-475C-8069-74E58C813299\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10037\/6\/63F99354-D35D-475C-8069-74E58C813299\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10037\/6\/63F99354-D35D-475C-8069-74E58C813299\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10037\/6\/63F99354-D35D-475C-8069-74E58C813299\/downloads\/wwdc2022-10037_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10037\/6\/63F99354-D35D-475C-8069-74E58C813299\/downloads\/wwdc2022-10037_sd.mp4","duration":1410,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110532","wwdc2022-110609","wwdc2022-110932"],"resources":[430,389]}},"wwdc2022-10116":{"id":"wwdc2022-10116","staticContentId":6612,"eventContentId":10116,"eventId":"wwdc2022","contentUpdatedAt":"2025-03-05T12:38:31-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10116","languageCode":"eng","description":"Discover how you can manage and automate your iCloud containers using CKTool JS. We\u2019ll show you how to configure CKTool JS to manage your containers\u2019 schemas, modify records with ease, and manipulate data on the fly. We\u2019ll also explore how you can integrate CKTool JS into your automation and tooling workflows. \n\nTo get the most out of this session, we recommend familiarity with CloudKit schemas, JavaScript, and npm.","title":"Meet CKTool JS","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[98,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8034E985-10C4-4215-A5C7-FE444311DF73","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10116\/5\/1DD917FC-5154-4B41-93E7-4D8731FB6D2E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10116\/5\/1DD917FC-5154-4B41-93E7-4D8731FB6D2E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10116\/5\/1DD917FC-5154-4B41-93E7-4D8731FB6D2E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10116\/5\/1DD917FC-5154-4B41-93E7-4D8731FB6D2E\/downloads\/wwdc2022-10116_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10116\/5\/1DD917FC-5154-4B41-93E7-4D8731FB6D2E\/downloads\/wwdc2022-10116_sd.mp4","duration":944,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10115","wwdc2022-110673","wwdc2022-110674","wwdc2022-110831","wwdc2022-110834","wwdc2021-10117","wwdc2021-10118"],"resources":[2490,2489,1711]}},"wwdc2022-10001":{"id":"wwdc2022-10001","staticContentId":6490,"eventContentId":10001,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T22:03:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10001","languageCode":"eng","description":"Familiar navigation patterns can help people easily explore the information within your app \u2014 and save them from unnecessary confusion. We\u2019ll show you how to take advantage of existing navigation structures to simplify complex interactions in your app without compromising its personality. Learn best practices and common pitfalls when working with tab bars, modality, and more.","title":"Explore navigation design for iOS","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["hierarchical navigation","information architecture","modality","modal presentations","navigation","navigation best practices","navigation design","tab bars"],"primaryTopicID":87,"topicIds":[90,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"95386734-286A-4C41-8073-28AC9A155F44","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10001\/4\/8F64C0B4-8E12-4C78-A0CB-8B7239AA5D4B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10001\/4\/8F64C0B4-8E12-4C78-A0CB-8B7239AA5D4B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10001\/4\/8F64C0B4-8E12-4C78-A0CB-8B7239AA5D4B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10001\/4\/8F64C0B4-8E12-4C78-A0CB-8B7239AA5D4B\/downloads\/wwdc2022-10001_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10001\/4\/8F64C0B4-8E12-4C78-A0CB-8B7239AA5D4B\/downloads\/wwdc2022-10001_sd.mp4","duration":1533,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110484","wwdc2022-110567","wwdc2022-110569","wwdc2022-110570","wwdc2022-110571","wwdc2022-110572","wwdc2022-110574","wwdc2022-110575","wwdc2022-110576"],"resources":[389]}},"wwdc2022-110357":{"id":"wwdc2022-110357","staticContentId":6711,"eventContentId":110357,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T23:30:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110357","languageCode":"eng","description":"Learn how you can process strings more effectively when you take advantage of Swift Regex. Come for concise literals but stay for Regex builders \u2014 a new, declarative approach to string processing. We'll also explore the Unicode models in String and share how Swift Regex can make Unicode-correct processing easy.","title":"Meet Swift Regex","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[90,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D33ACFA3-DE4A-458D-8289-8C1C779B346B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110357\/3\/8FEA2DD3-43EE-44FB-A856-53169F90D683\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110357\/3\/8FEA2DD3-43EE-44FB-A856-53169F90D683\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110357\/3\/8FEA2DD3-43EE-44FB-A856-53169F90D683\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110357\/3\/8FEA2DD3-43EE-44FB-A856-53169F90D683\/downloads\/wwdc2022-110357_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110357\/3\/8FEA2DD3-43EE-44FB-A856-53169F90D683\/downloads\/wwdc2022-110357_sd.mp4","duration":1378,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110354","wwdc2022-110358","wwdc2022-110427","wwdc2022-110726","wwdc2022-110727","wwdc2022-110728","wwdc2022-110729","wwdc2022-110730","wwdc2022-110731","wwdc2022-110732","wwdc2022-110921","wwdc2022-110929"]}},"wwdc2022-110367":{"id":"wwdc2022-110367","staticContentId":6721,"eventContentId":110367,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T22:59:54-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110367","languageCode":"eng","description":"Discover how C++20 features can take your C++ code to the next level. We\u2019ll introduce concepts and explore how you can use it to find errors faster in your generic C++ code. We\u2019ll also discuss the latest enhancements to the constexpr feature and show how you can leverage it to improve your app's performance by evaluating code at compile time.","title":"Simplify C++ templates with concepts","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4EAB062F-DE26-48AA-91D3-0D4C6CA2D0B7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110367\/3\/0C225661-78FA-4245-9A79-C80C825B2DBE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110367\/3\/0C225661-78FA-4245-9A79-C80C825B2DBE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110367\/3\/0C225661-78FA-4245-9A79-C80C825B2DBE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110367\/3\/0C225661-78FA-4245-9A79-C80C825B2DBE\/downloads\/wwdc2022-110367_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110367\/3\/0C225661-78FA-4245-9A79-C80C825B2DBE\/downloads\/wwdc2022-110367_sd.mp4","duration":1626,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110362","wwdc2022-110716","wwdc2022-110718","wwdc2022-110922","wwdc2022-110923"],"resources":[2536,2535]}},"wwdc2022-10049":{"id":"wwdc2022-10049","staticContentId":6542,"eventContentId":10049,"eventId":"wwdc2022","contentUpdatedAt":"2024-11-22T12:32:11-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10049","languageCode":"eng","description":"Explore the latest updates to WKWebView, our framework for incorporating web content into your app\u2019s interface. We\u2019ll show you how to use the JavaScript fullscreen API, explore CSS viewport units, and learn more about find interactions. We\u2019ll also take you through refinements to content blocking controls, embedding encrypted media, and using the Web Inspector.","title":"What's new in WKWebView","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":83,"topicIds":[90,98,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5956D519-4D1E-4638-B31F-773475944F3E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10049\/3\/47260DC4-814E-466D-AD96-D29DFC5459BA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10049\/3\/47260DC4-814E-466D-AD96-D29DFC5459BA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10049\/3\/47260DC4-814E-466D-AD96-D29DFC5459BA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10049\/3\/47260DC4-814E-466D-AD96-D29DFC5459BA\/downloads\/wwdc2022-10049_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10049\/3\/47260DC4-814E-466D-AD96-D29DFC5459BA\/downloads\/wwdc2022-10049_sd.mp4","duration":525,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10048","wwdc2022-110485","wwdc2022-110535"],"resources":[1563,1386,772,338]}},"wwdc2022-110349":{"id":"wwdc2022-110349","staticContentId":6703,"eventContentId":110349,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T01:46:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110349","languageCode":"eng","description":"Learn how you can build guided instructional content designed for Swift Playgrounds. Follow along with us as we explore how you can add a guide to a completed sample code project. We'll demonstrate how to add tasks to your learning center to show off relevant code and optional experiment tasks that encourage learners to extend the project with code of their own.","title":"Create engaging content for Swift Playgrounds","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["swift playgrounds"],"primaryTopicID":99,"topicIds":[89,88,90,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A52B67AB-8CD3-45DB-806F-F5A6DEABD550","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110349\/4\/767821EC-6C4C-4F9E-8C8D-1B231B8E1226\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110349\/4\/767821EC-6C4C-4F9E-8C8D-1B231B8E1226\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110349\/4\/767821EC-6C4C-4F9E-8C8D-1B231B8E1226\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110349\/4\/767821EC-6C4C-4F9E-8C8D-1B231B8E1226\/downloads\/wwdc2022-110349_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110349\/4\/767821EC-6C4C-4F9E-8C8D-1B231B8E1226\/downloads\/wwdc2022-110349_sd.mp4","duration":1226,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110348","wwdc2022-110490","wwdc2022-110930"],"resources":[1348]}},"wwdc2022-10048":{"id":"wwdc2022-10048","staticContentId":6541,"eventContentId":10048,"eventId":"wwdc2022","contentUpdatedAt":"2025-06-06T10:54:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10048","languageCode":"eng","description":"Explore the latest features in Safari and WebKit and learn how you can make better and more powerful websites. We\u2019ll take you on a tour through the latest updates to HTML, CSS enhancements, Web Inspector tooling, Web APIs, and more.","title":"What's new in Safari and WebKit","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DFED24EC-8A85-4194-8724-858A4C218DA8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10048\/4\/8DF121DF-6825-4FBB-B570-A75F5A44CCB7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10048\/4\/8DF121DF-6825-4FBB-B570-A75F5A44CCB7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10048\/4\/8DF121DF-6825-4FBB-B570-A75F5A44CCB7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10048\/4\/8DF121DF-6825-4FBB-B570-A75F5A44CCB7\/downloads\/wwdc2022-10048_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10048\/4\/8DF121DF-6825-4FBB-B570-A75F5A44CCB7\/downloads\/wwdc2022-10048_sd.mp4","duration":1899,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10118","wwdc2023-10120","wwdc2023-10121","wwdc2023-10122","wwdc2022-10049","wwdc2022-10098","wwdc2022-10099","wwdc2022-10100","wwdc2022-110485","wwdc2022-110487","wwdc2022-110488","wwdc2022-110535"],"resources":[774,773,772,763,738]}},"wwdc2022-10070":{"id":"wwdc2022-10070","staticContentId":6564,"eventContentId":10070,"eventId":"wwdc2022","contentUpdatedAt":"2025-03-26T11:14:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10070","languageCode":"eng","description":"Discover how you can create iPad apps that take advantage of desktop class features. Join Mohammed from the UIKit team as we explore the latest navigation, collection view, menu, and editing APIs and learn best practices for building powerful iPad apps. Code along with this session in real time or download our sample app to use as a reference for updating your own code.","title":"Build a desktop-class iPad app","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"05B2D486-99EC-457F-8D9C-7BF8302BB2DE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10070\/3\/03E2BD27-04DD-4C07-A662-B94B7F784C65\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10070\/3\/03E2BD27-04DD-4C07-A662-B94B7F784C65\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10070\/3\/03E2BD27-04DD-4C07-A662-B94B7F784C65\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10070\/3\/03E2BD27-04DD-4C07-A662-B94B7F784C65\/downloads\/wwdc2022-10070_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10070\/3\/03E2BD27-04DD-4C07-A662-B94B7F784C65\/downloads\/wwdc2022-10070_sd.mp4","duration":1218,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10056","wwdc2022-10009","wwdc2022-10068","wwdc2022-10069","wwdc2022-10071","wwdc2022-10076","wwdc2022-110812","wwdc2022-110829","wwdc2022-110830","wwdc2022-110837","wwdc2022-110854","wwdc2022-110855","wwdc2022-110859","wwdc2022-110860","wwdc2022-110931"],"resources":[2427,2426,2425,2421,2419,2418,2417,2413,2412]}},"wwdc2022-10051":{"id":"wwdc2022-10051","staticContentId":6544,"eventContentId":10051,"eventId":"wwdc2022","contentUpdatedAt":"2025-02-21T11:16:46-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10051","languageCode":"eng","description":"Discover how you can use WidgetKit to create beautiful complications on watch faces. We'll introduce you to the watchOS-specific features found in WidgetKit, and help you migrate from existing ClockKit complications.\n\nFor more on WidgetKit, watch \u201cComplications and Widgets: Reloaded\u201d from WWDC22.","title":"Go further with Complications in WidgetKit","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["watchOS"],"keywords":["accessory circular family","accessory corner","accessory inline","accessory inline family","accessory rectangular","accessorywidgetbackground","auxiliary content","circular complication","clkcomplicationintentmigrationconfiguration","clkcomplicationwidgetmigrator","clockkit","coffeetracker","coffee tracker","complication","complication data source","configuration","corner complication","entries","extra large watch face","intent-based","migration","rich complications",".showswidgetlabel","shows widget label","static","swiftui","templates","timelines","views","watch faces","watch specific family","widget extension","widgetkit",".widgetlabel","widget label"],"primaryTopicID":83,"topicIds":[100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"34240770-1E20-456E-907F-3D06D6C87AFE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10051\/3\/912F72F4-A83D-4923-A276-8B231CB7D837\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10051\/3\/912F72F4-A83D-4923-A276-8B231CB7D837\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10051\/3\/912F72F4-A83D-4923-A276-8B231CB7D837\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10051\/3\/912F72F4-A83D-4923-A276-8B231CB7D837\/downloads\/wwdc2022-10051_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10051\/3\/912F72F4-A83D-4923-A276-8B231CB7D837\/downloads\/wwdc2022-10051_sd.mp4","duration":638,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10050","wwdc2022-110432","wwdc2022-110446","wwdc2022-110448","wwdc2022-110931","wwdc2020-10028","wwdc2020-10048","tech-talks-110356"],"resources":[2905,2904,2903,924]}},"wwdc2022-10152":{"id":"wwdc2022-10152","staticContentId":6651,"eventContentId":10152,"eventId":"wwdc2022","contentUpdatedAt":"2025-08-05T12:08:51-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10152","languageCode":"eng","description":"Learn how you can provide more control and accessibility to people using your apps in Single App Mode. We\u2019ll share how you can use the UIAccessibility and Automatic Assessment Configuration frameworks to apply these restrictions when needed and enable these accessibility features without ever opening the Settings app. We\u2019ll also take you through how you can add custom restrictions within your app to better support the Guided Access feature in iOS, which puts any app into Single App Mode temporarily.","title":"Create accessible Single App Mode experiences","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":82,"topicIds":[89,90,100,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7E0D4F73-42E7-4C16-8F7A-011A48829B98","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10152\/3\/0694C884-66D5-46B5-BAC6-A6671661A771\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10152\/3\/0694C884-66D5-46B5-BAC6-A6671661A771\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10152\/3\/0694C884-66D5-46B5-BAC6-A6671661A771\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10152\/3\/0694C884-66D5-46B5-BAC6-A6671661A771\/downloads\/wwdc2022-10152_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10152\/3\/0694C884-66D5-46B5-BAC6-A6671661A771\/downloads\/wwdc2022-10152_sd.mp4","duration":848,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10034","wwdc2022-110425","wwdc2022-110468","wwdc2022-110469","wwdc2022-110932"],"resources":[2513,2512]}},"wwdc2022-10139":{"id":"wwdc2022-10139","staticContentId":6636,"eventContentId":10139,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T04:13:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10139","languageCode":"eng","description":"Discover how you can design and build a great SharePlay experience. We'll show you how to identify activities in your app that can help bring everyone together \u2014 even while they're apart. Learn best practices to help you design for group activities, create intuitive interactions, and build support for different types of experiences.","title":"Make a great SharePlay experience","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["facetime","group activities","share","shareplay"],"primaryTopicID":83,"topicIds":[84,87,90,92,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0434FDAA-54D6-40CD-8665-E3233DB4AFD2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10139\/5\/67B2BB72-D5FC-4EAE-834D-E7D562F22A4D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10139\/5\/67B2BB72-D5FC-4EAE-834D-E7D562F22A4D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10139\/5\/67B2BB72-D5FC-4EAE-834D-E7D562F22A4D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10139\/5\/67B2BB72-D5FC-4EAE-834D-E7D562F22A4D\/downloads\/wwdc2022-10139_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10139\/5\/67B2BB72-D5FC-4EAE-834D-E7D562F22A4D\/downloads\/wwdc2022-10139_sd.mp4","duration":1118,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10140","wwdc2022-110380","wwdc2022-110554","wwdc2022-110555","wwdc2022-110815","wwdc2022-110822","wwdc2022-110824","wwdc2022-110932","wwdc2021-10225"],"resources":[2274,2273]}},"wwdc2022-110375":{"id":"wwdc2022-110375","staticContentId":6730,"eventContentId":110375,"eventId":"wwdc2022","contentUpdatedAt":"2024-05-11T14:16:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110375","languageCode":"eng","description":"Learn how you can use Apple\u2019s continuous integration and continuous delivery (CI\/CD) service with development teams of any size to help you deliver high-quality apps. We\u2019ll show you how to integrate Xcode Cloud into your team\u2019s existing app development process and efficiently use Xcode Cloud in your CI\/CD practice. We\u2019ll also demonstrate how you can use the App Store Connect API to integrate Xcode Cloud with an issue tracker, explore code dependency management, and share best practices.\n\nTo get the most out of this session, we recommend first watching \u201cCustomize your advanced Xcode Cloud workflows\u201d from WWDC21.","title":"Deep dive into Xcode Cloud for teams","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EA840A24-9C66-4774-AEFC-EB588A281629","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110375\/5\/6C8AD7C3-EFFA-4253-82F2-3B8488E3519A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110375\/5\/6C8AD7C3-EFFA-4253-82F2-3B8488E3519A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110375\/5\/6C8AD7C3-EFFA-4253-82F2-3B8488E3519A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110375\/5\/6C8AD7C3-EFFA-4253-82F2-3B8488E3519A\/downloads\/wwdc2022-110375_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110375\/5\/6C8AD7C3-EFFA-4253-82F2-3B8488E3519A\/downloads\/wwdc2022-110375_sd.mp4","duration":924,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10278","wwdc2022-110361","wwdc2022-110374","wwdc2022-110741","wwdc2022-110742","wwdc2022-110743","wwdc2022-110744","wwdc2022-110745","wwdc2022-110746","wwdc2022-110925","articles-110934"],"resources":[1653,1651,1650,1649,1648,1647,1645,1618]}},"wwdc2022-10093":{"id":"wwdc2022-10093","staticContentId":6587,"eventContentId":10093,"eventId":"wwdc2022","contentUpdatedAt":"2025-09-17T13:58:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10093","languageCode":"eng","description":"Discover how the SharedWithYou framework can augment your app's collaboration infrastructure. We'll show you how to send secure invitations to collaborative content and synchronize participant changes. We'll also cover displaying content updates within the relevant conversation.\n\nFor an introduction to SharedWithYou, watch \"Add Shared with You to your app\" from WWDC22. For an overview of the collaboration UI APIs, watch \"Enhance collaboration experiences with Messages\" from WWDC22.","title":"Integrate your custom collaboration app with Messages","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[83,100,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"39FE3E81-AB11-4FEE-AE05-37951E2ADB12","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10093\/3\/D9CE5DEB-FE73-4FEF-9993-9551EB58CBDC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10093\/3\/D9CE5DEB-FE73-4FEF-9993-9551EB58CBDC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10093\/3\/D9CE5DEB-FE73-4FEF-9993-9551EB58CBDC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10093\/3\/D9CE5DEB-FE73-4FEF-9993-9551EB58CBDC\/downloads\/wwdc2022-10093_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10093\/3\/D9CE5DEB-FE73-4FEF-9993-9551EB58CBDC\/downloads\/wwdc2022-10093_sd.mp4","duration":1709,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10052","wwdc2022-10062","wwdc2022-10074","wwdc2022-10094","wwdc2022-10095","wwdc2022-110881","wwdc2022-110882"]}},"wwdc2022-10015":{"id":"wwdc2022-10015","staticContentId":6506,"eventContentId":10015,"eventId":"wwdc2022","contentUpdatedAt":"2025-09-17T13:58:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10015","languageCode":"eng","description":"Discover how you can design great collaboration experiences using Apple platforms. We\u2019ll show you how to combine the Share Sheet, live editing notifications, Messages, FaceTime, and your app\u2019s existing collaboration features to help people connect and collaborate effortlessly.","title":"Design for Collaboration with Messages","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["activity view","uiactivityview"],"primaryTopicID":87,"topicIds":[90,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"74342B30-92E9-48F3-B0F2-6E42C8FD9391","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10015\/4\/EE2F3B42-E5BA-4A10-99CE-3BBF209E1035\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10015\/4\/EE2F3B42-E5BA-4A10-99CE-3BBF209E1035\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10015\/4\/EE2F3B42-E5BA-4A10-99CE-3BBF209E1035\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10015\/4\/EE2F3B42-E5BA-4A10-99CE-3BBF209E1035\/downloads\/wwdc2022-10015_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10015\/4\/EE2F3B42-E5BA-4A10-99CE-3BBF209E1035\/downloads\/wwdc2022-10015_sd.mp4","duration":689,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110931"]}},"wwdc2022-10117":{"id":"wwdc2022-10117","staticContentId":6613,"eventContentId":10117,"eventId":"wwdc2022","contentUpdatedAt":"2024-02-06T10:43:19-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10117","languageCode":"eng","description":"We\u2019re coming in loud and clear to help you bring walkie-talkie communication to your app \u2014 over! Discover how you can add prominent system UI to your Push to Talk app, enabling rapid communication with the tap of a button. We\u2019ll introduce you to the PushToTalk framework and show you how to configure your apps to transmit and receive audio \u2014 even from the background.\n\nTo get the most out of this session, we recommend familiarity with handling audio transmission on your app backend. We also recommend a basic understanding of APNs.","title":"Enhance voice communication with Push to Talk","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"89FFE07F-EE5B-4E22-B485-C638C59BCDCE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10117\/3\/BC2A00F7-7836-4346-B4DD-143192926205\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10117\/3\/BC2A00F7-7836-4346-B4DD-143192926205\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10117\/3\/BC2A00F7-7836-4346-B4DD-143192926205\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10117\/3\/BC2A00F7-7836-4346-B4DD-143192926205\/downloads\/wwdc2022-10117_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10117\/3\/BC2A00F7-7836-4346-B4DD-143192926205\/downloads\/wwdc2022-10117_sd.mp4","duration":1284,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10078","wwdc2022-10083","wwdc2022-110328","wwdc2022-110672","wwdc2022-110930","tech-talks-110356"],"resources":[2482]}},"wwdc2022-10155":{"id":"wwdc2022-10155","staticContentId":6654,"eventContentId":10155,"eventId":"wwdc2022","contentUpdatedAt":"2026-06-22T16:59:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10155","languageCode":"eng","description":"Discover how you can support complex screen capture experiences for people using your app with ScreenCaptureKit. We\u2019ll explore many of the advanced options you can incorporate including fine tuning content filters, frame metadata interpretation, window pickers, and more. We\u2019ll also show you how you can configure your stream for optimal performance.","title":"Take ScreenCaptureKit to the next level","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"keywords":["audio capture","screen capture","screencapturekit","streaming","video capture"],"primaryTopicID":91,"topicIds":[84,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F5E78114-22F8-4568-B7BC-0F14CD05C763","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10155\/5\/6A4BFEE6-F1BC-4E6A-9A03-13EBF7D38664\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10155\/5\/6A4BFEE6-F1BC-4E6A-9A03-13EBF7D38664\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10155\/5\/6A4BFEE6-F1BC-4E6A-9A03-13EBF7D38664\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10155\/5\/6A4BFEE6-F1BC-4E6A-9A03-13EBF7D38664\/downloads\/wwdc2022-10155_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10155\/5\/6A4BFEE6-F1BC-4E6A-9A03-13EBF7D38664\/downloads\/wwdc2022-10155_sd.mp4","duration":2239,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10136","wwdc2022-10156","wwdc2022-110652","wwdc2022-110659","wwdc2022-110660","wwdc2022-110669"],"resources":[2438,2437]}},"wwdc2022-10038":{"id":"wwdc2022-10038","staticContentId":6531,"eventContentId":10038,"eventId":"wwdc2022","contentUpdatedAt":"2024-12-02T14:50:19-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10038","languageCode":"eng","description":"SKAdNetwork helps advertisers measure the success of ad campaigns while maintaining user privacy. We'll explore the latest updates to ad attributions including hierarchical source IDs, hierarchical conversion values, multiple conversions, and SKAdNetwork attributions for web ads. We'll also take you through the importance of crowd anonymity and how you can validate SKAdNetwork impressions through testing in Xcode 13.","title":"What's new with SKAdNetwork","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["advertise","catalyst"],"primaryTopicID":83,"topicIds":[86,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A2162645-D551-430A-AF7A-C40836E263EB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10038\/4\/42910CBB-36EB-4C09-9234-DAB67E71BAA6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10038\/4\/42910CBB-36EB-4C09-9234-DAB67E71BAA6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10038\/4\/42910CBB-36EB-4C09-9234-DAB67E71BAA6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10038\/4\/42910CBB-36EB-4C09-9234-DAB67E71BAA6\/downloads\/wwdc2022-10038_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10038\/4\/42910CBB-36EB-4C09-9234-DAB67E71BAA6\/downloads\/wwdc2022-10038_sd.mp4","duration":1213,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10039","wwdc2022-10166","wwdc2022-110582","wwdc2022-110758","wwdc2022-110759","wwdc2021-10033"],"resources":[2382,1635]}},"wwdc2022-10006":{"id":"wwdc2022-10006","staticContentId":6495,"eventContentId":10006,"eventId":"wwdc2022","contentUpdatedAt":"2024-09-13T13:30:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10006","languageCode":"eng","description":"Simplify your app\u2019s mapping architecture by implementing the Apple Maps stack across MapKit, MapKit JS, and Apple Maps Server APIs. Learn how these APIs can reduce network calls and increase power efficiency, which can help improve the overall performance of your app. We'll show you how to use geocoding and estimated time of arrival APIs to build functionality for a simple store locator, and explore the API authentication flow.","title":"Meet Apple Maps Server APIs","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":93,"topicIds":[98,93],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3DCA0649-A5F9-4D12-BE9D-CAB428FDD71D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10006\/3\/30C45DFC-CD54-4D31-894F-9954C9A58C93\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10006\/3\/30C45DFC-CD54-4D31-894F-9954C9A58C93\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10006\/3\/30C45DFC-CD54-4D31-894F-9954C9A58C93\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10006\/3\/30C45DFC-CD54-4D31-894F-9954C9A58C93\/downloads\/wwdc2022-10006_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10006\/3\/30C45DFC-CD54-4D31-894F-9954C9A58C93\/downloads\/wwdc2022-10006_sd.mp4","duration":798,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10043","wwdc2022-10035","wwdc2022-110527","wwdc2022-110747","tech-talks-110356"],"resources":[2496,2491,2355,2354,414,173]}},"wwdc2022-10095":{"id":"wwdc2022-10095","staticContentId":6589,"eventContentId":10095,"eventId":"wwdc2022","contentUpdatedAt":"2025-09-17T13:58:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10095","languageCode":"eng","description":"Discover how you can help improve communication and collaboration in your app with Collaboration in Messages. Learn how to tie a document to Messages conversations for simple sharing and discussion. Explore how you can keep everyone in the conversation up to date on the latest activity in the document. And find out how you can add customizable UI in your app to manage collaboration details and connect documents to Messages conversations and FaceTime calls. \n\nTo learn more about the SharedWithYou framework, we recommend watching \"Add Shared with You to your app.\u201d For more information on adding collaboration APIs to apps that have custom collaboration infrastructure, check out \"Integrate your custom collaboration app with Messages.\u201d","title":"Enhance collaboration experiences with Messages","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[83,100,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9785075B-13E9-4631-AD74-77B814019BF4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10095\/5\/DB09B90A-7453-4E3F-90E9-4AB7322DD253\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10095\/5\/DB09B90A-7453-4E3F-90E9-4AB7322DD253\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10095\/5\/DB09B90A-7453-4E3F-90E9-4AB7322DD253\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10095\/5\/DB09B90A-7453-4E3F-90E9-4AB7322DD253\/downloads\/wwdc2022-10095_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10095\/5\/DB09B90A-7453-4E3F-90E9-4AB7322DD253\/downloads\/wwdc2022-10095_sd.mp4","duration":1447,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10052","wwdc2022-10062","wwdc2022-10074","wwdc2022-10093","wwdc2022-10094","wwdc2022-110881","wwdc2022-110882","wwdc2021-10086"]}},"wwdc2022-10110":{"id":"wwdc2022-10110","staticContentId":6604,"eventContentId":10110,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T23:22:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10110","languageCode":"eng","description":"Learn how you can run your apps on devices around the world and help everyone have a great experience \u2014 regardless of the language they speak. We'll explore how Apple APIs can provide a solid foundation when creating apps for diverse audiences, and we'll share examples, challenges, and best practices from our own experiences.","title":"Build global apps: Localization by example","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["\ud83c\udf0d","\ud83c\udf0e","\ud83c\udf0f","formatters","i10n","international","internationalization","l18n","stringsdict","swift packages","swiftui","translation"],"primaryTopicID":100,"topicIds":[82,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D48A822F-3A34-4D89-B65F-CC145BCDC8E3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10110\/3\/9DDED4EB-547B-46DD-AEE5-9D3F2C60CFF8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10110\/3\/9DDED4EB-547B-46DD-AEE5-9D3F2C60CFF8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10110\/3\/9DDED4EB-547B-46DD-AEE5-9D3F2C60CFF8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10110\/3\/9DDED4EB-547B-46DD-AEE5-9D3F2C60CFF8\/downloads\/wwdc2022-10110_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10110\/3\/9DDED4EB-547B-46DD-AEE5-9D3F2C60CFF8\/downloads\/wwdc2022-10110_sd.mp4","duration":1337,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10153","wwdc2022-10034","wwdc2022-10056","wwdc2022-10107","wwdc2022-110427","wwdc2022-110463","wwdc2022-110464","wwdc2022-110540","wwdc2022-110813","wwdc2021-10221","wwdc2020-10160","wwdc2020-10169"],"resources":[2345,1555,1353,109]}},"wwdc2022-110364":{"id":"wwdc2022-110364","staticContentId":6718,"eventContentId":110364,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T02:52:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110364","languageCode":"eng","description":"Learn how the Xcode build system extracts maximum parallelism from your builds. We'll explore how you can structure your project to improve build efficiency, take you through the process for resolving relationships between targets\u2019 build phases in Xcode, and share how you can take full advantage of available hardware resources when compiling in Swift. We'll also introduce you to Build Timeline \u2014 a powerful tool to help you monitor your build efficiency and performance.","title":"Demystify parallelization in Xcode builds","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C805ACEF-693C-44E2-8291-D5BEEEA8F4CF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110364\/4\/BA2A87DE-2A6F-4BB2-A81F-2403413E96AB\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110364\/4\/BA2A87DE-2A6F-4BB2-A81F-2403413E96AB\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110364\/4\/BA2A87DE-2A6F-4BB2-A81F-2403413E96AB\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110364\/4\/BA2A87DE-2A6F-4BB2-A81F-2403413E96AB\/downloads\/wwdc2022-110364_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110364\/4\/BA2A87DE-2A6F-4BB2-A81F-2403413E96AB\/downloads\/wwdc2022-110364_sd.mp4","duration":1515,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110354","wwdc2022-110362","wwdc2022-110427","wwdc2022-110714","wwdc2022-110715","wwdc2022-110924","wwdc2022-110927","wwdc2018-415"],"resources":[1751]}},"wwdc2022-10101":{"id":"wwdc2022-10101","staticContentId":6595,"eventContentId":10101,"eventId":"wwdc2022","contentUpdatedAt":"2025-01-15T15:08:16-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10101","languageCode":"eng","description":"Learn how you can unleash powerful rendering techniques like ray tracing when you go bindless with Metal 3. We'll show you how to make your app\u2019s bindless journey a joy by simplifying argument buffers, allocating acceleration structures from heaps, and benefitting from the improvements to the Metal\u2019s validation layer and Debugger Tools. We'll also explore how you can command more CPU and GPU performance with long-term resource structures.\n","title":"Go bindless with Metal 3","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["3d graphics","bindless","game","game dev","game developer","metal","metal shading language","metal tools","proapps","raytracing"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D7A259D7-3629-4B72-8B4F-4951F4DAD624","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10101\/4\/E7651C9D-CAC8-44A9-9BF8-8D0DC317F4A2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10101\/4\/E7651C9D-CAC8-44A9-9BF8-8D0DC317F4A2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10101\/4\/E7651C9D-CAC8-44A9-9BF8-8D0DC317F4A2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10101\/4\/E7651C9D-CAC8-44A9-9BF8-8D0DC317F4A2\/downloads\/wwdc2022-10101_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10101\/4\/E7651C9D-CAC8-44A9-9BF8-8D0DC317F4A2\/downloads\/wwdc2022-10101_sd.mp4","duration":2054,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10124","wwdc2022-10066","wwdc2022-10105","wwdc2022-10106","wwdc2022-110645","wwdc2022-110646","wwdc2022-110649","wwdc2022-110666","wwdc2022-110667","wwdc2022-110670","wwdc2021-10149","wwdc2021-10150","wwdc2021-10286"],"resources":[2223,365,38]}},"wwdc2022-10075":{"id":"wwdc2022-10075","staticContentId":6569,"eventContentId":10075,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T04:10:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10075","languageCode":"eng","description":"Discover how the Shortcuts app uses both SwiftUI and AppKit to create a top-tier experience on macOS. Follow along with the Shortcuts team as we explore how you can host SwiftUI views in AppKit code, handle layout and sizing, participate in the responder chain, enable navigational focus, and more. We\u2019ll also show you how to host AppKit views, helping you migrate existing code into a SwiftUI layout within your app.","title":"Use SwiftUI with AppKit","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A6A67299-AE91-4E68-B74E-7936638A61D9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10075\/5\/041C40B8-2F14-4B08-8406-CFCE8E85A1B0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10075\/5\/041C40B8-2F14-4B08-8406-CFCE8E85A1B0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10075\/5\/041C40B8-2F14-4B08-8406-CFCE8E85A1B0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10075\/5\/041C40B8-2F14-4B08-8406-CFCE8E85A1B0\/downloads\/wwdc2022-10075_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10075\/5\/041C40B8-2F14-4B08-8406-CFCE8E85A1B0\/downloads\/wwdc2022-10075_sd.mp4","duration":1152,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10074","wwdc2022-110393","wwdc2022-110394","wwdc2022-110395","wwdc2022-110419","wwdc2022-110829","wwdc2022-110830","wwdc2022-110856","wwdc2022-110857","wwdc2021-10023"],"resources":[2488,2471]}},"wwdc2022-10142":{"id":"wwdc2022-10142","staticContentId":6639,"eventContentId":10142,"eventId":"wwdc2022","contentUpdatedAt":"2024-11-13T17:17:03-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10142","languageCode":"eng","description":"Background Tasks help apps respond to system events and keep time-sensitive data up to date. Learn how you can use the SwiftUI Background Tasks API to handle tasks succinctly. We\u2019ll show you how to use Swift Concurrency to handle network responses, background refresh, and more \u2014 all while preserving performance and power.","title":"Efficiency awaits: Background tasks in SwiftUI","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":[".apprefresh","app refresh task","async","async await","background runtime",".backgroundtask","background task","concurrency",".downloadtask","foreground runtime","notification","stormy","suspend application","suspended app","swift concurrency","task","url background task","urlsession","urlsessionconfiguration","wake app","withtaskcancellationhandler"],"primaryTopicID":100,"topicIds":[83,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"69D00654-C60C-40F9-B7BF-5C19070A8E71","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10142\/4\/D8D87522-CCCC-46BA-8C48-ECA2A5F9E36E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10142\/4\/D8D87522-CCCC-46BA-8C48-ECA2A5F9E36E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10142\/4\/D8D87522-CCCC-46BA-8C48-ECA2A5F9E36E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10142\/4\/D8D87522-CCCC-46BA-8C48-ECA2A5F9E36E\/downloads\/wwdc2022-10142_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10142\/4\/D8D87522-CCCC-46BA-8C48-ECA2A5F9E36E\/downloads\/wwdc2022-10142_sd.mp4","duration":769,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110495","wwdc2022-110496","wwdc2022-110932","wwdc2021-10019","wwdc2021-10132"],"resources":[2487,2486]}},"wwdc2022-110363":{"id":"wwdc2022-110363","staticContentId":6717,"eventContentId":110363,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T01:30:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110363","languageCode":"eng","description":"Learn how we've optimized the Swift and Objective-C runtimes to help you make your app smaller, quicker, and launch faster. Discover how you can get access to efficient protocol checks, smaller message send calls, and optimized ARC simply when you build your app with Xcode 14 and update your deployment target. ","title":"Improve app size and runtime performance","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E1622254-CE47-403C-9C4C-8F629B80633D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110363\/4\/4D40D7E0-771C-43BE-A0B9-7948E0C69CE0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110363\/4\/4D40D7E0-771C-43BE-A0B9-7948E0C69CE0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110363\/4\/4D40D7E0-771C-43BE-A0B9-7948E0C69CE0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110363\/4\/4D40D7E0-771C-43BE-A0B9-7948E0C69CE0\/downloads\/wwdc2022-110363_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110363\/4\/4D40D7E0-771C-43BE-A0B9-7948E0C69CE0\/downloads\/wwdc2022-110363_sd.mp4","duration":868,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110354","wwdc2022-110362"]}},"wwdc2022-10020":{"id":"wwdc2022-10020","staticContentId":6513,"eventContentId":10020,"eventId":"wwdc2022","contentUpdatedAt":"2025-09-02T11:58:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10020","languageCode":"eng","description":"Take your custom machine learning models to the next level with Create ML Components. We'll show you how to work with temporal data like video or audio and compose models that can count repetitive human actions or provide advanced sound classification. We'll also share best practices on using incremental fitting to speed up model training with new data.\n\nFor an introduction to custom machine learning models, watch \"Get to know Create ML Components\" from WWDC22.","title":"Compose advanced models with Create ML Components","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9E3891B1-9B5B-4B18-9787-069954FC39AA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10020\/3\/D44F2D64-E1DB-492F-9D23-1BFD26FF7EF2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10020\/3\/D44F2D64-E1DB-492F-9D23-1BFD26FF7EF2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10020\/3\/D44F2D64-E1DB-492F-9D23-1BFD26FF7EF2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10020\/3\/D44F2D64-E1DB-492F-9D23-1BFD26FF7EF2\/downloads\/wwdc2022-10020_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10020\/3\/D44F2D64-E1DB-492F-9D23-1BFD26FF7EF2\/downloads\/wwdc2022-10020_sd.mp4","duration":805,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10044","wwdc2022-10019","wwdc2022-110332","wwdc2022-110850","wwdc2022-110851","wwdc2022-110852","wwdc2022-110853","wwdc2022-110901","wwdc2022-110902","wwdc2022-110904","wwdc2021-10036","wwdc2021-10058","wwdc2021-10256","wwdc2020-10043","wwdc2019-425"],"resources":[2906,443]}},"wwdc2022-10145":{"id":"wwdc2022-10145","staticContentId":6643,"eventContentId":10145,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T01:53:45-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10145","languageCode":"eng","description":"HLS Interstitials can help you create seamless transitions in video content between advertisements, other interstitials, and your HLS streams. Learn how you can optimize your ad inventory, fine-tune interstitial presentation with SNAP-IN\/OUT when using HLS, and more.","title":"What\u2019s new in HLS Interstitials","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ad cueing","ads","avfoundation","cue","interstitials","mid rolls","pre rolls","snap"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"810A817A-F85C-421C-986F-4F3457C91597","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10145\/4\/1BA9D9C4-C8EC-4D33-A67A-2DFEBD032041\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10145\/4\/1BA9D9C4-C8EC-4D33-A67A-2DFEBD032041\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10145\/4\/1BA9D9C4-C8EC-4D33-A67A-2DFEBD032041\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10145\/4\/1BA9D9C4-C8EC-4D33-A67A-2DFEBD032041\/downloads\/wwdc2022-10145_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10145\/4\/1BA9D9C4-C8EC-4D33-A67A-2DFEBD032041\/downloads\/wwdc2022-10145_sd.mp4","duration":566,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110380","wwdc2022-110556","wwdc2022-110557","wwdc2021-10140"]}},"wwdc2022-110342":{"id":"wwdc2022-110342","staticContentId":6694,"eventContentId":110342,"eventId":"wwdc2022","contentUpdatedAt":"2025-10-03T09:55:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110342","languageCode":"eng","description":"Learn how you can enhance your app with charts to communicate data with more clarity and appeal. We'll show you when to use charts, how to use them and how they work together in a chart design system.","title":"Design app experiences with charts","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":87,"topicIds":[92,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FA764D2D-4E15-4E91-91BA-BDAC80FB901B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110342\/3\/8AEC6435-2E81-4B94-BBED-35CCAD0AA0CA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110342\/3\/8AEC6435-2E81-4B94-BBED-35CCAD0AA0CA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110342\/3\/8AEC6435-2E81-4B94-BBED-35CCAD0AA0CA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110342\/3\/8AEC6435-2E81-4B94-BBED-35CCAD0AA0CA\/downloads\/wwdc2022-110342_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110342\/3\/8AEC6435-2E81-4B94-BBED-35CCAD0AA0CA\/downloads\/wwdc2022-110342_sd.mp4","duration":943,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10136","wwdc2022-10137","wwdc2022-110340","wwdc2022-110467","wwdc2022-110531","wwdc2022-110567","wwdc2022-110569","wwdc2022-110570","wwdc2022-110571","wwdc2022-110572","wwdc2022-110574","wwdc2022-110575","wwdc2022-110576","wwdc2022-110610"],"resources":[2478,2477,2476]}},"wwdc2022-10044":{"id":"wwdc2022-10044","staticContentId":6537,"eventContentId":10044,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T02:45:51-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10044","languageCode":"eng","description":"Learn how App Store App Analytics can provide unique insights and help you measure your app\u2019s performance on the App Store. We'll show you how to use the new App Benchmarks tool to rank your app\u2019s performance beside similar products in a privacy-preserving way. We'll also share how you can use Product Page Optimization and Custom Product Pages to learn insights and make changes that can positively impact your ranking on the App Store.","title":"Discover Benchmarks in App Analytics","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["conversion","metrics","monetization"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"18955EEC-EAA9-4A36-9824-53D233872347","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10044\/4\/A6EC2B38-5E5C-44B0-8CB4-F4B0118ADE6E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10044\/4\/A6EC2B38-5E5C-44B0-8CB4-F4B0118ADE6E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10044\/4\/A6EC2B38-5E5C-44B0-8CB4-F4B0118ADE6E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10044\/4\/A6EC2B38-5E5C-44B0-8CB4-F4B0118ADE6E\/downloads\/wwdc2022-10044_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10044\/4\/A6EC2B38-5E5C-44B0-8CB4-F4B0118ADE6E\/downloads\/wwdc2022-10044_sd.mp4","duration":716,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110704","wwdc2022-110705","wwdc2022-110706","wwdc2022-110708","wwdc2022-110709","wwdc2022-110710"],"resources":[1628,124]}},"wwdc2022-10126":{"id":"wwdc2022-10126","staticContentId":6623,"eventContentId":10126,"eventId":"wwdc2022","contentUpdatedAt":"2025-01-28T16:33:13-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10126","languageCode":"eng","description":"Discover how you can build more refined and powerful augmented reality apps with ARKit 6. We'll explore how you can create AR experiences rendered in 4K HDR and take you through camera settings customizations for your app. We'll also share how you can export high-resolution still images from an ARKit session, take advantage of Plane Estimation and Motion Capture, and add AR Location Anchors in new regions.","title":"Discover ARKit 6","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["ar","arkit","augmented reality"],"primaryTopicID":85,"topicIds":[90,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3A466C6C-0219-4B68-B8D7-9E5897D9F1B4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10126\/4\/042EC236-E96E-4969-A68A-1D379C84D647\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10126\/4\/042EC236-E96E-4969-A68A-1D379C84D647\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10126\/4\/042EC236-E96E-4969-A68A-1D379C84D647\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10126\/4\/042EC236-E96E-4969-A68A-1D379C84D647\/downloads\/wwdc2022-10126_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10126\/4\/042EC236-E96E-4969-A68A-1D379C84D647\/downloads\/wwdc2022-10126_sd.mp4","duration":1167,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10128","wwdc2022-10131","wwdc2022-110470","wwdc2022-110471","wwdc2022-110617","wwdc2022-110618","wwdc2022-110931","wwdc2021-10073","tech-talks-110356"],"resources":[1591,1414,881,25]}},"wwdc2022-110354":{"id":"wwdc2022-110354","staticContentId":6708,"eventContentId":110354,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T03:43:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110354","languageCode":"eng","description":"Join us for an update on Swift. We'll take you through performance improvements, explore more secure and extensible Swift packages, and share advancements in Swift concurrency. We'll also introduce you to Swift Regex, better generics, and other tools built into the language to help you write more flexible & expressive code.","title":"What's new in Swift","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[90,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6A903DEF-DBDB-4682-859B-99F3248DD316","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110354\/5\/BFF5625D-B11D-4C9D-B82B-E7A89A669475\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110354\/5\/BFF5625D-B11D-4C9D-B82B-E7A89A669475\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110354\/5\/BFF5625D-B11D-4C9D-B82B-E7A89A669475\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110354\/5\/BFF5625D-B11D-4C9D-B82B-E7A89A669475\/downloads\/wwdc2022-110354_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110354\/5\/BFF5625D-B11D-4C9D-B82B-E7A89A669475\/downloads\/wwdc2022-110354_sd.mp4","duration":2296,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110347","wwdc2022-110350","wwdc2022-110351","wwdc2022-110352","wwdc2022-110353","wwdc2022-110355","wwdc2022-110356","wwdc2022-110357","wwdc2022-110358","wwdc2022-110359","wwdc2022-110363","wwdc2022-110364","wwdc2022-110401","wwdc2022-110480","wwdc2022-110489","wwdc2022-110726","wwdc2022-110727","wwdc2022-110728","wwdc2022-110729","wwdc2022-110730","wwdc2022-110731","wwdc2022-110732","wwdc2022-110921"],"resources":[2430,2400,1745,1744]}},"wwdc2022-10159":{"id":"wwdc2022-10159","staticContentId":6658,"eventContentId":10159,"eventId":"wwdc2022","contentUpdatedAt":"2025-01-15T14:08:43-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10159","languageCode":"eng","description":"Discover how you can create compute workloads that scale efficiently across Apple GPUs. Learn how to saturate the GPU by improving your work distribution, minimize GPU timeline gaps with effective pipelining and concurrent dispatches, and use atomic operations effectively. We'll also take you through the latest counters and tools in Xcode and Instruments that can help you optimize spatial and temporal memory access patterns.","title":"Scale compute workloads across Apple GPUs","originalPublishingDate":"2022-06-10T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["compilation","compiler","metal","metal 3","metal compute","metal shading language","metal tools","performance","xcode"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5FDA46D6-56A2-466C-9000-92F4A97B9C65","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10159\/5\/4B824E2A-E99A-492A-84EA-6F6ECC279EB3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10159\/5\/4B824E2A-E99A-492A-84EA-6F6ECC279EB3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10159\/5\/4B824E2A-E99A-492A-84EA-6F6ECC279EB3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10159\/5\/4B824E2A-E99A-492A-84EA-6F6ECC279EB3\/downloads\/wwdc2022-10159_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10159\/5\/4B824E2A-E99A-492A-84EA-6F6ECC279EB3\/downloads\/wwdc2022-10159_sd.mp4","duration":1497,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10127","wwdc2022-10066","wwdc2022-110645","wwdc2022-110646","wwdc2022-110666","wwdc2022-110667","tech-talks-10580"],"resources":[38]}},"wwdc2022-110353":{"id":"wwdc2022-110353","staticContentId":6707,"eventContentId":110353,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T01:57:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110353","languageCode":"eng","description":"Learn how you can use Swift 5.7 to design advanced abstractions using protocols. We'll show you how to use existential types, explore how you can separate implementation from interface with opaque result types, and share the same-type requirements that can help you identify and guarantee relationships between concrete types.\n\nTo get the most out of this session, we recommend first watching \u201cEmbrace Swift generics\" from WWDC22.","title":"Design protocol interfaces in Swift","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"24265976-FDF0-4DDE-8615-CD1B5CA5D4D6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110353\/4\/518CFD38-CEE9-4052-8DB9-6692741930F2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110353\/4\/518CFD38-CEE9-4052-8DB9-6692741930F2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110353\/4\/518CFD38-CEE9-4052-8DB9-6692741930F2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110353\/4\/518CFD38-CEE9-4052-8DB9-6692741930F2\/downloads\/wwdc2022-110353_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110353\/4\/518CFD38-CEE9-4052-8DB9-6692741930F2\/downloads\/wwdc2022-110353_sd.mp4","duration":1531,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10168","wwdc2022-110352","wwdc2022-110354","wwdc2022-110726","wwdc2022-110727","wwdc2022-110728","wwdc2022-110729","wwdc2022-110730","wwdc2022-110731","wwdc2022-110732"]}},"wwdc2022-110351":{"id":"wwdc2022-110351","staticContentId":6705,"eventContentId":110351,"eventId":"wwdc2022","contentUpdatedAt":"2025-06-05T15:32:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110351","languageCode":"eng","description":"Join us as we explore one of the core concepts in Swift concurrency: isolation of tasks and actors. We'll take you through Swift\u2019s approach to eliminating data races and its effect on app architecture. We'll also discuss the importance of atomicity in your code, share the nuances of Sendable checking to maintain isolation, and revisit assumptions about ordering work in a concurrent system.","title":"Eliminate data races using Swift Concurrency","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[90,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"29E88715-4638-4D58-85DC-474B55A4D6E2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110351\/3\/2B82DC62-6057-4460-93F4-B99CF7073221\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110351\/3\/2B82DC62-6057-4460-93F4-B99CF7073221\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110351\/3\/2B82DC62-6057-4460-93F4-B99CF7073221\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110351\/3\/2B82DC62-6057-4460-93F4-B99CF7073221\/downloads\/wwdc2022-110351_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110351\/3\/2B82DC62-6057-4460-93F4-B99CF7073221\/downloads\/wwdc2022-110351_sd.mp4","duration":1734,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10068","wwdc2022-110350","wwdc2022-110354","wwdc2022-110356","wwdc2022-110480","wwdc2022-110726","wwdc2022-110727","wwdc2022-110728","wwdc2022-110729","wwdc2022-110730","wwdc2022-110731","wwdc2022-110732","wwdc2021-10019","wwdc2021-10095","wwdc2021-10132","wwdc2021-10133","wwdc2021-10134","wwdc2021-10194","wwdc2021-10254"],"resources":[1788,1712]}},"wwdc2022-10156":{"id":"wwdc2022-10156","staticContentId":6655,"eventContentId":10156,"eventId":"wwdc2022","contentUpdatedAt":"2026-06-22T16:59:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10156","languageCode":"eng","description":"Learn how ScreenCaptureKit can deliver high-performance screen capture for your macOS screen sharing applications, video conferencing apps, game streaming services, and more. We'll explore the building blocks of this API, learn how to configure streams to capture on-screen video and audio content, and share tips for integrating it into your existing apps.","title":"Meet ScreenCaptureKit","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"keywords":["audio capture","screen capture","screencapturekit","streaming","video capture"],"primaryTopicID":91,"topicIds":[84,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EE2D0F57-BF43-48E3-8CA3-C17B519E5896","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10156\/3\/740DABB6-6584-492E-AA71-A628E023B346\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10156\/3\/740DABB6-6584-492E-AA71-A628E023B346\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10156\/3\/740DABB6-6584-492E-AA71-A628E023B346\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10156\/3\/740DABB6-6584-492E-AA71-A628E023B346\/downloads\/wwdc2022-10156_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10156\/3\/740DABB6-6584-492E-AA71-A628E023B346\/downloads\/wwdc2022-10156_sd.mp4","duration":928,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10136","wwdc2022-10155","wwdc2022-110652","wwdc2022-110659","wwdc2022-110660","wwdc2022-110669"],"resources":[2438,2437]}},"wwdc2022-10039":{"id":"wwdc2022-10039","staticContentId":6532,"eventContentId":10039,"eventId":"wwdc2022","contentUpdatedAt":"2026-06-08T12:29:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10039","languageCode":"eng","description":"Discover the latest tools to help you test your in-app purchases and subscriptions. We\u2019ll show you how to bring your products from App Store Connect into StoreKit Testing in Xcode, learn about improvements to the transaction manager, and explore your in-app purchase flow in Xcode Previews. We\u2019ll also take you through best practices when setting up an Apple ID for the sandbox environment, and show you how to create tests for refund requests, price increase consent, billing retry, and much more.","title":"What's new in StoreKit testing","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0F7E0357-553E-4A80-A27A-9E9CFD2191EA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10039\/5\/38FCCB56-38F1-4E4D-B7D0-CF031642775A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10039\/5\/38FCCB56-38F1-4E4D-B7D0-CF031642775A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10039\/5\/38FCCB56-38F1-4E4D-B7D0-CF031642775A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10039\/5\/38FCCB56-38F1-4E4D-B7D0-CF031642775A\/downloads\/wwdc2022-10039_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10039\/5\/38FCCB56-38F1-4E4D-B7D0-CF031642775A\/downloads\/wwdc2022-10039_sd.mp4","duration":2086,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10013","wwdc2023-10140","wwdc2023-10142","wwdc2022-10007","wwdc2022-10038","wwdc2022-110578","wwdc2022-110581","wwdc2022-110758","wwdc2022-110759","wwdc2021-10114","wwdc2021-10174","wwdc2020-10659","wwdc2018-705"],"resources":[1427,1423,805,803,800,798,448]}},"wwdc2022-10053":{"id":"wwdc2022-10053","staticContentId":6546,"eventContentId":10053,"eventId":"wwdc2022","contentUpdatedAt":"2025-10-07T17:02:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10053","languageCode":"eng","description":"Learn how you can support Sign In with Apple for Managed Apple IDs in organizational settings. We'll introduce you to Sign In with Apple at Work & School and explore how education apps can harness the power of this REST API to streamline the import process for student and class information. We\u2019ll also share how to configure Access Management controls for these features within Apple Business Manager and Apple School Manager.\n\nTo get the most out of this session, we recommend having familiarity with Sign In with Apple and REST APIs.","title":"Discover Sign in with Apple at Work & School","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9111A649-F9FF-434A-B94E-84103F601185","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10053\/4\/8898553F-A636-4C8D-AAAF-DE7463409879\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10053\/4\/8898553F-A636-4C8D-AAAF-DE7463409879\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10053\/4\/8898553F-A636-4C8D-AAAF-DE7463409879\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10053\/4\/8898553F-A636-4C8D-AAAF-DE7463409879\/downloads\/wwdc2022-10053_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10053\/4\/8898553F-A636-4C8D-AAAF-DE7463409879\/downloads\/wwdc2022-10053_sd.mp4","duration":1165,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10045","wwdc2022-10122","wwdc2022-110520","wwdc2022-110641","wwdc2020-10173"],"resources":[2901,2351,527]}},"wwdc2022-110345":{"id":"wwdc2022-110345","staticContentId":6698,"eventContentId":110345,"eventId":"wwdc2022","contentUpdatedAt":"2024-12-03T16:52:10-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110345","languageCode":"eng","description":"Learn how you can build reliable endpoint security products like anti-virus software, endpoint detection and response, and data leakage prevention solutions for macOS. We'll take you through the latest enhancements to Endpoint Security APIs: Learn how you can support more security events and use advanced muting capabilities in your app. We'll also explore a standalone tool to help you perform introspection from the command line.","title":"What\u2019s new in Endpoint Security","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"keywords":["authentication","eslogger","gatekeeper","kauth","kernel","login","logout","malware","openbsm","xprotect"],"primaryTopicID":96,"topicIds":[89,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8CEFBBC5-DF14-466A-8698-8D9CA899A72E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110345\/4\/D78059C0-3932-4CAA-8B45-098BEB4ACF45\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110345\/4\/D78059C0-3932-4CAA-8B45-098BEB4ACF45\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110345\/4\/D78059C0-3932-4CAA-8B45-098BEB4ACF45\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110345\/4\/D78059C0-3932-4CAA-8B45-098BEB4ACF45\/downloads\/wwdc2022-110345_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110345\/4\/D78059C0-3932-4CAA-8B45-098BEB4ACF45\/downloads\/wwdc2022-110345_sd.mp4","duration":614,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110460","wwdc2022-110462","wwdc2020-10159","wwdc2019-702"],"resources":[2336,910]}},"wwdc2022-10102":{"id":"wwdc2022-10102","staticContentId":6596,"eventContentId":10102,"eventId":"wwdc2022","contentUpdatedAt":"2025-09-09T12:11:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10102","languageCode":"eng","description":"Discover how you can reduce in-app stutters, first launch times, and new level load times when you generate your GPU binaries entirely at project build time with offline compilation. We'll also show you how to improve total compile time and binary size for larger GPU programs using the \"Optimize for size\" compiler option.","title":"Target and optimize GPU binaries with Metal 3","originalPublishingDate":"2022-06-08T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["compilation","compiler","metal","metal shading language","metal tools","performance","xcode"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4D0EE361-84E4-434D-84A9-117A5AA66C7E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10102\/4\/E03398C4-8CAE-4CA1-905A-22205249E038\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10102\/4\/E03398C4-8CAE-4CA1-905A-22205249E038\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10102\/4\/E03398C4-8CAE-4CA1-905A-22205249E038\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10102\/4\/E03398C4-8CAE-4CA1-905A-22205249E038\/downloads\/wwdc2022-10102_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10102\/4\/E03398C4-8CAE-4CA1-905A-22205249E038\/downloads\/wwdc2022-10102_sd.mp4","duration":828,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10124","wwdc2023-10127","wwdc2022-10066","wwdc2022-110645","wwdc2022-110646","wwdc2022-110649","wwdc2022-110666","wwdc2022-110667","wwdc2022-110670","wwdc2021-10229","wwdc2020-10615"],"resources":[2497,2495,38]}},"wwdc2022-10151":{"id":"wwdc2022-10151","staticContentId":6650,"eventContentId":10151,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T03:46:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10151","languageCode":"eng","description":"Learn how you can make your Unity games accessible on Apple platforms using our open source Accessibility plug-in. Follow along as we add support for assistive technologies like VoiceOver and Switch Control to a sample Unity game project. We'll show you how you can automatically scale text with Dynamic Type, support interface accommodations like reduced transparency or increased contrast, and more.","title":"Add accessibility to your Unity games","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[91,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2B5F701C-62F9-4D73-B6DB-5B4A7B1ACFFA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10151\/5\/3F44347B-F0CF-4DFC-89A8-C801EE456545\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10151\/5\/3F44347B-F0CF-4DFC-89A8-C801EE456545\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10151\/5\/3F44347B-F0CF-4DFC-89A8-C801EE456545\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10151\/5\/3F44347B-F0CF-4DFC-89A8-C801EE456545\/downloads\/wwdc2022-10151_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10151\/5\/3F44347B-F0CF-4DFC-89A8-C801EE456545\/downloads\/wwdc2022-10151_sd.mp4","duration":968,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10065","wwdc2022-110454","wwdc2022-110468","wwdc2022-110469","wwdc2022-110647","wwdc2022-110648","wwdc2022-110649","wwdc2022-110663","wwdc2022-110664"],"resources":[2431,1730]}},"wwdc2022-10098":{"id":"wwdc2022-10098","staticContentId":6592,"eventContentId":10098,"eventId":"wwdc2022","contentUpdatedAt":"2024-02-27T13:21:55-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10098","languageCode":"eng","description":"Bring better notifications to your websites and web apps in Safari on macOS with Web Push. We\u2019ll show you how you can remotely send notifications to people through the web standards-based combination of Push API, Notifications API, and Service Workers.","title":"Meet Web Push for Safari","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["macOS"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B5A18C8C-2589-4C76-9FCC-21C4B1D45C09","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10098\/4\/0243E8FF-8341-4FD5-BACD-CEB81B4730DF\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10098\/4\/0243E8FF-8341-4FD5-BACD-CEB81B4730DF\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10098\/4\/0243E8FF-8341-4FD5-BACD-CEB81B4730DF\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10098\/4\/0243E8FF-8341-4FD5-BACD-CEB81B4730DF\/downloads\/wwdc2022-10098_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10098\/4\/0243E8FF-8341-4FD5-BACD-CEB81B4730DF\/downloads\/wwdc2022-10098_sd.mp4","duration":900,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10120","wwdc2022-10048","wwdc2022-110485","wwdc2022-110487","wwdc2022-110488","wwdc2022-110535"],"resources":[2364,2363,2362,1401,763]}},"wwdc2022-10016":{"id":"wwdc2022-10016","staticContentId":6508,"eventContentId":10016,"eventId":"wwdc2022","contentUpdatedAt":"2024-05-31T12:48:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10016","languageCode":"eng","description":"CarPlay is a smarter, safer way to use your iPhone while you drive. Learn about the latest app types for CarPlay and discover how the CarPlay Simulator can help you develop and test apps without leaving your desk. We\u2019ll also explore how navigation apps can connect with digital instrument clusters in supported vehicles.","title":"Get more mileage out of your app with CarPlay","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["\ud83d\ude97","\ud83d\ude99","audio","car","communication","driving task","ev charging","fueling","navigation","parking","quick food ordering"],"primaryTopicID":83,"topicIds":[100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E85C8B3F-10E1-422F-BFD6-AA680A9BE27F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10016\/4\/4A58011C-EB98-4462-A8F7-8EDB8A69BBE7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10016\/4\/4A58011C-EB98-4462-A8F7-8EDB8A69BBE7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10016\/4\/4A58011C-EB98-4462-A8F7-8EDB8A69BBE7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10016\/4\/4A58011C-EB98-4462-A8F7-8EDB8A69BBE7\/downloads\/wwdc2022-10016_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10016\/4\/4A58011C-EB98-4462-A8F7-8EDB8A69BBE7\/downloads\/wwdc2022-10016_sd.mp4","duration":1254,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10150","wwdc2022-110459","wwdc2022-110465","wwdc2020-10635","wwdc2018-213","tech-talks-110356"],"resources":[509,15]}},"wwdc2022-10092":{"id":"wwdc2022-10092","staticContentId":6586,"eventContentId":10092,"eventId":"wwdc2022","contentUpdatedAt":"2025-04-24T13:03:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10092","languageCode":"eng","description":"It\u2019s time for a security upgrade: Learn how to add support for passkeys to create a quick and easy sign in experience for people, all while offering a radical increase to account security. Passkeys are simple and strong credentials built to eliminate phishing attacks. We\u2019ll share how passkeys are designed with security in mind, show you how people will use them, go over how to integrate passkeys in your log in flow, and explore the platform and web APIs you need to adopt this feature.","title":"Meet passkeys","originalPublishingDate":"2022-06-07T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":96,"topicIds":[98,101,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B087B1AD-0A7F-43BD-8FA1-659A030804B3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10092\/3\/E39F623F-97FE-48C0-9987-898078EB9D8B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10092\/3\/E39F623F-97FE-48C0-9987-898078EB9D8B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10092\/3\/E39F623F-97FE-48C0-9987-898078EB9D8B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10092\/3\/E39F623F-97FE-48C0-9987-898078EB9D8B\/downloads\/wwdc2022-10092_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10092\/3\/E39F623F-97FE-48C0-9987-898078EB9D8B\/downloads\/wwdc2022-10092_sd.mp4","duration":2007,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2023-10120","wwdc2023-10263","wwdc2022-10096","wwdc2022-10122","wwdc2022-110384","wwdc2022-110871","wwdc2022-110872","wwdc2022-110880","wwdc2022-110944","wwdc2020-10098","wwdc2017-206"],"resources":[2547,1703,1680]}},"wwdc2022-10122":{"id":"wwdc2022-10122","staticContentId":6618,"eventContentId":10122,"eventId":"wwdc2022","contentUpdatedAt":"2025-10-17T16:22:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/10122","languageCode":"eng","description":"Learn how you can provide safe and fast authentication in your app using Sign in with Apple. We\u2019ll show you how you can upgrade password-based accounts into secure, single-tap login credentials, and explore how you can seamlessly handle changes to user sessions in your app. We\u2019ll also help you take advantage of Sign In with Apple across the web and on other platforms.\n\nTo get the most out of this session, we recommend having familiarity with Sign In with Apple and REST API. We\u2019d also recommend having a basic understanding of JavaScript.","title":"Enhance your Sign in with Apple experience","originalPublishingDate":"2022-06-09T08:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":96,"topicIds":[98,101,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4B43A0EC-E24A-4593-84B5-E3410519645A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10122\/5\/F35FC4AA-E76F-444D-85D0-77A76E7D3E15\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10122\/5\/F35FC4AA-E76F-444D-85D0-77A76E7D3E15\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10122\/5\/F35FC4AA-E76F-444D-85D0-77A76E7D3E15\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10122\/5\/F35FC4AA-E76F-444D-85D0-77A76E7D3E15\/downloads\/wwdc2022-10122_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/10122\/5\/F35FC4AA-E76F-444D-85D0-77A76E7D3E15\/downloads\/wwdc2022-10122_sd.mp4","duration":1403,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10053","wwdc2022-10092","wwdc2022-110331","wwdc2022-110840","wwdc2022-110841","wwdc2022-110842","wwdc2020-10173","wwdc2020-10666"],"resources":[2500,2338,527]}},"wwdc2022-110930":{"id":"wwdc2022-110930","staticContentId":7324,"eventContentId":110930,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-19T09:28:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110930","languageCode":"eng","description":"Ready for your Day 2 briefing? Catch up on all the great sessions from Tuesday and get a sneak peek at the day ahead.","title":"WWDC22 Day 2 recap","originalPublishingDate":"2022-06-07T15:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","keywords":["recap"],"primaryTopicID":90,"topicIds":[90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1E0AB8BF-30CC-4300-9931-5C33EC28BC54","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110930\/1\/73202A76-09C0-4221-9529-CA4DE5847169\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110930\/1\/73202A76-09C0-4221-9529-CA4DE5847169\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110930\/1\/73202A76-09C0-4221-9529-CA4DE5847169\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110930\/1\/73202A76-09C0-4221-9529-CA4DE5847169\/downloads\/wwdc2022-110930_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110930\/1\/73202A76-09C0-4221-9529-CA4DE5847169\/downloads\/wwdc2022-110930_sd.mp4","duration":82,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-10009","wwdc2022-10054","wwdc2022-10065","wwdc2022-10096","wwdc2022-10117","wwdc2022-10127","wwdc2022-10158","wwdc2022-110349","wwdc2022-110356","wwdc2022-110427","wwdc2022-110929","wwdc2022-110931","wwdc2022-110932","wwdc2022-110933"]}},"wwdc2022-110933":{"id":"wwdc2022-110933","staticContentId":7327,"eventContentId":110933,"eventId":"wwdc2022","contentUpdatedAt":"2023-09-18T23:07:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/110933","languageCode":"eng","description":"It's time to close out Day 5 of WWDC with one last report.","title":"WWDC22 Day 5 recap","originalPublishingDate":"2022-06-10T15:00:00-07:00","publishingExpiryDate":"2032-06-07T01:00:00-07:00","keywords":["recap"],"primaryTopicID":90,"topicIds":[90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D1B1506D-E561-4DA2-86C8-42D027BBF843","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110933\/1\/CF0900A1-24C8-4C33-B6D1-18B2343DC206\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110933\/1\/CF0900A1-24C8-4C33-B6D1-18B2343DC206\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110933\/1\/CF0900A1-24C8-4C33-B6D1-18B2343DC206\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110933\/1\/CF0900A1-24C8-4C33-B6D1-18B2343DC206\/downloads\/wwdc2022-110933_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2022\/110933\/1\/CF0900A1-24C8-4C33-B6D1-18B2343DC206\/downloads\/wwdc2022-110933_sd.mp4","duration":64,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2022-110929","wwdc2022-110930","wwdc2022-110931"]}},"wwdc2021-10276":{"id":"wwdc2021-10276","staticContentId":5208,"eventContentId":10276,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:40:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10276","languageCode":"eng","description":"Learn how you can support Live Text and intelligently pull information from the camera to fill out forms and text fields in your app. We\u2019ll show you how to apply content filtering to capture the correct information when someone uses the camera as keyboard input and apply it to a relevant UITextField, helping your app input data like phone numbers, addresses, and flight information. And we\u2019ll explore how you can create a custom interface, extend other controls like UIImageViews to support this capability, and more.\n\nFor more on supporting Autofill in your app, we recommend watching \u201cAutofill everywhere\u201d from WWDC20 and \u201cThe Keys to a Better Text Input Experience\u201d from WWDC17.","title":"Use the camera for keyboard input in your app","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["camera","input","keyboard","keyboard as input","ocr","text recognition"],"primaryTopicID":95,"topicIds":[95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E8CFAC22-BC3B-4FC6-8673-C1836490CD12","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10276\/3\/35E33348-1E17-4FF5-92BB-618ED251B0EC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10276\/3\/35E33348-1E17-4FF5-92BB-618ED251B0EC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10276\/3\/35E33348-1E17-4FF5-92BB-618ED251B0EC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10276\/3\/35E33348-1E17-4FF5-92BB-618ED251B0EC\/downloads\/wwdc2021-10276_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10276\/3\/35E33348-1E17-4FF5-92BB-618ED251B0EC\/downloads\/wwdc2021-10276_sd.mp4","duration":694,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10048","wwdc2021-10259","wwdc2020-10115","wwdc2018-204","wwdc2017-242"]}},"wwdc2021-10126":{"id":"wwdc2021-10126","staticContentId":5027,"eventContentId":10126,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:56:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10126","languageCode":"eng","description":"Discover how you can create interactive, memorable experiences to onboard people into your app. We\u2019ll take you through discoverable design practices and learn how you can craft explorable, fun interfaces that help people grasp the possibilities of your app at a glance. We\u2019ll also show you how to apply this methodology to personalize your content and make your app easy to customize.","title":"Discoverable design","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["\ud83c\udf5e","\ud83e\udd51","discoverability","menus","navigation","onboarding"],"primaryTopicID":87,"topicIds":[94,90,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BE8FF113-0FE1-40FC-86BF-FE95BE2FF7A5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10126\/6\/D50196B9-76AA-4E8D-9E0B-69DE03F58EFC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10126\/6\/D50196B9-76AA-4E8D-9E0B-69DE03F58EFC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10126\/6\/D50196B9-76AA-4E8D-9E0B-69DE03F58EFC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10126\/6\/D50196B9-76AA-4E8D-9E0B-69DE03F58EFC\/downloads\/wwdc2021-10126_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10126\/6\/D50196B9-76AA-4E8D-9E0B-69DE03F58EFC\/downloads\/wwdc2021-10126_sd.mp4","duration":1964,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10323","wwdc2019-803","wwdc2018-804"],"resources":[389]}},"wwdc2021-10009":{"id":"wwdc2021-10009","staticContentId":4850,"eventContentId":10009,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:36:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10009","languageCode":"eng","description":"Build a workout app from scratch using SwiftUI and HealthKit during this code along. Learn how to support the Always On state using timelines to update workout metrics. Follow best design practices for workout apps.","title":"Build a workout app for Apple Watch","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["watchOS"],"keywords":["\u231a\ufe0f","always-on","codealong","code-along","healthkit","hkworkoutsession","isluminancereduced","metrics","workout"],"primaryTopicID":92,"topicIds":[100,92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"30D3C2CB-B24D-467A-9B20-A369641E966F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10009\/4\/C77618B9-A832-406C-89F0-933F2139F0AD\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10009\/4\/C77618B9-A832-406C-89F0-933F2139F0AD\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10009\/4\/C77618B9-A832-406C-89F0-933F2139F0AD\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10009\/4\/C77618B9-A832-406C-89F0-933F2139F0AD\/downloads\/wwdc2021-10009_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10009\/4\/C77618B9-A832-406C-89F0-933F2139F0AD\/downloads\/wwdc2021-10009_sd.mp4","duration":3249,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10023","wwdc2021-10002","wwdc2021-10018","wwdc2021-10237","wwdc2018-707"],"resources":[1690]}},"wwdc2021-10048":{"id":"wwdc2021-10048","staticContentId":4938,"eventContentId":10048,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:39:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10048","languageCode":"eng","description":"Explore the foundations of great widgets by keeping them relevant and customizable. Learn how to keep widgets up to date with timeline entries and TimelineReloadPolicies. Discover how to adapt your widget to different presentation environments and physical location. And lastly, find out how to create customizable widgets that someone can personalize to their liking.","title":"Principles of great widgets","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["afterdate","atend","budget","cllocationmanager","configurable parameters","customizable","customization","extension","extra large widget","full privacy redaction","intentconfiguration","intenttimelineprovider","isauthorizedforwidgetupdates","keep widget up to date","location changes","never","new ipad widget","notifications","nswidgetuseslocation","partial privacy redaction","presentation",".privacysensitive","relevant","reload policy","reloads","staticconfiguration","static configuration","swiftui",".systemextralarge","system extra large","timeline","timelineprovider","timelinereloadpolicy","update","widgetcenter","widgetcenter reload api","widget configuration platter","widget kind","widgetkit","widget lock screen","widgets","widget update","xcode previews"],"primaryTopicID":83,"topicIds":[90,100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"079B9406-40CE-48BA-88DC-21BCA7841674","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10048\/6\/DE8F1516-0148-4630-A824-44F1BA28F5AA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10048\/6\/DE8F1516-0148-4630-A824-44F1BA28F5AA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10048\/6\/DE8F1516-0148-4630-A824-44F1BA28F5AA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10048\/6\/DE8F1516-0148-4630-A824-44F1BA28F5AA\/downloads\/wwdc2021-10048_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10048\/6\/DE8F1516-0148-4630-A824-44F1BA28F5AA\/downloads\/wwdc2021-10048_sd.mp4","duration":1612,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10050","wwdc2021-10002","wwdc2021-10018","wwdc2021-10323","wwdc2021-100207","wwdc2020-10028","wwdc2020-10030","wwdc2020-10033","wwdc2020-10103","wwdc2020-10194"],"resources":[1704,923]}},"wwdc2021-10157":{"id":"wwdc2021-10157","staticContentId":5059,"eventContentId":10157,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:00:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10157","languageCode":"eng","description":"Explore how Xcode can help you take your Metal debugging, profiling and asset creation workflows to the next level. Discover the latest tools for ray tracing and GPU profiling, and learn about Metal Debugger workflows. We\u2019ll also show you how to use the Texture Converter tool, which supports all modern GPU texture formats and can easily integrate into your multi-platform asset creation pipelines.","title":"Discover Metal debugging, profiling, and asset creation tools","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":88,"topicIds":[91,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"796A7D8C-188A-495B-B03F-9B3ED4FDFB53","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10157\/5\/7C79C8DE-984A-4BD6-904D-3FCDFF5432CC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10157\/5\/7C79C8DE-984A-4BD6-904D-3FCDFF5432CC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10157\/5\/7C79C8DE-984A-4BD6-904D-3FCDFF5432CC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10157\/5\/7C79C8DE-984A-4BD6-904D-3FCDFF5432CC\/downloads\/wwdc2021-10157_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10157\/5\/7C79C8DE-984A-4BD6-904D-3FCDFF5432CC\/downloads\/wwdc2021-10157_sd.mp4","duration":2393,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10099","wwdc2023-10125","wwdc2022-10105","wwdc2022-10106","wwdc2021-10148","wwdc2021-10149","wwdc2021-10150","wwdc2021-10229","wwdc2021-10588","wwdc2021-100247","wwdc2021-100288","wwdc2021-100310","wwdc2021-100351","wwdc2020-10012","wwdc2020-10013","wwdc2020-10018","wwdc2020-10603","wwdc2020-10616"],"resources":[741,357,38]}},"wwdc2021-10030":{"id":"wwdc2021-10030","staticContentId":4918,"eventContentId":10030,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:01:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10030","languageCode":"eng","description":"Develop in JavaScript, WebGL, or WebAssembly? Learn how the latest updates to Safari and WebKit \u2014 including language changes to class syntax \u2014 can help simplify your development process, enhance performance, and improve security. We\u2019ll explore several web APIs that can help provide better interoperability and bring new capabilities to your web content.","title":"Develop advanced web content","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["open source","web inspector","wkwebview"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B08E6F85-664A-4D9A-8A89-C5F8BF433096","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10030\/8\/09E3E250-3136-4428-BC4F-F7891EDC76AF\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10030\/8\/09E3E250-3136-4428-BC4F-F7891EDC76AF\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10030\/8\/09E3E250-3136-4428-BC4F-F7891EDC76AF\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10030\/8\/09E3E250-3136-4428-BC4F-F7891EDC76AF\/downloads\/wwdc2021-10030_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10030\/8\/09E3E250-3136-4428-BC4F-F7891EDC76AF\/downloads\/wwdc2021-10030_sd.mp4","duration":2192,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10027","wwdc2021-10029","wwdc2021-10031","wwdc2021-10032","wwdc2021-10033","wwdc2021-10104","wwdc2021-10189","wwdc2021-100136","wwdc2021-100437","wwdc2021-100438","wwdc2021-100439"],"resources":[774,773,772,436]}},"wwdc2021-10209":{"id":"wwdc2021-10209","staticContentId":5120,"eventContentId":10209,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:57:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10209","languageCode":"eng","description":"Breakpoints can help you debug issues by allowing you to pause and inspect problems in the middle of a process. Discover the latest improvements to breakpoints in Xcode including column and unresolved breakpoints. We\u2019ll also go over best practices for general breakpoints and LLDB tips and tricks.","title":"Discover breakpoint improvements","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["breakpoint","breakpoints","column breakpoint","debug","lldb","unresolved breakpoint"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5E2769CB-E286-44D6-99CF-0A7964387577","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10209\/6\/D2CF5CC2-D0A6-4347-B833-DD9BECADB976\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10209\/6\/D2CF5CC2-D0A6-4347-B833-DD9BECADB976\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10209\/6\/D2CF5CC2-D0A6-4347-B833-DD9BECADB976\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10209\/6\/D2CF5CC2-D0A6-4347-B833-DD9BECADB976\/downloads\/wwdc2021-10209_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10209\/6\/D2CF5CC2-D0A6-4347-B833-DD9BECADB976\/downloads\/wwdc2021-10209_sd.mp4","duration":754,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110370","wwdc2021-100305","wwdc2019-429","wwdc2018-412"]}},"wwdc2021-10058":{"id":"wwdc2021-10058","staticContentId":4948,"eventContentId":10058,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:57:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10058","languageCode":"eng","description":"Iterating over a sequence of values over time is now as easy as writing a \u201cfor\u201d loop. Find out how the new AsyncSequence protocol enables a natural, simple syntax for iterating over anything from notifications to bytes being streamed from a server. We'll also show you how to adapt existing code to provide asynchronous sequences of your own.\n\nTo get the most out of this session, we recommend first watching \u201cMeet async\/await in Swift.\u201d","title":"Meet AsyncSequence","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["asyncstream","await","earthquakes","lines","quakes","urlsession"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8428EE04-1855-400D-B0D2-DCF18B232FF2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10058\/6\/59A23687-3AF9-42AE-A922-079B630ED443\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10058\/6\/59A23687-3AF9-42AE-A922-079B630ED443\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10058\/6\/59A23687-3AF9-42AE-A922-079B630ED443\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10058\/6\/59A23687-3AF9-42AE-A922-079B630ED443\/downloads\/wwdc2021-10058_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10058\/6\/59A23687-3AF9-42AE-A922-079B630ED443\/downloads\/wwdc2021-10058_sd.mp4","duration":861,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10020","wwdc2022-110355","wwdc2022-110379","wwdc2021-10095","wwdc2021-10109","wwdc2021-10132","wwdc2021-10134"],"resources":[1767,1766,1712]}},"wwdc2021-10021":{"id":"wwdc2021-10021","staticContentId":4887,"eventContentId":10021,"eventId":"wwdc2021","contentUpdatedAt":"2026-05-07T14:40:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10021","languageCode":"eng","description":"Learn how you can bring your graphics to life with SwiftUI. We\u2019ll begin by working with safe areas, including the keyboard safe area, and learn how to design beautiful, edge-to-edge graphics that won\u2019t underlap the on-screen keyboard. We\u2019ll also explore the materials and vibrancy you can use in SwiftUI to create easily customizable backgrounds and controls, and go over graphics APIs like drawingGroup and the all new canvas. With these tools, it\u2019s simpler than ever to design fully interactive and interruptible animations and graphics in SwiftUI.","title":"Add rich graphics to your SwiftUI app","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-06-06T23:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["accessibility",".accessibilityaction","accessibility actions","accessibilitylabel",".accessibilityrepresentation","animation",".animation","background","background shape","background styles","bezier curve","blend","blendmode","blend mode","blur","blur styles","canvas","cgrect","clip background","colors app","complex particle system","containerview","context.draw","context.fill","context.resolve","controls","drawing","drawing an image",".drawinggroup","emoji",".foregroundstyle","foreground styles","geometryreader","gradient","graphics",".ignoressafearea",".ignoressafearea(.keyboard)","image","innercontext","interactive","interruptible","ios","ipados","keyboard safe area","macos","materials","model view","opacity","path","performance","primary","quaternary","regularmaterial","resolve image","safe area",".safeareainset","safe area inset","schedule","secondary","shading","standard shape","styles","swiftui","tap gesture","tertiary","text styles","thinmaterial","time in seconds","timeline context","timelineview","timeline view","transform","tvos","vibrancy"],"primaryTopicID":100,"topicIds":[91,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5A5D0136-1D36-4754-9603-E9C2B459ECB7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10021\/8\/16B955CA-C8EE-4062-9495-C6571401B563\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10021\/8\/16B955CA-C8EE-4062-9495-C6571401B563\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10021\/8\/16B955CA-C8EE-4062-9495-C6571401B563\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10021\/8\/16B955CA-C8EE-4062-9495-C6571401B563\/downloads\/wwdc2021-10021_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10021\/8\/16B955CA-C8EE-4062-9495-C6571401B563\/downloads\/wwdc2021-10021_sd.mp4","duration":1436,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10002","wwdc2021-10018","wwdc2021-10119","wwdc2021-10375","wwdc2021-100290"],"resources":[1578,1542,1541,1540]}},"wwdc2021-10143":{"id":"wwdc2021-10143","staticContentId":5045,"eventContentId":10143,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:39:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10143","languageCode":"eng","description":"Discover how you can use AVFoundation APIs to highlight different variants of your content within your app. We\u2019ll show you how you can inspect HLS content using these APIs for different video characteristics, including attributes like SDR\/HDR, FPS, and the like. And we\u2019ll explore the AVAssetVariant, which represents streaming and offline content.","title":"Explore HLS variants in AVFoundation","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["4k","hd","hls","sd","variants"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"57026D77-8FB1-4257-8AD5-31B89E881D0A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10143\/8\/02A20AB5-0C7F-4E9F-B252-75A25D1261ED\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10143\/8\/02A20AB5-0C7F-4E9F-B252-75A25D1261ED\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10143\/8\/02A20AB5-0C7F-4E9F-B252-75A25D1261ED\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10143\/8\/02A20AB5-0C7F-4E9F-B252-75A25D1261ED\/downloads\/wwdc2021-10143_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10143\/8\/02A20AB5-0C7F-4E9F-B252-75A25D1261ED\/downloads\/wwdc2021-10143_sd.mp4","duration":568,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10142","wwdc2021-10146","wwdc2021-10265","wwdc2021-10498","wwdc2021-100240","wwdc2021-100248","wwdc2021-100265","wwdc2021-100434","wwdc2020-10655"],"resources":[486]}},"wwdc2021-10077":{"id":"wwdc2021-10077","staticContentId":4969,"eventContentId":10077,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:57:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10077","languageCode":"eng","description":"Discover the flexibility, versatility and power of Pixar\u2019s Universal Scene Description (USD) for your 3D workflows. Learn how you can use the USD file format in your professional workflows for macOS: Scan 3D models of your real-world objects using Object Capture, utilize the potential of third-party digital content creation tools, and build high-quality rendered sequences.","title":"Create 3D workflows with USD","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["3d graphics","ar","arkit","augmented reality","content creation","usd","usdz"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"318539EF-C23F-435D-B066-81385992592C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10077\/9\/BE748DC5-387D-4E4A-8D9B-05B80B919870\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10077\/9\/BE748DC5-387D-4E4A-8D9B-05B80B919870\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10077\/9\/BE748DC5-387D-4E4A-8D9B-05B80B919870\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10077\/9\/BE748DC5-387D-4E4A-8D9B-05B80B919870\/downloads\/wwdc2021-10077_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10077\/9\/BE748DC5-387D-4E4A-8D9B-05B80B919870\/downloads\/wwdc2021-10077_sd.mp4","duration":891,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja"]},"related":{"activities":["wwdc2023-10083","wwdc2022-10129","wwdc2022-10141","tech-talks-21-10003","tech-talks-21-10004","tech-talks-21-10053","tech-talks-21-10054","tech-talks-21-10055","tech-talks-21-10120","tech-talks-21-10160","wwdc2021-10076","wwdc2021-10078","wwdc2021-10508","wwdc2021-100278","wwdc2020-10613","wwdc2019-602"],"resources":[2236,1666,1665,1664,1663,1590,1416]}},"wwdc2021-10278":{"id":"wwdc2021-10278","staticContentId":5210,"eventContentId":10278,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:39:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10278","languageCode":"eng","description":"Discover how you can deliver rich app experiences that include animation, sound, and haptics on iPhone. Learn key concepts for designing multimodal experiences within the Core Haptics framework. We\u2019ll take you through our sample HapticRicochet app \u2014 where haptic and sound feedback is designed in harmony with key interactive moments \u2014 and show you how to create magical and delightful experiences.\n\nTo get the most out of this session, we recommend first watching \u201cExpanding the Sensory Experience with Core Haptics\u201d from WWDC19, and checking out the HapticBounce sample project (which requires Xcode, iPhone 8 or newer, and a basic knowledge of Swift). Familiarity with Core Haptics is helpful, but not required.","title":"Practice audio haptic design","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":84,"topicIds":[87,91,85,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"100FA6DD-1A48-485A-AFC2-47FDB92376D3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10278\/6\/22D440E4-3CF8-4968-8FCB-6F21B4587DAD\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10278\/6\/22D440E4-3CF8-4968-8FCB-6F21B4587DAD\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10278\/6\/22D440E4-3CF8-4968-8FCB-6F21B4587DAD\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10278\/6\/22D440E4-3CF8-4968-8FCB-6F21B4587DAD\/downloads\/wwdc2021-10278_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10278\/6\/22D440E4-3CF8-4968-8FCB-6F21B4587DAD\/downloads\/wwdc2021-10278_sd.mp4","duration":960,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10065","wwdc2021-10324","wwdc2021-100254","wwdc2021-100445","wwdc2019-520"],"resources":[2228,593,591]}},"wwdc2021-10047":{"id":"wwdc2021-10047","staticContentId":4937,"eventContentId":10047,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:40:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10047","languageCode":"eng","description":"Learn how you can interact with Video Effects in Control Center including Center Stage, Portrait mode, and Mic modes. We\u2019ll show you how to detect when these features have been enabled for your app and explore ways to adopt custom interfaces to make them controllable from within your app. Discover how to enable 10-bit HDR video capture and take advantage of minimum-focus-distance reporting for improved camera capture experiences. Explore support for IOSurface compression and delivering optimal performance in camera capture.\n\nTo learn more about camera capture, we also recommend watching \"Capture high-quality photos using video formats\" from WWDC21.","title":"What\u2019s new in camera capture","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["avcapture","camera","microphone","photo","photography","video","video effects"],"primaryTopicID":95,"topicIds":[95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"80B5C413-F0CF-44C1-9EE1-7BBC8C8978F0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10047\/3\/642D1BFE-7823-4CA8-8572-B2478B9C4B44\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10047\/3\/642D1BFE-7823-4CA8-8572-B2478B9C4B44\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10047\/3\/642D1BFE-7823-4CA8-8572-B2478B9C4B44\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10047\/3\/642D1BFE-7823-4CA8-8572-B2478B9C4B44\/downloads\/wwdc2021-10047_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10047\/3\/642D1BFE-7823-4CA8-8572-B2478B9C4B44\/downloads\/wwdc2021-10047_sd.mp4","duration":2162,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2022-10018","wwdc2022-110429","tech-talks-21-10007","tech-talks-21-10016","wwdc2021-10160","wwdc2021-10247","wwdc2021-100276","wwdc2021-100277","wwdc2020-10009","wwdc2016-501"],"resources":[28]}},"wwdc2021-10120":{"id":"wwdc2021-10120","staticContentId":5018,"eventContentId":10120,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:40:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10120","languageCode":"eng","description":"iPhone and iPad support numerous input modes for those with motor impairments, including touch interaction modification, Switch Control, and Full Keyboard Access. We\u2019ll explore how people can interact with their devices solely through keyboard input, working through a real-life example to discover key APIs. We\u2019ll also take you through some best practices for supporting motor accessibility when you integrate Full Keyboard Access in your apps.","title":"Support Full Keyboard Access in your iOS app","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["accessibility element","accessibilitylabel","accessibility label","accessibility path","accessibiltypath","accessible input","alternative input","assistive technology","assistivetouch","custom action","custom keyboard shortcut","focus","focus engine","full keyboard access","gestures","interaction commands","interaction via keyboard","isaccessibilityelement","keyboard","keyboard as input","keyboard shortcut","motor accessibility","motor impairment","navigation commands","switch control","tab z","uiaccessibility","uiaccessibilitycustomaction","uikeycommand","uimenu","user input label","voice control","voice over"],"primaryTopicID":82,"topicIds":[82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0C96F806-3933-47B8-A52C-A9A988659C9F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10120\/11\/284E99F6-0E62-4027-AE02-86A26EEBEC07\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10120\/11\/284E99F6-0E62-4027-AE02-86A26EEBEC07\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10120\/11\/284E99F6-0E62-4027-AE02-86A26EEBEC07\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10120\/11\/284E99F6-0E62-4027-AE02-86A26EEBEC07\/downloads\/wwdc2021-10120_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10120\/11\/284E99F6-0E62-4027-AE02-86A26EEBEC07\/downloads\/wwdc2021-10120_sd.mp4","duration":1010,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10153","tech-talks-21-10026","tech-talks-21-10059","wwdc2021-10023","wwdc2021-10260","wwdc2021-100208","wwdc2017-224"],"resources":[89]}},"wwdc2021-10298":{"id":"wwdc2021-10298","staticContentId":5239,"eventContentId":10298,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:42:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10298","languageCode":"eng","description":"The enhanced and new APIs in HomeKit enable smart home developers to integrate with the new Matter protocol in the most convenient way. Tour the Matter protocol, and discover how to set up and manage Matter accessories on our platforms and within your smart home apps.","title":"Add support for Matter in your smart home app","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["chip","home automation","homekit","matter"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8C81F0E7-2E4C-4F4F-82FE-A9EBC73A913D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10298\/8\/B4998783-FC66-455C-9469-213C69446C72\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10298\/8\/B4998783-FC66-455C-9469-213C69446C72\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10298\/8\/B4998783-FC66-455C-9469-213C69446C72\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10298\/8\/B4998783-FC66-455C-9469-213C69446C72\/downloads\/wwdc2021-10298_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10298\/8\/B4998783-FC66-455C-9469-213C69446C72\/downloads\/wwdc2021-10298_sd.mp4","duration":1062,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-100180"]}},"wwdc2021-10044":{"id":"wwdc2021-10044","staticContentId":4934,"eventContentId":10044,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:43:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10044","languageCode":"eng","description":"Take advantage of Shazam\u2019s exact audio matching capabilities within your app when you use ShazamKit. Learn how you can harness the immense Shazam catalog to create all sorts of experiences, including quickly recognizing the exact song playing in the background of a video captured by your app, offering dynamic visual effects based on the music playing in a room, or even syncing with external audio to provide companion app experiences. We\u2019ll also show you how you can build custom catalogs within ShazamKit to match with any audio source \u2014 all on device.\n\nFor a deeper dive, check out \u201cCreate custom audio experiences with ShazamKit,\u201d where you\u2019ll code along with us and learn how to build an education app that synchronizes perfectly with streamed video content.","title":"Explore ShazamKit","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["audio","music","musickit","shazam","shazamkit"],"primaryTopicID":84,"topicIds":[85,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E875B0F9-12EF-4A12-B0B3-01A3DE667DD9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10044\/7\/242BEFF9-E49D-4A96-972C-BEE65585211D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10044\/7\/242BEFF9-E49D-4A96-972C-BEE65585211D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10044\/7\/242BEFF9-E49D-4A96-972C-BEE65585211D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10044\/7\/242BEFF9-E49D-4A96-972C-BEE65585211D\/downloads\/wwdc2021-10044_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10044\/7\/242BEFF9-E49D-4A96-972C-BEE65585211D\/downloads\/wwdc2021-10044_sd.mp4","duration":907,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10051","wwdc2022-10028","tech-talks-21-10013","tech-talks-21-10014","tech-talks-21-10091","tech-talks-21-10093","wwdc2021-10036","wwdc2021-10045","wwdc2021-10294","wwdc2021-10436","wwdc2021-100261","wwdc2021-100327"],"resources":[1608]}},"wwdc2021-10131":{"id":"wwdc2021-10131","staticContentId":5032,"eventContentId":10131,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:43:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10131","languageCode":"eng","description":"The future of device management is here: Learn how you can support mobile device management while allowing individual devices to be autonomous and proactive, bringing both increased performance and scalability. We'll show you how you can incorporate this declarative model in your MDM solution.","title":"Meet declarative device management","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":89,"topicIds":[86,89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"04D04572-4376-4018-8210-6428B49CAF3F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10131\/4\/E2547688-09E1-4213-B74C-BA8E1EE3D32A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10131\/4\/E2547688-09E1-4213-B74C-BA8E1EE3D32A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10131\/4\/E2547688-09E1-4213-B74C-BA8E1EE3D32A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10131\/4\/E2547688-09E1-4213-B74C-BA8E1EE3D32A\/downloads\/wwdc2021-10131_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10131\/4\/E2547688-09E1-4213-B74C-BA8E1EE3D32A\/downloads\/wwdc2021-10131_sd.mp4","duration":1338,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10041","wwdc2022-10046","wwdc2021-10130","wwdc2021-10301","wwdc2021-100363"],"resources":[581]}},"wwdc2021-10102":{"id":"wwdc2021-10102","staticContentId":4998,"eventContentId":10102,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:44:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10102","languageCode":"eng","description":"Meet CLLocationButton: a secure interface element that provides an easy, low-friction way to grant your app location access only when and where it is needed. Learn how you can add CLLocationButton to new or existing code, how to customize it within interface legibility guidelines, how to recognize and address customization failures, and how it interacts with iOS\u2019s traditional prompt-based Location Services authorization.\n\nTo get the most out of this session, we recommend basic familiarity with the Core Location API.","title":"Meet the Location Button","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["privacy"],"primaryTopicID":93,"topicIds":[90,96,93],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"03EB5BF9-AF52-4140-BBCA-4B3D4DD99C96","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10102\/10\/F5A7B735-EFE5-4520-AA23-9624428F33D1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10102\/10\/F5A7B735-EFE5-4520-AA23-9624428F33D1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10102\/10\/F5A7B735-EFE5-4520-AA23-9624428F33D1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10102\/10\/F5A7B735-EFE5-4520-AA23-9624428F33D1\/downloads\/wwdc2021-10102_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10102\/10\/F5A7B735-EFE5-4520-AA23-9624428F33D1\/downloads\/wwdc2021-10102_sd.mp4","duration":802,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10002","wwdc2021-10059","wwdc2021-10085","wwdc2021-10237","wwdc2021-100340","wwdc2021-100443","wwdc2020-10660"],"resources":[1698,1697,1594,1567,99]}},"wwdc2021-10247":{"id":"wwdc2021-10247","staticContentId":5167,"eventContentId":10247,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:44:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10247","languageCode":"eng","description":"Your app can take full advantage of the powerful camera systems on iPhone by using the AVCapture APIs. Learn how to choose the most appropriate photo or video formats for your use cases while balancing the trade-offs between photo quality and delivery speed. Discover some powerful new algorithms which can help you deliver greatly improved photo quality when you use video formats in your app.\n\nTo learn more about improvements in AVCapture, be sure to also see the \"What's new in camera capture\" video.","title":"Capture high-quality photos using video formats","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["avcapture","camera","photography","video"],"primaryTopicID":95,"topicIds":[95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C3ADB106-AD51-4F79-A7F1-91AE6836F6D5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10247\/10\/1D70E20D-6FE1-4770-9932-4BC4F4C4F7BA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10247\/10\/1D70E20D-6FE1-4770-9932-4BC4F4C4F7BA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10247\/10\/1D70E20D-6FE1-4770-9932-4BC4F4C4F7BA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10247\/10\/1D70E20D-6FE1-4770-9932-4BC4F4C4F7BA\/downloads\/wwdc2021-10247_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10247\/10\/1D70E20D-6FE1-4770-9932-4BC4F4C4F7BA\/downloads\/wwdc2021-10247_sd.mp4","duration":879,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10018","wwdc2021-10047","wwdc2021-100276","wwdc2021-100277","wwdc2016-501"],"resources":[28]}},"wwdc2021-10081":{"id":"wwdc2021-10081","staticContentId":4973,"eventContentId":10081,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:45:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10081","languageCode":"eng","description":"It\u2019s time to up your input game: Learn about the latest improvements to virtual and physical game controllers for iPhone, iPad, Mac, and Apple TV. Meet the virtual on-screen controller, which turns touch input into game controller input, and find out how to add controller sharing features to your app. We\u2019ll also show you how to support adaptive trigger technology found in DualSense controllers, provide best practices for controller support, and take you through some common pre-flight checks around accessible and customizable input before submitting to the App Store.\n\nFor more information on saving highlight clips from a game controller, check out \u201cDiscover rolling clips in ReplayKit\u201d from WWDC21.","title":"Tap into virtual and physical game controllers","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[87,90,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AD3141F9-6984-4328-9388-551C8677F6A2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10081\/5\/113EE58D-480B-4192-A7E1-8088B2A0BC72\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10081\/5\/113EE58D-480B-4192-A7E1-8088B2A0BC72\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10081\/5\/113EE58D-480B-4192-A7E1-8088B2A0BC72\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10081\/5\/113EE58D-480B-4192-A7E1-8088B2A0BC72\/downloads\/wwdc2021-10081_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10081\/5\/113EE58D-480B-4192-A7E1-8088B2A0BC72\/downloads\/wwdc2021-10081_sd.mp4","duration":900,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2023-10123","wwdc2022-10065","tech-talks-21-10028","tech-talks-21-10029","tech-talks-21-10030","tech-talks-21-10034","wwdc2021-10101","wwdc2021-100259","wwdc2021-100313","wwdc2021-100314","wwdc2021-100321","wwdc2020-10614","wwdc2020-10617"],"resources":[2218,758]}},"wwdc2021-10165":{"id":"wwdc2021-10165","staticContentId":5068,"eventContentId":10165,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:51:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10165","languageCode":"eng","description":"Discover how your app can interact with Ultra Wideband (UWB) third-party accessories when running on a U1-equipped device. We\u2019ll show you how to use the Nearby Interaction framework\u2019s standards-based technology to implement precise and directionally-aware experiences with accessories. Learn about resources for getting started with accessory and app development such as development kits, sample code, and specification documents, along with supported technology providers.\n\nTo find out more about Nearby Interaction, check out the framework documentation linked as part of this session. And if you\u2019re an accessory manufacturer or considering becoming one, be sure to check out the Nearby Interaction accessory specification documents and Getting Started resources.","title":"Explore Nearby Interaction with third-party accessories","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["u1","uwb"],"primaryTopicID":101,"topicIds":[93,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2A3BF010-7D8C-48D1-AB47-410630B61974","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10165\/5\/7A838436-C185-4F66-B1AD-411F16DCBF86\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10165\/5\/7A838436-C185-4F66-B1AD-411F16DCBF86\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10165\/5\/7A838436-C185-4F66-B1AD-411F16DCBF86\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10165\/5\/7A838436-C185-4F66-B1AD-411F16DCBF86\/downloads\/wwdc2021-10165_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10165\/5\/7A838436-C185-4F66-B1AD-411F16DCBF86\/downloads\/wwdc2021-10165_sd.mp4","duration":1381,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10008","wwdc2021-10237","wwdc2021-10245","wwdc2021-10322","wwdc2021-100268","wwdc2020-10668"],"resources":[1682,1595,775]}},"wwdc2021-10129":{"id":"wwdc2021-10129","staticContentId":5030,"eventContentId":10129,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-08T12:30:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10129","languageCode":"eng","description":"In a managed device environment, you often need to control the pace of software updates while you test the latest operating systems within your company or education institution. Discover the tools you have at your disposal to defer, deploy, and enforce software updates.","title":"Manage software updates in your organization","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":89,"topicIds":[86,89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DB96F96C-0294-43AF-920B-1934BA20AC96","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10129\/6\/7E46C26F-2722-4ABF-88BF-38CDBDC23E26\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10129\/6\/7E46C26F-2722-4ABF-88BF-38CDBDC23E26\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10129\/6\/7E46C26F-2722-4ABF-88BF-38CDBDC23E26\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10129\/6\/7E46C26F-2722-4ABF-88BF-38CDBDC23E26\/downloads\/wwdc2021-10129_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10129\/6\/7E46C26F-2722-4ABF-88BF-38CDBDC23E26\/downloads\/wwdc2021-10129_sd.mp4","duration":1101,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10045","wwdc2021-10130","wwdc2021-100144","wwdc2021-100363","tech-talks-10890","tech-talks-10891"],"resources":[1777,794,329]}},"wwdc2021-10109":{"id":"wwdc2021-10109","staticContentId":5005,"eventContentId":10109,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:45:53-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10109","languageCode":"eng","description":"Discover how the latest updates to Foundation can help you improve your app's localization and internationalization support. Find out about the new AttributedString, designed specifically for Swift, and learn how you can use Markdown to apply style to your localized strings. Explore the grammar agreement engine, which automatically fixes up localized strings so they match grammatical gender and pluralization. And we\u2019ll take you through improvements to date and number formatting that simplify complex requirements while also improving performance.","title":"What's new in Foundation","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[90,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"643D2622-9BB1-4E87-B142-9B2C0E75FC06","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10109\/5\/31B61A71-9D39-4F29-97DF-66309DBA320E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10109\/5\/31B61A71-9D39-4F29-97DF-66309DBA320E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10109\/5\/31B61A71-9D39-4F29-97DF-66309DBA320E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10109\/5\/31B61A71-9D39-4F29-97DF-66309DBA320E\/downloads\/wwdc2021-10109_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10109\/5\/31B61A71-9D39-4F29-97DF-66309DBA320E\/downloads\/wwdc2021-10109_sd.mp4","duration":2255,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10153","wwdc2022-110358","wwdc2021-10018","wwdc2021-10058","wwdc2021-10220","wwdc2021-10221","wwdc2021-100123","wwdc2021-110097"],"resources":[96]}},"wwdc2021-10017":{"id":"wwdc2021-10017","staticContentId":4883,"eventContentId":10017,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:46:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10017","languageCode":"eng","description":"Discover how Core Data is adopting the new concurrency capabilities of Swift 5.5, leading to more concise, efficient, and safe asynchronous code. We'll show you how to update Core Data in your apps to work with concurrency, and detail the many other improvements throughout the framework that make working with Swift and SwiftUI more expressive and powerful.","title":"Bring Core Data concurrency to Swift and SwiftUI","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["async","await","batch insert request",".binary","core data","data persistence","dictionary","dynamic configuration","earthquakes app","enqueued","fetch request",".inmemory","lazy entity resolution","managed object","managed object context","nsattributedescription","nsattributedescription.attributetype","nsmanagedobjectcontext","nspersistentcontainer","nspersistentstorecoordinator","perform","performandwait","perform and wait","perform(.enqueued)","persist data","persistence","persistent store","predicates","routing errors","sectioned fetching","sectionedfetchrequest","sectionidentifier","shared data","sort descriptors","sort order",".sqlite","swift","swift concurrency","swiftui","try await",".xml"],"primaryTopicID":101,"topicIds":[99,100,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"15E1C4E9-6534-4E98-BF17-4C6A69C882C6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10017\/4\/F075C8AE-C8D2-40F9-8520-018581E3A771\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10017\/4\/F075C8AE-C8D2-40F9-8520-018581E3A771\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10017\/4\/F075C8AE-C8D2-40F9-8520-018581E3A771\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10017\/4\/F075C8AE-C8D2-40F9-8520-018581E3A771\/downloads\/wwdc2021-10017_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10017\/4\/F075C8AE-C8D2-40F9-8520-018581E3A771\/downloads\/wwdc2021-10017_sd.mp4","duration":1624,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10003","wwdc2021-10015","wwdc2021-10018","wwdc2021-10098","wwdc2021-10132","wwdc2021-10375","wwdc2021-100256"],"resources":[699]}},"wwdc2021-10019":{"id":"wwdc2021-10019","staticContentId":4885,"eventContentId":10019,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:49:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10019","languageCode":"eng","description":"Discover how you can use Swift\u2019s concurrency features to build even better SwiftUI apps. We\u2019ll show you how concurrent workflows interact with your ObservableObjects, and explore how you can use them directly in your SwiftUI views and models. Find out how to use await to make your app run smoothly on the SwiftUI runloop, and learn how to fetch remote images quickly with the AsyncImage API. And we'll take you through the process of enabling additional asynchronous flows in your custom views.","title":"Discover concurrency in SwiftUI","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["actor","async","async await","async image","await","codable","concurrency","concurrent","data models","dispatch queues","download photos","fetchphoto","identifiable","issaving","listrowseparator","liststyle","@mainactor","main actor","main thread","objectwillchange","observableobject","opacity","placeholder","progress view","pull to refresh","refreshable",".refreshable","rest api","run loop",".save","snapshot","state change","swift 5.5","swiftui",".task","tick","yield the main actor"],"primaryTopicID":100,"topicIds":[99,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"666F13B7-704A-4364-A1E3-257065AD5692","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10019\/6\/97B7FCAB-AC78-4A0D-8F28-C5C7AE8C339C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10019\/6\/97B7FCAB-AC78-4A0D-8F28-C5C7AE8C339C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10019\/6\/97B7FCAB-AC78-4A0D-8F28-C5C7AE8C339C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10019\/6\/97B7FCAB-AC78-4A0D-8F28-C5C7AE8C339C\/downloads\/wwdc2021-10019_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10019\/6\/97B7FCAB-AC78-4A0D-8F28-C5C7AE8C339C\/downloads\/wwdc2021-10019_sd.mp4","duration":1374,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10142","wwdc2022-110351","wwdc2021-10018","wwdc2021-10022","wwdc2021-10132","wwdc2021-10133","wwdc2021-10134","wwdc2021-10294","wwdc2021-10375","wwdc2021-100291","wwdc2020-10040"],"resources":[1570]}},"wwdc2021-10092":{"id":"wwdc2021-10092","staticContentId":4987,"eventContentId":10092,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:50:53-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10092","languageCode":"eng","description":"Discover the redesigned Apple Pay for in-app and web payments and learn how you can incorporate the latest APIs into your app or website. Learn how to add features to your app like coupon codes, improved shipping information, and improvements to the payment detail display screen. And explore changes to Wallet passes, including auto-expiry and multi-pass support for the web.","title":"What's new in Wallet and Apple Pay","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["nfc","passes","payment","tickets","transit","web"],"primaryTopicID":83,"topicIds":[86,90,96,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8807F4D5-2547-422A-90F9-E7AD6C80004C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10092\/4\/60CA3CE3-F906-4071-B3BD-1216A6A64CB4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10092\/4\/60CA3CE3-F906-4071-B3BD-1216A6A64CB4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10092\/4\/60CA3CE3-F906-4071-B3BD-1216A6A64CB4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10092\/4\/60CA3CE3-F906-4071-B3BD-1216A6A64CB4\/downloads\/wwdc2021-10092_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10092\/4\/60CA3CE3-F906-4071-B3BD-1216A6A64CB4\/downloads\/wwdc2021-10092_sd.mp4","duration":1121,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-100251","wwdc2020-10662"],"resources":[2224,1662,1659,1658,792,104,103]}},"wwdc2021-10282":{"id":"wwdc2021-10282","staticContentId":5217,"eventContentId":10282,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:52:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10282","languageCode":"eng","description":"Learn how ResearchKit and CareKit can work together to take the tedium out of paper surveys. Join us for the last part of our code along as we put the finishing touches on our care pilot app. Explore how you can use advanced CareKit APIs to customize the appearance and behavior of task cards, find out how to plot answers to ResearchKit surveys in CareKit charts, and discover how you can use ResearchKit to present engaging educational content.\n\nThis is the final session in a three-part Code-Along series. To get the most out of this session, we recommend first watching parts one and two of \u201cBuild a research and care app.\u201d And for more background on these frameworks, watch \"ResearchKit and CareKit Reimagined\u201d from WWDC19.","title":"Build a research and care app, part 3: Visualize progress","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["codealong","open source"],"primaryTopicID":92,"topicIds":[90,92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"938B432B-0815-47BB-87AF-26D5BB102C05","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10282\/6\/B06925A6-3197-4AAB-98EA-4634CD61EED0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10282\/6\/B06925A6-3197-4AAB-98EA-4634CD61EED0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10282\/6\/B06925A6-3197-4AAB-98EA-4634CD61EED0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10282\/6\/B06925A6-3197-4AAB-98EA-4634CD61EED0\/downloads\/wwdc2021-10282_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10282\/6\/B06925A6-3197-4AAB-98EA-4634CD61EED0\/downloads\/wwdc2021-10282_sd.mp4","duration":856,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110410","wwdc2021-10068","wwdc2021-10069","wwdc2021-10240","wwdc2021-10587","wwdc2021-100289"],"resources":[1825,745,87]}},"wwdc2021-10040":{"id":"wwdc2021-10040","staticContentId":4930,"eventContentId":10040,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:52:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10040","languageCode":"eng","description":"Discover the latest updates to the Vision framework to help your apps detect people, faces, and poses. Meet the Person Segmentation API, which helps your app separate people in images from their surroundings, and explore the latest contiguous metrics for tracking pitch, yaw, and the roll of the human head. And learn how these capabilities can be combined with other APIs like Core Image to deliver anything from simple virtual backgrounds to rich offline compositing in an image-editing app.\n\nTo get the most out of this session, we recommend watching \u201cDetect Body and Hand Pose with Vision\u201d from WWDC20 and \u201cUnderstanding Images in Vision Framework\u201d from WWDC19.\nTo learn even more about people analysis, see \u201cDetect Body and Hand Pose with Vision\u201d from WWDC20 and \u201cUnderstanding Images in Vision Framework\u201d from WWDC19.","title":"Detect people, faces, and poses using Vision","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ai","body pose","computer vision","core ml","face capture quality","face detection","face landmarks","hand pose","machine learning","person segmentation","segmentation","vision"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F246C336-503C-4B88-B496-C5C2F41D87B2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10040\/3\/F855147A-D789-4E63-81CE-5050A5A3DB14\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10040\/3\/F855147A-D789-4E63-81CE-5050A5A3DB14\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10040\/3\/F855147A-D789-4E63-81CE-5050A5A3DB14\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10040\/3\/F855147A-D789-4E63-81CE-5050A5A3DB14\/downloads\/wwdc2021-10040_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10040\/3\/F855147A-D789-4E63-81CE-5050A5A3DB14\/downloads\/wwdc2021-10040_sd.mp4","duration":1078,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10024","tech-talks-21-10009","wwdc2021-10039","wwdc2021-100112","wwdc2021-100124","wwdc2021-100126","wwdc2021-100128","wwdc2020-10653","wwdc2019-222"],"resources":[1830,134]}},"wwdc2021-10003":{"id":"wwdc2021-10003","staticContentId":4844,"eventContentId":10003,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:53:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10003","languageCode":"eng","description":"Advances in Apple Watch give you more ways to communicate to and from your app, and new audiences to consider. Learn what strategies are available for data communication and how to choose the right tool for the job. Compare and contrast the benefits of using technologies such as iCloud Keychain, Watch Connectivity, Core Data, and more.","title":"There and back again: Data transfer on Apple Watch","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["watchOS"],"keywords":["\u231a\ufe0f","background app refresh","cloudkit","core data","family setup","icloud","keychain","oauth2token","password autofill","sockets","urlsession","watch connectivity","wcsession"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9ADFC0F8-6739-469E-B533-720C0AC34D40","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10003\/7\/2AE1FFC2-BFF3-43AC-9488-AA5514C204FB\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10003\/7\/2AE1FFC2-BFF3-43AC-9488-AA5514C204FB\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10003\/7\/2AE1FFC2-BFF3-43AC-9488-AA5514C204FB\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10003\/7\/2AE1FFC2-BFF3-43AC-9488-AA5514C204FB\/downloads\/wwdc2021-10003_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10003\/7\/2AE1FFC2-BFF3-43AC-9488-AA5514C204FB\/downloads\/wwdc2021-10003_sd.mp4","duration":1909,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10015","wwdc2021-10017","wwdc2021-10237","wwdc2020-10049","wwdc2020-10115","wwdc2019-716","wwdc2015-713"],"resources":[1709,1708,1707,1706,1688,517]}},"wwdc2021-10079":{"id":"wwdc2021-10079","staticContentId":4971,"eventContentId":10079,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:53:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10079","languageCode":"eng","description":"Explore how geometry-aware audio can help you build complex, interactive, and immersive audio scenes for your apps and games. Meet PHASE, Apple\u2019s spatial audio API, and learn how the Physical Audio Spatialization Engine (PHASE) keeps the sound aligned with your experience at all times \u2014 helping you create spatial soundscapes and scenes during the development process, rather than waiting until post production. We\u2019ll take you through an overview of the API and its classes, including Sources, Listeners, Acoustic Geometry, and Materials, and introduce the concept of Spatial Modeling. We\u2019ll also show you how to quickly combine PHASE\u2019s basic building blocks to start building an integrated audio experience for your app or game. ","title":"Discover geometry-aware audio with the Physical Audio Spatialization Engine (PHASE)","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":84,"topicIds":[91,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"51DBBF30-D9A7-4BA5-8E03-E840F64F4698","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10079\/4\/B49836DD-46CA-49CD-81CF-9D08B251FDFA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10079\/4\/B49836DD-46CA-49CD-81CF-9D08B251FDFA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10079\/4\/B49836DD-46CA-49CD-81CF-9D08B251FDFA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10079\/4\/B49836DD-46CA-49CD-81CF-9D08B251FDFA\/downloads\/wwdc2021-10079_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10079\/4\/B49836DD-46CA-49CD-81CF-9D08B251FDFA\/downloads\/wwdc2021-10079_sd.mp4","duration":2248,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10123","wwdc2022-10065","wwdc2021-10583","wwdc2021-100328","wwdc2021-100350"],"resources":[1754]}},"wwdc2021-10279":{"id":"wwdc2021-10279","staticContentId":5211,"eventContentId":10279,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:53:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10279","languageCode":"eng","description":"Find out how people can use Face ID or Touch ID on their iOS or iPadOS device to authorize purchases and sign into your tvOS app. Discover how you can simplify sign in for people using your app and help them get to the content they want to enjoy, faster. We\u2019ll show you how to set up a simplified sign in process and share some best practices about creating great sign in experiences for Apple TV.\n\nTo get the most out of this session, we recommend a basic understanding of associated domains and the Authentication Services framework.","title":"Simplify sign in for your tvOS apps","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["tvOS"],"keywords":["auth","authentication","keychain","password","sign-in","sign in with apple","sign-on","sign-up","username"],"primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AB014534-6C60-4B00-9D7D-E2EDD02E3D6E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10279\/6\/2634C5FD-06F9-4C34-8D8A-215A0C29356B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10279\/6\/2634C5FD-06F9-4C34-8D8A-215A0C29356B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10279\/6\/2634C5FD-06F9-4C34-8D8A-215A0C29356B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10279\/6\/2634C5FD-06F9-4C34-8D8A-215A0C29356B\/downloads\/wwdc2021-10279_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10279\/6\/2634C5FD-06F9-4C34-8D8A-215A0C29356B\/downloads\/wwdc2021-10279_sd.mp4","duration":476,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110384","wwdc2021-10105","wwdc2021-10106","wwdc2021-10322","wwdc2021-10496","wwdc2021-100235","wwdc2021-100258","wwdc2019-504","wwdc2017-206"],"resources":[3603]}},"wwdc2021-10268":{"id":"wwdc2021-10268","staticContentId":5199,"eventContentId":10268,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:53:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10268","languageCode":"eng","description":"Learn how Xcode Cloud workflows can help you and your team automate building, analyzing, testing, archiving, and distributing your apps and frameworks. They are flexible, extensible, and can be configured around your team\u2019s development and distribution process. Find out the basics of Xcode Cloud Workflows, discover how to configure them from end to end, and check out recommended workflows to get you started with Apple\u2019s continuous integration system.\n\nTo get the most out of this session, we recommend first watching \u201cMeet Xcode Cloud\u201d from WWDC21.","title":"Explore Xcode Cloud workflows","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["app store connect","build","ci","continuous integration","distribution","testflight","testing","workflows","xcode","xcode cloud"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EF051D47-E1B8-415E-B83E-C052159B922D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10268\/4\/D11A0D51-DD10-4E50-932B-03643B47BF07\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10268\/4\/D11A0D51-DD10-4E50-932B-03643B47BF07\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10268\/4\/D11A0D51-DD10-4E50-932B-03643B47BF07\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10268\/4\/D11A0D51-DD10-4E50-932B-03643B47BF07\/downloads\/wwdc2021-10268_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10268\/4\/D11A0D51-DD10-4E50-932B-03643B47BF07\/downloads\/wwdc2021-10268_sd.mp4","duration":1429,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10012","wwdc2021-10170","wwdc2021-10204","wwdc2021-10205","wwdc2021-10267","wwdc2021-10269","wwdc2021-100200","wwdc2021-100204","wwdc2021-100215","wwdc2021-100218","wwdc2021-100222","wwdc2021-100230","wwdc2021-100281","wwdc2021-100332","wwdc2021-100448","wwdc2021-110104","tech-talks-110343"],"resources":[1648,1647,1646,1618]}},"wwdc2021-10091":{"id":"wwdc2021-10091","staticContentId":4986,"eventContentId":10091,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:55:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10091","languageCode":"eng","description":"Learn more about the evolution of notifications on Apple platforms. We\u2019ll explore how you can help people manage notifications within your app, including how you can craft meaningful moments with interruption levels and Time Sensitive notifications. And we\u2019ll introduce you to communication notifications, providing a richer experience for calls and messages in your app through SiriKit.\n\nTo get the most out of this session, we recommend having experience creating local and remote notifications, as well as some familiarity with SiriKit intents.","title":"Send communication and Time Sensitive notifications","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["apns","focus","intents","interruption","notification service extension","passive","push","pushkit","siri","sirikit","status"],"primaryTopicID":101,"topicIds":[83,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B63A08EA-8856-4C77-9E1B-EA1CAD990619","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10091\/4\/A4152468-BE8D-45E4-BB60-043AC7854981\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10091\/4\/A4152468-BE8D-45E4-BB60-043AC7854981\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10091\/4\/A4152468-BE8D-45E4-BB60-043AC7854981\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10091\/4\/A4152468-BE8D-45E4-BB60-043AC7854981\/downloads\/wwdc2021-10091_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10091\/4\/A4152468-BE8D-45E4-BB60-043AC7854981\/downloads\/wwdc2021-10091_sd.mp4","duration":1259,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10042","tech-talks-21-10043","tech-talks-21-10044","tech-talks-21-10045","tech-talks-21-10046","tech-talks-21-10047","tech-talks-21-10112","tech-talks-21-10113","tech-talks-21-10114","tech-talks-21-10115","tech-talks-21-10116","tech-talks-21-10154","wwdc2021-10231","wwdc2021-100176"],"resources":[1714,1713,16,12]}},"wwdc2021-10117":{"id":"wwdc2021-10117","staticContentId":5015,"eventContentId":10117,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:56:53-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10117","languageCode":"eng","description":"Discover how CloudKit Console can help you better interact with your containers. We\u2019ll show you how to put the database app to work and define, modify, and deploy schema changes with confidence. You\u2019ll learn how to craft queries in the query builder and filter your records with ease. And we\u2019ll explore how to use telemetry and log data to gain new insights into your app behavior over time.\n\nTo get the most out of this session, we recommend being familiar with CloudKit and its development and production environments, as well as a basic understanding of record and data types.","title":"Meet CloudKit Console","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["cloud","database","encrypted","encryption","fields","just in time","privacy","query","record","schema","security","storage"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"732F7A1D-BFC6-41C8-80C7-F23DD14DC335","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10117\/4\/091FF0B0-A3E5-4269-856E-692465CE5E15\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10117\/4\/091FF0B0-A3E5-4269-856E-692465CE5E15\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10117\/4\/091FF0B0-A3E5-4269-856E-692465CE5E15\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10117\/4\/091FF0B0-A3E5-4269-856E-692465CE5E15\/downloads\/wwdc2021-10117_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10117\/4\/091FF0B0-A3E5-4269-856E-692465CE5E15\/downloads\/wwdc2021-10117_sd.mp4","duration":442,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10115","wwdc2022-10116","wwdc2021-10086","wwdc2021-10118","wwdc2021-10325","wwdc2021-100197","wwdc2021-100301","wwdc2021-100302"],"resources":[1604,132]}},"wwdc2021-10057":{"id":"wwdc2021-10057","staticContentId":4947,"eventContentId":10057,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:57:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10057","languageCode":"eng","description":"Make even better iPad apps: Learn how you can adopt prominent scenes for uninterrupted, focused interactions. Help people stay engaged and fast with keyboard shortcuts and the keyboard shortcut interface. Explore how the latest in pointer enhancements can help your app boost productivity.","title":"Take your iPad apps to the next level","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["keyboard","main menu","menu","menu bar","menu system","mouse","pointer","print","responder","scene","shortcut","trackpad","uicommand","uikeycommand","uimenubuilder","uimenu printing","uipointerinteraction","uiwindowscene","window"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B4E94D4D-9D78-4827-B210-78B478B292E4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10057\/7\/5399C1AB-B62F-4A83-8AA1-FCBFDAFFBF44\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10057\/7\/5399C1AB-B62F-4A83-8AA1-FCBFDAFFBF44\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10057\/7\/5399C1AB-B62F-4A83-8AA1-FCBFDAFFBF44\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10057\/7\/5399C1AB-B62F-4A83-8AA1-FCBFDAFFBF44\/downloads\/wwdc2021-10057_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10057\/7\/5399C1AB-B62F-4A83-8AA1-FCBFDAFFBF44\/downloads\/wwdc2021-10057_sd.mp4","duration":2176,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10059","wwdc2021-10053","wwdc2021-10056","wwdc2021-10059","wwdc2021-10260","wwdc2021-10345","wwdc2020-10093","wwdc2020-10109","wwdc2020-10640","wwdc2019-212","wwdc2019-259"],"resources":[898,892,740,695,3]}},"wwdc2021-10159":{"id":"wwdc2021-10159","staticContentId":5061,"eventContentId":10159,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:56:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10159","languageCode":"eng","description":"Discover how you can add Core Image kernels written in the Metal Shading Language into your app. We\u2019ll explore how you can use Xcode rules and naming conventions for Core Image kernels written in the Metal Shading Language, and help you make sense of Metal\u2019s Stitchable functions and dynamic library features to benefit Core Image kernels.","title":"Explore Core Image kernel improvements","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["coreimage","filters","hardware","image","image processing","metal","metal shading language","metal tools","photos"],"primaryTopicID":91,"topicIds":[84,95,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5FF68F00-F4AE-452E-95CE-08844025BC76","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10159\/4\/40A32E20-B4FF-4586-9C5B-1994F3A585A2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10159\/4\/40A32E20-B4FF-4586-9C5B-1994F3A585A2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10159\/4\/40A32E20-B4FF-4586-9C5B-1994F3A585A2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10159\/4\/40A32E20-B4FF-4586-9C5B-1994F3A585A2\/downloads\/wwdc2021-10159_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10159\/4\/40A32E20-B4FF-4586-9C5B-1994F3A585A2\/downloads\/wwdc2021-10159_sd.mp4","duration":543,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10160","wwdc2021-10588","wwdc2021-100431","wwdc2020-10008","wwdc2020-10021","wwdc2020-10089"],"resources":[32]}},"wwdc2021-10286":{"id":"wwdc2021-10286","staticContentId":5224,"eventContentId":10286,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:57:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10286","languageCode":"eng","description":"Unleash the full potential of your shaders and implement modern rendering techniques by adding Argument Buffers to adopt bindless rendering. Learn how to make your entire scene and resources available to the GPU to make the most out of raytracing and rasterization pipelines.","title":"Explore bindless rendering in Metal","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["3d graphics","game","game dev","game developer","metal","metal shading language","metal tools","proapps","raytracing"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EC509C95-6335-4858-B5F8-0C4AAEA29353","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10286\/7\/76356517-0CAC-4E8D-81E3-B42DCE552D15\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10286\/7\/76356517-0CAC-4E8D-81E3-B42DCE552D15\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10286\/7\/76356517-0CAC-4E8D-81E3-B42DCE552D15\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10286\/7\/76356517-0CAC-4E8D-81E3-B42DCE552D15\/downloads\/wwdc2021-10286_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10286\/7\/76356517-0CAC-4E8D-81E3-B42DCE552D15\/downloads\/wwdc2021-10286_sd.mp4","duration":1272,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10101","wwdc2021-10148","wwdc2021-10149","wwdc2021-10150","wwdc2021-10588","wwdc2021-100247","wwdc2021-100288","wwdc2021-100310","wwdc2021-100351"],"resources":[2223,1619,880,362,263,38,31]}},"wwdc2021-10189":{"id":"wwdc2021-10189","staticContentId":5100,"eventContentId":10189,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:59:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10189","languageCode":"eng","description":"Create SharePlay experiences that people can enjoy on the web and in your companion app. Learn how you can use the Group Activities framework in combination with a companion website to bring SharePlay to Safari, letting people connect with each other for enjoyable group interactions \u2014 even if they haven\u2019t yet downloaded your app from the App Store.","title":"Coordinate media playback in Safari with Group Activities","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["macOS"],"keywords":["facetime","face time","groupactivities","group activities","groupsession","media","safari","shareplay","share play"],"primaryTopicID":98,"topicIds":[84,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"034EEF50-9104-42B6-AB07-C863C350C4EB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10189\/6\/94D452D6-3731-4C08-8EFA-BD8F6B8853ED\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10189\/6\/94D452D6-3731-4C08-8EFA-BD8F6B8853ED\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10189\/6\/94D452D6-3731-4C08-8EFA-BD8F6B8853ED\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10189\/6\/94D452D6-3731-4C08-8EFA-BD8F6B8853ED\/downloads\/wwdc2021-10189_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10189\/6\/94D452D6-3731-4C08-8EFA-BD8F6B8853ED\/downloads\/wwdc2021-10189_sd.mp4","duration":722,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10048","wwdc2021-10030","wwdc2021-10183","wwdc2021-10184","wwdc2021-10225","wwdc2021-10499","wwdc2021-100136","wwdc2021-100304","wwdc2021-100308","wwdc2021-100437","wwdc2021-100438","wwdc2021-100439"],"resources":[1661,1610]}},"wwdc2021-10269":{"id":"wwdc2021-10269","staticContentId":5200,"eventContentId":10269,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:59:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10269","languageCode":"eng","description":"Xcode Cloud integrates with Apple Developer tools and services, all major source control management services, and even social collaboration tools like Slack. If your development process relies on additional tools and external services, however, you can fine-tune your workflows and the behavior of your build.\n\nLearn how you can pass information to your build using environment variables and run additional commands inside your actions using custom build scripts. Find out how to add additional repositories where you and your team might share work. And discover how you can integrate Xcode Cloud with external services using webhooks.\n\nTo get the most out of this session, we recommend first watching \u201cMeet Xcode Cloud\u201d and \u201cExplore Xcode Cloud workflows\u201d from WWDC21.","title":"Customize your advanced Xcode Cloud workflows","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["build","ci","continuous integration","scripts","testflight","testing","xcode","xcode cloud"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F8F57AEC-783C-48B1-B19E-687797D956B9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10269\/3\/CA083488-C662-4ADA-8BA2-89647472F1C9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10269\/3\/CA083488-C662-4ADA-8BA2-89647472F1C9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10269\/3\/CA083488-C662-4ADA-8BA2-89647472F1C9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10269\/3\/CA083488-C662-4ADA-8BA2-89647472F1C9\/downloads\/wwdc2021-10269_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10269\/3\/CA083488-C662-4ADA-8BA2-89647472F1C9\/downloads\/wwdc2021-10269_sd.mp4","duration":1308,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10278","wwdc2022-110361","wwdc2021-10267","wwdc2021-10268","wwdc2021-100204","wwdc2021-100215","wwdc2021-100218","wwdc2021-100222","wwdc2021-100230","wwdc2021-100332","wwdc2021-100359","wwdc2021-100448","wwdc2021-110104","wwdc2020-10644","tech-talks-111369"],"resources":[1653,1652,1651,1650,1649,1648,1647,1618]}},"wwdc2021-10317":{"id":"wwdc2021-10317","staticContentId":5271,"eventContentId":10317,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:00:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10317","languageCode":"eng","description":"Fascinated by aerospace engineering and fighter jets from the age of 11, MIT graduate Tiera Fletcher followed her passion. At 22, she landed her dream job working on NASA\u2019s Space Launch System, the most powerful rocket created in history. Learn what it\u2019s like to design components of a 322-foot-tall, 8.8-million-pounds-of-thrust-producing rocket intended to journey humans into deep space \u2014 including the moon, Mars, and beyond.","title":"Out of this world... on to Mars","originalPublishingDate":"2021-06-08T11:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","keywords":["guest","wwdc21"],"primaryTopicID":90,"topicIds":[87,90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AF103EB2-95FD-4633-A987-6A71651B9F8B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10317\/8\/3E1F4F09-7847-40F9-8D2A-0355456D569E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10317\/8\/3E1F4F09-7847-40F9-8D2A-0355456D569E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10317\/8\/3E1F4F09-7847-40F9-8D2A-0355456D569E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10317\/8\/3E1F4F09-7847-40F9-8D2A-0355456D569E\/downloads\/wwdc2021-10317_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10317\/8\/3E1F4F09-7847-40F9-8D2A-0355456D569E\/downloads\/wwdc2021-10317_sd.mp4","duration":992,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"]},"related":{"activities":["wwdc2021-10322"]}},"wwdc2021-10196":{"id":"wwdc2021-10196","staticContentId":5107,"eventContentId":10196,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:00:52-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10196","languageCode":"eng","description":"Discover how you can iterate upon your interfaces even more quickly when building your apps. Learn how you can modernize your UI with the latest button styles and table view cell content configurations, both of which give you greater control directly inside of Interface Builder. We\u2019ll show you how you can preview common customizations with accessibility overrides \u2014 such as dynamic type size and increased contrast \u2014 all without leaving the canvas. We\u2019ll also take you through hierarchical symbols to easily add a splash of color to reinvigorate your app. Whether you\u2019re just starting out or have been developing apps for years, learn best practices for creating great interfaces with tips and tricks sprinkled along the way.","title":"Build interfaces with style","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["accessibility","button","buttons","button styles","dynamic type","hierarchical","interface builder","sf symbols","tableview","table view","table view cell","tableview cell"],"primaryTopicID":88,"topicIds":[90,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AC81EABA-16C3-4458-A858-77244A88EE4E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10196\/7\/D9910EC1-1CF4-47F0-B7CD-5D5CEE199F0D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10196\/7\/D9910EC1-1CF4-47F0-B7CD-5D5CEE199F0D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10196\/7\/D9910EC1-1CF4-47F0-B7CD-5D5CEE199F0D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10196\/7\/D9910EC1-1CF4-47F0-B7CD-5D5CEE199F0D\/downloads\/wwdc2021-10196_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10196\/7\/D9910EC1-1CF4-47F0-B7CD-5D5CEE199F0D\/downloads\/wwdc2021-10196_sd.mp4","duration":1155,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10064","wwdc2021-10097","wwdc2021-10323","wwdc2021-100212","wwdc2021-100215","wwdc2021-100218","wwdc2021-100222","wwdc2021-100332","wwdc2021-100358","wwdc2021-100448"],"resources":[1656]}},"wwdc2021-10265":{"id":"wwdc2021-10265","staticContentId":5196,"eventContentId":10265,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:00:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10265","languageCode":"eng","description":"Discover how spatial audio can help you provide a theater-like experience for media in your apps and on the web. We\u2019ll show you how you can easily bring immersive audio to those listening with compatible hardware, and how to automatically deliver different listening experiences depending on someone\u2019s bandwidth or connection \u2014 all with little to no change to your code. And gain recommendations on how you can tailor the experience in your app and use spatial audio to tell stories in new, exciting ways.","title":"Immerse your app in Spatial Audio","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["atmos","audio","dolby","multichannel","multi channel","spatial","spatial audio"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"28DB1BEB-3F4F-4418-ACD3-779DBFB889CB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10265\/4\/9BD45E56-F096-4BDD-AAFA-CF90B0501E1B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10265\/4\/9BD45E56-F096-4BDD-AAFA-CF90B0501E1B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10265\/4\/9BD45E56-F096-4BDD-AAFA-CF90B0501E1B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10265\/4\/9BD45E56-F096-4BDD-AAFA-CF90B0501E1B\/downloads\/wwdc2021-10265_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10265\/4\/9BD45E56-F096-4BDD-AAFA-CF90B0501E1B\/downloads\/wwdc2021-10265_sd.mp4","duration":1097,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10233","wwdc2021-10143","wwdc2021-10146","wwdc2021-10326","wwdc2021-100145","wwdc2021-100246","wwdc2021-100446"],"resources":[1715]}},"wwdc2021-10029":{"id":"wwdc2021-10029","staticContentId":4917,"eventContentId":10029,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:01:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10029","languageCode":"eng","description":"Meet Safari 15: redesigned and ready to help people explore the web. Discover how you can approach designing websites and apps for Safari, and learn how to incorporate the tab bar in your designs. We\u2019ll also take you through features like Live Text and accessibility best practices, explore the latest updates to CSS and Form Controls, and learn how to use the aspect-ratio property in CSS to create incredible websites.","title":"Design for Safari 15","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["open source","web inspector","webkit","wkwebview"],"primaryTopicID":98,"topicIds":[87,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FA325467-388B-4F33-A844-9C26294F2D99","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10029\/4\/8B75DA3D-09DF-40FD-AC0E-FB6A7EECE3F1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10029\/4\/8B75DA3D-09DF-40FD-AC0E-FB6A7EECE3F1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10029\/4\/8B75DA3D-09DF-40FD-AC0E-FB6A7EECE3F1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10029\/4\/8B75DA3D-09DF-40FD-AC0E-FB6A7EECE3F1\/downloads\/wwdc2021-10029_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10029\/4\/8B75DA3D-09DF-40FD-AC0E-FB6A7EECE3F1\/downloads\/wwdc2021-10029_sd.mp4","duration":2012,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10027","wwdc2021-10030","wwdc2021-10031","wwdc2021-10032","wwdc2021-10033","wwdc2021-10104","wwdc2021-10325","wwdc2021-100136","wwdc2021-100437","wwdc2021-100438","wwdc2021-100439","tech-talks-205"],"resources":[774,773,772,763]}},"wwdc2021-10121":{"id":"wwdc2021-10121","staticContentId":5019,"eventContentId":10121,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:01:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10121","languageCode":"eng","description":"Learn how to present complex data through VoiceOver with the Accessibility Custom Content API. Discover how you can deliver accessibility information in a concise form, and only when someone wants it. We\u2019ll show you how you can integrate AXCustomContent and help people who want VoiceOver enabled to navigate your data-rich apps in an efficient manner.\n\nTo get the most out of this session, you should be familiar with general accessibility principles and VoiceOver accessibility APIs available in Swift and SwiftUI.","title":"Tailor the VoiceOver experience in your data-rich apps","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["accessibility","accessibilitycustomcontent","accessibility custom content","accessibilitycustomcontentkey","axcustomcontent","axcustomcontentprovider","custom content api","importance property","more content available","more content rotor","screen reader","verbosity","voiceover","voice over","voiceover rotor","woof woof"],"primaryTopicID":82,"topicIds":[82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1A6C1BBD-8ADD-4B35-896E-7EBAA39B82FC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10121\/6\/9DFDD9FF-82AF-48DC-A0C1-C2CB8A518D93\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10121\/6\/9DFDD9FF-82AF-48DC-A0C1-C2CB8A518D93\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10121\/6\/9DFDD9FF-82AF-48DC-A0C1-C2CB8A518D93\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10121\/6\/9DFDD9FF-82AF-48DC-A0C1-C2CB8A518D93\/downloads\/wwdc2021-10121_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10121\/6\/9DFDD9FF-82AF-48DC-A0C1-C2CB8A518D93\/downloads\/wwdc2021-10121_sd.mp4","duration":626,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja"]},"related":{"activities":["wwdc2023-10034","tech-talks-21-10026","wwdc2021-10324","wwdc2021-100208"],"resources":[89]}},"wwdc2021-110142":{"id":"wwdc2021-110142","staticContentId":5833,"eventContentId":110142,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:01:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/110142","languageCode":"eng","description":"Discover how Apple creates products that work well for everyone. Learn from a few of the engineers and designers who helped build Apple Watch as they share stories that highlight our approach to accessible design, constant iteration, and community engagement.\n\nThis version includes American Sign Language (ASL).","title":"Accessibility by design: An Apple Watch for everyone (ASL)","originalPublishingDate":"2021-06-09T11:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["watchOS"],"primaryTopicID":82,"topicIds":[87,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8C8EA10A-16CF-4242-A18D-A2FD6D7F5CA7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/110142\/2\/7A8BFD0C-E9CB-46D3-B598-2A8EEA5F89F0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/110142\/2\/7A8BFD0C-E9CB-46D3-B598-2A8EEA5F89F0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/110142\/2\/7A8BFD0C-E9CB-46D3-B598-2A8EEA5F89F0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/110142\/2\/7A8BFD0C-E9CB-46D3-B598-2A8EEA5F89F0\/downloads\/wwdc2021-110142_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/110142\/2\/7A8BFD0C-E9CB-46D3-B598-2A8EEA5F89F0\/downloads\/wwdc2021-110142_sd.mp4","duration":612,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"]},"related":{"activities":["wwdc2021-10308","wwdc2021-10323"]}},"wwdc2021-10202":{"id":"wwdc2021-10202","staticContentId":5113,"eventContentId":10202,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:01:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10202","languageCode":"eng","description":"Discover how Xcode can automatically track down infinite loops, unused code, and other issues before you even run your app. Learn how, with a single click, Xcode can analyze your project to discover security issues, logical bugs, and other hard-to-spot errors in Objective-C, C, and C++. We\u2019ll show you how to use the static analyzer to save you time investigating bug reports and improve your app's overall quality.","title":"Detect bugs early with the static analyzer","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5CDC8F7E-A5C6-46DD-A895-16D192EFC23E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10202\/3\/1E0D5337-0542-423B-9775-7FB518B7707B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10202\/3\/1E0D5337-0542-423B-9775-7FB518B7707B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10202\/3\/1E0D5337-0542-423B-9775-7FB518B7707B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10202\/3\/1E0D5337-0542-423B-9775-7FB518B7707B\/downloads\/wwdc2021-10202_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10202\/3\/1E0D5337-0542-423B-9775-7FB518B7707B\/downloads\/wwdc2021-10202_sd.mp4","duration":553,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2019-409","wwdc2018-409"]}},"wwdc2021-10013":{"id":"wwdc2021-10013","staticContentId":4879,"eventContentId":10013,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:01:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10013","languageCode":"eng","description":"App Clips give people the power to discover and download a small part of your app at a moment\u2019s notice to complete tasks and transactions. Explore tips and best practices to help you create compact App Clips that emphasize modern features and elegant design. Learn how you can build reliable and secure App Clips to ensure that people can always access your experience when scanning a physical App Clip Code or viewing it through your website. And we\u2019ll take you through specific strategies for testing an App Clip before releasing it to the world.","title":"Build light and fast App Clips","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["aasa","advanced experience","all compatible device variants","app clip codes","app clip invocation","app clips","app clip size","app thinning","archive build","asset catalogs","associated domain configuration","build settings","bundleid","compression","deep link","domain validation","embedded framwork","encode as url","ephemeral notification","fruta","lazy loading","local experience","location confirmation","managing complexity","maps","meta tag","nfc","physical invocation","qr code","rebuild from bitcode","redirect","sf symbols","shared asset catalog","shared container","siri suggestions","size optimization","size report","swcutil","testing","unique functionality","vector graphics"],"primaryTopicID":83,"topicIds":[90,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7120E473-4A84-447D-8B55-0F1614324E59","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10013\/5\/F623A344-AF7B-44AF-89A0-DF275CE40E7A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10013\/5\/F623A344-AF7B-44AF-89A0-DF275CE40E7A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10013\/5\/F623A344-AF7B-44AF-89A0-DF275CE40E7A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10013\/5\/F623A344-AF7B-44AF-89A0-DF275CE40E7A\/downloads\/wwdc2021-10013_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10013\/5\/F623A344-AF7B-44AF-89A0-DF275CE40E7A\/downloads\/wwdc2021-10013_sd.mp4","duration":1776,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10097","wwdc2021-10012","wwdc2021-10073","wwdc2021-100205","wwdc2020-10098","wwdc2020-10146","wwdc2020-10651","wwdc2019-419","wwdc2018-227"],"resources":[1562,1561]}},"wwdc2021-10087":{"id":"wwdc2021-10087","staticContentId":4982,"eventContentId":10087,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-08T15:29:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10087","languageCode":"eng","description":"Quickly discover how to identify priorities when viewing power and performance regressions. Learn how to track metrics that have regressed with device-and percentile-specific information, so you can focus your efforts on optimization and save valuable development time. We\u2019ll also show you how to track down common anti-patterns in your app that wear out device storage, help you customize your workflows, and add App Store Connect APIs to help you stay up to date on your app\u2019s real-world performance.\n","title":"Diagnose Power and Performance regressions in your app","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":88,"topicIds":[86,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9792EEE0-0C27-4521-B126-8149E5296BE7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10087\/6\/35272A76-3FD8-4149-B4C9-B7C0AA197E61\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10087\/6\/35272A76-3FD8-4149-B4C9-B7C0AA197E61\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10087\/6\/35272A76-3FD8-4149-B4C9-B7C0AA197E61\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10087\/6\/35272A76-3FD8-4149-B4C9-B7C0AA197E61\/downloads\/wwdc2021-10087_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10087\/6\/35272A76-3FD8-4149-B4C9-B7C0AA197E61\/downloads\/wwdc2021-10087_sd.mp4","duration":930,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10082","wwdc2021-10181","wwdc2021-10203","wwdc2021-10258","wwdc2021-10348","wwdc2021-100138","wwdc2021-100216","wwdc2021-100226","wwdc2020-10057","wwdc2020-10076","wwdc2020-10081"],"resources":[1683,1679,1629,733,462]}},"wwdc2021-10096":{"id":"wwdc2021-10096","staticContentId":4991,"eventContentId":10096,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:59:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10096","languageCode":"eng","description":"iCloud Private Relay is an iCloud+ service that prevents networks and servers from monitoring a person's activity across the internet. Discover how your app can participate in this transition to a more secure and private internet: We'll show you how to prepare your apps, servers, and networks to work with iCloud Private Relay.\n\n","title":"Get ready for iCloud Private Relay","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":96,"topicIds":[101,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"61E47C9D-AA79-40AE-8ACB-36A3A15A00B0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10096\/8\/601CAC32-E343-4373-9758-85F33CAAB3D8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10096\/8\/601CAC32-E343-4373-9758-85F33CAAB3D8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10096\/8\/601CAC32-E343-4373-9758-85F33CAAB3D8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10096\/8\/601CAC32-E343-4373-9758-85F33CAAB3D8\/downloads\/wwdc2021-10096_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10096\/8\/601CAC32-E343-4373-9758-85F33CAAB3D8\/downloads\/wwdc2021-10096_sd.mp4","duration":908,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10002","tech-talks-21-10157","wwdc2021-10085","wwdc2021-10123","wwdc2021-100111","wwdc2021-100125","wwdc2021-100173","wwdc2021-100198","wwdc2021-100270","wwdc2021-100272","wwdc2019-714"],"resources":[2244,475]}},"wwdc2021-10229":{"id":"wwdc2021-10229","staticContentId":5144,"eventContentId":10229,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:58:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10229","languageCode":"eng","description":"The Metal shading language is a powerful C++ based language that allows apps to render stunning effects while maintaining a flexible shader development pipeline. Discover how to more easily build and extend your render pipelines using Dynamic Libraries and Function Pointers. We\u2019ll also show you how to accelerate your shader compilation at runtime with Binary Function Archives, Function Linking, and Function Stitching.","title":"Discover compilation workflows in Metal","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["compilation","compiler","metal","metal shading language","metal tools","performance","xcode"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"887B3556-72BE-4A05-86CA-DD189C1B324D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10229\/3\/B5993DB1-3978-4019-B109-364AE2E6F14A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10229\/3\/B5993DB1-3978-4019-B109-364AE2E6F14A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10229\/3\/B5993DB1-3978-4019-B109-364AE2E6F14A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10229\/3\/B5993DB1-3978-4019-B109-364AE2E6F14A\/downloads\/wwdc2021-10229_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10229\/3\/B5993DB1-3978-4019-B109-364AE2E6F14A\/downloads\/wwdc2021-10229_sd.mp4","duration":1492,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10124","wwdc2023-10127","wwdc2022-10102","wwdc2021-10157","wwdc2021-10588","wwdc2021-100247","wwdc2021-100288","wwdc2021-100310","wwdc2021-100351","wwdc2020-10013","wwdc2020-10615"],"resources":[1620,888,263,38,31]}},"wwdc2021-10118":{"id":"wwdc2021-10118","staticContentId":5016,"eventContentId":10118,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:55:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10118","languageCode":"eng","description":"It\u2019s never been easier to test your CloudKit containers. We\u2019ll introduce you to cktool, a command-line utility that makes quick work of CloudKit configuration, and learn about the new schema language that allows you to rapidly prototype and evolve containers. We\u2019ll also show you how to combine these tools and configure your containers before running tests in Xcode.\n\nTo get the most out of this session, we recommend being familiar with CloudKit and its development and production environments, as well as a basic understanding of record and data types.","title":"Automate CloudKit tests with cktool and declarative schema","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["cd","ci","cloud","command line","database","developer tool","mock data","mocking","schema","terminal","tool","xcode"],"primaryTopicID":88,"topicIds":[101,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"037082E2-4320-4700-AE60-195F3AD242FA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10118\/4\/9B80307B-4AD2-499D-81D9-ABD4D94DFE78\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10118\/4\/9B80307B-4AD2-499D-81D9-ABD4D94DFE78\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10118\/4\/9B80307B-4AD2-499D-81D9-ABD4D94DFE78\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10118\/4\/9B80307B-4AD2-499D-81D9-ABD4D94DFE78\/downloads\/wwdc2021-10118_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10118\/4\/9B80307B-4AD2-499D-81D9-ABD4D94DFE78\/downloads\/wwdc2021-10118_sd.mp4","duration":574,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10116","wwdc2021-10117","wwdc2021-100197","wwdc2021-100301","wwdc2021-100302"],"resources":[1827,1711,132]}},"wwdc2021-10105":{"id":"wwdc2021-10105","staticContentId":5001,"eventContentId":10105,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:55:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10105","languageCode":"eng","description":"Learn how you can support on-device verification codes in your app or website for a more secure sign-in experience. We\u2019ll explore the latest updates to the iCloud Keychain password manager and discover how verification codes, AutoFill, iCloud Keychain sync, and two-tap setup simplify the multi-step sign-in process. We\u2019ll show you how to support this process in your apps and websites.","title":"Secure login with iCloud Keychain verification codes","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["2fa","code","domain","factor","icloud keychain","keychain","login","log in","password","signin","sign in","sms","totp","two","twofactor"],"primaryTopicID":96,"topicIds":[98,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"350E674F-A085-4625-8FCA-0D26C2908E10","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10105\/7\/67ECEEA8-4F59-4C40-BE4E-5C45EBDCE158\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10105\/7\/67ECEEA8-4F59-4C40-BE4E-5C45EBDCE158\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10105\/7\/67ECEEA8-4F59-4C40-BE4E-5C45EBDCE158\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10105\/7\/67ECEEA8-4F59-4C40-BE4E-5C45EBDCE158\/downloads\/wwdc2021-10105_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10105\/7\/67ECEEA8-4F59-4C40-BE4E-5C45EBDCE158\/downloads\/wwdc2021-10105_sd.mp4","duration":872,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10106","wwdc2021-10279","wwdc2021-110102","wwdc2021-110103","wwdc2021-110106"],"resources":[1684,1519,1345]}},"wwdc2021-10318":{"id":"wwdc2021-10318","staticContentId":5272,"eventContentId":10318,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:55:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10318","languageCode":"eng","description":"How do you approach creating apps for everyone? Learn from developers who are blind or deaf themselves as they discuss the process of making technology accessible. Discover how their unique perspectives have sparked innovation at their companies and helped make their apps even more inclusive.","title":"Developer spotlight: Accessibility","originalPublishingDate":"2021-06-11T11:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","keywords":["accessibility","panel","wwdc21"],"primaryTopicID":82,"topicIds":[82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B4153B2C-D4A5-49E7-8320-53B58FC48AE4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10318\/12\/ACAF8CC7-BEA9-44B2-A056-557CDC67692C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10318\/12\/ACAF8CC7-BEA9-44B2-A056-557CDC67692C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10318\/12\/ACAF8CC7-BEA9-44B2-A056-557CDC67692C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10318\/12\/ACAF8CC7-BEA9-44B2-A056-557CDC67692C\/downloads\/wwdc2021-10318_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10318\/12\/ACAF8CC7-BEA9-44B2-A056-557CDC67692C\/downloads\/wwdc2021-10318_sd.mp4","duration":380,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"]}},"wwdc2021-10308":{"id":"wwdc2021-10308","staticContentId":5258,"eventContentId":10308,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:55:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10308","languageCode":"eng","description":"Discover how Apple creates products that work well for everyone. Learn from a few of the engineers and designers who helped build Apple Watch as they share stories that highlight our approach to accessible design, constant iteration, and community engagement.","title":"Accessibility by design: An Apple Watch for everyone","originalPublishingDate":"2021-06-09T11:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["watchOS"],"primaryTopicID":87,"topicIds":[82,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1D5234A8-6039-4751-A909-1FDF63F40576","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10308\/18\/BA664ADF-042F-4084-8565-61FC83578C92\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10308\/18\/BA664ADF-042F-4084-8565-61FC83578C92\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10308\/18\/BA664ADF-042F-4084-8565-61FC83578C92\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10308\/18\/BA664ADF-042F-4084-8565-61FC83578C92\/downloads\/wwdc2021-10308_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10308\/18\/BA664ADF-042F-4084-8565-61FC83578C92\/downloads\/wwdc2021-10308_sd.mp4","duration":612,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"]},"related":{"activities":["wwdc2021-10323","wwdc2021-110142"]}},"wwdc2021-10146":{"id":"wwdc2021-10146","staticContentId":5048,"eventContentId":10146,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:55:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10146","languageCode":"eng","description":"Discover the latest updates to AVFoundation, Apple\u2019s framework for inspecting, playing, and authoring audiovisual presentations. We\u2019ll explore how you can use AVFoundation to query attributes of audiovisual assets, further customize your custom video compositions with timed metadata, and author caption files.","title":"What\u2019s new in AVFoundation","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["asset","authoring","avasset","avfoundation","composition","inspection","media","metadata","video"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DD25BF22-AB25-44B5-9981-03A6CA048818","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10146\/5\/DB6BBE8F-5AF9-4331-BF7B-F8DF5AC43A92\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10146\/5\/DB6BBE8F-5AF9-4331-BF7B-F8DF5AC43A92\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10146\/5\/DB6BBE8F-5AF9-4331-BF7B-F8DF5AC43A92\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10146\/5\/DB6BBE8F-5AF9-4331-BF7B-F8DF5AC43A92\/downloads\/wwdc2021-10146_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10146\/5\/DB6BBE8F-5AF9-4331-BF7B-F8DF5AC43A92\/downloads\/wwdc2021-10146_sd.mp4","duration":1011,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110379","wwdc2021-10132","wwdc2021-10140","wwdc2021-10143","wwdc2021-10158","wwdc2021-10265","wwdc2021-10290","wwdc2021-10498","wwdc2021-100240","wwdc2021-100248","wwdc2021-100265","wwdc2021-100434"],"resources":[1828,52]}},"wwdc2021-10086":{"id":"wwdc2021-10086","staticContentId":4980,"eventContentId":10086,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:55:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10086","languageCode":"eng","description":"CloudKit provides a secure, convenient, and reliable cloud database for your apps \u2014 and it\u2019s only getting better. Discover how you can unravel your threads with support for async\/await and convenience API additions. We\u2019ll also show you how to encourage collaboration between people using your app through sharing entire record zones of data, and explore how to adopt CloudKit features like encrypted values and help protect sensitive data within your app.\n\nTo get the most out of this session, we recommend being familiar with CloudKit and its operations on containers, as well as a basic understanding of record and data types.","title":"What's new in CloudKit","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["cloud","database","encrypted","encryption","fields","hierarchical","privacy","record","security","share","sharing","storage","zone"],"primaryTopicID":101,"topicIds":[90,96,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2D66F0A4-5C57-46B2-A8BC-0487DED0A08A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10086\/3\/0126BD48-6C5E-4D8C-9464-DA85CFDF193B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10086\/3\/0126BD48-6C5E-4D8C-9464-DA85CFDF193B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10086\/3\/0126BD48-6C5E-4D8C-9464-DA85CFDF193B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10086\/3\/0126BD48-6C5E-4D8C-9464-DA85CFDF193B\/downloads\/wwdc2021-10086_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10086\/3\/0126BD48-6C5E-4D8C-9464-DA85CFDF193B\/downloads\/wwdc2021-10086_sd.mp4","duration":1609,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10053","wwdc2022-10095","wwdc2021-10015","wwdc2021-10117","wwdc2021-10132","wwdc2021-100197","wwdc2021-100301","wwdc2021-100302","tech-talks-10874"],"resources":[1811,1810,132]}},"wwdc2021-10106":{"id":"wwdc2021-10106","staticContentId":5002,"eventContentId":10106,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:55:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10106","languageCode":"eng","description":"Despite their prevalence, passwords inherently come with challenges that make them poorly suited to securing someone\u2019s online accounts. Learn more about the challenges passwords pose to modern security and how to move beyond them. Explore the next frontier in account security with secure-by-design, public-key-based credentials that use the Web Authentication standard. Discover in this technology preview how Apple is approaching this standard in iOS 15 and macOS Monterey.","title":"Move beyond passwords","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["authenticationservices","icloud keychain","keychain","login","log in","logon","log on","passkey","passkeys","password","passwordless","passwords","phishing","privacy","safari","security","webauthn"],"primaryTopicID":96,"topicIds":[98,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B671AE75-5224-4AA1-BB31-F4CBA7E95342","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10106\/5\/CAC0BED2-732C-431A-9764-DA6A1206FE0E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10106\/5\/CAC0BED2-732C-431A-9764-DA6A1206FE0E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10106\/5\/CAC0BED2-732C-431A-9764-DA6A1206FE0E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10106\/5\/CAC0BED2-732C-431A-9764-DA6A1206FE0E\/downloads\/wwdc2021-10106_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10106\/5\/CAC0BED2-732C-431A-9764-DA6A1206FE0E\/downloads\/wwdc2021-10106_sd.mp4","duration":1521,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10105","wwdc2021-10279","wwdc2021-10323","wwdc2021-110102","wwdc2021-110103","wwdc2021-110106","wwdc2017-206"],"resources":[1703,1681,1680,1560]}},"wwdc2021-10232":{"id":"wwdc2021-10232","staticContentId":5147,"eventContentId":10232,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:55:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10232","languageCode":"eng","description":"Shortcuts is coming to macOS, and your apps are a key part of that process. Discover how you can elevate the capabilities of your app by exposing those features as Shortcuts actions. We\u2019ll show you how to build actions for your macOS apps built with Catalyst or AppKit, deploy actions across platforms, publish and share shortcuts, and enable your app to run shortcuts from other apps. We\u2019ll also take you through how Shortcuts fits in with existing Mac automation technologies like Automator and AppleScript.","title":"Meet Shortcuts for macOS","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["applescript","automation","automator","command line automation","intent","shortcuts","shortcuts app","sirikit","suggestions"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"35174F7E-44A4-4C79-96F5-66FCC947D949","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10232\/4\/F45F16B7-D0DD-4D4D-954B-1704C1063E3C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10232\/4\/F45F16B7-D0DD-4D4D-954B-1704C1063E3C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10232\/4\/F45F16B7-D0DD-4D4D-954B-1704C1063E3C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10232\/4\/F45F16B7-D0DD-4D4D-954B-1704C1063E3C\/downloads\/wwdc2021-10232_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10232\/4\/F45F16B7-D0DD-4D4D-954B-1704C1063E3C\/downloads\/wwdc2021-10232_sd.mp4","duration":1611,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10018","wwdc2021-10052","wwdc2021-10056","wwdc2021-10283","wwdc2021-100170","wwdc2021-100175","tech-talks-10891"],"resources":[1701,1699]}},"wwdc2021-10136":{"id":"wwdc2021-10136","staticContentId":5037,"eventContentId":10136,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:54:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10136","languageCode":"eng","description":"Learn how User Enrollment helps you support \u201cbring your own device\u201d deployments in your business or enterprise environment. We\u2019ll explore data separation, enhancements to Managed Apple IDs and how you can use the new account-based onboarding in your organization.","title":"Discover account-driven User Enrollment","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":89,"topicIds":[86,96,89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B653F31A-B089-444A-AA48-0EF9B67FE0AB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10136\/6\/8CF389C4-8FA9-4A14-A76E-B5B75AE9D4D8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10136\/6\/8CF389C4-8FA9-4A14-A76E-B5B75AE9D4D8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10136\/6\/8CF389C4-8FA9-4A14-A76E-B5B75AE9D4D8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10136\/6\/8CF389C4-8FA9-4A14-A76E-B5B75AE9D4D8\/downloads\/wwdc2021-10136_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10136\/6\/8CF389C4-8FA9-4A14-A76E-B5B75AE9D4D8\/downloads\/wwdc2021-10136_sd.mp4","duration":1266,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10254","wwdc2021-10130","wwdc2021-100144","wwdc2021-100363","wwdc2019-303","tech-talks-10890","tech-talks-10891"],"resources":[329]}},"wwdc2021-10260":{"id":"wwdc2021-10260","staticContentId":5188,"eventContentId":10260,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:54:45-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10260","languageCode":"eng","description":"Improve the keyboard experience in your iPad and Mac Catalyst app. Discover how you can accelerate access to key features with the hardware keyboard, and navigate through your views and view controllers. Learn how to customize which elements are keyboard navigable, as well as how to customize the tab loop.","title":"Focus on iPad keyboard navigation","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["commands","environment","focus","groups","ipad","item","key","keyboard","navigation","productivity","sidebar."],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"092D346D-0C71-4E7E-886E-75FD1B339D96","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10260\/4\/E0BC9390-870B-4D59-9A0C-74941EAF4E36\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10260\/4\/E0BC9390-870B-4D59-9A0C-74941EAF4E36\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10260\/4\/E0BC9390-870B-4D59-9A0C-74941EAF4E36\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10260\/4\/E0BC9390-870B-4D59-9A0C-74941EAF4E36\/downloads\/wwdc2021-10260_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10260\/4\/E0BC9390-870B-4D59-9A0C-74941EAF4E36\/downloads\/wwdc2021-10260_sd.mp4","duration":1223,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja"]},"related":{"activities":["tech-talks-21-10059","wwdc2021-10053","wwdc2021-10056","wwdc2021-10057","wwdc2021-10059","wwdc2021-10120","wwdc2021-10345","wwdc2021-10346","wwdc2021-100228","wwdc2021-100229","wwdc2021-100231","wwdc2021-100249","wwdc2020-10027","wwdc2017-224"],"resources":[1808,1582,1548,898,695,202,3]}},"wwdc2021-10037":{"id":"wwdc2021-10037","staticContentId":4927,"eventContentId":10037,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:54:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10037","languageCode":"eng","description":"Discover how your app can train Core ML models fully on device with the Create ML framework, enabling adaptive and customized app experiences, all while preserving data privacy. We'll explore the types of models that can be created on-the-fly for image-based tasks like Style Transfer and Image Classification, audio tasks like custom Sound Classification, or tasks that build on a rich set of Text Classification, Tabular Data Classification, and Tabular Regressors. And we'll take you through the many opportunities these models offer to make your app more personal and dynamic.\n\nFor even more inspiration, check out \u201cClassify hand poses and actions with Create ML\u201d and \u201cDiscover built-in sound classification in SoundAnalysis\u201d from WWDC21.","title":"Build dynamic iOS apps with the Create ML framework","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["ai","core ml","create ml","create ml framework","machine learning","on-device training"],"primaryTopicID":94,"topicIds":[95,96,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"459AF599-047F-4CA6-BEAD-25F702E7B6DF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10037\/3\/4705B592-C85E-4872-A252-5C377A1022D6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10037\/3\/4705B592-C85E-4872-A252-5C377A1022D6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10037\/3\/4705B592-C85E-4872-A252-5C377A1022D6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10037\/3\/4705B592-C85E-4872-A252-5C377A1022D6\/downloads\/wwdc2021-10037_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10037\/3\/4705B592-C85E-4872-A252-5C377A1022D6\/downloads\/wwdc2021-10037_sd.mp4","duration":1009,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10019","wwdc2022-110332","tech-talks-21-10010","tech-talks-21-10018","tech-talks-21-10020","tech-talks-21-10090","tech-talks-21-110279","wwdc2021-100112","wwdc2021-100124","wwdc2021-100126","wwdc2021-100128","wwdc2020-10156"],"resources":[443]}},"wwdc2021-10032":{"id":"wwdc2021-10032","staticContentId":4920,"eventContentId":10032,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:54:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10032","languageCode":"eng","description":"Explore the latest updates to WKWebView. We\u2019ll show you how to use APIs to manipulate web content without JavaScript, explore delegates that can help with WebRTC and Downloads, and share how you can easily create a richer web experience within your app.","title":"Explore WKWebView additions","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["dictation","media","safari","web app"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8A0A5E12-9D2C-4629-A13C-8EB702A9DA28","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10032\/4\/BF2DECD6-BD90-4253-9082-6F2FC912788C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10032\/4\/BF2DECD6-BD90-4253-9082-6F2FC912788C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10032\/4\/BF2DECD6-BD90-4253-9082-6F2FC912788C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10032\/4\/BF2DECD6-BD90-4253-9082-6F2FC912788C\/downloads\/wwdc2021-10032_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10032\/4\/BF2DECD6-BD90-4253-9082-6F2FC912788C\/downloads\/wwdc2021-10032_sd.mp4","duration":1304,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja"]},"related":{"activities":["wwdc2021-10027","wwdc2021-10029","wwdc2021-10030","wwdc2021-10031","wwdc2021-10033","wwdc2021-10104","wwdc2021-100136","wwdc2021-100437","wwdc2021-100438","wwdc2021-100439","wwdc2020-10188"],"resources":[1400,1386,772,338]}},"wwdc2021-10137":{"id":"wwdc2021-10137","staticContentId":5038,"eventContentId":10137,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-08T12:30:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10137","languageCode":"eng","description":"Discover the Apps and Books Management API and explore how you can assign an organization\u2019s owned apps and books to managed users and devices. Learn about the latest API improvements and find out how you can subscribe to and receive notifications around asset counts, assignments, and registered users in your organization. And discover how you can take advantage of asynchronous processing to significantly reduce the number of requests you need to make for large assignments.","title":"Improve MDM assignment of Apps and Books","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":89,"topicIds":[86,89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0A6704F3-4FCD-420C-AA47-A39FCE9B77BC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10137\/7\/FB724053-0CDB-4228-A9A7-CA326DC41FBE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10137\/7\/FB724053-0CDB-4228-A9A7-CA326DC41FBE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10137\/7\/FB724053-0CDB-4228-A9A7-CA326DC41FBE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10137\/7\/FB724053-0CDB-4228-A9A7-CA326DC41FBE\/downloads\/wwdc2021-10137_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10137\/7\/FB724053-0CDB-4228-A9A7-CA326DC41FBE\/downloads\/wwdc2021-10137_sd.mp4","duration":931,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10130","wwdc2021-100144","wwdc2021-100363"],"resources":[1778,584,330]}},"wwdc2021-10153":{"id":"wwdc2021-10153","staticContentId":5055,"eventContentId":10153,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:54:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10153","languageCode":"eng","description":"Discover how to optimize your image processing app for Apple silicon. Explore how to take advantage of Metal render command encoders, tile shading, unified memory architecture, and memoryless attachments. We\u2019ll show you how to use Apple's unique tile based deferred renderer architecture to create power efficient apps with low memory footprint, and take you through best practices when migrating your compute-based apps from discrete GPUs to Apple silicon.","title":"Create image processing apps powered by Apple silicon","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["apple silicon","cuda","metal","metal shading language","metal tools","opencl","performance","proapps","tips and tricks","video","video effects"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A4A693B6-33D1-49D0-910D-09243F681B14","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10153\/4\/F8C484C1-A0A2-4377-992B-313BEB320A28\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10153\/4\/F8C484C1-A0A2-4377-992B-313BEB320A28\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10153\/4\/F8C484C1-A0A2-4377-992B-313BEB320A28\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10153\/4\/F8C484C1-A0A2-4377-992B-313BEB320A28\/downloads\/wwdc2021-10153_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10153\/4\/F8C484C1-A0A2-4377-992B-313BEB320A28\/downloads\/wwdc2021-10153_sd.mp4","duration":1774,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10588","wwdc2021-100247","wwdc2021-100288","wwdc2021-100310","wwdc2021-100351","wwdc2020-10602","wwdc2020-10632"],"resources":[357,263,38,31]}},"wwdc2021-10142":{"id":"wwdc2021-10142","staticContentId":5044,"eventContentId":10142,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:54:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10142","languageCode":"eng","description":"Discover how you can create streaming media content that seamlessly transitions between episodes, songs, scenes, and individual resources. With gapless HLS playback, you can stitch together multiple pieces of content on the fly to create customized workouts, design interactive content, tell compelling stories, and more. We\u2019ll show you how you can provide faithful continuity for streaming music, event recordings, and pre-recorded video and provide a captivating viewing experience within your app.","title":"Transition media gaplessly with HLS","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["gapless","hls","http live streaming","media","transition"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"80431B71-65A8-43E0-859D-4A668DCF1F40","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10142\/14\/423D5648-E58A-4CD1-A06F-1290EFA18BC4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10142\/14\/423D5648-E58A-4CD1-A06F-1290EFA18BC4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10142\/14\/423D5648-E58A-4CD1-A06F-1290EFA18BC4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10142\/14\/423D5648-E58A-4CD1-A06F-1290EFA18BC4\/downloads\/wwdc2021-10142_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10142\/14\/423D5648-E58A-4CD1-A06F-1290EFA18BC4\/downloads\/wwdc2021-10142_sd.mp4","duration":633,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10143","wwdc2021-10498","wwdc2021-100240","wwdc2021-100248"],"resources":[486]}},"wwdc2021-10294":{"id":"wwdc2021-10294","staticContentId":5233,"eventContentId":10294,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-08T13:30:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10294","languageCode":"eng","description":"MusicKit makes it easy to integrate Apple Music into your app. Explore the Swift-based framework: We\u2019ll take you through the basic process of using MusicKit \u2014 including how to find, request, and play content \u2014 and show you how you can incorporate music subscription workflows into your app if someone hasn\u2019t yet signed up to Apple Music.","title":"Meet MusicKit for Swift","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["apple music","music","musickit","songs","swift"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E1ADFE27-7CF0-451D-8D6D-FCA1EA247564","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10294\/5\/DFB67B36-DCDE-49D9-8ED1-AC2A8B566F64\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10294\/5\/DFB67B36-DCDE-49D9-8ED1-AC2A8B566F64\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10294\/5\/DFB67B36-DCDE-49D9-8ED1-AC2A8B566F64\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10294\/5\/DFB67B36-DCDE-49D9-8ED1-AC2A8B566F64\/downloads\/wwdc2021-10294_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10294\/5\/DFB67B36-DCDE-49D9-8ED1-AC2A8B566F64\/downloads\/wwdc2021-10294_sd.mp4","duration":1066,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110347","wwdc2022-110558","wwdc2022-110559","wwdc2021-10019","wwdc2021-10044","wwdc2021-10291","wwdc2021-10293","wwdc2021-100239","wwdc2021-100425"],"resources":[1702,1607]}},"wwdc2021-10259":{"id":"wwdc2021-10259","staticContentId":5187,"eventContentId":10259,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:54:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10259","languageCode":"eng","description":"Discover how you can use the Keyboard Layout Guide to manage how keyboards work within your iOS or iPadOS app. Learn how you can avoid writing lengthy code blocks when you use UIKeyboardLayoutGuide and UITrackingLayoutGuide to integrate the keyboard into your interface, helping people have a smoother, more enjoyable experience whenever they use the on-screen keyboard within your app.\n\nTo get the most out of this session, we recommend familiarity with both Auto Layout and UILayoutGuide.","title":"Your guide to keyboard layout","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["\ud83c\udfb9","\u2328\ufe0f"],"primaryTopicID":100,"topicIds":[82,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"92439EC9-ADA6-4792-AB9F-0C255598730C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10259\/4\/F6B7B6EB-8577-4034-9EE3-67BADA64041D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10259\/4\/F6B7B6EB-8577-4034-9EE3-67BADA64041D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10259\/4\/F6B7B6EB-8577-4034-9EE3-67BADA64041D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10259\/4\/F6B7B6EB-8577-4034-9EE3-67BADA64041D\/downloads\/wwdc2021-10259_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10259\/4\/F6B7B6EB-8577-4034-9EE3-67BADA64041D\/downloads\/wwdc2021-10259_sd.mp4","duration":880,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10281","tech-talks-21-10059","wwdc2021-10276","wwdc2017-242"],"resources":[1582]}},"wwdc2021-10210":{"id":"wwdc2021-10210","staticContentId":5121,"eventContentId":10210,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:53:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10210","languageCode":"eng","description":"Working with more complex Xcode projects? You\u2019ve come to the right place. Discover how you can configure your project to build for multiple Apple platforms, filter content per-platform, create custom build rules and file dependencies, and more. We\u2019ll take you through multi-platform framework targets, detail how to optimize your project and scheme configuration, and show you how to make effective use of configuration settings files. \n\nWe\u2019ll explore configuring schemes for parallel builds and implicit dependencies, script phases, custom build rules, setting up input and output file dependencies, build phase file lists, and deduplicating work via aggregate targets. Lastly, find out more about the build settings editor, how levels work, and configuration settings file syntax.","title":"Explore advanced project configuration in Xcode","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["build","build phase","build settings","multiplatform","project","scheme","script phase","xcconfig"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"15F619AF-CFB0-422D-80CE-30E20C90E33D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10210\/4\/391A6CFB-228A-4349-AE24-4809307D58F5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10210\/4\/391A6CFB-228A-4349-AE24-4809307D58F5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10210\/4\/391A6CFB-228A-4349-AE24-4809307D58F5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10210\/4\/391A6CFB-228A-4349-AE24-4809307D58F5\/downloads\/wwdc2021-10210_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10210\/4\/391A6CFB-228A-4349-AE24-4809307D58F5\/downloads\/wwdc2021-10210_sd.mp4","duration":1537,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10056","wwdc2021-100232"]}},"wwdc2021-10150":{"id":"wwdc2021-10150","staticContentId":5052,"eventContentId":10150,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:53:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10150","languageCode":"eng","description":"Discover how you can combine ray tracing with your rasterization engine to implement simplified graphics techniques and elevate visuals in your app or game. We\u2019ll explore how you can use natural algorithms to accurately simulate the interplays of light, and learn how to take advantage of the latest tools in Xcode to capture, inspect, and debug your ray-traced scenes.","title":"Explore hybrid rendering with Metal ray tracing","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["game dev","game developer","metal","metal shading language","metal tools","optimization","proapps"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"38A2884C-C89E-4EC6-9104-3412C8B08B89","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10150\/9\/F2EBE5D9-9990-476B-82FF-D73638B5E1AF\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10150\/9\/F2EBE5D9-9990-476B-82FF-D73638B5E1AF\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10150\/9\/F2EBE5D9-9990-476B-82FF-D73638B5E1AF\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10150\/9\/F2EBE5D9-9990-476B-82FF-D73638B5E1AF\/downloads\/wwdc2021-10150_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10150\/9\/F2EBE5D9-9990-476B-82FF-D73638B5E1AF\/downloads\/wwdc2021-10150_sd.mp4","duration":1788,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10128","wwdc2022-10101","wwdc2021-10148","wwdc2021-10149","wwdc2021-10157","wwdc2021-10286","wwdc2021-10588","wwdc2021-100247","wwdc2021-100288","wwdc2021-100310","wwdc2021-100351"],"resources":[2223,1619,880,362,38,31]}},"wwdc2021-10288":{"id":"wwdc2021-10288","staticContentId":5226,"eventContentId":10288,"eventId":"wwdc2021","contentUpdatedAt":"2024-05-31T13:16:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10288","languageCode":"eng","description":"Tour the latest updates to the SF Symbols app \u2014 our interactive library for iconography. Learn how you can use the library to design accessible and inclusive apps that look incredible: We\u2019ll take you through changes to the app and symbols search, explore previewing and custom symbol management, and help you integrate symbols into your interface designs. It's recommended you watch \"What's new in SF Symbols\" from WWDC21 before watching this video.","title":"Explore the SF Symbols 3 app","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2100-06-07T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[90,100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"345D5DAF-C882-405D-8E62-72A5EBF31221","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10288\/4\/48BB2A1D-31BF-4E09-90DF-2FC4669B3946\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10288\/4\/48BB2A1D-31BF-4E09-90DF-2FC4669B3946\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10288\/4\/48BB2A1D-31BF-4E09-90DF-2FC4669B3946\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10288\/4\/48BB2A1D-31BF-4E09-90DF-2FC4669B3946\/downloads\/wwdc2021-10288_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10288\/4\/48BB2A1D-31BF-4E09-90DF-2FC4669B3946\/downloads\/wwdc2021-10288_sd.mp4","duration":767,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10097","wwdc2021-10250","wwdc2021-10251","wwdc2021-10349","wwdc2021-100237","wwdc2020-10207","wwdc2019-206"],"resources":[1418,610]}},"wwdc2021-10130":{"id":"wwdc2021-10130","staticContentId":5031,"eventContentId":10130,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:53:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10130","languageCode":"eng","description":"Discover the latest advancements in key device management capabilities for your organization or MDM solution. Explore the refreshed device management Settings on iOS and iPadOS, an all-new return to service functionality for macOS, and other updates to device management across Apple platforms.","title":"What\u2019s new in managing Apple devices","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["configuration","education","enrollment","enterprise","management","mdm","privacy","profile","profiles","security","shared ipad"],"primaryTopicID":89,"topicIds":[86,89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DC791FF6-2FF9-454D-97AD-EA662BFC265C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10130\/4\/92D05556-BFA4-40C0-A181-5747D041FF01\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10130\/4\/92D05556-BFA4-40C0-A181-5747D041FF01\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10130\/4\/92D05556-BFA4-40C0-A181-5747D041FF01\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10130\/4\/92D05556-BFA4-40C0-A181-5747D041FF01\/downloads\/wwdc2021-10130_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10130\/4\/92D05556-BFA4-40C0-A181-5747D041FF01\/downloads\/wwdc2021-10130_sd.mp4","duration":866,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10129","wwdc2021-10131","wwdc2021-10136","wwdc2021-10137","wwdc2021-10297","wwdc2021-100144","wwdc2021-100363","tech-talks-10890","tech-talks-10891"],"resources":[794,581,329]}},"wwdc2021-10147":{"id":"wwdc2021-10147","staticContentId":5049,"eventContentId":10147,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:53:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10147","languageCode":"eng","description":"Discover how to achieve smooth screen updates on all Apple platforms that support dynamic display timing. Learn techniques for pacing full-screen game updates on Adaptive Sync displays in macOS, and find out how Low Power Mode and other system states affect frame rate availability on ProMotion displays. We\u2019ll also share best practices for driving custom drawing using display link APIs.","title":"Optimize for variable refresh rate displays","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["display","display p3","game dev","game developer","metal","metal shading language","metal tools","optimization","proapps"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"275F7E68-1496-4565-B68C-1302719B274E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10147\/5\/B362C41F-D567-4137-8333-0B4FF56AD528\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10147\/5\/B362C41F-D567-4137-8333-0B4FF56AD528\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10147\/5\/B362C41F-D567-4137-8333-0B4FF56AD528\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10147\/5\/B362C41F-D567-4137-8333-0B4FF56AD528\/downloads\/wwdc2021-10147_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10147\/5\/B362C41F-D567-4137-8333-0B4FF56AD528\/downloads\/wwdc2021-10147_sd.mp4","duration":1400,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10083","wwdc2021-10588","wwdc2021-100247","wwdc2021-100288","wwdc2021-100310","wwdc2021-100351","wwdc2019-606","wwdc2017-601"],"resources":[263,38]}},"wwdc2021-10197":{"id":"wwdc2021-10197","staticContentId":5108,"eventContentId":10197,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:52:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10197","languageCode":"eng","description":"Whether you're curating packages for your team, for education purposes, or to share with other developers, Swift Package Collections can help you discover, explore and import new packages into your project. Discover improvements in the Swift Package workflow using Collections, and learn how you can curate, create, sign, and share your own Swift Package Collections.","title":"Discover and curate Swift Packages using Collections","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["collection","collections","dependency","dependency management","spm","swift package collection","swift packages","xcode"],"primaryTopicID":99,"topicIds":[88,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6176426A-BF8C-4781-990B-C002881D3A4B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10197\/5\/4B9FBC81-D676-431E-934C-6DD3EE985C64\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10197\/5\/4B9FBC81-D676-431E-934C-6DD3EE985C64\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10197\/5\/4B9FBC81-D676-431E-934C-6DD3EE985C64\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10197\/5\/4B9FBC81-D676-431E-934C-6DD3EE985C64\/downloads\/wwdc2021-10197_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10197\/5\/4B9FBC81-D676-431E-934C-6DD3EE985C64\/downloads\/wwdc2021-10197_sd.mp4","duration":866,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10192","wwdc2019-408","wwdc2019-410"],"resources":[1585]}},"wwdc2021-10297":{"id":"wwdc2021-10297","staticContentId":5237,"eventContentId":10297,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:52:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10297","languageCode":"eng","description":"Apple Configurator is now more capable than ever. Whether you\u2019re provisioning iOS, iPadOS, and tvOS devices in your organization or servicing existing macOS devices, learn how Apple Configurator can help with key workflows. And, coming to iPhone in iOS 15, discover how you can bring Automated Device Enrollment to even more macOS devices.","title":"Manage devices with Apple Configurator","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":89,"topicIds":[86,89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"869C41B8-FD68-448C-B05E-2604B62DA640","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10297\/5\/42EFFB92-E098-4A61-AC2C-F645C909C1EE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10297\/5\/42EFFB92-E098-4A61-AC2C-F645C909C1EE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10297\/5\/42EFFB92-E098-4A61-AC2C-F645C909C1EE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10297\/5\/42EFFB92-E098-4A61-AC2C-F645C909C1EE\/downloads\/wwdc2021-10297_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10297\/5\/42EFFB92-E098-4A61-AC2C-F645C909C1EE\/downloads\/wwdc2021-10297_sd.mp4","duration":592,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10045","wwdc2021-10130","wwdc2021-100144","wwdc2021-100363","tech-talks-10891"],"resources":[586]}},"wwdc2021-10183":{"id":"wwdc2021-10183","staticContentId":5094,"eventContentId":10183,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:52:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10183","languageCode":"eng","description":"Learn more about the framework powering SharePlay, and discover the different types of shared experiences you can implement for people who use your app. Explore a high-level overview of the framework\u2019s architecture and concepts, including how Group Activities and AVFoundation work in tandem, and learn how to implement it into your app. This is a great starting point to know more about SharePlay and how to integrate Group Activities in your apps.","title":"Meet Group Activities","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["facetime","face time","groupactivities","group activities","groupsession","media","shareplay","share play"],"primaryTopicID":84,"topicIds":[90,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"85586942-767C-4114-B69C-DE81FD82DCC1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10183\/5\/C850E07A-1E66-4641-9742-DE0DE2E3E29B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10183\/5\/C850E07A-1E66-4641-9742-DE0DE2E3E29B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10183\/5\/C850E07A-1E66-4641-9742-DE0DE2E3E29B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10183\/5\/C850E07A-1E66-4641-9742-DE0DE2E3E29B\/downloads\/wwdc2021-10183_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10183\/5\/C850E07A-1E66-4641-9742-DE0DE2E3E29B\/downloads\/wwdc2021-10183_sd.mp4","duration":1028,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10048","wwdc2021-10184","wwdc2021-10187","wwdc2021-10189","wwdc2021-10225","wwdc2021-10325","wwdc2021-10496","wwdc2021-10499","wwdc2021-100304","wwdc2021-100308"],"resources":[1661,1610]}},"wwdc2021-10149":{"id":"wwdc2021-10149","staticContentId":5051,"eventContentId":10149,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:52:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10149","languageCode":"eng","description":"Achieve photorealistic 3D scenes in your apps and games through ray tracing, a core part of the Metal graphics framework and Shading Language. We\u2019ll explore the latest improvements in implementing ray tracing and take you through upgrades to the production rendering process. Discover Metal APIs to help you create more detailed scenes, integrate natively-supported content with motion, and more.","title":"Enhance your app with Metal ray tracing","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["game dev","game developer","metal","metal shading language","metal tools","optimization","proapps","raytracing"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6F954D27-AC09-4B09-9161-A4FC66AD1FA5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10149\/7\/C01A5359-2EAC-411E-99A5-8D7DA9C8220B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10149\/7\/C01A5359-2EAC-411E-99A5-8D7DA9C8220B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10149\/7\/C01A5359-2EAC-411E-99A5-8D7DA9C8220B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10149\/7\/C01A5359-2EAC-411E-99A5-8D7DA9C8220B\/downloads\/wwdc2021-10149_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10149\/7\/C01A5359-2EAC-411E-99A5-8D7DA9C8220B\/downloads\/wwdc2021-10149_sd.mp4","duration":1790,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10128","wwdc2022-10101","wwdc2021-10148","wwdc2021-10150","wwdc2021-10157","wwdc2021-10286","wwdc2021-10588","wwdc2021-100247","wwdc2021-100288","wwdc2021-100310","wwdc2021-100351","tech-talks-111375"],"resources":[2223,1619,880,362,38,31]}},"wwdc2021-10231":{"id":"wwdc2021-10231","staticContentId":5146,"eventContentId":10231,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:52:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10231","languageCode":"eng","description":"Discover how you can make key parts of your app available for someone at exactly the right moment \u2014 without them ever needing to open it. Learn how to craft and donate intents to the system, helping you surface relevant and contextual information about your app in Siri, Focus, Shortcuts, the Smart Stack, and more. We\u2019ll explore how the system intelligently identifies information and show you techniques for structuring intents to help increase engagement and visibility for your app.","title":"Donate intents and expand your app\u2019s presence","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["intelligence","intent","shortcuts","shortcuts app","sirikit","sirikit media intents","suggestions","system intelligence"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1F7BB4BF-73DB-4EB4-A65E-5540D89DD861","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10231\/3\/E4613D08-78BF-4C2F-AE4E-E1A4B7A68D78\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10231\/3\/E4613D08-78BF-4C2F-AE4E-E1A4B7A68D78\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10231\/3\/E4613D08-78BF-4C2F-AE4E-E1A4B7A68D78\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10231\/3\/E4613D08-78BF-4C2F-AE4E-E1A4B7A68D78\/downloads\/wwdc2021-10231_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10231\/3\/E4613D08-78BF-4C2F-AE4E-E1A4B7A68D78\/downloads\/wwdc2021-10231_sd.mp4","duration":1209,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10049","wwdc2021-10091","wwdc2021-10283","wwdc2021-100172","wwdc2021-100176","wwdc2020-10194","wwdc2018-211","wwdc2018-217"],"resources":[348]}},"wwdc2021-10140":{"id":"wwdc2021-10140","staticContentId":5042,"eventContentId":10140,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:52:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10140","languageCode":"eng","description":"Learn how you can create seamless transitions between advertisements and your HLS streams. We\u2019ll show you how to incorporate HLS tags and AVFoundation APIs to create media experiences that move easily between your primary content and mid-rolls, and provide best practices for playing these streams in your app.","title":"Explore dynamic pre-rolls and mid-rolls in HLS","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["ads","advertisements","interstitals","interstitial"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7698BC08-70F4-44BC-ABE8-166461273B94","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10140\/15\/4961CE04-6EAD-4B07-BD40-70010F74EF0D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10140\/15\/4961CE04-6EAD-4B07-BD40-70010F74EF0D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10140\/15\/4961CE04-6EAD-4B07-BD40-70010F74EF0D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10140\/15\/4961CE04-6EAD-4B07-BD40-70010F74EF0D\/downloads\/wwdc2021-10140_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10140\/15\/4961CE04-6EAD-4B07-BD40-70010F74EF0D\/downloads\/wwdc2021-10140_sd.mp4","duration":919,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10145","wwdc2021-10146","wwdc2021-10225","wwdc2021-10498","wwdc2021-100240","wwdc2021-100248"],"resources":[1657]}},"wwdc2021-10085":{"id":"wwdc2021-10085","staticContentId":4978,"eventContentId":10085,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:52:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10085","languageCode":"eng","description":"At Apple, we believe that privacy is a fundamental human right. Learn about our four pillars of privacy, how we brought these principles together to design iCloud Private Relay, and how you can approach building privacy in your app in line with those fundamentals. Explore how you can build data minimization, on-device processing, transparency and control, and security protections right into your app.","title":"Apple\u2019s privacy pillars in focus","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["app privacy report","app tracking transparency","apptrackingtransparency.framework","att","createml framework","focus","hide my email","location button","private relay","siri","skadnetwork","tracking","transparency"],"primaryTopicID":96,"topicIds":[90,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A6395752-EED6-4F4D-9910-6D7B5867BC28","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10085\/7\/588BAC34-15EB-4FCE-AF4F-5934A7DD4024\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10085\/7\/588BAC34-15EB-4FCE-AF4F-5934A7DD4024\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10085\/7\/588BAC34-15EB-4FCE-AF4F-5934A7DD4024\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10085\/7\/588BAC34-15EB-4FCE-AF4F-5934A7DD4024\/downloads\/wwdc2021-10085_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10085\/7\/588BAC34-15EB-4FCE-AF4F-5934A7DD4024\/downloads\/wwdc2021-10085_sd.mp4","duration":2030,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10166","tech-talks-21-10157","wwdc2021-10033","wwdc2021-10059","wwdc2021-10096","wwdc2021-10102","wwdc2021-10212","wwdc2021-10321","wwdc2021-10347","wwdc2021-100111","wwdc2021-100125","tech-talks-110352"],"resources":[1568,1567,1566]}},"wwdc2021-10101":{"id":"wwdc2021-10101","staticContentId":4997,"eventContentId":10101,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:52:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10101","languageCode":"eng","description":"Never again miss anyone's great moment in your game or app. Learn about ReplayKit's latest update \u2014 clips screen recording \u2014 which provides your app with a rolling buffer of past video and audio samples. When memorable moments happen, discover how you can record and save it for people, and find out how you can surface those clips when they\u2019re most relevant. Lastly, we\u2019ll take you through integrating ReplayKit into your iOS and macOS apps.","title":"Discover rolling clips with ReplayKit","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":84,"topicIds":[91,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"494E510B-60F5-4860-AD3C-DFA99DA5AE5E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10101\/7\/50A5D34B-6D32-429A-B737-D3C0C9EB58B8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10101\/7\/50A5D34B-6D32-429A-B737-D3C0C9EB58B8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10101\/7\/50A5D34B-6D32-429A-B737-D3C0C9EB58B8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10101\/7\/50A5D34B-6D32-429A-B737-D3C0C9EB58B8\/downloads\/wwdc2021-10101_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10101\/7\/50A5D34B-6D32-429A-B737-D3C0C9EB58B8\/downloads\/wwdc2021-10101_sd.mp4","duration":520,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10081","wwdc2021-10323","wwdc2021-100259","wwdc2021-100321","wwdc2020-10633","wwdc2018-601","wwdc2017-606","wwdc2015-605"],"resources":[894,60]}},"wwdc2021-10283":{"id":"wwdc2021-10283","staticContentId":5220,"eventContentId":10283,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:52:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10283","languageCode":"eng","description":"Actions are the building blocks of shortcuts. They allow people to take advantage of your app\u2019s functionality even when they're not looking at your app\u2019s interface. We'll show you how to design actions that are useful, easy-to-use, and can be incorporated into powerful multi-step shortcuts. You'll also explore enhancements around publishing and sharing shortcuts, ensuring that people can access your app in the way they want across all of Apple's platforms.","title":"Design great actions for Shortcuts, Siri, and Suggestions","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":87,"topicIds":[83,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F9CCA013-491E-48BD-A0FF-D21B24F1D5E9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10283\/6\/870EDB46-506F-4A85-83FE-8B90CA8A2C92\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10283\/6\/870EDB46-506F-4A85-83FE-8B90CA8A2C92\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10283\/6\/870EDB46-506F-4A85-83FE-8B90CA8A2C92\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10283\/6\/870EDB46-506F-4A85-83FE-8B90CA8A2C92\/downloads\/wwdc2021-10283_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10283\/6\/870EDB46-506F-4A85-83FE-8B90CA8A2C92\/downloads\/wwdc2021-10283_sd.mp4","duration":1333,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10193","wwdc2022-10032","wwdc2022-10169","wwdc2021-10056","wwdc2021-10059","wwdc2021-10231","wwdc2021-10232","wwdc2021-10323","wwdc2021-10419","wwdc2021-100170","wwdc2021-100172","wwdc2021-100175","wwdc2020-10071","wwdc2019-806"],"resources":[1699,1502,603]}},"wwdc2021-10123":{"id":"wwdc2021-10123","staticContentId":5021,"eventContentId":10123,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:02:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10123","languageCode":"eng","description":"Explore the Screen Time API and learn how you can build apps that support customized parental controls \u2014 all while putting privacy first. Learn how you can use key features like core restrictions and device activity monitoring to create safe, secure experiences in your app while providing measurable control for parents and guardians.","title":"Meet the Screen Time API","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["guardian","sheild"],"primaryTopicID":96,"topicIds":[86,90,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F91571A7-DA6F-42C6-B661-51877168B6DD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10123\/5\/AFD1559E-46A3-4B41-A5BC-CA1ED7800EC9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10123\/5\/AFD1559E-46A3-4B41-A5BC-CA1ED7800EC9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10123\/5\/AFD1559E-46A3-4B41-A5BC-CA1ED7800EC9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10123\/5\/AFD1559E-46A3-4B41-A5BC-CA1ED7800EC9\/downloads\/wwdc2021-10123_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10123\/5\/AFD1559E-46A3-4B41-A5BC-CA1ED7800EC9\/downloads\/wwdc2021-10123_sd.mp4","duration":1149,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10096","wwdc2021-10322","wwdc2021-110105"],"resources":[2242,2241,2240,2239]}},"wwdc2021-10114":{"id":"wwdc2021-10114","staticContentId":5011,"eventContentId":10114,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:52:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10114","languageCode":"eng","description":"StoreKit 2 delivers powerful, Swift-native APIs for in-app purchases and auto-renewable subscriptions. Learn how you can easily implement in-app purchases and subscriptions, and discover APIs for retrieving product information, handling transactions, determining product entitlements and customer status, as well as comprehensive testing support in Xcode.","title":"Meet StoreKit 2","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["buy","game","games","refund"],"primaryTopicID":86,"topicIds":[90,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"203D1A74-1964-459C-A09E-4E45ACC1B7CE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10114\/3\/2388CEF1-AA51-4CB2-9E79-CBDC25916BDA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10114\/3\/2388CEF1-AA51-4CB2-9E79-CBDC25916BDA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10114\/3\/2388CEF1-AA51-4CB2-9E79-CBDC25916BDA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10114\/3\/2388CEF1-AA51-4CB2-9E79-CBDC25916BDA\/downloads\/wwdc2021-10114_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10114\/3\/2388CEF1-AA51-4CB2-9E79-CBDC25916BDA\/downloads\/wwdc2021-10114_sd.mp4","duration":2250,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10013","wwdc2023-10140","wwdc2022-10007","wwdc2022-10039","wwdc2022-110404","wwdc2021-10174","wwdc2021-10175","wwdc2021-10322","wwdc2021-100273","wwdc2021-100436","wwdc2020-10661","wwdc2019-302"],"resources":[1696,1637,1636,1633,1630,1512,790,466,53]}},"wwdc2021-10119":{"id":"wwdc2021-10119","staticContentId":5017,"eventContentId":10119,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:51:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10119","languageCode":"eng","description":"Go beyond the basics to deliver an exceptional accessibility experience. Learn how to use the new SwiftUI Previews in Xcode to explore the latest accessibility APIs and create fantastic, accessible apps for everyone. Find out how you can customize the automatic accessibility built into SwiftUI to make your own custom controls accessible. Explore best practices and identify where to improve your app's navigation experience using grouping and focus. And help supercharge navigation for VoiceOver users with the addition of rotors.","title":"SwiftUI Accessibility: Beyond the basics","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["accessibilitychildbehavior","accessibility children","accessibilitycontainer","accessibility container","accessibility element",".accessibilityfocus","accessibilityfocusstate","accessibility navigation","accessibility panel","accessibility preview","accessibilityrepresentation","accessibility representation","accessibilitysortpriority","accessibility sort priority","accessible","accessible by default","button","canvas","children",".combine",".contain","custom controls","custom element",".ignore","label","labels","previews","rotors","shapes","swiftui previews","voiceover","voice over"],"primaryTopicID":82,"topicIds":[100,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B553A4B4-4958-4F0F-B40E-D963C5DEFEDC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10119\/6\/A3AEB1E4-C4E9-43B4-9EF6-206F6B9704E6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10119\/6\/A3AEB1E4-C4E9-43B4-9EF6-206F6B9704E6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10119\/6\/A3AEB1E4-C4E9-43B4-9EF6-206F6B9704E6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10119\/6\/A3AEB1E4-C4E9-43B4-9EF6-206F6B9704E6\/downloads\/wwdc2021-10119_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10119\/6\/A3AEB1E4-C4E9-43B4-9EF6-206F6B9704E6\/downloads\/wwdc2021-10119_sd.mp4","duration":1690,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja"]},"related":{"activities":["wwdc2023-10034","tech-talks-21-10026","wwdc2021-10018","wwdc2021-10021","wwdc2021-10022","wwdc2021-10122","wwdc2021-10223","wwdc2021-10375","wwdc2021-100263","wwdc2020-10116"],"resources":[1798,569]}},"wwdc2021-10190":{"id":"wwdc2021-10190","staticContentId":5101,"eventContentId":10190,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:51:52-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10190","languageCode":"eng","description":"Discover how to use the AudioDriverKit API to consolidate your Audio Server plug-in and DriverKit extension into a single package. Learn how you can simplify audio driver installation with an app instead of an installer package and distribute your driver through the Mac App Store. And we\u2019ll take you through how the Core Audio HAL interacts with AudioDriverKit and discover best practices for audio device drivers.","title":"Create audio drivers with DriverKit","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["macOS"],"primaryTopicID":84,"topicIds":[101,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"140A2DF9-8C35-470B-80B8-3A5CB35B161A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10190\/5\/C1305D2C-3534-4C07-A3D7-3A70DA9FCAE2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10190\/5\/C1305D2C-3534-4C07-A3D7-3A70DA9FCAE2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10190\/5\/C1305D2C-3534-4C07-A3D7-3A70DA9FCAE2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10190\/5\/C1305D2C-3534-4C07-A3D7-3A70DA9FCAE2\/downloads\/wwdc2021-10190_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10190\/5\/C1305D2C-3534-4C07-A3D7-3A70DA9FCAE2\/downloads\/wwdc2021-10190_sd.mp4","duration":1118,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110373","wwdc2021-10580","wwdc2020-10210","wwdc2019-702"]}},"wwdc2021-10115":{"id":"wwdc2021-10115","staticContentId":5012,"eventContentId":10115,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-08T15:29:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10115","languageCode":"eng","description":"App Analytics helps you maximize your opportunity on the App Store by providing privacy-friendly insights about your app. Learn about four new ways to grow your business, including information about custom product pages, in-app events, product page optimization, and new metrics about transactions on the store.","title":"What's new in App Analytics","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["crash logs","downloads","storekit","views"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3DD45D26-C2EA-4C48-8AE4-99E42E596935","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10115\/3\/E7E6A158-C193-43E7-9C20-5CA614ED768E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10115\/3\/E7E6A158-C193-43E7-9C20-5CA614ED768E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10115\/3\/E7E6A158-C193-43E7-9C20-5CA614ED768E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10115\/3\/E7E6A158-C193-43E7-9C20-5CA614ED768E\/downloads\/wwdc2021-10115_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10115\/3\/E7E6A158-C193-43E7-9C20-5CA614ED768E\/downloads\/wwdc2021-10115_sd.mp4","duration":805,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10171","wwdc2021-10295","wwdc2021-100403","wwdc2021-100405","wwdc2021-100407","wwdc2021-100409","wwdc2021-100427","wwdc2020-10651"],"resources":[1629,1628,462]}},"wwdc2021-10002":{"id":"wwdc2021-10002","staticContentId":4843,"eventContentId":10002,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:51:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10002","languageCode":"eng","description":"watchOS 8 brings all-new opportunities to keep people up to date on their watch face. With new APIs for the Always-On Retina display and updating complications from Bluetooth devices and background delivery of HealthKit data, it's never been easier to keep your app up to date. Learn about region-based user notifications to leverage location in your app. Explore all the new enhancements to SwiftUI and watchOS that will get you excited to build your next Watch app.","title":"What's new in watchOS 8","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["watchOS"],"keywords":["\ud83e\udd43","\u231a\ufe0f","altimeter","always-on","bluetooth","healthkit","isluminancereduced","location button","luminance reduced","respiratory rate","timeline"],"primaryTopicID":101,"topicIds":[90,92,100,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8D3FA0CE-F9A3-4CD8-82D2-375A2BA54AF1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10002\/4\/6AE5C57E-FF72-4A1C-B627-40969B18D70D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10002\/4\/6AE5C57E-FF72-4A1C-B627-40969B18D70D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10002\/4\/6AE5C57E-FF72-4A1C-B627-40969B18D70D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10002\/4\/6AE5C57E-FF72-4A1C-B627-40969B18D70D\/downloads\/wwdc2021-10002_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10002\/4\/6AE5C57E-FF72-4A1C-B627-40969B18D70D\/downloads\/wwdc2021-10002_sd.mp4","duration":1186,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10005","wwdc2021-10009","wwdc2021-10018","wwdc2021-10021","wwdc2021-10048","wwdc2021-10102","wwdc2021-10176","wwdc2021-10237","wwdc2021-10321","wwdc2021-100257","wwdc2021-100323","wwdc2021-100324","wwdc2021-100325","wwdc2021-100326","wwdc2021-100329","wwdc2021-100333","wwdc2021-100335","wwdc2021-100340","wwdc2021-100443"],"resources":[2243,1686,1685]}},"wwdc2021-10171":{"id":"wwdc2021-10171","staticContentId":5076,"eventContentId":10171,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-08T15:29:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10171","languageCode":"eng","description":"Discover how you can promote timely events happening in your apps and games \u2014 like a game competition, a movie premiere, and more \u2014 directly on the App Store. We\u2019ll show you how in-app events now appear on the App Store and how to create, schedule, and manage them in App Store Connect.","title":"Meet in-app events on the App Store","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["engage","engagement"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"71D25891-4872-43CC-A4B9-68A8E2A66522","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10171\/4\/70981448-BDD3-40FE-8EE5-7B1F60FCAFB9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10171\/4\/70981448-BDD3-40FE-8EE5-7B1F60FCAFB9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10171\/4\/70981448-BDD3-40FE-8EE5-7B1F60FCAFB9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10171\/4\/70981448-BDD3-40FE-8EE5-7B1F60FCAFB9\/downloads\/wwdc2021-10171_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10171\/4\/70981448-BDD3-40FE-8EE5-7B1F60FCAFB9\/downloads\/wwdc2021-10171_sd.mp4","duration":854,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10075","tech-talks-21-10076","tech-talks-21-10097","tech-talks-21-10098","tech-talks-21-10099","wwdc2021-10115","wwdc2021-10295","wwdc2021-100402","wwdc2021-100404","wwdc2021-100406","wwdc2021-100408","wwdc2021-100427","wwdc2020-10004","wwdc2020-10651","wwdc2018-303","tech-talks-110347"],"resources":[1627,1626,462]}},"wwdc2021-10103":{"id":"wwdc2021-10103","staticContentId":4999,"eventContentId":10103,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:51:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10103","languageCode":"eng","description":"5G enables new opportunities for your app or game through better performance for data transfer, higher bandwidth, lower latency, and much more. Discover how you can take advantage of the latest networking technology and Apple hardware to create adaptive experiences for your content that best suit someone\u2019s data connection and optimize network traffic.","title":"Optimize for 5G networks","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["avfoundation","networking","network performance","urlsession"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DDBF9626-C61B-483D-9BC4-064AF7E6E1CF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10103\/5\/345F6518-CBF1-4E40-A52F-0F46541D273E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10103\/5\/345F6518-CBF1-4E40-A52F-0F46541D273E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10103\/5\/345F6518-CBF1-4E40-A52F-0F46541D273E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10103\/5\/345F6518-CBF1-4E40-A52F-0F46541D273E\/downloads\/wwdc2021-10103_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10103\/5\/345F6518-CBF1-4E40-A52F-0F46541D273E\/downloads\/wwdc2021-10103_sd.mp4","duration":819,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10064","tech-talks-21-10065","wwdc2021-10324","wwdc2021-100173","wwdc2021-100198","wwdc2021-100270","wwdc2021-100272","wwdc2019-712"],"resources":[2235,498,138,137,52]}},"wwdc2021-10239":{"id":"wwdc2021-10239","staticContentId":5157,"eventContentId":10239,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:51:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10239","languageCode":"eng","description":"CPU performance and network throughput rates keep improving, but the speed of light is one limit that isn\u2019t going any higher. Learn the APIs and best practices to maximize your app\u2019s responsiveness and efficiency by keeping network round-trip times low and minimizing the number of round trips when performing network operations.","title":"Reduce network delays for your app","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D5AB7A0F-0E8B-4372-9BC0-4E2D548843CF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10239\/4\/8C138558-C5F3-4328-AA26-1F2D924B69F9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10239\/4\/8C138558-C5F3-4328-AA26-1F2D924B69F9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10239\/4\/8C138558-C5F3-4328-AA26-1F2D924B69F9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10239\/4\/8C138558-C5F3-4328-AA26-1F2D924B69F9\/downloads\/wwdc2021-10239_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10239\/4\/8C138558-C5F3-4328-AA26-1F2D924B69F9\/downloads\/wwdc2021-10239_sd.mp4","duration":1371,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10078","wwdc2021-10094","wwdc2021-10212","wwdc2021-100173","wwdc2021-100198","wwdc2021-100270","wwdc2021-100272","wwdc2019-713","wwdc2018-715","wwdc2015-719"]}},"wwdc2021-10289":{"id":"wwdc2021-10289","staticContentId":5227,"eventContentId":10289,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:02:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10289","languageCode":"eng","description":"Join us for part two of our Code-Along series as we use SwiftUI to build a Mac app from start to finish. The journey continues as we explore how our sample gardening app can adapt to a person\u2019s preferences and specific workflows. Learn how SwiftUI apps can automatically react to system settings, and discover how you can use that information to add more personality to an app. We\u2019ll show you how you can give people the flexibility to customize an app through Settings, and explore how to use different workflows for manipulating someone\u2019s data (like drag and drop). To finish, we\u2019ll show you how you can move data to and from an app, incorporating features like Continuity Camera to provide a simple workflow for importing images.\n\nThis is the second session in a two-part Code-Along series. To get the most out of this session, we recommend first watching \u201cSwiftUI on the Mac: Build the fundamentals.\u201d And for more background on working with these frameworks, watch Introduction to SwiftUI from WWDC20.","title":"SwiftUI on the Mac: The finishing touches","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["macOS"],"keywords":["accent color","alternative workflow","appstorage","codealong","code-along","commandgroup","continuity","continuity camera","customization","customization support","customize button","design principles","drag and drop","dragondrop","drop down","export","export database","fileexporter","file handling","flexible experience","form","garden patch","great mac app","highlight color","import",".itemprovider","item providers","main menu item",".oninsert","part 2","persist value","picker","row builder","selection persist","settings","settings scene","table","tabview","user default system","window scene"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F93E642C-EBBD-479E-AC7F-F801103EF53F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10289\/3\/C1B68628-5A05-418B-A4FC-9EFD3E970D80\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10289\/3\/C1B68628-5A05-418B-A4FC-9EFD3E970D80\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10289\/3\/C1B68628-5A05-418B-A4FC-9EFD3E970D80\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10289\/3\/C1B68628-5A05-418B-A4FC-9EFD3E970D80\/downloads\/wwdc2021-10289_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10289\/3\/C1B68628-5A05-418B-A4FC-9EFD3E970D80\/downloads\/wwdc2021-10289_sd.mp4","duration":1048,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10299","wwdc2021-100293"],"resources":[1606]}},"wwdc2021-10064":{"id":"wwdc2021-10064","staticContentId":4954,"eventContentId":10064,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:50:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10064","languageCode":"eng","description":"Every app uses Buttons. With iOS 15, you can adopt updated styles to create gorgeous buttons that fit effortlessly into your interface. We'll explore features that make it easier to create different types of buttons, learn how to provide richer interactions, and discover how you can get great buttons when using Mac Catalyst.","title":"Meet the UIKit button system","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["catalyst","menu","popdown","pop-down","popup","pop-up","switch","toggle","uibutton","uibuttonconfiguration","uimenu"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4445FCE4-AF6C-435D-BEF8-7A5A73D51270","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10064\/3\/5DF3D536-453F-4C11-9BD5-9334BD79D560\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10064\/3\/5DF3D536-453F-4C11-9BD5-9334BD79D560\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10064\/3\/5DF3D536-453F-4C11-9BD5-9334BD79D560\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10064\/3\/5DF3D536-453F-4C11-9BD5-9334BD79D560\/downloads\/wwdc2021-10064_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10064\/3\/5DF3D536-453F-4C11-9BD5-9334BD79D560\/downloads\/wwdc2021-10064_sd.mp4","duration":1208,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2021-10052","wwdc2021-10053","wwdc2021-10059","wwdc2021-10196","wwdc2021-10323","wwdc2021-10345","wwdc2021-10346","wwdc2021-100228","wwdc2021-100229","wwdc2021-100231","wwdc2021-100249"],"resources":[3]}},"wwdc2021-10059":{"id":"wwdc2021-10059","staticContentId":4949,"eventContentId":10059,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:50:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10059","languageCode":"eng","description":"Discover the latest updates and improvements to UIKit and learn how to build better iPadOS, iOS, and Mac Catalyst apps. We\u2019ll take you through UI refinements, productivity updates, and API enhancements, and help you explore performance improvements and security & privacy features.","title":"What's new in UIKit","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["aqua","async","cocoa","collection view","color picker","content size categories","context menus","copy and paste","date picker","drag &amp; drop","dynamic type","ios","ipados","keyboard navigation","keyboard shortcuts","mac catalyst","multitasking","multi-window","paste","pasteboard","pointer","privacy","sf symbols","shortcuts","state restoration","symbols","table view","uibutton","uicolor","uicolorpicker","uicontextmenuinteraction","uidatepicker","uiimage","uipasteboard","uiscene","uitabbar","uitoolbar","uiwindowscene"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9CCE8A5D-A751-441C-B88F-FB91E2D1958E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10059\/5\/A2B84844-AAFE-437F-B1A2-7D4CC79957E2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10059\/5\/A2B84844-AAFE-437F-B1A2-7D4CC79957E2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10059\/5\/A2B84844-AAFE-437F-B1A2-7D4CC79957E2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10059\/5\/A2B84844-AAFE-437F-B1A2-7D4CC79957E2\/downloads\/wwdc2021-10059_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10059\/5\/A2B84844-AAFE-437F-B1A2-7D4CC79957E2\/downloads\/wwdc2021-10059_sd.mp4","duration":1612,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10033","wwdc2021-10052","wwdc2021-10053","wwdc2021-10057","wwdc2021-10061","wwdc2021-10064","wwdc2021-10085","wwdc2021-10102","wwdc2021-10251","wwdc2021-10252","wwdc2021-10260","wwdc2021-10283","wwdc2021-10345","wwdc2021-10346","wwdc2021-100228","wwdc2021-100229","wwdc2021-100231","wwdc2021-100249","wwdc2017-203","wwdc2017-213","wwdc2017-223","wwdc2017-227"],"resources":[1566,3]}},"wwdc2021-10267":{"id":"wwdc2021-10267","staticContentId":5198,"eventContentId":10267,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:50:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10267","languageCode":"eng","description":"Get to know Xcode Cloud, Apple's continuous integration and continuous delivery (CI\/CD) service for building apps and frameworks for all Apple platforms. Find out how Xcode Cloud can improve both the productivity of your team and the quality of your products. We\u2019ll show you how to start your first build, use a build report to fix issues, and collaborate with your team.","title":"Meet Xcode Cloud","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["app store connect","build","ci","continuous integration","distribution","testing","xcode","xcode cloud"],"primaryTopicID":88,"topicIds":[90,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"611E7832-2A85-403F-A76E-7432E8B82232","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10267\/5\/84238A0B-FE43-4CCA-9D0B-2643A5E3A5B5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10267\/5\/84238A0B-FE43-4CCA-9D0B-2643A5E3A5B5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10267\/5\/84238A0B-FE43-4CCA-9D0B-2643A5E3A5B5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10267\/5\/84238A0B-FE43-4CCA-9D0B-2643A5E3A5B5\/downloads\/wwdc2021-10267_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10267\/5\/84238A0B-FE43-4CCA-9D0B-2643A5E3A5B5\/downloads\/wwdc2021-10267_sd.mp4","duration":992,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110361","wwdc2021-10204","wwdc2021-10205","wwdc2021-10268","wwdc2021-10269","wwdc2021-10325","wwdc2021-100200","wwdc2021-100204","wwdc2021-100215","wwdc2021-100218","wwdc2021-100222","wwdc2021-100230","wwdc2021-100281","wwdc2021-100332","wwdc2021-100448","wwdc2021-110104","tech-talks-111369"],"resources":[1646,1645,1618]}},"wwdc2021-10041":{"id":"wwdc2021-10041","staticContentId":4931,"eventContentId":10041,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:50:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10041","languageCode":"eng","description":"Discover how Vision can provide expert image recognition and analysis in your app to extract information from documents, recognize text in multiple languages, and identify barcodes. We\u2019ll explore the latest updates to Text Recognition and Barcode Detection, show you how to bring all these tools together with Core ML, and help your app make greater sense of the world through images or the live camera.\n\nTo learn more about Vision, watch \u201cDetect people, faces, and poses using Vision\u201d from WWDC21 as well as \u201cExplore Computer Vision APIs\u201d from WWDC20.\n\nFor further understanding of all that Vision has to offer, watch \u201cDetect people, faces, and poses using Vision\u201d from WWDC21 as well as \u201cExplore Computer Vision APIs\u201d from WWDC20.","title":"Extract document data using Vision","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["barcode","barcode detection","computer vision","core ml","machine learning","ocr","text recognition","vision"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EEE82F5F-2089-4A5A-A454-A4DCACA48110","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10041\/6\/1CB4D0E9-CCA8-4C66-80DA-5887CF8F06C5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10041\/6\/1CB4D0E9-CCA8-4C66-80DA-5887CF8F06C5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10041\/6\/1CB4D0E9-CCA8-4C66-80DA-5887CF8F06C5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10041\/6\/1CB4D0E9-CCA8-4C66-80DA-5887CF8F06C5\/downloads\/wwdc2021-10041_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10041\/6\/1CB4D0E9-CCA8-4C66-80DA-5887CF8F06C5\/downloads\/wwdc2021-10041_sd.mp4","duration":1152,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10009","wwdc2021-10324","wwdc2021-100112","wwdc2021-100124","wwdc2021-100126","wwdc2021-100128","wwdc2020-10673","wwdc2019-234"],"resources":[134]}},"wwdc2021-10056":{"id":"wwdc2021-10056","staticContentId":4946,"eventContentId":10056,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:50:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10056","languageCode":"eng","description":"It\u2019s easier than ever to offer your existing iPad and iPhone apps on Macs with M1. We\u2019ll show you how to bring your app to macOS, and explore how the system automatically bridges various features of your app to work on the Mac. We'll also provide guidance on best practices in your iPad app, combined with improvements in macOS Monterey \u2014 like Apple Pay support, improved AV handling, and shortcuts \u2014 to provide the fullest experience on Macs with M1.","title":"Qualities of great iPad and iPhone apps on Macs with M1","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["alternatives","bridging","catalyst","ios","ipad mac","iphone mac","keyboard","mac app store","ple silicon","uikit"],"primaryTopicID":100,"topicIds":[86,90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5C872A9C-5548-4CF5-8EFD-1E96E2EBE1ED","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10056\/3\/6A9E120D-9217-4F54-98A5-853D65EDBCDE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10056\/3\/6A9E120D-9217-4F54-98A5-853D65EDBCDE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10056\/3\/6A9E120D-9217-4F54-98A5-853D65EDBCDE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10056\/3\/6A9E120D-9217-4F54-98A5-853D65EDBCDE\/downloads\/wwdc2021-10056_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10056\/3\/6A9E120D-9217-4F54-98A5-853D65EDBCDE\/downloads\/wwdc2021-10056_sd.mp4","duration":1358,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10052","wwdc2021-10053","wwdc2021-10057","wwdc2021-10170","wwdc2021-10210","wwdc2021-10232","wwdc2021-10260","wwdc2021-10283","wwdc2021-10346","wwdc2021-100364","wwdc2020-10114","wwdc2020-10614","wwdc2020-10662"],"resources":[1809,1719]}},"wwdc2021-10061":{"id":"wwdc2021-10061","staticContentId":4951,"eventContentId":10061,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:49:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10061","languageCode":"eng","description":"Meet TextKit 2: Apple\u2019s next-generation text engine, redesigned for improved correctness, safety, and performance. Discover how TextKit 2 can help you provide a better text experience for international audiences, create more diverse layouts by mixing text content with visual content, and ensure smooth scrolling performance. We\u2019ll introduce the latest APIs, dive into some practical examples, and provide guidance for modernizing your apps.","title":"Meet TextKit 2","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["appkit","banana","bananaphone","edit","nstextview","text","textedit","uikit"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6436D60A-2654-4848-AC16-01C299860E5C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10061\/4\/D12F25A4-D409-4DDA-9DCF-72C97E9875C3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10061\/4\/D12F25A4-D409-4DDA-9DCF-72C97E9875C3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10061\/4\/D12F25A4-D409-4DDA-9DCF-72C97E9875C3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10061\/4\/D12F25A4-D409-4DDA-9DCF-72C97E9875C3\/downloads\/wwdc2021-10061_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10061\/4\/D12F25A4-D409-4DDA-9DCF-72C97E9875C3\/downloads\/wwdc2021-10061_sd.mp4","duration":2464,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10090","wwdc2022-110863","wwdc2021-10054","wwdc2021-10059","wwdc2021-100233"],"resources":[1807,1720]}},"wwdc2021-10049":{"id":"wwdc2021-10049","staticContentId":4939,"eventContentId":10049,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:49:54-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10049","languageCode":"eng","description":"Discover how to you can add intelligence to your widgets in Smart Stacks. We'll show you how to use the new Widget Suggestions API in tandem with Smart Rotate to create more valuable widget experiences for people throughout the day. Whether you inform the system of new, timely information or teach the system to learn common patterns, adopting these APIs can help people discover your widget and allows you to influence how the system surfaces content from your app around system spaces.","title":"Add intelligence to your widgets","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["annotating relevance","app donation","behavioral pattern","behavioral relevance","configuration intent","donate","donate new array","donate to the system","duration","glanceable","ininteraction","inrelevanceprovider","inrelevantshortcut","insert new widget into smart stack","insert widget into stack","intelligent widget","intent-configured widget","intent is eligible for widget","ipad home screen widget","proactive information","relevance signal","scroll to a widget","siri watch face","smart rotate","smart stack","static widget","suggestion ui","time-based relevance","timelineentryrelevance","timely","user behavior","widgetkind","widget suggestion"],"primaryTopicID":83,"topicIds":[100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"005936C9-C335-4DF4-BD5A-95E8DB5FB2D2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10049\/5\/79001019-5F3C-4B12-A9F7-01FCE02A0381\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10049\/5\/79001019-5F3C-4B12-A9F7-01FCE02A0381\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10049\/5\/79001019-5F3C-4B12-A9F7-01FCE02A0381\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10049\/5\/79001019-5F3C-4B12-A9F7-01FCE02A0381\/downloads\/wwdc2021-10049_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10049\/5\/79001019-5F3C-4B12-A9F7-01FCE02A0381\/downloads\/wwdc2021-10049_sd.mp4","duration":1164,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10231","wwdc2021-100206"],"resources":[1705,1704]}},"wwdc2021-10207":{"id":"wwdc2021-10207","staticContentId":5118,"eventContentId":10207,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:49:48-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10207","languageCode":"eng","description":"Testing is a crucial part of building a great app: Great tests can help you track down important issues before release, improve your workflow, and provide a quality experience upon release. For issues that can\u2019t be immediately resolved, however, XCTest can help provide better context around those problems with XCTExpectFailure. Learn how this API works, its strict behavior, and how to improve the signal-to-noise ratio in your tests to identify new issues more efficiently.","title":"Embrace Expected Failures in XCTest","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["expected failure","test failure","xctest","xctexpectfailure"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"082B1080-82B9-4526-9F2D-7F834AD193EC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10207\/5\/1AF9A073-9D29-4091-9876-AE8868480EDA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10207\/5\/1AF9A073-9D29-4091-9876-AE8868480EDA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10207\/5\/1AF9A073-9D29-4091-9876-AE8868480EDA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10207\/5\/1AF9A073-9D29-4091-9876-AE8868480EDA\/downloads\/wwdc2021-10207_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10207\/5\/1AF9A073-9D29-4091-9876-AE8868480EDA\/downloads\/wwdc2021-10207_sd.mp4","duration":709,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja"]},"related":{"activities":["wwdc2022-110361","wwdc2021-10208","wwdc2021-10296","wwdc2021-100215","wwdc2021-100218","wwdc2021-100222","wwdc2021-100230","wwdc2021-100359","wwdc2021-100448"],"resources":[1667]}},"wwdc2021-10258":{"id":"wwdc2021-10258","staticContentId":5180,"eventContentId":10258,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-08T12:30:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10258","languageCode":"eng","description":"Discover how you can track down hangs and delays in your app. We\u2019ll show you tools and methods to discover hangs and their causes, learn about anti-patterns that can lead to hangs, explore best practices for eliminating hangs like GCD, and provide guidance on when you should consider asynchronous code to improve your app performance.","title":"Understand and eliminate hangs from your app","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"199EE6AC-EE37-488A-BD03-82B893942071","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10258\/4\/ADC12B98-365A-47E7-9A42-952847271DEF\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10258\/4\/ADC12B98-365A-47E7-9A42-952847271DEF\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10258\/4\/ADC12B98-365A-47E7-9A42-952847271DEF\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10258\/4\/ADC12B98-365A-47E7-9A42-952847271DEF\/downloads\/wwdc2021-10258_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10258\/4\/ADC12B98-365A-47E7-9A42-952847271DEF\/downloads\/wwdc2021-10258_sd.mp4","duration":1464,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10248","wwdc2022-10082","wwdc2021-10087","wwdc2021-10181","wwdc2021-10348","wwdc2021-100138","wwdc2021-100216","wwdc2021-100226","wwdc2020-10081","wwdc2019-417","wwdc2017-706","wwdc2016-411","wwdc2016-418"],"resources":[733,106]}},"wwdc2021-10225":{"id":"wwdc2021-10225","staticContentId":5136,"eventContentId":10225,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:49:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10225","languageCode":"eng","description":"Discover how you can help people watch or listen to content all in sync with SharePlay and the Group Activities framework. We\u2019ll show you how to adapt a media app into a synchronized, SharePlay-enabled experience for multiple people. Learn how to add Group Activities to your app, explore the Picture in Picture layout, and find out how the playback coordinator object can help you fine-tune playback across multiple devices.","title":"Coordinate media experiences with Group Activities","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["facetime","face time","groupactivities","group activities","groupsession","shareplay","share play"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"91400129-2342-4CB9-AAAC-B244C95C32B6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10225\/4\/2C87FE7A-A19B-4138-92A4-29065B15DFB7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10225\/4\/2C87FE7A-A19B-4138-92A4-29065B15DFB7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10225\/4\/2C87FE7A-A19B-4138-92A4-29065B15DFB7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10225\/4\/2C87FE7A-A19B-4138-92A4-29065B15DFB7\/downloads\/wwdc2021-10225_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10225\/4\/2C87FE7A-A19B-4138-92A4-29065B15DFB7\/downloads\/wwdc2021-10225_sd.mp4","duration":2278,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10139","tech-talks-21-10048","wwdc2021-10140","wwdc2021-10183","wwdc2021-10187","wwdc2021-10189","wwdc2021-10499","wwdc2021-100304","wwdc2021-100308"],"resources":[1661,1610]}},"wwdc2021-10039":{"id":"wwdc2021-10039","staticContentId":4929,"eventContentId":10039,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:49:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10039","languageCode":"eng","description":"With Create ML, your app\u2019s ability to understand the expressiveness of the human hand has never been easier. Discover how you can build off the support for Hand Pose Detection in Vision and train custom Hand Pose and Hand Action classifiers using the Create ML app and framework. Learn how simple it is to collect data, train a model, and integrate it with Vision, Camera, and ARKit to create a fun, entertaining app experience.\n\nTo learn more about Create ML and related concepts around model training, check out \u201cBuild an Action Classifier with Create ML\u201d from WWDC20. And don\u2019t miss \u201cBuild dynamic iOS apps with the Create ML framework\u201d to learn how your models can be trained on-the-fly and on device from within your app.","title":"Classify hand poses and actions with Create ML","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ai","body pose","core ml","create ml","fitness","hand action classification","hand pose","hand pose classification","machine learning","vision"],"primaryTopicID":94,"topicIds":[85,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DA43F18D-42ED-41D0-9DDB-BEB9550956A3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10039\/6\/21ABF0C5-D90C-4198-9791-027910A0EE4A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10039\/6\/21ABF0C5-D90C-4198-9791-027910A0EE4A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10039\/6\/21ABF0C5-D90C-4198-9791-027910A0EE4A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10039\/6\/21ABF0C5-D90C-4198-9791-027910A0EE4A\/downloads\/wwdc2021-10039_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10039\/6\/21ABF0C5-D90C-4198-9791-027910A0EE4A\/downloads\/wwdc2021-10039_sd.mp4","duration":1609,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10304","wwdc2022-10019","wwdc2022-110332","wwdc2021-10040","wwdc2021-10322","wwdc2021-10323","wwdc2021-100112","wwdc2021-100124","wwdc2021-100126","wwdc2021-100128","wwdc2020-10043","wwdc2020-10653"],"resources":[443,134]}},"wwdc2021-10191":{"id":"wwdc2021-10191","staticContentId":5102,"eventContentId":10191,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:48:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10191","languageCode":"eng","description":"Find out how you can use Apple TV\u2019s redesigned playback interface to build great media experiences in your apps. Learn how the latest interface helps people access relevant controls and information while maintaining focus on content. We\u2019ll show you how you can adopt AVPlayerViewController and other APIs for your tvOS app to help people find, play, and enjoy content.\n\nTo get the most out of this session, we recommend having a basic understanding of AVKit.","title":"Deliver a great playback experience on tvOS","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["tvOS"],"keywords":["avplayerviewcontroller","content tabs","contextual actions","title view","transport bar","transport bar controls","tvuikit"],"primaryTopicID":84,"topicIds":[100,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"53F0161E-DB14-4A7D-8A94-B76244201AB8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10191\/4\/E98B040E-0A40-48C3-85D2-F7F18715F00F\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10191\/4\/E98B040E-0A40-48C3-85D2-F7F18715F00F\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10191\/4\/E98B040E-0A40-48C3-85D2-F7F18715F00F\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10191\/4\/E98B040E-0A40-48C3-85D2-F7F18715F00F\/downloads\/wwdc2021-10191_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10191\/4\/E98B040E-0A40-48C3-85D2-F7F18715F00F\/downloads\/wwdc2021-10191_sd.mp4","duration":635,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10290","wwdc2021-10323","wwdc2021-10496","wwdc2021-100235","wwdc2021-100258","wwdc2021-100306","wwdc2021-100429","wwdc2020-10027","wwdc2020-10176","wwdc2019-224","wwdc2019-503"],"resources":[1829,51,13]}},"wwdc2021-10097":{"id":"wwdc2021-10097","staticContentId":4992,"eventContentId":10097,"eventId":"wwdc2021","contentUpdatedAt":"2024-05-31T13:16:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10097","languageCode":"eng","description":"Explore the latest updates to SF Symbols, Apple\u2019s iconography library. Designed to integrate seamlessly with San Francisco \u2014 the system font for Apple platforms \u2014 SF Symbols can help you create beautiful and consistent iconography for your app while supporting accessibility features like Dynamic Type and Bold Text. Discover the latest additions to the SF Symbols library, localization enhancements, and how you can more easily customize the color of a symbol to integrate it within your app\u2019s own color palette. We\u2019ll also show you how you can design and annotate custom symbols to support Monochrome, Hierarchical, Palette, and Multicolor rendering modes.\n\nTo get the most out of this session, we recommend first watching \u201cSF Symbols 2\u201d from WWDC20.","title":"What\u2019s new in SF Symbols","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2100-06-07T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[90,100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"542C7280-E7F6-43A3-9B52-FBEA30FC0048","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10097\/5\/4D377285-9082-4F13-8F15-EBCD0A938E8C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10097\/5\/4D377285-9082-4F13-8F15-EBCD0A938E8C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10097\/5\/4D377285-9082-4F13-8F15-EBCD0A938E8C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10097\/5\/4D377285-9082-4F13-8F15-EBCD0A938E8C\/downloads\/wwdc2021-10097_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10097\/5\/4D377285-9082-4F13-8F15-EBCD0A938E8C\/downloads\/wwdc2021-10097_sd.mp4","duration":1231,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10157","wwdc2021-10018","wwdc2021-10196","wwdc2021-10250","wwdc2021-10288","wwdc2021-10322","wwdc2021-10349","wwdc2021-100237","wwdc2020-10207"],"resources":[1418,610]}},"wwdc2021-10256":{"id":"wwdc2021-10256","staticContentId":5177,"eventContentId":10256,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:48:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10256","languageCode":"eng","description":"Discover two of the latest additions to the list of open-source Swift packages from Apple: Swift Algorithms and Swift Collections. Not only can you use these packages immediately, they also incubate new algorithms and data structures for eventual inclusion in the Swift Standard Library. We\u2019ll show you how you can integrate these packages into your projects and select the right algorithms and data structures to make your code clearer and faster.","title":"Meet the Swift Algorithms and Collections packages","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["adjacentpairs","array","arrayslice","buffer","chunked","chunkedby","chunks","compactmap","deque","dictionary","double-ended","ended","filter","flatmap","flattensequence","hashtable","joined","joinedby","joinedsequence","lazycompactmap","lazyflatmap","lazysequence","loops","map","messages","nsorderedset","ordereddictionary","orderedset","prefix","queue","raw","reversedcollection","set","suffix","transcript","windows"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"31723E68-66F5-4CE4-8873-2BF9CB94D2CF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10256\/8\/389DAED7-3871-4195-95B0-59E7F10A5E52\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10256\/8\/389DAED7-3871-4195-95B0-59E7F10A5E52\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10256\/8\/389DAED7-3871-4195-95B0-59E7F10A5E52\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10256\/8\/389DAED7-3871-4195-95B0-59E7F10A5E52\/downloads\/wwdc2021-10256_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10256\/8\/389DAED7-3871-4195-95B0-59E7F10A5E52\/downloads\/wwdc2021-10256_sd.mp4","duration":1830,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10020","wwdc2022-110355","wwdc2021-10192","wwdc2020-10217","wwdc2018-223"],"resources":[1769,1768,1749,1748,1743]}},"wwdc2021-10261":{"id":"wwdc2021-10261","staticContentId":5189,"eventContentId":10261,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:48:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10261","languageCode":"eng","description":"Notarization works in tandem with macOS to help people safely download software for their Mac outside of the App Store. Discover how notarytool can help you quickly and easily notarize your Mac app for distribution. We\u2019ll show you how you can now notarize your apps with just a single command, and how to bring notarization into your continuous integration workflows.\n\nTo learn about the notarization workflow, watch the 2019 video \"All About Notarization.\"","title":"Faster and simpler notarization for Mac apps","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["macOS"],"keywords":["altool","malware","notarizing","notary"],"primaryTopicID":86,"topicIds":[88,96,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"26C70ACB-A23D-4296-9817-5AA39A47D811","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10261\/7\/1C2BA450-20C2-43D2-985E-BA26B13060B2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10261\/7\/1C2BA450-20C2-43D2-985E-BA26B13060B2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10261\/7\/1C2BA450-20C2-43D2-985E-BA26B13060B2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10261\/7\/1C2BA450-20C2-43D2-985E-BA26B13060B2\/downloads\/wwdc2021-10261_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10261\/7\/1C2BA450-20C2-43D2-985E-BA26B13060B2\/downloads\/wwdc2021-10261_sd.mp4","duration":384,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10109","wwdc2021-10204","wwdc2021-100211","wwdc2021-100356","wwdc2019-703"]}},"wwdc2021-10095":{"id":"wwdc2021-10095","staticContentId":4990,"eventContentId":10095,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:48:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10095","languageCode":"eng","description":"Discover how you can adopt Swift concurrency in URLSession using async\/await and AsyncSequence, and how you can apply Swift concurrency concepts to improve your networking code.","title":"Use async\/await with URLSession","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[99,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"060C1887-6CB6-42F8-8A7D-116255663323","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10095\/8\/93EE04B2-8F10-42B5-B35F-D7D4A87C1DC2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10095\/8\/93EE04B2-8F10-42B5-B35F-D7D4A87C1DC2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10095\/8\/93EE04B2-8F10-42B5-B35F-D7D4A87C1DC2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10095\/8\/93EE04B2-8F10-42B5-B35F-D7D4A87C1DC2\/downloads\/wwdc2021-10095_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10095\/8\/93EE04B2-8F10-42B5-B35F-D7D4A87C1DC2\/downloads\/wwdc2021-10095_sd.mp4","duration":820,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110351","wwdc2021-10058","wwdc2021-10094","wwdc2021-10132","wwdc2021-10212","wwdc2021-100173","wwdc2021-100198","wwdc2021-100270","wwdc2021-100272"],"resources":[137]}},"wwdc2021-10063":{"id":"wwdc2021-10063","staticContentId":4953,"eventContentId":10063,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:48:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10063","languageCode":"eng","description":"Discover how you can create a layered and customized sheet experience in UIKit. We\u2019ll explore how you can build a non-modal experience in your app to allow interaction with content both in a sheet and behind the sheet at the same time. We\u2019ll also take you through sheet size customization, revealing or hiding grabber controls, and adapting between popovers and customized sheets in your app.\n\nTo get the most out of this session, we recommend watching the Presentations portion of \u201cModernizing Your UI for iOS 13\u201d from WWDC19 beginning at 9:45.","title":"Customize and resize sheets in UIKit","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["macOS"],"keywords":["card","presentation"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"826294D2-7340-4156-A3C6-AA23D15E5FBB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10063\/8\/0D794296-1707-4A1D-8CBB-B2CAFEA82AAC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10063\/8\/0D794296-1707-4A1D-8CBB-B2CAFEA82AAC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10063\/8\/0D794296-1707-4A1D-8CBB-B2CAFEA82AAC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10063\/8\/0D794296-1707-4A1D-8CBB-B2CAFEA82AAC\/downloads\/wwdc2021-10063_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10063\/8\/0D794296-1707-4A1D-8CBB-B2CAFEA82AAC\/downloads\/wwdc2021-10063_sd.mp4","duration":732,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10068","wwdc2021-10046","wwdc2021-10345","wwdc2021-100228","wwdc2021-100229","wwdc2021-100231","wwdc2021-100249","wwdc2019-224"],"resources":[1820,3]}},"wwdc2021-10076":{"id":"wwdc2021-10076","staticContentId":4968,"eventContentId":10076,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:48:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10076","languageCode":"eng","description":"Object Capture provides a quick and easy way to create lifelike 3D models of real-world objects using just a few images. Learn how you can get started and bring your assets to life with Photogrammetry for macOS. And discover best practices with object selection and image capture to help you achieve the highest-quality results.","title":"Create 3D models with Object Capture","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["3d content creation","3d graphics","ar","arkit","augmented reality","photogrammetry","realitykit","usdz"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F907DC95-E722-4AB7-8135-8203B63ADCD9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10076\/9\/616F3DCB-8F4E-4C91-924E-6DB20B3D2A27\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10076\/9\/616F3DCB-8F4E-4C91-924E-6DB20B3D2A27\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10076\/9\/616F3DCB-8F4E-4C91-924E-6DB20B3D2A27\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10076\/9\/616F3DCB-8F4E-4C91-924E-6DB20B3D2A27\/downloads\/wwdc2021-10076_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10076\/9\/616F3DCB-8F4E-4C91-924E-6DB20B3D2A27\/downloads\/wwdc2021-10076_sd.mp4","duration":1676,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10128","wwdc2022-10141","wwdc2021-10077","wwdc2021-10078","wwdc2021-10321","wwdc2021-10508","wwdc2021-100252","wwdc2021-100311","wwdc2021-100345"],"resources":[1644,1643,1642,1641,1640,1639,1413]}},"wwdc2021-10203":{"id":"wwdc2021-10203","staticContentId":5114,"eventContentId":10203,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:47:43-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10203","languageCode":"eng","description":"Learn how Xcode Organizer makes it easier and faster to triage and fix crashes. We'll explore how you can get access to crash information and feedback from your TestFlight testers just moments after they occur. And we'll show you how to analyze crashes, view metrics, and even share crash information among your team.\n\nFor a primer on crash logs, we recommend watching \u201cUnderstanding Crashes and Crash Logs\u201d from WWDC18.","title":"Triage TestFlight crashes in Xcode Organizer","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["app store","debugging","metrickit","testing"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"00DCBE1B-C57D-4D47-83AB-EC5F4B71D97E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10203\/7\/1A8E1E96-00E5-4E9C-B392-6A2AE2AED9ED\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10203\/7\/1A8E1E96-00E5-4E9C-B392-6A2AE2AED9ED\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10203\/7\/1A8E1E96-00E5-4E9C-B392-6A2AE2AED9ED\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10203\/7\/1A8E1E96-00E5-4E9C-B392-6A2AE2AED9ED\/downloads\/wwdc2021-10203_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10203\/7\/1A8E1E96-00E5-4E9C-B392-6A2AE2AED9ED\/downloads\/wwdc2021-10203_sd.mp4","duration":927,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10087","wwdc2021-10181","wwdc2020-10081","wwdc2018-414","tech-talks-110343"],"resources":[750]}},"wwdc2021-10038":{"id":"wwdc2021-10038","staticContentId":4928,"eventContentId":10038,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:11:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10038","languageCode":"eng","description":"Bring the power of machine learning directly to your apps with Core ML. Discover how you can take advantage of the CPU, GPU, and Neural Engine to provide maximum performance while remaining on device and protecting privacy. Explore MLShapedArray, which makes it easy to work with multi-dimensional data in Swift, and learn more about ML Package support in Core ML, which includes support for ML Programs. This modern, programmatic approach to machine learning provides typed execution and tremendous flexibility. We\u2019ll also show you how to analyze performance of your models and tune the execution of each operation in a model using ML Programs.","title":"Tune your Core ML models","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["ai","core ml","core ml converters","core ml tools","machine learning","neural network","neural networks","python"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C8A3F6C5-925D-4E9C-AFC2-B1D78CE5BF51","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10038\/3\/84EFF5EC-346B-4A8C-BDAC-47F3258352D9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10038\/3\/84EFF5EC-346B-4A8C-BDAC-47F3258352D9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10038\/3\/84EFF5EC-346B-4A8C-BDAC-47F3258352D9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10038\/3\/84EFF5EC-346B-4A8C-BDAC-47F3258352D9\/downloads\/wwdc2021-10038_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10038\/3\/84EFF5EC-346B-4A8C-BDAC-47F3258352D9\/downloads\/wwdc2021-10038_sd.mp4","duration":1470,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10049","wwdc2021-100112","wwdc2021-100124","wwdc2021-100126","wwdc2021-100128","wwdc2020-10153","tech-talks-10154"],"resources":[1605,27]}},"wwdc2021-10295":{"id":"wwdc2021-10295","staticContentId":5234,"eventContentId":10295,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:47:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10295","languageCode":"eng","description":"Discover new ways to make your product page more relevant. Learn how you can use custom product pages to highlight different features and content in your app for different users. Explore how you can optimize your product page by comparing the effectiveness of different visual assets to see what users like most. We'll cover what you need to know, the assets to prepare, and how to get ready to create the most effective product page for your app.","title":"Get ready to optimize your App Store product page","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["games","in-app","test"],"primaryTopicID":86,"topicIds":[90,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D244D57E-7F9E-4ED8-BE8F-C1C470C89E5B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10295\/5\/83EA0FCB-2A53-4C0B-97D4-37C69079C264\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10295\/5\/83EA0FCB-2A53-4C0B-97D4-37C69079C264\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10295\/5\/83EA0FCB-2A53-4C0B-97D4-37C69079C264\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10295\/5\/83EA0FCB-2A53-4C0B-97D4-37C69079C264\/downloads\/wwdc2021-10295_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10295\/5\/83EA0FCB-2A53-4C0B-97D4-37C69079C264\/downloads\/wwdc2021-10295_sd.mp4","duration":501,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10115","wwdc2021-10171","wwdc2021-10322","wwdc2021-100402","wwdc2021-100404","wwdc2021-100406","wwdc2021-100408","wwdc2021-100427","wwdc2020-10004","wwdc2020-10651","wwdc2018-303","tech-talks-10886","tech-talks-10888"],"resources":[1638,1626,123]}},"wwdc2021-10223":{"id":"wwdc2021-10223","staticContentId":5134,"eventContentId":10223,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:47:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10223","languageCode":"eng","description":"Discover how you can build a top-notch accessibility experience for watchOS when you support features like larger text sizes, VoiceOver, and AssistiveTouch. We\u2019ll take you through adding visual and motor accessibility support to a SwiftUI app built for watchOS, including best practices around API integration, experience, and more.","title":"Create accessible experiences for watchOS","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["watchOS"],"keywords":["\ud83e\uddcb","accessibility","accessibilityadjustableaction",".accessibilityelement","accessibility extra large","accessibilitylabel","accessibility label","accessibilityrespondstouserinteraction","accessible element","assistive technology","assistivetouch","assistivetouch cursor","assistivetouch cursor frame","assitivetouch action menu","bold text","clench","complications","cursor","cursor frame","custom actions","double-clench","double-pinch","dwell control","dynamic notifications","dynamic type","element grouping","focusable elements","hand gestures","hand motions","large accessibility text","large text sizes","motion pointer","onscreen pointer","pinch","reduce motion","swiftui","system text size","text styles","truncating text","voiceover","watchos","wrap text","wwbubbletea","wwdaisy"],"primaryTopicID":82,"topicIds":[100,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"463F1189-2752-4DDD-9DAC-7EE6DF0E40C8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10223\/6\/F4C83469-5B64-46D0-9FC6-F2EC7AC47414\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10223\/6\/F4C83469-5B64-46D0-9FC6-F2EC7AC47414\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10223\/6\/F4C83469-5B64-46D0-9FC6-F2EC7AC47414\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10223\/6\/F4C83469-5B64-46D0-9FC6-F2EC7AC47414\/downloads\/wwdc2021-10223_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10223\/6\/F4C83469-5B64-46D0-9FC6-F2EC7AC47414\/downloads\/wwdc2021-10223_sd.mp4","duration":1406,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10026","wwdc2021-10119","wwdc2021-10237","wwdc2021-10322","wwdc2021-100263","wwdc2020-10020","wwdc2019-238","wwdc2017-245"],"resources":[1806,89]}},"wwdc2021-10264":{"id":"wwdc2021-10264","staticContentId":5192,"eventContentId":10264,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:47:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10264","languageCode":"eng","description":"Learn how you can link your app to Quick Note and help people quickly connect your content to their notes \u2014 and their notes to your content. Discover how Quick Note recognizes and links to app content through NSUserActivity, and find out how you can adopt this API in your app. We\u2019ll take you through the requirements, benefits, and features of supporting Quick Note. We'll also provide guidance and best practices for NSUserActivity to help your app get all of its benefits.","title":"Adopt Quick Note","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["quicknote"],"primaryTopicID":100,"topicIds":[98,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D7C5C5AB-5874-4FCB-AE60-E1B9917C5619","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10264\/3\/A5939C70-9333-4792-A9D5-A98FF6347D4C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10264\/3\/A5939C70-9333-4792-A9D5-A98FF6347D4C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10264\/3\/A5939C70-9333-4792-A9D5-A98FF6347D4C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10264\/3\/A5939C70-9333-4792-A9D5-A98FF6347D4C\/downloads\/wwdc2021-10264_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10264\/3\/A5939C70-9333-4792-A9D5-A98FF6347D4C\/downloads\/wwdc2021-10264_sd.mp4","duration":886,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10059","wwdc2021-100142","wwdc2021-100219","wwdc2018-211","wwdc2016-223"],"resources":[1721]}},"wwdc2021-10027":{"id":"wwdc2021-10027","staticContentId":4915,"eventContentId":10027,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:11:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10027","languageCode":"eng","description":"Learn how you can extend Safari\u2019s functionality with Safari Web Extensions. We\u2019ll introduce you to the latest WebExtension APIs, explore non-persistent background page support \u2014 a particularly relevant topic if you\u2019re developing for iOS \u2014 and discover how you can use the Declarative Net Request WebExtensions API to block content on the web. Finally, we\u2019ll show you how to customize tabs in Safari 15.","title":"Explore Safari Web Extension improvements","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["web inspector"],"primaryTopicID":98,"topicIds":[83,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"607E79BA-B0F3-47F0-B6D0-649FE3FEE9A9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10027\/10\/09685846-0B04-4BFA-968E-000447422A11\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10027\/10\/09685846-0B04-4BFA-968E-000447422A11\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10027\/10\/09685846-0B04-4BFA-968E-000447422A11\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10027\/10\/09685846-0B04-4BFA-968E-000447422A11\/downloads\/wwdc2021-10027_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10027\/10\/09685846-0B04-4BFA-968E-000447422A11\/downloads\/wwdc2021-10027_sd.mp4","duration":1015,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja"]},"related":{"activities":["wwdc2022-10099","tech-talks-21-10067","tech-talks-21-10068","tech-talks-21-10069","wwdc2021-10029","wwdc2021-10030","wwdc2021-10031","wwdc2021-10032","wwdc2021-10033","wwdc2021-10104","wwdc2021-100136","wwdc2021-100437","wwdc2021-100438","wwdc2021-100439","wwdc2020-10665"],"resources":[774,773,763]}},"wwdc2021-10066":{"id":"wwdc2021-10066","staticContentId":4957,"eventContentId":10066,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:46:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10066","languageCode":"eng","description":"Power up your online gaming experience with GameKit and adopt features like multiplayer, leaderboards, and achievements in your game. We\u2019ll take you through the latest improvements to Game Center, including player matching and multiplayer APIs, and explore how you can boost discovery of your game.","title":"What\u2019s new in Game Center: Widgets, friends, and multiplayer improvements","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[83,86,90,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"968C4E63-9371-4623-A3DA-2E83944EF529","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10066\/4\/41B04DA6-0AE3-41B6-9CE1-CF48AAAF9439\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10066\/4\/41B04DA6-0AE3-41B6-9CE1-CF48AAAF9439\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10066\/4\/41B04DA6-0AE3-41B6-9CE1-CF48AAAF9439\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10066\/4\/41B04DA6-0AE3-41B6-9CE1-CF48AAAF9439\/downloads\/wwdc2021-10066_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10066\/4\/41B04DA6-0AE3-41B6-9CE1-CF48AAAF9439\/downloads\/wwdc2021-10066_sd.mp4","duration":1329,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10064","wwdc2021-10067","wwdc2021-10577","wwdc2021-10578","wwdc2021-10590","wwdc2021-100171","wwdc2021-100255","wwdc2021-100316","wwdc2020-10145","wwdc2020-10619"],"resources":[2216,1621,827]}},"wwdc2021-10160":{"id":"wwdc2021-10160","staticContentId":5062,"eventContentId":10160,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:46:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10160","languageCode":"eng","description":"When you support ProRAW in your app, you can help photographers easily capture and edit images by combining standard RAW information with Apple\u2019s advanced computational photography techniques. We\u2019ll take you through an overview of the format, including the look and feel of ProRAW images, quality metrics, and compatibility with your app. From there, we\u2019ll explore how you can incorporate ProRAW into your app at every stage of the production pipeline, including capturing imagery with AVFoundation, storage using PhotoKit, and editing with Core Image.","title":"Capture and process ProRAW images","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["coreimage","filters","photo effects","photography","photos"],"primaryTopicID":95,"topicIds":[91,95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FC8439A2-25A8-4157-B950-D83FF735D07F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10160\/6\/08FEC739-8354-4B2F-B06F-F7F8FCD5E6ED\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10160\/6\/08FEC739-8354-4B2F-B06F-F7F8FCD5E6ED\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10160\/6\/08FEC739-8354-4B2F-B06F-F7F8FCD5E6ED\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10160\/6\/08FEC739-8354-4B2F-B06F-F7F8FCD5E6ED\/downloads\/wwdc2021-10160_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10160\/6\/08FEC739-8354-4B2F-B06F-F7F8FCD5E6ED\/downloads\/wwdc2021-10160_sd.mp4","duration":1591,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10046","wwdc2021-10047","wwdc2021-10159","wwdc2021-100274","wwdc2021-100430","wwdc2021-110131","wwdc2020-10008","wwdc2020-10014","wwdc2020-10021","wwdc2020-10089","wwdc2020-10641","wwdc2020-10652"],"resources":[1484,1483,374,32,29,28]}},"wwdc2021-10212":{"id":"wwdc2021-10212","staticContentId":5123,"eventContentId":10212,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:45:48-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10212","languageCode":"eng","description":"Learn to use the Instruments Network template to record and analyze your app's HTTP traffic. We'll show you how to explore and visualize the behavior of sessions, tasks, and individual HTTP requests to ensure data is transmitted efficiently and respects people's privacy.","title":"Analyze HTTP traffic in Instruments ","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[96,101,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B9BF2208-373C-413A-8F91-8753430359D6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10212\/4\/20646031-B78D-4268-9B08-A74EC6ABB639\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10212\/4\/20646031-B78D-4268-9B08-A74EC6ABB639\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10212\/4\/20646031-B78D-4268-9B08-A74EC6ABB639\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10212\/4\/20646031-B78D-4268-9B08-A74EC6ABB639\/downloads\/wwdc2021-10212_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10212\/4\/20646031-B78D-4268-9B08-A74EC6ABB639\/downloads\/wwdc2021-10212_sd.mp4","duration":2037,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10170","wwdc2021-10085","wwdc2021-10094","wwdc2021-10095","wwdc2021-10239","wwdc2021-100138","wwdc2021-100173","wwdc2021-100198","wwdc2021-100216","wwdc2021-100226","wwdc2021-100270","wwdc2021-100272","wwdc2019-411"],"resources":[3034]}},"wwdc2021-10205":{"id":"wwdc2021-10205","staticContentId":5116,"eventContentId":10205,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:44:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10205","languageCode":"eng","description":"Explore the latest enhancements to code review and pull requests in Xcode. Learn more about diff display preferences, commit selectors, changes navigator, and pull request workflows. We\u2019ll show you how you can collaborate with your team and find regressions by connecting your code review and PR workflows directly to your source code.","title":"Review code and collaborate in Xcode ","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["branch","branches","code review","commit","git","pr","pull request","source control"],"primaryTopicID":88,"topicIds":[90,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AE67F097-82E8-4E54-A9D9-960F612B49A0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10205\/4\/0DD5750D-A4F4-4874-B97B-645E68C35FA2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10205\/4\/0DD5750D-A4F4-4874-B97B-645E68C35FA2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10205\/4\/0DD5750D-A4F4-4874-B97B-645E68C35FA2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10205\/4\/0DD5750D-A4F4-4874-B97B-645E68C35FA2\/downloads\/wwdc2021-10205_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10205\/4\/0DD5750D-A4F4-4874-B97B-645E68C35FA2\/downloads\/wwdc2021-10205_sd.mp4","duration":676,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10267","wwdc2021-10268","wwdc2021-100215","wwdc2021-100218","wwdc2021-100222","wwdc2021-100332","wwdc2021-100448"]}},"wwdc2021-10052":{"id":"wwdc2021-10052","staticContentId":4942,"eventContentId":10052,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:44:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10052","languageCode":"eng","description":"Discover the latest updates to Mac Catalyst and find out how you can make your app feel even more at home on macOS. Learn about a variety of new and enhanced UIKit APIs that let you customize your Mac Catalyst app to take advantage of behaviors unique to macOS.\n\nTo get the most out of this session, we recommend a basic familiarity with Mac Catalyst. Check out \u201cIntroducing iPad Apps for Mac\u201d from WWDC19 to acquaint yourself. For more on refining your Mac Catalyst app, watch \u201cOptimize the interface of your Mac Catalyst app\u201d from WWDC20.","title":"What's new in Mac Catalyst","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["macOS"],"keywords":["apple silicon","catalyst","ios","ipad","iphone","m1","macos","silicon"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"94E45DE2-3282-41B3-9BEE-349099530ACE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10052\/3\/AEC7031C-E8E6-4F09-B845-F0DE96310C4D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10052\/3\/AEC7031C-E8E6-4F09-B845-F0DE96310C4D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10052\/3\/AEC7031C-E8E6-4F09-B845-F0DE96310C4D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10052\/3\/AEC7031C-E8E6-4F09-B845-F0DE96310C4D\/downloads\/wwdc2021-10052_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10052\/3\/AEC7031C-E8E6-4F09-B845-F0DE96310C4D\/downloads\/wwdc2021-10052_sd.mp4","duration":1593,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10053","wwdc2021-10056","wwdc2021-10059","wwdc2021-10064","wwdc2021-10232","wwdc2021-10346","wwdc2021-10445","wwdc2021-100229","wwdc2021-100249","wwdc2021-100364","wwdc2020-10056","wwdc2019-205"],"resources":[1809,1374,817,697]}},"wwdc2021-10221":{"id":"wwdc2021-10221","staticContentId":5132,"eventContentId":10221,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:44:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10221","languageCode":"eng","description":"When you localize the text within your app, you can help make your app more accessible to a worldwide audience. Discover best practices for building your localization workflow, including how to write and format strings accurately, and learn how to prepare strings for localization in different languages using Xcode.","title":"Streamline your localized strings","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["\ud83c\udf0d","\ud83c\udf0e","\ud83c\udf0f","formatter","i18n","internationalization","stringsdict","swiftui","translation","xcloc"],"primaryTopicID":82,"topicIds":[90,100,101,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E135A10A-392D-4036-BC27-DB02375A0B21","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10221\/4\/E712C2D5-BD11-435B-8F19-C4ACFD79160A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10221\/4\/E712C2D5-BD11-435B-8F19-C4ACFD79160A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10221\/4\/E712C2D5-BD11-435B-8F19-C4ACFD79160A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10221\/4\/E712C2D5-BD11-435B-8F19-C4ACFD79160A\/downloads\/wwdc2021-10221_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10221\/4\/E712C2D5-BD11-435B-8F19-C4ACFD79160A\/downloads\/wwdc2021-10221_sd.mp4","duration":1624,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10107","wwdc2022-10110","wwdc2021-10109","wwdc2021-10220","wwdc2021-100354","wwdc2021-100357","wwdc2020-10160","wwdc2019-403"],"resources":[1555,1353]}},"wwdc2021-10036":{"id":"wwdc2021-10036","staticContentId":4926,"eventContentId":10036,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:44:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10036","languageCode":"eng","description":"Explore how you can use the Sound Analysis framework in your app to detect and classify discrete sounds from any audio source \u2014 including live sounds from a microphone or from a video or audio file \u2014 and identify precisely in a moment where that sound occurs. Learn how the built-in sound classifier makes it easy for you to identify over 300 different types of sounds without the need for a custom trained model. This includes a variety of noises, ranging from human sounds, musical instruments, animals, and various items.\n\nFor custom models, see how you can leverage the Audio Feature Print feature extractor to create smaller models with variable sound window control to better serve your app\u2019s purposes.\n\nFor more about Sound Classification and the Sound Analysis framework, watch \u201cTraining Sound Classification Models in Create ML\u201d from WWDC19.","title":"Discover built-in sound classification in SoundAnalysis","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["audio","core ml","create ml","create ml framework","machine learning","sound","sound analysis"],"primaryTopicID":84,"topicIds":[94,100,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9BC6A5E3-6ECB-46D8-A477-D865972EFC66","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10036\/7\/E21A5457-DFA1-405D-87E4-EBCCB8A6F0C1\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10036\/7\/E21A5457-DFA1-405D-87E4-EBCCB8A6F0C1\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10036\/7\/E21A5457-DFA1-405D-87E4-EBCCB8A6F0C1\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10036\/7\/E21A5457-DFA1-405D-87E4-EBCCB8A6F0C1\/downloads\/wwdc2021-10036_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10036\/7\/E21A5457-DFA1-405D-87E4-EBCCB8A6F0C1\/downloads\/wwdc2021-10036_sd.mp4","duration":1156,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10020","tech-talks-21-10013","tech-talks-21-10014","tech-talks-21-10091","tech-talks-21-10093","wwdc2021-10044","wwdc2021-10322","wwdc2021-10435","wwdc2021-100112","wwdc2021-100124","wwdc2021-100126","wwdc2021-100128","wwdc2019-425"],"resources":[1741,1625]}},"wwdc2021-10216":{"id":"wwdc2021-10216","staticContentId":5127,"eventContentId":10216,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:43:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10216","languageCode":"eng","description":"Learn about the basics of object lifetimes and ARC in Swift. Dive deep into what language features make object lifetimes observable, consequences of relying on observed object lifetimes and some safe techniques to fix them.","title":"ARC in Swift: Basics and beyond","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["arc","memory","object life cycle","retain","unknown","weak"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F0241BB3-91BE-42E8-BF92-95B6A620C478","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10216\/4\/884C234F-2424-47DF-A4CF-A9010D869C66\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10216\/4\/884C234F-2424-47DF-A4CF-A9010D869C66\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10216\/4\/884C234F-2424-47DF-A4CF-A9010D869C66\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10216\/4\/884C234F-2424-47DF-A4CF-A9010D869C66\/downloads\/wwdc2021-10216_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10216\/4\/884C234F-2424-47DF-A4CF-A9010D869C66\/downloads\/wwdc2021-10216_sd.mp4","duration":1242,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-100225","wwdc2021-100227"],"resources":[1723]}},"wwdc2021-10033":{"id":"wwdc2021-10033","staticContentId":4921,"eventContentId":10033,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:49:02-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10033","languageCode":"eng","description":"Discover how you can measure your ad campaigns in apps and on the web without compromising privacy. We'll introduce you to Private Click Measurement and explore SKAdNetwork, which provides you with a more secure, private, and useful way to measure your app installs.","title":"Meet privacy-preserving ad attribution","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["advertise","advertising","conversion"],"primaryTopicID":86,"topicIds":[98,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F2B34B06-41D9-41AB-922E-5F35BDD915BB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10033\/6\/E381AF60-070C-4A7D-A135-386670DC7053\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10033\/6\/E381AF60-070C-4A7D-A135-386670DC7053\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10033\/6\/E381AF60-070C-4A7D-A135-386670DC7053\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10033\/6\/E381AF60-070C-4A7D-A135-386670DC7053\/downloads\/wwdc2021-10033_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10033\/6\/E381AF60-070C-4A7D-A135-386670DC7053\/downloads\/wwdc2021-10033_sd.mp4","duration":1351,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10053","wwdc2022-10038","wwdc2021-10027","wwdc2021-10029","wwdc2021-10030","wwdc2021-10031","wwdc2021-10032","wwdc2021-10059","wwdc2021-10085","wwdc2021-10104","wwdc2021-10324","wwdc2021-10347","wwdc2021-100136","wwdc2021-100437","wwdc2021-100438","wwdc2021-100439"],"resources":[1635,1568,1566,774,772,763,53]}},"wwdc2021-10304":{"id":"wwdc2021-10304","staticContentId":5247,"eventContentId":10304,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:43:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10304","languageCode":"eng","description":"Discover how you can deliver inclusive apps that can foster amazing experiences for everyone who uses your software. We\u2019ll take you through best practices for creating and empowering diverse teams and explore how inclusivity influences every stage of the design and development process.","title":"The process of inclusive design","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[82,94,90,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"30932E3E-C589-4804-B16E-D0003DEF0F02","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10304\/4\/5F0C8CED-8F09-4528-BEFE-98A248B6088B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10304\/4\/5F0C8CED-8F09-4528-BEFE-98A248B6088B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10304\/4\/5F0C8CED-8F09-4528-BEFE-98A248B6088B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10304\/4\/5F0C8CED-8F09-4528-BEFE-98A248B6088B\/downloads\/wwdc2021-10304_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10304\/4\/5F0C8CED-8F09-4528-BEFE-98A248B6088B\/downloads\/wwdc2021-10304_sd.mp4","duration":2194,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10275","wwdc2021-10322"],"resources":[3558]}},"wwdc2021-10233":{"id":"wwdc2021-10233","staticContentId":5151,"eventContentId":10233,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:43:02-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10233","languageCode":"eng","description":"The Accelerate framework helps you make large-scale mathematical computations and image calculations that are optimized for high-performance, low-energy consumption. Explore the latest updates to Accelerate and its Basic Neural Network Subroutines library, including additional layers, activation functions, and improved optimizer support. Check out improvements to simd.h that include better support for C++ templates. Discover support for Apple Encrypted Archive, an extension to Apple Archive that combines compression with powerful encryption and a digital signature. And learn how you can keep data your safe and secure without compromising on performance.","title":"Use Accelerate to improve performance and incorporate encrypted archives","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["accelerate","apple archive","archives","bnns","encryption","numerics","performance","simd","vector","vectorization"],"primaryTopicID":101,"topicIds":[94,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B5109D20-F204-42F6-84F0-CF702F92773D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10233\/4\/72F4F22E-DDAB-4A58-B049-7AC537198EFC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10233\/4\/72F4F22E-DDAB-4A58-B049-7AC537198EFC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10233\/4\/72F4F22E-DDAB-4A58-B049-7AC537198EFC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10233\/4\/72F4F22E-DDAB-4A58-B049-7AC537198EFC\/downloads\/wwdc2021-10233_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10233\/4\/72F4F22E-DDAB-4A58-B049-7AC537198EFC\/downloads\/wwdc2021-10233_sd.mp4","duration":862,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2021-100303","wwdc2019-718"],"resources":[2229,366]}},"wwdc2021-10181":{"id":"wwdc2021-10181","staticContentId":5091,"eventContentId":10181,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-08T15:29:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10181","languageCode":"eng","description":"Performance optimization can seem like a daunting task \u2014 with many metrics to track and tools to use. Fear not: Our survival guide to app performance is here to help you understand tooling, metrics, and paradigms that can help smooth your development process and contribute to a great experience for people using your app.","title":"Ultimate application performance survival guide","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A1BBD16A-99CA-4C5F-A6B0-B73F5EA2FFE6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10181\/11\/A69D2FCC-21C3-4392-B857-552EF73E7714\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10181\/11\/A69D2FCC-21C3-4392-B857-552EF73E7714\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10181\/11\/A69D2FCC-21C3-4392-B857-552EF73E7714\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10181\/11\/A69D2FCC-21C3-4392-B857-552EF73E7714\/downloads\/wwdc2021-10181_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10181\/11\/A69D2FCC-21C3-4392-B857-552EF73E7714\/downloads\/wwdc2021-10181_sd.mp4","duration":1440,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja"]},"related":{"activities":["wwdc2023-10100","wwdc2021-10087","wwdc2021-10180","wwdc2021-10203","wwdc2021-10258","wwdc2021-10348","wwdc2021-100138","wwdc2021-100216","wwdc2021-100226","wwdc2020-10057","wwdc2020-10076","wwdc2020-10077","wwdc2020-10081","wwdc2019-411","tech-talks-10855"],"resources":[1679,1678,733,462,72]}},"wwdc2021-10187":{"id":"wwdc2021-10187","staticContentId":5098,"eventContentId":10187,"eventId":"wwdc2021","contentUpdatedAt":"2026-07-28T13:18:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10187","languageCode":"eng","description":"Go beyond basic streaming and interaction and discover how you can build advanced SharePlay experiences using the full power of the Group Activities framework. We\u2019ll show you how to adapt a simple drawing app into a real-time shared canvas, explore APIs like GroupSessionMessenger \u2014 which helps send and receive custom messages between participants in the group \u2014 and learn how to put the finishing touches on a custom SharePlay experience.","title":"Build custom experiences with Group Activities","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["draw","draw together","facetime","face time","groupactivities","group activities","groupsession","shareplay","share play"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C1BB30E0-B95E-4B6F-90E7-DD9447FC8923","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10187\/3\/53AD885C-179C-4013-A2D3-D985CE932C87\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10187\/3\/53AD885C-179C-4013-A2D3-D985CE932C87\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10187\/3\/53AD885C-179C-4013-A2D3-D985CE932C87\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10187\/3\/53AD885C-179C-4013-A2D3-D985CE932C87\/downloads\/wwdc2021-10187_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10187\/3\/53AD885C-179C-4013-A2D3-D985CE932C87\/downloads\/wwdc2021-10187_sd.mp4","duration":1509,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10087","tech-talks-21-10048","wwdc2021-10183","wwdc2021-10184","wwdc2021-10225","wwdc2021-10499","wwdc2021-100304","wwdc2021-100308"],"resources":[2261,1661,1610]}},"wwdc2021-10184":{"id":"wwdc2021-10184","staticContentId":5095,"eventContentId":10184,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:40:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10184","languageCode":"eng","description":"Learn how you can design your app to support SharePlay experiences. We\u2019ll show you how you can bring people together in your app using the Group Activities framework, and adapt your design to focus on group-first content sharing. And we\u2019ll explore ideas and iteration around apps and functions you can create for people using SharePlay on a FaceTime call.","title":"Design for Group Activities","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["facetime","face time","groupactivities","group activities","groupsession","shareplay","share play"],"primaryTopicID":87,"topicIds":[83,84,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C2B0FC1B-CEFF-44CE-8689-F987ED3779F7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10184\/11\/79C40243-6A9B-4D22-8433-80C4554D8698\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10184\/11\/79C40243-6A9B-4D22-8433-80C4554D8698\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10184\/11\/79C40243-6A9B-4D22-8433-80C4554D8698\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10184\/11\/79C40243-6A9B-4D22-8433-80C4554D8698\/downloads\/wwdc2021-10184_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10184\/11\/79C40243-6A9B-4D22-8433-80C4554D8698\/downloads\/wwdc2021-10184_sd.mp4","duration":534,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10048","wwdc2021-10183","wwdc2021-10187","wwdc2021-10189","wwdc2021-10499","wwdc2021-100304","wwdc2021-100308"],"resources":[1610]}},"wwdc2021-10250":{"id":"wwdc2021-10250","staticContentId":5171,"eventContentId":10250,"eventId":"wwdc2021","contentUpdatedAt":"2024-05-31T13:16:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10250","languageCode":"eng","description":"Discover how you can create custom iconography with the latest rendering modes in SF Symbols 3. We\u2019ll help you learn how to draw, edit, and annotate symbols, as well as explore more advanced techniques to improve the design process.\n\nFor a primer on working with custom symbol templates, we recommend first watching \u201cIntroducing SF Symbols\u201d from WWDC19.","title":"Create custom symbols","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2100-06-07T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"ABFA628A-B757-4DF2-8CE9-9C3B2FBD7DBE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10250\/5\/0F96BECB-C142-4BA8-8CEA-5EE69F7BF77E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10250\/5\/0F96BECB-C142-4BA8-8CEA-5EE69F7BF77E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10250\/5\/0F96BECB-C142-4BA8-8CEA-5EE69F7BF77E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10250\/5\/0F96BECB-C142-4BA8-8CEA-5EE69F7BF77E\/downloads\/wwdc2021-10250_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10250\/5\/0F96BECB-C142-4BA8-8CEA-5EE69F7BF77E\/downloads\/wwdc2021-10250_sd.mp4","duration":1547,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10097","wwdc2021-10251","wwdc2021-10288","wwdc2021-10349","wwdc2021-100237"],"resources":[1418,610]}},"wwdc2021-10245":{"id":"wwdc2021-10245","staticContentId":5165,"eventContentId":10245,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:39:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10245","languageCode":"eng","description":"Discover the principles for creating intuitive physical interactions between two or more devices, as demonstrated by Apple designers who worked on features for iPhone, HomePod mini, and AirTag. Explore how you can apply these patterns to your own app when designing features for Apple platforms, and help people using your app interact more directly with their surroundings.","title":"Design for spatial interaction","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["airtag","homepod mini","nearby interaction","proximity","share sheet","u1"],"primaryTopicID":87,"topicIds":[85,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0F487599-C14E-48B0-AEB0-A752DFF26E95","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10245\/8\/3C4EE68C-F0FF-4ECE-ADF0-6419DCDE9C00\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10245\/8\/3C4EE68C-F0FF-4ECE-ADF0-6419DCDE9C00\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10245\/8\/3C4EE68C-F0FF-4ECE-ADF0-6419DCDE9C00\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10245\/8\/3C4EE68C-F0FF-4ECE-ADF0-6419DCDE9C00\/downloads\/wwdc2021-10245_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10245\/8\/3C4EE68C-F0FF-4ECE-ADF0-6419DCDE9C00\/downloads\/wwdc2021-10245_sd.mp4","duration":1105,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10008","wwdc2021-10165","wwdc2021-10324","wwdc2021-10326","wwdc2021-100268","wwdc2020-10668"],"resources":[1737,1682,775]}},"wwdc2021-10054":{"id":"wwdc2021-10054","staticContentId":4944,"eventContentId":10054,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:36:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10054","languageCode":"eng","description":"Explore the latest advancements in Mac app development with AppKit. We\u2019ll show how you can enhance your app\u2019s design with new control features and SF Symbols 3, build powerful text experiences using TextKit 2, and harness the latest Swift features in your app.","title":"What's new in AppKit","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["macOS"],"keywords":["aqua","cocoa","shortcuts"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3C2CAD33-3DF6-4CF9-9EE5-2E17D21DFD11","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10054\/7\/D3581025-DC73-47FB-98A0-0C9599FAD509\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10054\/7\/D3581025-DC73-47FB-98A0-0C9599FAD509\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10054\/7\/D3581025-DC73-47FB-98A0-0C9599FAD509\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10054\/7\/D3581025-DC73-47FB-98A0-0C9599FAD509\/downloads\/wwdc2021-10054_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10054\/7\/D3581025-DC73-47FB-98A0-0C9599FAD509\/downloads\/wwdc2021-10054_sd.mp4","duration":1292,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10061","wwdc2021-10132","wwdc2021-10133","wwdc2021-10349","wwdc2021-10445","wwdc2021-100221","wwdc2021-100224","wwdc2021-100295"],"resources":[1385,610,98]}},"wwdc2021-10275":{"id":"wwdc2021-10275","staticContentId":5206,"eventContentId":10275,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:01:52-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10275","languageCode":"eng","description":"An inclusive app or game is not only usable by different people, but also welcomes people from diverse backgrounds and perspectives. Discover how you can design inclusive content for your interface, language, imagery, and marketing materials and support the broadest possible range of people with your app or game.","title":"The practice of inclusive design","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["\ud83c\udf08","\ud83c\udff3\ufe0f\u200d\ud83c\udf08","ableism","content","diversity","dynamic type","gender","inclusion","localization","voiceover"],"primaryTopicID":82,"topicIds":[86,87,90,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"90B67086-3A99-49A5-965A-D35DB6552AE0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10275\/3\/3E6DAA38-C002-43B3-A62C-F78B03C57AC7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10275\/3\/3E6DAA38-C002-43B3-A62C-F78B03C57AC7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10275\/3\/3E6DAA38-C002-43B3-A62C-F78B03C57AC7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10275\/3\/3E6DAA38-C002-43B3-A62C-F78B03C57AC7\/downloads\/wwdc2021-10275_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10275\/3\/3E6DAA38-C002-43B3-A62C-F78B03C57AC7\/downloads\/wwdc2021-10275_sd.mp4","duration":2046,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10304","wwdc2021-10321"],"resources":[3558,1785]}},"wwdc2021-10176":{"id":"wwdc2021-10176","staticContentId":5084,"eventContentId":10176,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:39:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10176","languageCode":"eng","description":"Discover how you can help people quickly find specific content within your apps. Learn how to use SwiftUI\u2019s .searchable modifier in conjunction with other views to best incorporate search for your app. And we\u2019ll show you how to elevate your implementation by providing search suggestions to help people understand the types of searches they can perform.","title":"Craft search experiences in SwiftUI","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["collections of data","configured search field","filter","finding data","implement search","issearching","native search","navigationview","navigation view",".onsubmit","results","search","searchable",".searchable","searchable modifier","search bar",".searchcompletion","search completion","search field","search field column","search query","search tab","side bar","suggestions","swiftui","toolbar","two column","weather app"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D45C244B-2038-4692-99A0-6131ED5FD984","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10176\/7\/5699E756-ACAC-4EFA-801B-5709E5EDF434\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10176\/7\/5699E756-ACAC-4EFA-801B-5709E5EDF434\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10176\/7\/5699E756-ACAC-4EFA-801B-5709E5EDF434\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10176\/7\/5699E756-ACAC-4EFA-801B-5709E5EDF434\/downloads\/wwdc2021-10176_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10176\/7\/5699E756-ACAC-4EFA-801B-5709E5EDF434\/downloads\/wwdc2021-10176_sd.mp4","duration":702,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10002","wwdc2021-10018","wwdc2021-10375","wwdc2021-100290"]}},"wwdc2021-10073":{"id":"wwdc2021-10073","staticContentId":4965,"eventContentId":10073,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:51:39-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10073","languageCode":"eng","description":"Build the next generation of augmented reality apps with ARKit 5. Explore how you can use Location Anchors in additional regions and more easily onboard people into your location-based AR experience. Learn more about Face Tracking and Motion Capture. And discover best practices for placing your AR content in the real world. We\u2019ll also show you how you can integrate App Clip Codes into your AR app for easy discovery and precise positioning of your virtual content.","title":"Explore ARKit 5","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["app clip codes","ar","arkit","augmented reality","body tracking","depth map","face tracking","lidar","location anchor","realitykit","scene reconstruction"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"53F3827F-2C69-44D5-9D85-73AF3FF759FD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10073\/7\/53148F9F-7E28-46AA-AD05-CC2ABEC68EDC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10073\/7\/53148F9F-7E28-46AA-AD05-CC2ABEC68EDC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10073\/7\/53148F9F-7E28-46AA-AD05-CC2ABEC68EDC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10073\/7\/53148F9F-7E28-46AA-AD05-CC2ABEC68EDC\/downloads\/wwdc2021-10073_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10073\/7\/53148F9F-7E28-46AA-AD05-CC2ABEC68EDC\/downloads\/wwdc2021-10073_sd.mp4","duration":1228,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10126","tech-talks-21-10001","tech-talks-21-10002","tech-talks-21-10049","tech-talks-21-10050","tech-talks-21-10051","tech-talks-21-10052","wwdc2021-10012","wwdc2021-10013","wwdc2021-10074","wwdc2021-100242","wwdc2021-100349","wwdc2020-10611","wwdc2019-607"],"resources":[1592,1587,1414,881,25]}},"wwdc2021-10078":{"id":"wwdc2021-10078","staticContentId":4970,"eventContentId":10078,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:54:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10078","languageCode":"eng","description":"Discover simple ways to bring your Object Capture assets to AR Quick Look while optimizing for visual quality and file size. Explore ways you can integrate AR Quick Look and Object Capture to help create entirely new experiences.\n\nTo get the most out of this session, we recommend first watching \u201cAdvances in AR Quick Look\u201d from WWDC19. You can also learn how to integrate Apple Pay and custom actions with AR on the web through \u201cShop online with AR Quick Look\u201d from WWDC20.","title":"AR Quick Look, meet Object Capture ","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["3d model","ar","arkit","augmented reality","object capture","reality composer","realitykit","usdz"],"primaryTopicID":85,"topicIds":[90,91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FAC8935D-3712-4B2A-ABE9-9FBA5FA022A9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10078\/7\/D952E090-6CA8-4748-9B71-385AC16452AF\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10078\/7\/D952E090-6CA8-4748-9B71-385AC16452AF\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10078\/7\/D952E090-6CA8-4748-9B71-385AC16452AF\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10078\/7\/D952E090-6CA8-4748-9B71-385AC16452AF\/downloads\/wwdc2021-10078_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10078\/7\/D952E090-6CA8-4748-9B71-385AC16452AF\/downloads\/wwdc2021-10078_sd.mp4","duration":866,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10003","tech-talks-21-10004","tech-talks-21-10053","tech-talks-21-10054","tech-talks-21-10055","tech-talks-21-10120","tech-talks-21-10160","wwdc2021-10076","wwdc2021-10077","wwdc2021-10323","wwdc2021-10508","wwdc2021-100250","wwdc2020-10604","wwdc2019-609","wwdc2019-612"],"resources":[1588,736,508,25]}},"wwdc2021-10244":{"id":"wwdc2021-10244","staticContentId":5162,"eventContentId":10244,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:40:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10244","languageCode":"eng","description":"Discover how to use App Attest and DeviceCheck, Apple\u2019s powerful anti-fraud tools, created to safeguard your apps and content. Unlock the secrets of deploying App Attest by incorporating it into your app to block unauthorized modifications of your app and content. We'll also show you how to use DeviceCheck to ensure you can distinguish between customers who have received premium content in your app, and those who have attained it through illegitimate means.","title":"Mitigate fraud with App Attest and DeviceCheck","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["abuse","aggregator","appattest","app clip","artificial","assertion","boost","cheat","compromised","devicecheck","fake","fraud","free trial","genuine","islikelyrealuser","legitimate","modified","premium content","promotion","protect","receipt verification","risk assessment","safeguard","safety","scraping","secure","sign in with apple","trust","trust &amp; safety","verified","verify"],"primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D3901EBC-29C9-4711-BF35-FB29FC98FD29","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10244\/5\/5C0B3E9F-163D-4DCB-AC48-F92DBE33E112\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10244\/5\/5C0B3E9F-163D-4DCB-AC48-F92DBE33E112\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10244\/5\/5C0B3E9F-163D-4DCB-AC48-F92DBE33E112\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10244\/5\/5C0B3E9F-163D-4DCB-AC48-F92DBE33E112\/downloads\/wwdc2021-10244_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10244\/5\/5C0B3E9F-163D-4DCB-AC48-F92DBE33E112\/downloads\/wwdc2021-10244_sd.mp4","duration":1155,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10110","wwdc2021-100211","wwdc2021-100356","wwdc2021-100427","wwdc2017-702"],"resources":[1589,1558,1557,1556]}},"wwdc2021-10175":{"id":"wwdc2021-10175","staticContentId":5080,"eventContentId":10175,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:42:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10175","languageCode":"eng","description":"Great customer support is critical to running a successful business on the App Store. Discover how you can provide a frictionless support experience to customers who make in-app purchases, including APIs that make it easy for customers to manage or cancel their auto-renewable subscription, or request refunds from directly within your app. We\u2019ll cover best practices for handling refunds, as well as additional APIs that can help you better support your customers.","title":"Support customers and handle refunds","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["server","storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3144729B-F8DD-48E7-A446-148BC0521427","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10175\/5\/AC32E663-B4D3-4BFF-B370-D1511009CCCB\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10175\/5\/AC32E663-B4D3-4BFF-B370-D1511009CCCB\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10175\/5\/AC32E663-B4D3-4BFF-B370-D1511009CCCB\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10175\/5\/AC32E663-B4D3-4BFF-B370-D1511009CCCB\/downloads\/wwdc2021-10175_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10175\/5\/AC32E663-B4D3-4BFF-B370-D1511009CCCB\/downloads\/wwdc2021-10175_sd.mp4","duration":1495,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10007","wwdc2022-10040","wwdc2021-10114","wwdc2021-10174","wwdc2021-100273","wwdc2021-100402","wwdc2021-100404","wwdc2021-100406","wwdc2021-100408","wwdc2021-100436","wwdc2020-10661","wwdc2019-302"],"resources":[1637,1636,1630,1512,790,448,53]}},"wwdc2021-10104":{"id":"wwdc2021-10104","staticContentId":5000,"eventContentId":10104,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:45:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10104","languageCode":"eng","description":"Safari Web Extensions use HTML, CSS, and JavaScript to offer people powerful browser customizations \u2014 and you can now create them for every device that supports Safari. Learn how to build a Safari Web Extension that works for all devices, and discover how you can convert an existing extension to Safari through Xcode and the Safari Web Extension Converter.","title":"Meet Safari Web Extensions on iOS","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["cross platform","web inspector"],"primaryTopicID":98,"topicIds":[90,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CA7910BC-0A65-45E6-8161-23F41370A308","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10104\/6\/CA8FE4D3-295C-4F3F-90F5-447CB81B37B7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10104\/6\/CA8FE4D3-295C-4F3F-90F5-447CB81B37B7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10104\/6\/CA8FE4D3-295C-4F3F-90F5-447CB81B37B7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10104\/6\/CA8FE4D3-295C-4F3F-90F5-447CB81B37B7\/downloads\/wwdc2021-10104_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10104\/6\/CA8FE4D3-295C-4F3F-90F5-447CB81B37B7\/downloads\/wwdc2021-10104_sd.mp4","duration":2291,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10119","tech-talks-21-10067","tech-talks-21-10068","tech-talks-21-10069","wwdc2021-10027","wwdc2021-10029","wwdc2021-10030","wwdc2021-10031","wwdc2021-10032","wwdc2021-10033","wwdc2021-100136","wwdc2021-100437","wwdc2021-100438","wwdc2021-100439","wwdc2020-10665"],"resources":[774,773,763]}},"wwdc2021-10046":{"id":"wwdc2021-10046","staticContentId":4936,"eventContentId":10046,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:49:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10046","languageCode":"eng","description":"PHPicker is the simplest and most secure way to integrate the Photos library into your app \u2014 and it\u2019s getting even better. Learn how to handle ordered selection of images in your app, as well as pre-selecting assets any time the picker is shown. And for apps that need to integrate more deeply with PhotoKit, discover how you can use PHCloudIdentifier to sync photo project content across devices, helping people easily transition their image work between iPhone, iPad, and Mac.\n\nWe\u2019ll also take you through the latest updates to the Limited Photos Library. Find out how your app can help people easily extend the initial set of images they\u2019ve authorized \u2014 including bringing up the selection UI at any time and recognizing when someone makes new or updated selections. Lastly, explore how you can create or access existing photo albums.","title":"Improve access to Photos in your app","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["limited library","limited photos library","photokit","photos","photos api","photos library","picker"],"primaryTopicID":95,"topicIds":[95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E310C4D1-0395-4DB5-9534-5EF6DC39E1FB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10046\/3\/9D12DB10-3776-4369-BF86-964B98D2C082\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10046\/3\/9D12DB10-3776-4369-BF86-964B98D2C082\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10046\/3\/9D12DB10-3776-4369-BF86-964B98D2C082\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10046\/3\/9D12DB10-3776-4369-BF86-964B98D2C082\/downloads\/wwdc2021-10046_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10046\/3\/9D12DB10-3776-4369-BF86-964B98D2C082\/downloads\/wwdc2021-10046_sd.mp4","duration":1078,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja"]},"related":{"activities":["wwdc2022-10023","wwdc2022-10132","wwdc2021-10063","wwdc2021-10160","wwdc2021-100274","wwdc2020-10641","wwdc2020-10652"],"resources":[903,374]}},"wwdc2021-10053":{"id":"wwdc2021-10053","staticContentId":4943,"eventContentId":10053,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:50:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10053","languageCode":"eng","description":"Discover best practices, tools, and techniques to help craft the best possible Mac Catalyst app. We\u2019ll take you through key considerations when you bring your iPad app to macOS, explore detailed code examples for refining your interface and experience, and show you how to distribute your Mac app to everyone.\n\nTo get the most out of this session, we recommend a basic familiarity with Mac Catalyst. Watch \u201cWhat\u2019s new in Mac Catalyst\u201d from WWDC21 to get an overview of the latest features for bringing your iPad app to Mac. And for more on improving your macOS experience, watch \u201cOptimize the interface of your Mac Catalyst app\u201d from WWDC20.","title":"Qualities of a great Mac Catalyst app","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["macOS"],"keywords":["continuity camera","controls","distribution","idiom","responder chain","scenes","sharing","state restoration","toolbar","unscaled","user activity"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C95C52F0-A15D-4833-8230-27B031E56CDC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10053\/3\/2422D003-327B-45A7-95E1-047C49B735B3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10053\/3\/2422D003-327B-45A7-95E1-047C49B735B3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10053\/3\/2422D003-327B-45A7-95E1-047C49B735B3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10053\/3\/2422D003-327B-45A7-95E1-047C49B735B3\/downloads\/wwdc2021-10053_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10053\/3\/2422D003-327B-45A7-95E1-047C49B735B3\/downloads\/wwdc2021-10053_sd.mp4","duration":1460,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10052","wwdc2021-10056","wwdc2021-10057","wwdc2021-10059","wwdc2021-10064","wwdc2021-10260","wwdc2021-10346","wwdc2021-100364","wwdc2020-10056"],"resources":[1809,1374,895,817,697,695]}},"wwdc2021-10069":{"id":"wwdc2021-10069","staticContentId":4961,"eventContentId":10069,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:50:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10069","languageCode":"eng","description":"Learn how ResearchKit and CareKit can work together to take the tedium out of paper surveys. Continue coding along with us and explore how you can make it easier than ever to schedule surveys for your study participants. You\u2019ll also learn advanced techniques for crafting evolving regiments in CareKit and see how ResearchKit\u2019s active tasks can help capture important measurements out of clinic.\n\nThis is the second session in a three-part Code-Along series. To get the most out of this session, we recommend first watching \u201cBuild a research and care app, part 1.\u201d And for more background on these frameworks, watch \"ResearchKit and CareKit Reimagined\u201d from WWDC19.","title":"Build a research and care app, part 2: Schedule tasks","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["codealong","open source"],"primaryTopicID":92,"topicIds":[90,92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EBD45959-B14C-44B8-A366-FDEDFE5A424B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10069\/3\/A1BAF400-4B07-4759-956D-2A7D5522311C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10069\/3\/A1BAF400-4B07-4759-956D-2A7D5522311C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10069\/3\/A1BAF400-4B07-4759-956D-2A7D5522311C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10069\/3\/A1BAF400-4B07-4759-956D-2A7D5522311C\/downloads\/wwdc2021-10069_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10069\/3\/A1BAF400-4B07-4759-956D-2A7D5522311C\/downloads\/wwdc2021-10069_sd.mp4","duration":955,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110410","wwdc2021-10068","wwdc2021-10240","wwdc2021-10282","wwdc2021-10587","wwdc2021-100289"],"resources":[1825,745,87]}},"wwdc2021-10167":{"id":"wwdc2021-10167","staticContentId":5071,"eventContentId":10167,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:51:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10167","languageCode":"eng","description":"Great documentation can help people effectively and easily adopt your Swift framework. Discover how you can create rich, conceptual articles to accompany your API. You\u2019ll learn best practices for writing articles, including how to structure your documentation, and find out how to create automatically managed links that connect your docs together.","title":"Elevate your DocC documentation in Xcode","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["articles","docc","documentation","documentation catalog","documentation compiler","documentation extension"],"primaryTopicID":88,"topicIds":[90,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3320DB26-57A5-4495-A119-1A84EB895B7B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10167\/4\/AEC81BAD-B21A-40F5-A726-C53C1185192A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10167\/4\/AEC81BAD-B21A-40F5-A726-C53C1185192A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10167\/4\/AEC81BAD-B21A-40F5-A726-C53C1185192A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10167\/4\/AEC81BAD-B21A-40F5-A726-C53C1185192A\/downloads\/wwdc2021-10167_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10167\/4\/AEC81BAD-B21A-40F5-A726-C53C1185192A\/downloads\/wwdc2021-10167_sd.mp4","duration":1066,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10244","wwdc2021-10166","wwdc2021-10192","wwdc2021-10235","wwdc2021-10236","wwdc2021-100287","wwdc2021-100337"],"resources":[1673,1672,1671,1669,1616]}},"wwdc2021-10132":{"id":"wwdc2021-10132","staticContentId":5033,"eventContentId":10132,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:59:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10132","languageCode":"eng","description":"Swift now supports asynchronous functions \u2014 a pattern commonly known as async\/await. Discover how the new syntax can make your code easier to read and understand. Learn what happens when a function suspends, and find out how to adapt existing completion handlers to asynchronous functions.","title":"Meet async\/await in Swift","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["await","bypreparingthumbnail","completionhandler","continuation","datatask","expectation","preparethumbnail","preparingthumbnail","resume","suspension","testing","urlsession","withcheckedcontinuation","withcheckedthrowingcontinuation","xctestexpectation"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"35625D0C-F71F-4222-81A0-C4858FD45B6F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10132\/5\/33A0E99C-1E53-4143-8A63-809D2E6CBA66\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10132\/5\/33A0E99C-1E53-4143-8A63-809D2E6CBA66\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10132\/5\/33A0E99C-1E53-4143-8A63-809D2E6CBA66\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10132\/5\/33A0E99C-1E53-4143-8A63-809D2E6CBA66\/downloads\/wwdc2021-10132_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10132\/5\/33A0E99C-1E53-4143-8A63-809D2E6CBA66\/downloads\/wwdc2021-10132_sd.mp4","duration":2019,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja"]},"related":{"activities":["wwdc2022-10142","wwdc2022-110350","wwdc2022-110351","wwdc2022-110360","wwdc2021-10017","wwdc2021-10019","wwdc2021-10054","wwdc2021-10058","wwdc2021-10086","wwdc2021-10095","wwdc2021-10133","wwdc2021-10134","wwdc2021-10146","wwdc2021-10192","wwdc2021-10194","wwdc2021-10254","wwdc2021-10296","wwdc2021-10321","wwdc2021-10325"],"resources":[1756,1755,1753,1752,1712]}},"wwdc2021-101":{"id":"wwdc2021-101","staticContentId":5721,"eventContentId":101,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:59:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/101","languageCode":"eng","description":"The Apple Worldwide Developers Conference kicks off with exciting reveals, inspiration, and new opportunities. Join the worldwide developer community for an in-depth look at the future of Apple platforms, directly from Apple Park.","title":"Keynote","startTime":"2021-06-07T10:00:00-07:00","endTime":"2021-06-07T12:00:00-07:00","originalPublishingDate":"2021-06-07T10:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"BD08C639-8700-47AD-8EA7-39985347DAAD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/p-events-delivery.akamaized.net\/1805asrvgvurxcrkewleraugwqathmvg\/m3u8\/vod_index-YVvsDudyWzBdgmtcMPabYTdjaWWmbLaA.m3u8","tvOShls":"https:\/\/p-events-delivery.akamaized.net\/1805asrvgvurxcrkewleraugwqathmvg\/m3u8\/vod_index-YVvsDudyWzBdgmtcMPabYTdjaWWmbLaA.m3u8","duration":6409,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["de","en","es","fr","ja","ko","ru","zh"]},"related":{"activities":["wwdc2021-102","wwdc2021-111","wwdc2021-112","wwdc2021-10321"]}},"wwdc2021-10067":{"id":"wwdc2021-10067","staticContentId":4958,"eventContentId":10067,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:53:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10067","languageCode":"eng","description":"Recurring leaderboards are a great way to encourage players to keep coming back to your game. Code along with us as we take you through how to set up a recurring leaderboard, both within App Store Connect and in your game itself.\n\nFor a refresher on the differences between recurring and classic leaderboards before beginning this code-along, we recommend watching the recurring leaderboards section of \"Tap into Game Center: Leaderboards, Achievements, and Multiplayer\" from WWDC20.","title":"Bring Recurring Leaderboards to your game","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["codealong"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0B5676B0-297B-43D0-879C-B99198C23DFF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10067\/7\/1E50A29A-8D8C-4103-B1E4-F62F2C5AA329\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10067\/7\/1E50A29A-8D8C-4103-B1E4-F62F2C5AA329\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10067\/7\/1E50A29A-8D8C-4103-B1E4-F62F2C5AA329\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10067\/7\/1E50A29A-8D8C-4103-B1E4-F62F2C5AA329\/downloads\/wwdc2021-10067_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10067\/7\/1E50A29A-8D8C-4103-B1E4-F62F2C5AA329\/downloads\/wwdc2021-10067_sd.mp4","duration":1555,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10064","wwdc2021-10066","wwdc2021-10324","wwdc2021-100171","wwdc2021-100255","wwdc2021-100316","wwdc2020-10145","wwdc2020-10619"],"resources":[2217,827]}},"wwdc2021-10208":{"id":"wwdc2021-10208","staticContentId":5119,"eventContentId":10208,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:59:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10208","languageCode":"eng","description":"Learn how you can interact with devices in UI Tests in Xcode 13. Discover newly-automatable input methods including iPadOS pointer, watchOS Digital Crown, and enhanced macOS trackpad scrolling APIs.","title":"Explore Digital Crown, Trackpad, and iPad pointer automation","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["digital crown","interaction","interaction tests","pointer","pointer events","scroll","testing","trackpad","ui testing","xcuitest"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1ACC64D0-ECD1-472B-9C70-61E94511ABD5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10208\/7\/D03FEAA6-4A84-48E0-BC4B-0B194701D23A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10208\/7\/D03FEAA6-4A84-48E0-BC4B-0B194701D23A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10208\/7\/D03FEAA6-4A84-48E0-BC4B-0B194701D23A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10208\/7\/D03FEAA6-4A84-48E0-BC4B-0B194701D23A\/downloads\/wwdc2021-10208_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10208\/7\/D03FEAA6-4A84-48E0-BC4B-0B194701D23A\/downloads\/wwdc2021-10208_sd.mp4","duration":556,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10207","wwdc2021-10237","wwdc2021-10296","wwdc2021-100215","wwdc2021-100218","wwdc2021-100222","wwdc2021-100230","wwdc2021-100359","wwdc2021-100448"],"resources":[1668]}},"wwdc2021-10211":{"id":"wwdc2021-10211","staticContentId":5122,"eventContentId":10211,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:53:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10211","languageCode":"eng","description":"Discover how you can achieve maximum performance and insightful debugging with your app. Symbolication is at the center of tools such as Instruments and LLDB to help bridge the layers between your application\u2019s runtime and your source code. Learn how this process works and the steps you can take to gain the most insight into your app.","title":"Symbolication: Beyond the basics","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["atos","dsym","dwarf","instruments","lldb","otool","symbolication"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"738EA8C9-4B4F-4B34-B470-7CDCC753076F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10211\/3\/3450A29E-DC2D-49D5-9D68-5E053CC5EC9D\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10211\/3\/3450A29E-DC2D-49D5-9D68-5E053CC5EC9D\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10211\/3\/3450A29E-DC2D-49D5-9D68-5E053CC5EC9D\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10211\/3\/3450A29E-DC2D-49D5-9D68-5E053CC5EC9D\/downloads\/wwdc2021-10211_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10211\/3\/3450A29E-DC2D-49D5-9D68-5E053CC5EC9D\/downloads\/wwdc2021-10211_sd.mp4","duration":2240,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110370","wwdc2021-100262","wwdc2021-100264","wwdc2021-100305","wwdc2021-100336","wwdc2017-413","wwdc2016-406"]}},"wwdc2021-10062":{"id":"wwdc2021-10062","staticContentId":4952,"eventContentId":10062,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:54:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10062","languageCode":"eng","description":"Code along with us as we use SwiftUI to build a Mac app from start to finish. Discover four principles all great Mac apps have in common, and learn how to apply those principles in practice using SwiftUI. We\u2019ll show you how to create a powerful, flexible sidebar experience and transform lists to tables within a detail view, then discuss best practices for data organization. Next, we\u2019ll explore the simple .searchable modifier and find out how to add support for the toolbar and search. And to close out part one, we\u2019ll learn how to build a great multiple-window experience and provide menu bar support.\n\nThis is the first session in a two-part Code-Along series. To get the most out of this series, we recommend that you have some basic familiarity with SwiftUI. For more background, watch \"Introduction to SwiftUI\" from WWDC20.","title":"SwiftUI on the Mac: Build the fundamentals","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["macOS"],"keywords":["button","codealong","code-along","command group","computed properties","custom command","design principles","disclosure group","expansion","expansive","familiar","fixed width","flatten","flexible","focus","focusedscenevalue","garden patch","great mac app","help menu","identifiable","label","list","main menu","manage complexity","menu","multiple window","navigationview","observable object","outline view","part 1","picker","precise","resolutions","restore","scenestorage","screen sizes","search","segmented control","selection","separate window","sidebar","source of truth","state","state restoration","store data","swift ui","table","toolbar","window group","windows"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C983B65A-4089-49AB-9855-AE2D9C79FCF0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10062\/4\/9B92BC78-A602-46D4-BABD-38CFE255CCDE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10062\/4\/9B92BC78-A602-46D4-BABD-38CFE255CCDE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10062\/4\/9B92BC78-A602-46D4-BABD-38CFE255CCDE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10062\/4\/9B92BC78-A602-46D4-BABD-38CFE255CCDE\/downloads\/wwdc2021-10062_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10062\/4\/9B92BC78-A602-46D4-BABD-38CFE255CCDE\/downloads\/wwdc2021-10062_sd.mp4","duration":1049,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10058","wwdc2021-10299","wwdc2021-100293"],"resources":[1606]}},"wwdc2021-10253":{"id":"wwdc2021-10253","staticContentId":5174,"eventContentId":10253,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:55:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10253","languageCode":"eng","description":"Some problems are easier to solve by creating a customized programming language, or \u201cdomain-specific language.\u201d While creating a DSL traditionally requires writing your own compiler, you can instead use result builders with Swift 5.4 to make your code both easier to read and maintain. We\u2019ll take you through best practices for designing a custom language for Swift: Learn about result builders and trailing closure arguments, explore modifier-style methods and why they work well, and discover how you can extend Swift\u2019s normal language rules to turn Swift into a DSL.\n\nTo get the most out of this session, it\u2019s helpful (though not necessary) to have some experience writing SwiftUI views. You won\u2019t need to know anything about parser or compiler implementation.","title":"Write a DSL in Swift using result builders","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["compiler","domain specific language","dsl","modifiers","property wrappers","result builders","trailing closure"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CC5DA19B-C74A-4417-A8AA-12F17A124460","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10253\/4\/F323F580-06C3-4F19-9548-AB7560E40CD4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10253\/4\/F323F580-06C3-4F19-9548-AB7560E40CD4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10253\/4\/F323F580-06C3-4F19-9548-AB7560E40CD4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10253\/4\/F323F580-06C3-4F19-9548-AB7560E40CD4\/downloads\/wwdc2021-10253_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10253\/4\/F323F580-06C3-4F19-9548-AB7560E40CD4\/downloads\/wwdc2021-10253_sd.mp4","duration":2816,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10192","wwdc2021-100225","wwdc2021-100227","wwdc2019-415"],"resources":[1724,1722,884]}},"wwdc2021-10316":{"id":"wwdc2021-10316","staticContentId":5270,"eventContentId":10316,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:55:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10316","languageCode":"eng","description":"Dan Harris is an Emmy Award-winning journalist and the co-anchor of ABC's weekend editions of Good Morning America. After having a nationally-televised panic attack in 2004, he found himself on a long and often bizarre journey that ended with him discovering mindfulness meditation. Dan will share his story, which has led to his authoring two books and creating a popular podcast and app that have helped many (including previous non-believers like himself) improve their lives. He will be joined by Jeff Warren, renowned meditation teacher and Dan's co-author of the bestselling book Meditation For Fidgety Skeptics, to offer practical steps that anyone can take to manage the wide-ranging stresses and anxieties of today's world to become 10% happier.","title":"Meditation for fidgety skeptics","originalPublishingDate":"2021-06-10T11:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","keywords":["guest","wwdc21"],"primaryTopicID":90,"topicIds":[92,90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"360FA7C0-2DEB-4CD8-96BB-5D2FAEC8ECAC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10316\/8\/F3A4B359-293E-4760-A055-B8998AC4CE02\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10316\/8\/F3A4B359-293E-4760-A055-B8998AC4CE02\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10316\/8\/F3A4B359-293E-4760-A055-B8998AC4CE02\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10316\/8\/F3A4B359-293E-4760-A055-B8998AC4CE02\/downloads\/wwdc2021-10316_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10316\/8\/F3A4B359-293E-4760-A055-B8998AC4CE02\/downloads\/wwdc2021-10316_sd.mp4","duration":1766,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en"]},"related":{"activities":["wwdc2021-10324"]}},"wwdc2021-102":{"id":"wwdc2021-102","staticContentId":5003,"eventContentId":102,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:58:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/102","languageCode":"eng","description":"Take a deeper dive into the new tools, technologies, and advances across Apple platforms that will help you create even better apps.","title":"Platforms State of the Union","startTime":"2021-06-07T14:00:00-07:00","endTime":"2021-06-07T15:30:00-07:00","originalPublishingDate":"2021-06-07T14:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["sotu","sotu 2021"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"D73FF68F-B602-4A2F-90DE-4C0ECA6BEB35","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/102\/9\/185FF8CB-65B8-468D-9AF3-E6B6444F9AB7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/102\/9\/185FF8CB-65B8-468D-9AF3-E6B6444F9AB7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/102\/9\/185FF8CB-65B8-468D-9AF3-E6B6444F9AB7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/102\/9\/185FF8CB-65B8-468D-9AF3-E6B6444F9AB7\/downloads\/wwdc2021-102_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/102\/9\/185FF8CB-65B8-468D-9AF3-E6B6444F9AB7\/downloads\/wwdc2021-102_sd.mp4","duration":4406,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2021-101","wwdc2021-111","wwdc2021-112","wwdc2021-10321"]}},"wwdc2021-10174":{"id":"wwdc2021-10174","staticContentId":5079,"eventContentId":10174,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:59:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10174","languageCode":"eng","description":"Discover the latest updates to managing in-app purchases on your server. Explore how you can use servers to track status changes, handle refunds, and manage subscriber status. Learn about App Store server APIs around status and in-app purchase transactions, and find out how App Store server notifications can help you track more customer lifecycle events. We\u2019ll also take you through managing Family Sharing for in-app purchases, and the latest improvements to testing in-app purchases in the sandbox environment.","title":"Manage in-app purchases on your server","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["games","storekit"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"11723394-D050-4FD4-89EB-2660380F5C3B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10174\/3\/CF8F96B8-0719-405C-815A-25E67736D5F4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10174\/3\/CF8F96B8-0719-405C-815A-25E67736D5F4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10174\/3\/CF8F96B8-0719-405C-815A-25E67736D5F4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10174\/3\/CF8F96B8-0719-405C-815A-25E67736D5F4\/downloads\/wwdc2021-10174_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10174\/3\/CF8F96B8-0719-405C-815A-25E67736D5F4\/downloads\/wwdc2021-10174_sd.mp4","duration":2023,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10007","wwdc2022-10039","wwdc2022-10040","wwdc2021-10114","wwdc2021-10175","wwdc2021-100273","wwdc2021-100402","wwdc2021-100404","wwdc2021-100406","wwdc2021-100408","wwdc2021-100436","wwdc2020-10661","wwdc2019-302"],"resources":[1637,1636,1630,1512,790,448,53]}},"wwdc2021-10287":{"id":"wwdc2021-10287","staticContentId":5225,"eventContentId":10287,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:59:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10287","languageCode":"eng","description":"Discover how you can take your app\u2019s health monitoring to the next level with motion data. Meet Walking Steadiness for iPhone and the six-minute-walk metric for Apple Watch: Walking Steadiness can help your app interpret someone\u2019s quality of walking and risk of falling, while the six-minute-walk metric \u2014 along with the HealthKit estimate recalibration API \u2014 can track changes to walking endurance following acute events like surgery. We\u2019ll show you how you can support these metrics and help provide actionable health data to people who use your app, helping improve patient care and clinical trials, especially as more services must be delivered remotely.","title":"Measure health with motion","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["healthkit","therapy"],"primaryTopicID":92,"topicIds":[92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5077B5B0-643B-4E31-9C5E-6E766326D3F3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10287\/5\/C117695D-C24C-4B2E-B6A4-C87244FC08AC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10287\/5\/C117695D-C24C-4B2E-B6A4-C87244FC08AC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10287\/5\/C117695D-C24C-4B2E-B6A4-C87244FC08AC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10287\/5\/C117695D-C24C-4B2E-B6A4-C87244FC08AC\/downloads\/wwdc2021-10287_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10287\/5\/C117695D-C24C-4B2E-B6A4-C87244FC08AC\/downloads\/wwdc2021-10287_sd.mp4","duration":1249,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10240","wwdc2021-100245","wwdc2021-100253","wwdc2021-100440","wwdc2020-10656","wwdc2020-10664"],"resources":[2222,2221,2220,1600,1599,1598,1597,1596,77]}},"wwdc2021-103":{"id":"wwdc2021-103","staticContentId":5599,"eventContentId":103,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:59:45-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/103","languageCode":"eng","description":"The Apple Design Awards honors excellence in innovation, ingenuity, and technical achievement in app and game design. Watch along as we reveal and celebrate the 2021 winners.","title":"WWDC21 Apple Design Awards","startTime":"2021-06-10T14:00:00-07:00","endTime":"2021-06-10T14:30:00-07:00","originalPublishingDate":"2021-06-10T14:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"4B1A4F9F-1D5C-49B7-9F4A-BED75A9F6FF5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/103\/11\/E4F0C677-1137-4FBD-B02B-11F849D6D6FA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/103\/11\/E4F0C677-1137-4FBD-B02B-11F849D6D6FA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/103\/11\/E4F0C677-1137-4FBD-B02B-11F849D6D6FA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/103\/11\/E4F0C677-1137-4FBD-B02B-11F849D6D6FA\/downloads\/wwdc2021-103_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/103\/11\/E4F0C677-1137-4FBD-B02B-11F849D6D6FA\/downloads\/wwdc2021-103_sd.mp4","duration":1181,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-113","wwdc2021-10323","wwdc2021-10324"]}},"wwdc2021-10023":{"id":"wwdc2021-10023","staticContentId":4889,"eventContentId":10023,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:59:52-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10023","languageCode":"eng","description":"With device input \u2014 as with all things in life \u2014 where you put focus matters. Discover how you can move focus in your app with SwiftUI, programmatically dismiss the keyboard, and build large navigation targets from small views. Together, these APIs can help you simplify your app\u2019s interface and make it more powerful for people to find what they need.","title":"Direct and reflect focus in SwiftUI","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["adjacency","attention","detect focus","direct attention","focus",".focused","focusedfield",".focussection","focus section","focusstate","@focusstate","focus state","input","move focus","navigation targets","platform convention","programmatically move focus","swiftui"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6902DF30-F111-438C-AA9D-777CD43472E0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10023\/5\/ED227AE3-34ED-45F7-BB9D-7E4F06876C3B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10023\/5\/ED227AE3-34ED-45F7-BB9D-7E4F06876C3B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10023\/5\/ED227AE3-34ED-45F7-BB9D-7E4F06876C3B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10023\/5\/ED227AE3-34ED-45F7-BB9D-7E4F06876C3B\/downloads\/wwdc2021-10023_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10023\/5\/ED227AE3-34ED-45F7-BB9D-7E4F06876C3B\/downloads\/wwdc2021-10023_sd.mp4","duration":670,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10075","wwdc2021-10018","wwdc2021-10120","wwdc2021-10375","wwdc2021-100292"],"resources":[1797]}},"wwdc2021-111":{"id":"wwdc2021-111","staticContentId":5742,"eventContentId":111,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:00:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/111","languageCode":"eng","description":"The Apple Worldwide Developers Conference kicks off with exciting reveals, inspiration, and new opportunities. Join the worldwide developer community for an in-depth look at the future of Apple platforms, directly from Apple Park.\n\nThis version includes American Sign Language (ASL) interpretation.","title":"Keynote (ASL)","startTime":"2021-06-07T10:00:00-07:00","endTime":"2021-06-07T12:00:00-07:00","originalPublishingDate":"2021-06-07T10:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"C7F39772-0924-40D0-AB50-95DFB09D9BC4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/p-events-delivery.akamaized.net\/1805asrvgvurxcrkewleraugwqathmvg\/m3u8\/vod_asl_index-YjZLVmcchTTNTtDTLsRUgqHBaNmHAmNH.m3u8","tvOShls":"https:\/\/p-events-delivery.akamaized.net\/1805asrvgvurxcrkewleraugwqathmvg\/m3u8\/vod_asl_index-YjZLVmcchTTNTtDTLsRUgqHBaNmHAmNH.m3u8","duration":6409,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["de","en","es","fr","ja","ko","ru","zh"]},"related":{"activities":["wwdc2021-101","wwdc2021-102","wwdc2021-112","wwdc2021-10321"]}},"wwdc2021-10204":{"id":"wwdc2021-10204","staticContentId":5115,"eventContentId":10204,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:00:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10204","languageCode":"eng","description":"Discover how to distribute your apps directly to App Store Connect and all the distribution methods supported in Xcode. Explore how to automate distribution for your apps, and learn about improvements to the distribution workflow like cloud signing, app record creation, and build number management.","title":"Distribute apps in Xcode with cloud signing","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["app record","app store connect","archive build","build number","cloud signing","distribution","organizer","testflight"],"primaryTopicID":88,"topicIds":[86,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A8414C98-1AC1-4DE6-BEEA-48C9C561686A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10204\/4\/CF00E449-A95A-4F82-8CCF-DF5B980665A5\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10204\/4\/CF00E449-A95A-4F82-8CCF-DF5B980665A5\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10204\/4\/CF00E449-A95A-4F82-8CCF-DF5B980665A5\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10204\/4\/CF00E449-A95A-4F82-8CCF-DF5B980665A5\/downloads\/wwdc2021-10204_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10204\/4\/CF00E449-A95A-4F82-8CCF-DF5B980665A5\/downloads\/wwdc2021-10204_sd.mp4","duration":1310,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10109","wwdc2021-10170","wwdc2021-10261","wwdc2021-10267","wwdc2021-10268","wwdc2021-100215","wwdc2021-100218","wwdc2021-100220","wwdc2021-100222","wwdc2021-100232","wwdc2021-100448","wwdc2019-304","tech-talks-110343"],"resources":[309]}},"wwdc2021-10005":{"id":"wwdc2021-10005","staticContentId":4846,"eventContentId":10005,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:00:47-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10005","languageCode":"eng","description":"Discover how you can integrate data from Bluetooth accessories into Apple Watch apps and complications. Bluetooth devices can provide medical data, sports stats, and more to Apple Watch, and help people get more out of your software in the process. We\u2019ll show you how to connect to these devices during Background App Refresh to display the most up-to-date information in your Apple Watch complications, provide an overview of Core Bluetooth on watchOS, and explore best practices for Bluetooth accessory design.","title":"Connect Bluetooth devices to Apple Watch","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["watchOS"],"primaryTopicID":101,"topicIds":[92,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"352F7066-929E-413B-B452-8452D12994A1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10005\/6\/F54416C7-9591-4AE8-AE9D-365C4BAC2D7E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10005\/6\/F54416C7-9591-4AE8-AE9D-365C4BAC2D7E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10005\/6\/F54416C7-9591-4AE8-AE9D-365C4BAC2D7E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10005\/6\/F54416C7-9591-4AE8-AE9D-365C4BAC2D7E\/downloads\/wwdc2021-10005_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10005\/6\/F54416C7-9591-4AE8-AE9D-365C4BAC2D7E\/downloads\/wwdc2021-10005_sd.mp4","duration":631,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2022-10135","wwdc2021-10002","wwdc2021-10237","wwdc2021-100182","wwdc2021-100187"],"resources":[1824,1689,172]}},"wwdc2021-10257":{"id":"wwdc2021-10257","staticContentId":5178,"eventContentId":10257,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:01:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10257","languageCode":"eng","description":"The ClassKit framework can help surface educational activities within your app to teachers using the Schoolwork app. Discover how you can provide teachers with greater insights into student learning by adopting the latest file-based API to report student progress data within your app. We\u2019ll also show you how to use ClassKit to report out different data types, and how to test your implementation in developer mode.","title":"Meet ClassKit for file-based apps","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["document","school"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"118908E7-38F2-4466-8164-0A0541A32F8B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10257\/6\/1A9F8965-41D7-4A10-A0B1-36FE84E977EE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10257\/6\/1A9F8965-41D7-4A10-A0B1-36FE84E977EE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10257\/6\/1A9F8965-41D7-4A10-A0B1-36FE84E977EE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10257\/6\/1A9F8965-41D7-4A10-A0B1-36FE84E977EE\/downloads\/wwdc2021-10257_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10257\/6\/1A9F8965-41D7-4A10-A0B1-36FE84E977EE\/downloads\/wwdc2021-10257_sd.mp4","duration":850,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-100275","wwdc2018-215"],"resources":[1593,386,385]}},"wwdc2021-10252":{"id":"wwdc2021-10252","staticContentId":5173,"eventContentId":10252,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:01:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10252","languageCode":"eng","description":"Build consistently smooth scrolling list and collection views: Explore the lifecycle of a cell and learn how to apply that knowledge to eliminate rough scrolling and missed frames. We\u2019ll also show you how to improve your overall scrolling experience and avoid costly hitches, with optimized image loading and automatic cell prefetching.\n\nTo get the most out of this video, we recommend a basic familiarity with diffable data sources and compositional layout.","title":"Make blazing fast lists and collection views","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["macOS"],"keywords":["glitch","hitch","performance","rendering","tableview","table view"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"816839F5-2F07-4535-AE59-8D5DBBFF1210","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10252\/5\/B37B6913-C7C8-49EA-982E-9D10AC147454\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10252\/5\/B37B6913-C7C8-49EA-982E-9D10AC147454\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10252\/5\/B37B6913-C7C8-49EA-982E-9D10AC147454\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10252\/5\/B37B6913-C7C8-49EA-982E-9D10AC147454\/downloads\/wwdc2021-10252_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10252\/5\/B37B6913-C7C8-49EA-982E-9D10AC147454\/downloads\/wwdc2021-10252_sd.mp4","duration":1350,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10059","wwdc2021-10348","wwdc2021-100228","wwdc2021-100229","wwdc2021-100231","wwdc2021-100249","wwdc2020-10045","wwdc2020-10097","tech-talks-10855","wwdc2016-219"],"resources":[1819,3]}},"wwdc2021-10152":{"id":"wwdc2021-10152","staticContentId":5054,"eventContentId":10152,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:01:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10152","languageCode":"eng","description":"Metal Performance Shaders Graph is a compute engine that helps you build, compile, and execute customized multidimensional graphs for linear algebra, machine learning, computer vision, and image processing. Discover how MPSGraph can accelerate the popular TensorFlow platform through a Metal backend for Apple products. Learn how to add control flow to your graphs, manage the graph compilation for optimal performance, and use the MPSGraph operations to accelerate the hardest compute applications with only a few lines of code.","title":"Accelerate machine learning with Metal Performance Shaders Graph","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["machine learning","metal","metal shading language","optimization","performance"],"primaryTopicID":91,"topicIds":[94,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E98F7271-110E-4F62-9770-8C6AD60E1810","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10152\/6\/38BC0CF8-718D-4950-9CC4-B64396F5FFDD\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10152\/6\/38BC0CF8-718D-4950-9CC4-B64396F5FFDD\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10152\/6\/38BC0CF8-718D-4950-9CC4-B64396F5FFDD\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10152\/6\/38BC0CF8-718D-4950-9CC4-B64396F5FFDD\/downloads\/wwdc2021-10152_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10152\/6\/38BC0CF8-718D-4950-9CC4-B64396F5FFDD\/downloads\/wwdc2021-10152_sd.mp4","duration":1752,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10063","wwdc2021-10588","wwdc2021-100247","wwdc2021-100288","wwdc2021-100310","wwdc2021-100351","wwdc2020-10677"],"resources":[533,56,38,31]}},"wwdc2021-10182":{"id":"wwdc2021-10182","staticContentId":5092,"eventContentId":10182,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:02:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10182","languageCode":"eng","description":"Find out how you can use the FileProvider framework to build a comprehensive cloud sync solution. We\u2019ll show you how to approach building a file provider extension, and explore how you can effortlessly integrate your extension with file system features such as safe save, disk space management, Finder integration and more.","title":"Sync files to the cloud with FileProvider on macOS","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["macOS"],"primaryTopicID":101,"topicIds":[83,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EA5433CD-AB0D-4853-996F-6DD58B47549E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10182\/5\/9EA118F5-E717-489F-816F-8BF659B0D8AF\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10182\/5\/9EA118F5-E717-489F-816F-8BF659B0D8AF\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10182\/5\/9EA118F5-E717-489F-816F-8BF659B0D8AF\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10182\/5\/9EA118F5-E717-489F-816F-8BF659B0D8AF\/downloads\/wwdc2021-10182_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10182\/5\/9EA118F5-E717-489F-816F-8BF659B0D8AF\/downloads\/wwdc2021-10182_sd.mp4","duration":1069,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-100279","wwdc2021-100280","tech-talks-10067"],"resources":[1695,1694,84]}},"wwdc2021-10145":{"id":"wwdc2021-10145","staticContentId":5047,"eventContentId":10145,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:02:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10145","languageCode":"eng","description":"Learn how the Advanced Video Quality Tool (AVQT) can help you accurately assess the perceptual quality of your compressed video files. Utilizing the AVFoundation framework, AVQT supports a wide range of video formats, codecs, resolutions and frame-rates in both the SDR and HDR domains, which results in easy and efficient workflows \u2014 for example, no requirement to decode to a raw pixel format.\n\nAVQT uses Metal to achieve high processing speeds by offloading heavy pixel-level computation to the GPU, typically analyzing videos in excess of real-time video frame rates. With incredible ease of use and computational efficiency, AVQT can help you eliminate low-quality videos from your video catalog before they might otherwise reach people in your app.","title":"Evaluate videos with the Advanced Video Quality Tool","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["analysis","avqt","psnr","quality","ssim","video","video quality"],"primaryTopicID":84,"topicIds":[88,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"42986132-202A-47C0-B715-B2CA45F90544","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10145\/4\/FFBDCD0F-8B65-4D91-A05A-1501F7494854\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10145\/4\/FFBDCD0F-8B65-4D91-A05A-1501F7494854\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10145\/4\/FFBDCD0F-8B65-4D91-A05A-1501F7494854\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10145\/4\/FFBDCD0F-8B65-4D91-A05A-1501F7494854\/downloads\/wwdc2021-10145_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10145\/4\/FFBDCD0F-8B65-4D91-A05A-1501F7494854\/downloads\/wwdc2021-10145_sd.mp4","duration":995,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10149","wwdc2021-100307"],"resources":[2219]}},"wwdc2021-10296":{"id":"wwdc2021-10296","staticContentId":5235,"eventContentId":10296,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:02:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10296","languageCode":"eng","description":"Test repetitions can help you debug even the most unreliable code. Discover how you can use the maximum repetitions, until failure, and retry on failure testing modes within test plans, Xcode, and xcodebuild to track down bugs and crashers and make your app more stable for everyone.\n\nTo get the most out of this session, we recommend being familiar with XCTest and managing tests through test plans. For more information, check out \u201cTesting in Xcode\u201d from WWDC19.","title":"Diagnose unreliable code with test repetitions","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["ci","failure","test repetition","xcode","xctest"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6D6CAC35-685A-446D-BFC8-13AC6A86B66E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10296\/6\/FE383085-9A76-432B-B78A-FF8149F81733\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10296\/6\/FE383085-9A76-432B-B78A-FF8149F81733\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10296\/6\/FE383085-9A76-432B-B78A-FF8149F81733\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10296\/6\/FE383085-9A76-432B-B78A-FF8149F81733\/downloads\/wwdc2021-10296_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10296\/6\/FE383085-9A76-432B-B78A-FF8149F81733\/downloads\/wwdc2021-10296_sd.mp4","duration":541,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja"]},"related":{"activities":["wwdc2022-110361","wwdc2021-10132","wwdc2021-10207","wwdc2021-10208","wwdc2021-100215","wwdc2021-100218","wwdc2021-100222","wwdc2021-100230","wwdc2021-100359","wwdc2021-100448"]}},"wwdc2021-10291":{"id":"wwdc2021-10291","staticContentId":5230,"eventContentId":10291,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:59:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10291","languageCode":"eng","description":"Discover how you can use the Apple Music API to fetch music catalog metadata for your app. Explore the latest updates to the API as well as some advanced techniques for shaping your requests and highlighting the right metadata for a project.\n\nTo get the most out of this session, we recommend some familiarity with the Apple Music API.","title":"Explore the catalog with the Apple Music API","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["apple music","music","musickit","musickitjs"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"59F03C95-1726-4B4A-84FE-34375C8F1E7E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10291\/3\/F3E513AE-7D59-4677-BA86-19148C5DE3E4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10291\/3\/F3E513AE-7D59-4677-BA86-19148C5DE3E4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10291\/3\/F3E513AE-7D59-4677-BA86-19148C5DE3E4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10291\/3\/F3E513AE-7D59-4677-BA86-19148C5DE3E4\/downloads\/wwdc2021-10291_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10291\/3\/F3E513AE-7D59-4677-BA86-19148C5DE3E4\/downloads\/wwdc2021-10291_sd.mp4","duration":470,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10148","wwdc2021-10293","wwdc2021-10294","wwdc2021-110108","wwdc2021-110109","wwdc2017-502"],"resources":[428]}},"wwdc2021-112":{"id":"wwdc2021-112","staticContentId":5743,"eventContentId":112,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:57:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/112","languageCode":"eng","description":"Take a deeper dive into the new tools, technologies, and advances across Apple platforms that will help you create even better apps.\n\nThis version includes American Sign Language (ASL) interpretation.","title":"Platforms State of the Union (ASL)","startTime":"2021-06-07T14:00:00-07:00","endTime":"2021-06-07T15:30:00-07:00","originalPublishingDate":"2021-06-07T14:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["sotu","sotu 2021"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"FD042C25-D033-4D50-8178-D6B6497D5FDC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/112\/4\/FE51333C-9519-4E0C-8E8D-C8D32822AC33\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/112\/4\/FE51333C-9519-4E0C-8E8D-C8D32822AC33\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/112\/4\/FE51333C-9519-4E0C-8E8D-C8D32822AC33\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/112\/4\/FE51333C-9519-4E0C-8E8D-C8D32822AC33\/downloads\/wwdc2021-112_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/112\/4\/FE51333C-9519-4E0C-8E8D-C8D32822AC33\/downloads\/wwdc2021-112_sd.mp4","duration":4406,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","ko","zh"]},"related":{"activities":["wwdc2021-101","wwdc2021-102","wwdc2021-111","wwdc2021-10321"]}},"wwdc2021-113":{"id":"wwdc2021-113","staticContentId":5744,"eventContentId":113,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:57:45-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/113","languageCode":"eng","description":"The Apple Design Awards honors excellence in innovation, ingenuity, and technical achievement in app and game design. Watch along as we reveal and celebrate the 2021 winners.\n\nThis version includes American Sign Language (ASL) interpretation.","title":"WWDC21 Apple Design Awards (ASL)","startTime":"2021-06-10T14:00:00-07:00","endTime":"2021-06-10T14:30:00-07:00","originalPublishingDate":"2021-06-10T14:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"04D126B1-2410-4E73-A81C-5E0DFD38B120","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/113\/3\/E9825AAC-7546-4091-9A61-4697FDA111C7\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/113\/3\/E9825AAC-7546-4091-9A61-4697FDA111C7\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/113\/3\/E9825AAC-7546-4091-9A61-4697FDA111C7\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/113\/3\/E9825AAC-7546-4091-9A61-4697FDA111C7\/downloads\/wwdc2021-113_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/113\/3\/E9825AAC-7546-4091-9A61-4697FDA111C7\/downloads\/wwdc2021-113_sd.mp4","duration":1181,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-103","wwdc2021-10323","wwdc2021-10324","wwdc2020-10690","wwdc2020-20022","wwdc2019-104","wwdc2019-802","wwdc2018-103","wwdc2016-103"]}},"wwdc2021-10220":{"id":"wwdc2021-10220","staticContentId":5131,"eventContentId":10220,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:42:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10220","languageCode":"eng","description":"Learn how to localize your SwiftUI app and make it available to a global audience. Explore how you can localize strings in SwiftUI, including those with styles and formatting. We'll demonstrate how you can save time by having SwiftUI automatically handle tasks such as layout and keyboard shortcuts, and take you through the localization workflow in Xcode 13.\n\nTo get the most out of this session and learn more about the Markdown language and AttributedString, check out \"What's new in Foundation\" from WWDC21.","title":"Localize your SwiftUI app","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["\ud83c\udf0d","\ud83c\udf0e","\ud83c\udf0f","i18n","keyboard shortcuts","localizedstringkey","markdown","stringsdict"],"primaryTopicID":100,"topicIds":[82,88,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0831738E-1641-4E51-B7E6-AFC3FC19E12D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10220\/6\/3866585A-3920-44B4-AB3F-03A446FCDE3A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10220\/6\/3866585A-3920-44B4-AB3F-03A446FCDE3A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10220\/6\/3866585A-3920-44B4-AB3F-03A446FCDE3A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10220\/6\/3866585A-3920-44B4-AB3F-03A446FCDE3A\/downloads\/wwdc2021-10220_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10220\/6\/3866585A-3920-44B4-AB3F-03A446FCDE3A\/downloads\/wwdc2021-10220_sd.mp4","duration":1056,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110401","wwdc2021-10018","wwdc2021-10109","wwdc2021-10221","wwdc2021-10375","wwdc2021-100354","wwdc2021-100357","wwdc2018-404"],"resources":[1555,1353,884]}},"wwdc2021-10075":{"id":"wwdc2021-10075","staticContentId":4967,"eventContentId":10075,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:49:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10075","languageCode":"eng","description":"Create stunning visuals for your augmented reality experiences with cutting-edge rendering advancements in RealityKit. Learn the art of writing custom shaders, draw real-time dynamic meshes, and explore creative post-processing effects to help you stylize your AR scene.","title":"Explore advanced rendering with RealityKit 2","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["3d graphics","ar","arkit","augmented reality","core image","depth map","lidar","metal shading language","realitykit","scenekit"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"88A270DB-C84F-4E56-935A-9E8FC5E1A957","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10075\/6\/81A03814-3C6E-4B82-A5BB-92160CD0EF78\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10075\/6\/81A03814-3C6E-4B82-A5BB-92160CD0EF78\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10075\/6\/81A03814-3C6E-4B82-A5BB-92160CD0EF78\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10075\/6\/81A03814-3C6E-4B82-A5BB-92160CD0EF78\/downloads\/wwdc2021-10075_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10075\/6\/81A03814-3C6E-4B82-A5BB-92160CD0EF78\/downloads\/wwdc2021-10075_sd.mp4","duration":1793,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10128","wwdc2022-10141","wwdc2021-10074","wwdc2021-100174","wwdc2021-100244","wwdc2021-100299","wwdc2020-10612"],"resources":[1622,1413,886,878,568]}},"wwdc2021-10022":{"id":"wwdc2021-10022","staticContentId":4888,"eventContentId":10022,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:48:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10022","languageCode":"eng","description":"Peek behind the curtain into the core tenets of SwiftUI philosophy: Identity, Lifetime, and Dependencies. Find out about common patterns, learn the principles that drive the framework, and discover how you can use them to guarantee correctness and performance for your app.","title":"Demystify SwiftUI","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["\ud83d\udc08","\ud83d\udc15","\ud83d\udc29","\ud83d\udc31","\ud83d\udc32","\ud83d\udc36","\ud83e\udd84","\ud83e\uddae","\ud83d\udc08\u200d\u2b1b","\ud83d\udc15\u200d\ud83e\uddba","action","alert","anyview","bad dog","@binding","biscuit","body","body property","branch","cat","confirmationdialog","connecting views","continuity over time","data-driven constructs","declarative","dependencies","dependency graph","different identities","dog","dragon","elements","@environment","@environmentobject","explicit identifiers","explicit identity","foreach","good dog","graph","grouchy cat","happy cat","how does swiftui update the ui","identifiable","identifiable protocol","identifier map to single view","identifier stability","identifier uniqueness","identity","inert modifier","lifetime","list","magical","onappear","ondisappear","outlinegroup","performance","pretzel","same identity","stable identifiers","stable identity","state","state lifetime","stateobject","structural identity","swiftui","switch","table","theseus","transition between views","tree","unique","value types","view","viewbuilder","view identity","view lifetime","view protocol","view value","view value are ephermal","what does swiftui see"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"01208FB9-CF1A-40A4-BE43-1B2F111BB2EE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10022\/7\/72A67717-944A-4D86-BFDD-D1B307C722EC\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10022\/7\/72A67717-944A-4D86-BFDD-D1B307C722EC\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10022\/7\/72A67717-944A-4D86-BFDD-D1B307C722EC\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10022\/7\/72A67717-944A-4D86-BFDD-D1B307C722EC\/downloads\/wwdc2021-10022_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10022\/7\/72A67717-944A-4D86-BFDD-D1B307C722EC\/downloads\/wwdc2021-10022_sd.mp4","duration":2417,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10160","wwdc2022-10058","wwdc2021-10018","wwdc2021-10019","wwdc2021-10119","wwdc2021-10375","wwdc2021-100291","wwdc2020-10040","wwdc2019-216"]}},"wwdc2021-10236":{"id":"wwdc2021-10236","staticContentId":5154,"eventContentId":10236,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:46:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10236","languageCode":"eng","description":"Find out how you can easily host your Swift package and framework DocC documentation online. We\u2019ll take you through configuring your web server to host your generated DocC archives, and help you learn to use the xcodebuild tool to automate documentation generation and keep your web content synchronized and up to date.","title":"Host and automate your DocC documentation","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["catalog","docc","documentation","documentation catalog","host","website","xcodebuild"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5D48C2E1-5F66-48BE-B37A-B57025EE24CA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10236\/6\/93E69517-B140-4720-B821-A542F64CC5C8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10236\/6\/93E69517-B140-4720-B821-A542F64CC5C8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10236\/6\/93E69517-B140-4720-B821-A542F64CC5C8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10236\/6\/93E69517-B140-4720-B821-A542F64CC5C8\/downloads\/wwdc2021-10236_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10236\/6\/93E69517-B140-4720-B821-A542F64CC5C8\/downloads\/wwdc2021-10236_sd.mp4","duration":831,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10166","wwdc2021-10167","wwdc2021-10192","wwdc2021-10235","wwdc2021-100282","wwdc2021-100287","wwdc2021-100337"],"resources":[1677,1669]}},"wwdc2021-10148":{"id":"wwdc2021-10148","staticContentId":5050,"eventContentId":10148,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:50:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10148","languageCode":"eng","description":"Optimize your high-end games for Apple GPUs: We\u2019ll show you how you can use our rendering and debugging tools to eliminate performance issues and make your games great on Apple platforms. Learn from our experiences working with developers at Larian Studios and 4A Games as we help them optimize their games for Apple GPUs.\n\nWe\u2019ll explore various techniques for improving your game\u2019s performance, including optimizing shaders, reducing memory bandwidth utilization, and increasing the overlap of your GPU workloads. We\u2019ll also dive into the new GPU Timeline profiling tool in Xcode 13 to identify possible performance bottlenecks in \u201cDivinity: Original Sin 2\u201d when running on iPad.\n\nFor this session, you should be familiar with the tile-based deferred rendering architecture in Apple GPUs, and have a working knowledge of Xcode and the Metal API.\n\nCheck out \u201cDiscover Metal debugging, profiling, and asset creation tools\u201d or the WWDC20 session \u201cOptimize Metal apps and games with GPU counters\u201d to learn more about using our tools to profile graphics workloads.","title":"Optimize high-end games for Apple GPUs","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[88,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AC8BE884-8688-4FB3-9527-B3AE0285B811","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10148\/8\/2E6A96C2-2CC3-4852-A318-C5F493B55EC6\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10148\/8\/2E6A96C2-2CC3-4852-A318-C5F493B55EC6\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10148\/8\/2E6A96C2-2CC3-4852-A318-C5F493B55EC6\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10148\/8\/2E6A96C2-2CC3-4852-A318-C5F493B55EC6\/downloads\/wwdc2021-10148_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10148\/8\/2E6A96C2-2CC3-4852-A318-C5F493B55EC6\/downloads\/wwdc2021-10148_sd.mp4","duration":1947,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10149","wwdc2021-10150","wwdc2021-10157","wwdc2021-10286","wwdc2021-10588","wwdc2021-100247","wwdc2021-100288","wwdc2021-100310","wwdc2021-100351","wwdc2020-10602","wwdc2020-10603"],"resources":[357,56,38,31]}},"wwdc2021-10254":{"id":"wwdc2021-10254","staticContentId":5175,"eventContentId":10254,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:50:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10254","languageCode":"eng","description":"Dive into the details of Swift concurrency and discover how Swift provides greater safety from data races and thread explosion while simultaneously improving performance. We\u2019ll explore how Swift tasks differ from Grand Central Dispatch, how the new cooperative threading model works, and how to ensure the best performance for your apps.\n\nTo get the most out of this session, we recommend first watching \u201cMeet async\/await in Swift,\u201d \u201cExplore structured concurrency in Swift,\u201d and \u201cProtect mutable state with Swift actors.\u201d","title":"Swift concurrency: Behind the scenes","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["actors","async","await","continuation","dispatchqueue","feed","gcd","heap","hopping","newsfeed","pool","queue","reader","stack","threads"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F049AF9E-8D3D-4D3E-9E56-C92E67DE55D9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10254\/5\/3F33D18D-8193-437C-A413-0281E15A1DDA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10254\/5\/3F33D18D-8193-437C-A413-0281E15A1DDA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10254\/5\/3F33D18D-8193-437C-A413-0281E15A1DDA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10254\/5\/3F33D18D-8193-437C-A413-0281E15A1DDA\/downloads\/wwdc2021-10254_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10254\/5\/3F33D18D-8193-437C-A413-0281E15A1DDA\/downloads\/wwdc2021-10254_sd.mp4","duration":2358,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10164","wwdc2023-10170","wwdc2023-10248","wwdc2022-110350","wwdc2022-110351","wwdc2021-10132","wwdc2021-10133","wwdc2021-10134","wwdc2021-10192","wwdc2021-10194","wwdc2017-706","wwdc2016-720","wwdc2015-718"],"resources":[1712]}},"wwdc2021-10134":{"id":"wwdc2021-10134","staticContentId":5035,"eventContentId":10134,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:43:53-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10134","languageCode":"eng","description":"When you have code that needs to run at the same time as other code, it\u2019s important to choose the right tool for the job. We'll take you through the different kinds of concurrent tasks you can create in Swift, show you how to create groups of tasks, and find out how to cancel tasks in progress. We'll also provide guidance on when you may want to use unstructured tasks.\n\nTo get the most out of this session, we first recommend watching \u201cMeet async\/await in Swift.\u201d","title":"Explore structured concurrency in Swift","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["asyncdetached","async-let","bindings","detached","let","programming","scope","thumbnails","withtaskgroup","withthrowingtaskgroup"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"56E94D48-9C6D-4B28-B0CD-3715D26DA8DC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10134\/6\/9155AF54-72F8-4BFA-BAB6-0B8830753666\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10134\/6\/9155AF54-72F8-4BFA-BAB6-0B8830753666\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10134\/6\/9155AF54-72F8-4BFA-BAB6-0B8830753666\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10134\/6\/9155AF54-72F8-4BFA-BAB6-0B8830753666\/downloads\/wwdc2021-10134_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10134\/6\/9155AF54-72F8-4BFA-BAB6-0B8830753666\/downloads\/wwdc2021-10134_sd.mp4","duration":1674,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10170","wwdc2022-110350","wwdc2022-110351","wwdc2021-10019","wwdc2021-10058","wwdc2021-10132","wwdc2021-10133","wwdc2021-10192","wwdc2021-10194","wwdc2021-10254"],"resources":[1758,1757,1712]}},"wwdc2021-10089":{"id":"wwdc2021-10089","staticContentId":4984,"eventContentId":10089,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:48:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10089","languageCode":"eng","description":"Find out how you can securely request access to someone\u2019s verifiable health records and incorporate that data safely into your app. The Health app helps people download, view, and share their health records, including their COVID-19 immunization and test results \u2014 and iOS 15 brings support for the SMART Health Card, a verifiable health record that incorporates the FHIR health data standard. We\u2019ll show you how your app can go about requesting access to this record and how you can verify the signature of the file using CryptoKit and the issuer\u2019s public key.","title":"Explore Verifiable Health Records","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["healthkit","privacy"],"primaryTopicID":92,"topicIds":[96,92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D88011D0-7AA5-4852-B000-4DE9AC2C0FB1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10089\/4\/9DC55E07-91AA-4A4C-860B-E447648389FB\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10089\/4\/9DC55E07-91AA-4A4C-860B-E447648389FB\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10089\/4\/9DC55E07-91AA-4A4C-860B-E447648389FB\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10089\/4\/9DC55E07-91AA-4A4C-860B-E447648389FB\/downloads\/wwdc2021-10089_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10089\/4\/9DC55E07-91AA-4A4C-860B-E447648389FB\/downloads\/wwdc2021-10089_sd.mp4","duration":1104,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10070","tech-talks-21-10071","wwdc2021-10240","wwdc2021-100253","wwdc2021-100440","wwdc2020-10669"],"resources":[1693,1692,1691,1355,422]}},"wwdc2021-10012":{"id":"wwdc2021-10012","staticContentId":4878,"eventContentId":10012,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:48:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10012","languageCode":"eng","description":"Discover how App Clips can elevate quick and focused experiences for specific tasks, the moment your customer needs them. We\u2019ll take you through some of the latest improvements to App Clips, including launching an experience directly from an app, testing your App Clip locally, and creating App Clip Codes to make it easy to access your experience in the real world. We\u2019ll also share some great examples of App Clips from our developer community that provide innovative ways to interact with people and beautiful designs.\n\nTo get the most of this session, we recommend first watching \u201cExplore App Clips\u201d and \u201cConfigure and link your App Clips\u201d from WWDC20.","title":"What's new in App Clips","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["app clip","app clip card","app clip card in safari","app clip card in safari view controller","app clip code","app clip code generation","app clip code generator","app-clip-display=card","app clip experience","app clip in svc","app clips","app clips in safari view controller","app store connect","fruta","full sized app clip card","local experience","location association","maps placecard","meta tag","nfc integrated","safari view controller","scan only","siri suggestion widget","smart app clip banner","test","test app clip","testing","url handling","view in safari"],"primaryTopicID":83,"topicIds":[90,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"95357E8D-01E6-476E-9516-8AF54EC9794A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10012\/3\/AA1959EB-823F-4382-A050-7764EC6F604E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10012\/3\/AA1959EB-823F-4382-A050-7764EC6F604E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10012\/3\/AA1959EB-823F-4382-A050-7764EC6F604E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10012\/3\/AA1959EB-823F-4382-A050-7764EC6F604E\/downloads\/wwdc2021-10012_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10012\/3\/AA1959EB-823F-4382-A050-7764EC6F604E\/downloads\/wwdc2021-10012_sd.mp4","duration":948,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10097","wwdc2021-10013","wwdc2021-10073","wwdc2021-100203","wwdc2020-10146","wwdc2020-10651"],"resources":[884,853]}},"wwdc2021-10194":{"id":"wwdc2021-10194","staticContentId":5105,"eventContentId":10194,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:48:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10194","languageCode":"eng","description":"Discover Swift concurrency in action: Follow along as we update an existing sample app. Get real-world experience with async\/await, actors, and continuations. We\u2019ll also explore techniques for migrating existing code to Swift concurrency over time.\n\nTo get the most out of this code-along, we recommend first watching \u201cMeet async\/await in Swift\u201d and \u201cProtect mutable state with Swift actors\u201d from WWDC21.\n\nNote: To create an async task in Xcode 13 beta 3 and later, use the Task initializer instead.","title":"Swift concurrency: Update a sample app","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["caffeine","codealong","coffeetracker","completionhandler","complication","condition","dispatchqueue","drinklist","handler","healthkit","immutable","mainactor","mutable","nonisolated","observableobject","published","queues","race","thread","uimodel","watch"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"478403FD-44ED-4054-8993-0B338A604083","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10194\/12\/ED815E9C-D0B9-4B94-ABA6-1EFDCFB2D5D4\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10194\/12\/ED815E9C-D0B9-4B94-ABA6-1EFDCFB2D5D4\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10194\/12\/ED815E9C-D0B9-4B94-ABA6-1EFDCFB2D5D4\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10194\/12\/ED815E9C-D0B9-4B94-ABA6-1EFDCFB2D5D4\/downloads\/wwdc2021-10194_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10194\/12\/ED815E9C-D0B9-4B94-ABA6-1EFDCFB2D5D4\/downloads\/wwdc2021-10194_sd.mp4","duration":3660,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja"]},"related":{"activities":["wwdc2022-110350","wwdc2022-110351","wwdc2022-110379","wwdc2021-10018","wwdc2021-10132","wwdc2021-10133","wwdc2021-10134","wwdc2021-10254","wwdc2020-10048"],"resources":[1742,1712]}},"wwdc2021-10110":{"id":"wwdc2021-10110","staticContentId":5006,"eventContentId":10110,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:47:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10110","languageCode":"eng","description":"Discover how to keep your accounts, apps, and content protected. We\u2019ll explore the tools Apple has built to help developers keep their apps and systems safe and secure, and show you how to safeguard against attackers, bad actors and nefarious activity to help protect your ecosystem.","title":"Safeguard your accounts, promotions, and content","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["abuse","aggregator","appattest","compromised","devicecheck","fraud","islikelyrealuser","modified","premium content","promotion","receipt verification","scraping","secure","sign in with apple","trust &amp; safety","verify"],"primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2F4CA3C4-AF8A-4B35-9049-C9D3EB13418C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10110\/4\/6F66F9D8-DC2E-40C0-8C90-90FD8375D0B9\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10110\/4\/6F66F9D8-DC2E-40C0-8C90-90FD8375D0B9\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10110\/4\/6F66F9D8-DC2E-40C0-8C90-90FD8375D0B9\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10110\/4\/6F66F9D8-DC2E-40C0-8C90-90FD8375D0B9\/downloads\/wwdc2021-10110_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10110\/4\/6F66F9D8-DC2E-40C0-8C90-90FD8375D0B9\/downloads\/wwdc2021-10110_sd.mp4","duration":716,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja"]},"related":{"activities":["wwdc2021-10244","wwdc2021-100211","wwdc2021-100356","wwdc2021-100427","wwdc2020-10173","wwdc2019-706","wwdc2017-702"],"resources":[1589,1565,1557]}},"wwdc2021-10098":{"id":"wwdc2021-10098","staticContentId":4994,"eventContentId":10098,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:47:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10098","languageCode":"eng","description":"Discover how Core Data can surface data from your app in Spotlight with as little as two lines of code. Learn how to make that data discoverable in Spotlight search and to customize how it is presented to people on device. Lastly, we\u2019ll show you how to implement full-text search within your app, driven completely with the data indexed by Spotlight.","title":"Showcase app data in Spotlight","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["app data in spotlight","attributeset","coredata","core data","cssearchableitemattributeset","cssearchqueryobject","define attribute set","forstorewith:coordinator","indexing event loop","index update notifications","nscoredata","nscoredatacorespotlightdelegate","nscoredatacorespotlightdelegate.indexdidupdatenotification","nsexpression","query string","search my app in spotlight","search query","spotlight","spotlight display name","spotlightindexer","spotlight search","startspotlightindexing","stopspotlightindexing","tag","tags app"],"primaryTopicID":101,"topicIds":[100,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"293EC8B4-DE5B-4879-B0BD-5E6A11CFD7FD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10098\/5\/E1444CD9-0588-4D3B-8AFA-EB590BA9CD23\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10098\/5\/E1444CD9-0588-4D3B-8AFA-EB590BA9CD23\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10098\/5\/E1444CD9-0588-4D3B-8AFA-EB590BA9CD23\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10098\/5\/E1444CD9-0588-4D3B-8AFA-EB590BA9CD23\/downloads\/wwdc2021-10098_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10098\/5\/E1444CD9-0588-4D3B-8AFA-EB590BA9CD23\/downloads\/wwdc2021-10098_sd.mp4","duration":993,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10017","wwdc2021-100297"],"resources":[1796]}},"wwdc2021-10180":{"id":"wwdc2021-10180","staticContentId":5090,"eventContentId":10180,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-08T12:30:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10180","languageCode":"eng","description":"Discover how you can understand and diagnose memory performance problems with Xcode. We\u2019ll take you through the latest updates to Xcode\u2019s tools, explore Metrics, check out the memgraph collection feature in XCTest, and learn how to catch regressions using a Performance XCTest.\n","title":"Detect and diagnose memory issues","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["memory","performance","xcode"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7AF2F342-C4CD-4216-91CE-1E785E080EA4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10180\/5\/0CD6241A-4A02-4CD3-9885-93ABE0FD4981\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10180\/5\/0CD6241A-4A02-4CD3-9885-93ABE0FD4981\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10180\/5\/0CD6241A-4A02-4CD3-9885-93ABE0FD4981\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10180\/5\/0CD6241A-4A02-4CD3-9885-93ABE0FD4981\/downloads\/wwdc2021-10180_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10180\/5\/0CD6241A-4A02-4CD3-9885-93ABE0FD4981\/downloads\/wwdc2021-10180_sd.mp4","duration":1766,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10100","wwdc2022-10106","wwdc2021-10181","wwdc2021-10348","wwdc2021-100138","wwdc2021-100216","wwdc2021-100226","wwdc2019-411","wwdc2018-416"],"resources":[1679,782,733,72]}},"wwdc2021-10094":{"id":"wwdc2021-10094","staticContentId":4989,"eventContentId":10094,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:45:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10094","languageCode":"eng","description":"The web is changing, and the next major version of HTTP is here. Learn how HTTP\/3 reduces latency and improves reliability for your app and discover how its underlying transport, QUIC, unlocks new innovations in your own custom protocols using new transport functionality and multi-streaming connection groups.","title":"Accelerate networking with HTTP\/3 and QUIC","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[98,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E753E11A-F8A0-4DA8-9150-0AC2E6C22FA7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10094\/7\/81661D98-9D24-4A8F-8805-9460365F986B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10094\/7\/81661D98-9D24-4A8F-8805-9460365F986B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10094\/7\/81661D98-9D24-4A8F-8805-9460365F986B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10094\/7\/81661D98-9D24-4A8F-8805-9460365F986B\/downloads\/wwdc2021-10094_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10094\/7\/81661D98-9D24-4A8F-8805-9460365F986B\/downloads\/wwdc2021-10094_sd.mp4","duration":1191,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10078","wwdc2022-110403","wwdc2021-10095","wwdc2021-10212","wwdc2021-10239","wwdc2021-100173","wwdc2021-100198","wwdc2021-100270","wwdc2021-100272","tech-talks-111378"]}},"wwdc2021-10168":{"id":"wwdc2021-10168","staticContentId":5073,"eventContentId":10168,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:45:43-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10168","languageCode":"eng","description":"Meet MailKit: the best way to build amazing experiences on top of Mail. MailKit enables apps to easily and securely interact with the Mail app for macOS. We'll deep dive into the MailKit API, and show you how to create extensions for composing messages, message actions, secure email, and content blocking.\n","title":"Build Mail app extensions","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["macOS"],"keywords":["blocking","compose","content","content blocking","decrypt","encrypt","extensions","mail extensions","mail plugins","mail rules","message routing","plugins","routing","signature","spam filter"],"primaryTopicID":83,"topicIds":[96,98,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F5E7868B-E9BC-4B7C-B428-F99686382261","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10168\/10\/DB697C64-E7F4-431F-BA61-53827D49FC36\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10168\/10\/DB697C64-E7F4-431F-BA61-53827D49FC36\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10168\/10\/DB697C64-E7F4-431F-BA61-53827D49FC36\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10168\/10\/DB697C64-E7F4-431F-BA61-53827D49FC36\/downloads\/wwdc2021-10168_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10168\/10\/DB697C64-E7F4-431F-BA61-53827D49FC36\/downloads\/wwdc2021-10168_sd.mp4","duration":1101,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10347"],"resources":[1815,1571,1563]}},"wwdc2021-10074":{"id":"wwdc2021-10074","staticContentId":4966,"eventContentId":10074,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:45:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10074","languageCode":"eng","description":"Creating engaging AR experiences has never been easier with RealityKit 2. Explore the latest enhancements to the RealityKit framework and take a deep dive into this underwater sample project. We\u2019ll take you through the improved Entity Component System, streamlined animation pipeline, and the plug-and-play character controller with enhancements to face mesh and audio.","title":"Dive into RealityKit 2","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["3d graphics","ar","arkit","augmented reality","lidar","physics","realitykit","scenekit","usdz"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8EA87B74-F2F0-4F68-9D81-95E27A22A2F9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10074\/4\/67629E8A-3351-47A6-941D-B3C60B778BAF\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10074\/4\/67629E8A-3351-47A6-941D-B3C60B778BAF\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10074\/4\/67629E8A-3351-47A6-941D-B3C60B778BAF\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10074\/4\/67629E8A-3351-47A6-941D-B3C60B778BAF\/downloads\/wwdc2021-10074_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10074\/4\/67629E8A-3351-47A6-941D-B3C60B778BAF\/downloads\/wwdc2021-10074_sd.mp4","duration":1507,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10273","wwdc2022-10128","tech-talks-21-10001","tech-talks-21-10002","tech-talks-21-10049","tech-talks-21-10050","tech-talks-21-10051","tech-talks-21-10052","wwdc2021-10073","wwdc2021-10075","wwdc2021-100174","wwdc2021-100244","wwdc2021-100299","wwdc2020-10612","wwdc2019-603"],"resources":[2252,1622,1619,1617,1413,878,568]}},"wwdc2021-10015":{"id":"wwdc2021-10015","staticContentId":4881,"eventContentId":10015,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T13:11:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10015","languageCode":"eng","description":"Learn how to easily build apps that share data between multiple iCloud users with NSPersistentCloudKitContainer. Discover how to create informative experiences around shared data and learn about the CloudKit technologies that support these features in Core Data.\n\nTo get the most out of this session, check out our previous videos on NSPersistentCloudKitContainer: \"Using Core Data With CloudKit\" from WWDC19 and \"Sync a Core Data store with the CloudKit public database\" from WWDC20.","title":"Build apps that share data through CloudKit and Core Data ","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["allowscloudencryption","allows cloud encryption","candeleterecord","canmodifymanagedobjects","canupdaterecord","ckdatabase","ckrecord","ckshare","cksharedrecord","ckshare.metadata","cloud encryption","cloudkit","coredata","core data","decorate shared objects","encrypted record values","encryptedvalues","encryption","encrypt sensitive data","fetchshares","initializeschema","isshared","nspersistentcloudkitcontainer","owners and participants","persistent cloudkit container","persistent store",".private","private database","record","record sharing",".share",".shared","shared database","shared objects","sharing architecture","sharing data","sharing information","sharingprovider","testing","user keychain"],"primaryTopicID":101,"topicIds":[100,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5C465864-BAD0-4B2D-8DB7-DA2A66D5DE42","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10015\/4\/7C4C52B4-3B54-4FCE-8300-BEA17FC4A7AE\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10015\/4\/7C4C52B4-3B54-4FCE-8300-BEA17FC4A7AE\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10015\/4\/7C4C52B4-3B54-4FCE-8300-BEA17FC4A7AE\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10015\/4\/7C4C52B4-3B54-4FCE-8300-BEA17FC4A7AE\/downloads\/wwdc2021-10015_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10015\/4\/7C4C52B4-3B54-4FCE-8300-BEA17FC4A7AE\/downloads\/wwdc2021-10015_sd.mp4","duration":1475,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10119","wwdc2021-10003","wwdc2021-10017","wwdc2021-10086","wwdc2021-100197","wwdc2021-100301","wwdc2021-100302","tech-talks-10874"],"resources":[698]}},"wwdc2021-10084":{"id":"wwdc2021-10084","staticContentId":4977,"eventContentId":10084,"eventId":"wwdc2021","contentUpdatedAt":"2024-05-09T18:31:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10084","languageCode":"eng","description":"Discover how to create digital car keys that support Ultra Wideband (UWB), allowing people to unlock and start their car while leaving iPhone in their bag or pocket or Apple Watch on their wrist. We\u2019ll show you how to integrate UWB, add proximity actions and distance unlock features, and help people personalize their vehicle settings by identifying which key someone uses on the driver-side door.\n\nTo get the most out of this session, we recommend watching the session \u201cIntroducing Car Keys\u201d from WWDC20, which details the basics of pairing, key management, and server actions.","title":"Explore UWB-based car keys","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2031-06-07T00:00:00-07:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["\ud83d\udd11","\ud83d\ude97","\ud83d\ude99","nfc","u1","ultra wideband"],"primaryTopicID":101,"topicIds":[83,96,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5FDBAE84-3606-4202-BC94-E7C209E99767","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10084\/5\/A04EAA26-0290-4D04-A0AE-46D70D7E2B00\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10084\/5\/A04EAA26-0290-4D04-A0AE-46D70D7E2B00\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10084\/5\/A04EAA26-0290-4D04-A0AE-46D70D7E2B00\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10084\/5\/A04EAA26-0290-4D04-A0AE-46D70D7E2B00\/downloads\/wwdc2021-10084_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10084\/5\/A04EAA26-0290-4D04-A0AE-46D70D7E2B00\/downloads\/wwdc2021-10084_sd.mp4","duration":974,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10006"],"resources":[1579]}},"wwdc2021-10133":{"id":"wwdc2021-10133","staticContentId":5034,"eventContentId":10133,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:44:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10133","languageCode":"eng","description":"Data races occur when two separate threads concurrently access the same mutable state. They are trivial to construct, but are notoriously hard to debug.\n\nDiscover how you can stop these data races in their tracks with Swift actors, which help synchronize access to data in your code. Discover how actors work and how to share values between them. Learn about how actor isolation affects protocol conformances. And finally, meet the main actor, a new way of ensuring that your code always runs on the main thread when needed.\n\nTo get the most out of this session, we recommend first watching \u201cMeet async\/await in Swift.\u201d","title":"Protect mutable state with Swift actors","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["\ud83d\ude38","\ud83d\ude3f","books","cache","cat","classes","counter","detached","equatable","global","hashable","immutable","isolated","isolation","libraryaccount","nonisolated","sad","sendable","synchronization"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"28AE9519-77FB-4951-A036-FF2DE01D96BA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10133\/5\/C303A256-7F2C-401E-9986-E877F8C7525E\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10133\/5\/C303A256-7F2C-401E-9986-E877F8C7525E\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10133\/5\/C303A256-7F2C-401E-9986-E877F8C7525E\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10133\/5\/C303A256-7F2C-401E-9986-E877F8C7525E\/downloads\/wwdc2021-10133_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10133\/5\/C303A256-7F2C-401E-9986-E877F8C7525E\/downloads\/wwdc2021-10133_sd.mp4","duration":1712,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110350","wwdc2022-110351","wwdc2022-110356","wwdc2022-110360","wwdc2021-10019","wwdc2021-10054","wwdc2021-10132","wwdc2021-10134","wwdc2021-10192","wwdc2021-10194","wwdc2021-10254"],"resources":[1765,1763,1761,1760,1712]}},"wwdc2021-10122":{"id":"wwdc2021-10122","staticContentId":5020,"eventContentId":10122,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:43:48-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10122","languageCode":"eng","description":"Charts are an essential tool for understanding data, and critical to understanding ourselves, our health, our finances, and our world. Find out how you can make charts accessible in your apps to people with vision impairments through audio graphs and sonified data. And we'll show you how to improve your charts for accessibility through universal design principles and system accessibility settings.","title":"Bring accessibility to charts in your app","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["accessibilitychartdescriptor","accessible chart","audio graph","audio graphs","axcategoricalaxisdescriptor","axchart","axchartdescriptor","axdataseriesdescriptor","axnumbericdataaxisdescriptor","chart details","chartview","chart with sound","colors","contrast ratio","datapoint","haptic chart feedback","high contrast","inclusive charts","inclusive design","low vision","reduce transparency","sonified chart","visual accessibility"],"primaryTopicID":82,"topicIds":[82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BBA1AA98-BFB3-46A0-82DF-546E75BB0863","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10122\/6\/218A971D-4AB5-4417-96CE-15D01B009082\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10122\/6\/218A971D-4AB5-4417-96CE-15D01B009082\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10122\/6\/218A971D-4AB5-4417-96CE-15D01B009082\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10122\/6\/218A971D-4AB5-4417-96CE-15D01B009082\/downloads\/wwdc2021-10122_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10122\/6\/218A971D-4AB5-4417-96CE-15D01B009082\/downloads\/wwdc2021-10122_sd.mp4","duration":1183,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10026","wwdc2021-10119","wwdc2021-100263"],"resources":[1577,1576,1575,1574,1572]}},"wwdc2021-10192":{"id":"wwdc2021-10192","staticContentId":5103,"eventContentId":10192,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:43:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10192","languageCode":"eng","description":"Join us for an update on Swift. Discover the latest language advancements that make your code easier to read and write. Explore the growing number of APIs available as Swift packages. And we\u2019ll introduce you to Swift\u2019s async\/await syntax, structured concurrency, and actors.","title":"What\u2018s new in Swift","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["algorithms","arc","argumentparser","asynchronous","automatic reference counting","aws","builds","cgfloat","codable","collections","concurrent","deque","diversity","docc","documentation","double","driver","enum","evolution","fish","flexible","float16","functions","incremental","index","lambda","lifetimes","linux","memory","mentorship","numerics","open source","optimize","ordereddictionary","orderedset","path","property wrappers","result builders","server","static member lookup","swiftui","system","toggle","windows"],"primaryTopicID":99,"topicIds":[90,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"285672CD-B3D2-4217-AAD7-8628410D99E6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10192\/4\/1EE1B691-9DDB-4920-BD8C-7E91BDD75BB8\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10192\/4\/1EE1B691-9DDB-4920-BD8C-7E91BDD75BB8\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10192\/4\/1EE1B691-9DDB-4920-BD8C-7E91BDD75BB8\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10192\/4\/1EE1B691-9DDB-4920-BD8C-7E91BDD75BB8\/downloads\/wwdc2021-10192_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10192\/4\/1EE1B691-9DDB-4920-BD8C-7E91BDD75BB8\/downloads\/wwdc2021-10192_sd.mp4","duration":1965,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10018","wwdc2021-10132","wwdc2021-10133","wwdc2021-10134","wwdc2021-10166","wwdc2021-10167","wwdc2021-10197","wwdc2021-10235","wwdc2021-10236","wwdc2021-10253","wwdc2021-10254","wwdc2021-10256","wwdc2020-10217","wwdc2020-10644"],"resources":[1770,1751,1750,1749,1748,1746,1745,1744,1743,1712,1676,912,844,842,784]}},"wwdc2021-10251":{"id":"wwdc2021-10251","staticContentId":5172,"eventContentId":10251,"eventId":"wwdc2021","contentUpdatedAt":"2024-05-31T13:16:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10251","languageCode":"eng","description":"Learn how you can create colorized symbols with SF Symbols 3 and customize them to match the visual design of your app\u2019s interface. We\u2019ll take you through the latest UIKit and AppKit APIs for integrating colorized symbols, as well as best practices for implementation.\n\nTo get the most out of this session, we recommend watching \u201cIntroducing SF Symbols\u201d from WWDC19.","title":"SF Symbols in UIKit and AppKit","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2100-06-07T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"12F9BA62-B8C0-4E01-91EF-ED8E3F442898","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10251\/8\/1F3B1961-5626-4737-BFCB-442B8F6A6CC3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10251\/8\/1F3B1961-5626-4737-BFCB-442B8F6A6CC3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10251\/8\/1F3B1961-5626-4737-BFCB-442B8F6A6CC3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10251\/8\/1F3B1961-5626-4737-BFCB-442B8F6A6CC3\/downloads\/wwdc2021-10251_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10251\/8\/1F3B1961-5626-4737-BFCB-442B8F6A6CC3\/downloads\/wwdc2021-10251_sd.mp4","duration":906,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10059","wwdc2021-10250","wwdc2021-10288","wwdc2021-10345","wwdc2021-10349","wwdc2021-100221","wwdc2021-100224","wwdc2021-100237","wwdc2021-100295"],"resources":[1418,610]}},"wwdc2021-10235":{"id":"wwdc2021-10235","staticContentId":5153,"eventContentId":10235,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:43:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10235","languageCode":"eng","description":"Discover how you can author immersive tutorials from scratch with DocC. We\u2019ll demonstrate how you can bring together rich instructions, example code, and images through the DocC syntax to showcase your Swift framework in action. And we\u2019ll go over how to create progressive training that can provide interactive learning opportunities and help people better understand use cases for your framework.","title":"Build interactive tutorials using DocC","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["docc","documentation","documentation catalog","documentation compiler","tutorials"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"31FC34A4-4E98-4CA7-BBCF-407789F03119","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10235\/6\/D2C51374-4073-4A41-97CB-4217A096F2B3\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10235\/6\/D2C51374-4073-4A41-97CB-4217A096F2B3\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10235\/6\/D2C51374-4073-4A41-97CB-4217A096F2B3\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10235\/6\/D2C51374-4073-4A41-97CB-4217A096F2B3\/downloads\/wwdc2021-10235_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10235\/6\/D2C51374-4073-4A41-97CB-4217A096F2B3\/downloads\/wwdc2021-10235_sd.mp4","duration":1333,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja"]},"related":{"activities":["wwdc2023-10244","wwdc2021-10166","wwdc2021-10167","wwdc2021-10192","wwdc2021-10236","wwdc2021-100337"],"resources":[1676,1675,1674,1669]}},"wwdc2021-10161":{"id":"wwdc2021-10161","staticContentId":5063,"eventContentId":10161,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:42:43-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10161","languageCode":"eng","description":"EDR is Apple\u2019s High Dynamic Range representation and rendering pipeline. Explore how you can render HDR content using EDR in your app and unleash the dynamic range capabilities of your HDR display including Apple\u2019s internal displays and Pro Display XDR.\n\nWe\u2019ll show you how game and pro app developers can take advantage of the native EDR APIs on macOS for even more control, and provide best practices for deciding when HDR is appropriate, applying tone-mapping, and delivering HDR content.","title":"Explore HDR rendering with EDR","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["display","display p3","edr","hdr","metal","metal shading language"],"primaryTopicID":91,"topicIds":[84,95,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A55B64D0-14EA-497F-A296-81A609AD51B5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10161\/5\/A571AEFA-117F-4E9C-B4A0-C4543637CBFA\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10161\/5\/A571AEFA-117F-4E9C-B4A0-C4543637CBFA\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10161\/5\/A571AEFA-117F-4E9C-B4A0-C4543637CBFA\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10161\/5\/A571AEFA-117F-4E9C-B4A0-C4543637CBFA\/downloads\/wwdc2021-10161_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10161\/5\/A571AEFA-117F-4E9C-B4A0-C4543637CBFA\/downloads\/wwdc2021-10161_sd.mp4","duration":2056,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10089","wwdc2023-10123","wwdc2022-110565","wwdc2021-100432","wwdc2021-100433","wwdc2020-10009","wwdc2020-10010","articles-11072","wwdc2019-601","wwdc2019-606","wwdc2019-608","wwdc2019-611","tech-talks-202","tech-talks-501","tech-talks-502","tech-talks-608","tech-talks-10023","tech-talks-10858","tech-talks-110337"],"resources":[2238,1494,1493,909,38,31]}},"wwdc2021-10349":{"id":"wwdc2021-10349","staticContentId":5308,"eventContentId":10349,"eventId":"wwdc2021","contentUpdatedAt":"2024-05-31T13:16:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10349","languageCode":"eng","description":"Discover how you can incorporate SF Symbols into your SwiftUI app. We\u2019ll explore basic techniques for presenting symbols, customizing their size, and showing different variants. We\u2019ll also take you through the latest updates to symbol colorization and help you pick the right tool for your app\u2019s needs.","title":"SF Symbols in SwiftUI","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2100-06-07T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E4DE3FF6-7A47-434C-9578-091DCC859C4A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10349\/4\/5C81F023-9887-405D-AF78-7FBD8FACEDEF\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10349\/4\/5C81F023-9887-405D-AF78-7FBD8FACEDEF\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10349\/4\/5C81F023-9887-405D-AF78-7FBD8FACEDEF\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10349\/4\/5C81F023-9887-405D-AF78-7FBD8FACEDEF\/downloads\/wwdc2021-10349_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10349\/4\/5C81F023-9887-405D-AF78-7FBD8FACEDEF\/downloads\/wwdc2021-10349_sd.mp4","duration":657,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10018","wwdc2021-10054","wwdc2021-10097","wwdc2021-10250","wwdc2021-10251","wwdc2021-10288","wwdc2021-100237"],"resources":[1418,610]}},"wwdc2021-10166":{"id":"wwdc2021-10166","staticContentId":5070,"eventContentId":10166,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:40:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10166","languageCode":"eng","description":"Discover how you can use DocC to build and share documentation for Swift packages and frameworks. We\u2019ll show you how to begin generating documentation from your own code \u2014 or from third-party code you depend upon \u2014 and write and format it using Markdown. And we\u2019ll also take you through the export process, helping you generate DocC archives to share with the public.","title":"Meet DocC documentation in Xcode","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["docc","doccarchive","documentation","documentation catalog","documentation compiler","xcode"],"primaryTopicID":88,"topicIds":[90,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8DFA4A3D-7BC9-4A74-8844-9341F05B0EC1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10166\/7\/097C7329-25A1-4933-A07D-78C7F1F1CA46\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10166\/7\/097C7329-25A1-4933-A07D-78C7F1F1CA46\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10166\/7\/097C7329-25A1-4933-A07D-78C7F1F1CA46\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10166\/7\/097C7329-25A1-4933-A07D-78C7F1F1CA46\/downloads\/wwdc2021-10166_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10166\/7\/097C7329-25A1-4933-A07D-78C7F1F1CA46\/downloads\/wwdc2021-10166_sd.mp4","duration":1371,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10244","wwdc2021-10167","wwdc2021-10192","wwdc2021-10235","wwdc2021-10236","wwdc2021-100282","wwdc2021-100287","wwdc2021-100337"],"resources":[1671,1670,1669,1616]}},"wwdc2021-10068":{"id":"wwdc2021-10068","staticContentId":4960,"eventContentId":10068,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:39:41-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10068","languageCode":"eng","description":"Learn how ResearchKit and CareKit can work together to take the tedium out of paper surveys. Code along with us and build a working care pilot app. Explore best practices for onboarding and consent with ResearchKit, and find out how your app can require participants to sign consent documents by leveraging CareKit\u2019s store and UI components.\n\nThis is the first session in a three-part Code-Along series. To get the most out of this series, we recommend that you have some basic familiarity with both ResearchKit and CareKit. For more background, watch \"ResearchKit and CareKit Reimagined\u201d from WWDC19.","title":"Build a research and care app, part 1: Setup onboarding","originalPublishingDate":"2021-06-11T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS"],"keywords":["codealong","open source"],"primaryTopicID":92,"topicIds":[90,92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EAFF830B-8468-49BA-A5DC-D3A3E8B7F463","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10068\/4\/12425579-AD44-4883-AF2E-0453E511183B\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10068\/4\/12425579-AD44-4883-AF2E-0453E511183B\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10068\/4\/12425579-AD44-4883-AF2E-0453E511183B\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10068\/4\/12425579-AD44-4883-AF2E-0453E511183B\/downloads\/wwdc2021-10068_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10068\/4\/12425579-AD44-4883-AF2E-0453E511183B\/downloads\/wwdc2021-10068_sd.mp4","duration":919,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110410","wwdc2021-10069","wwdc2021-10240","wwdc2021-10282","wwdc2021-10587","wwdc2021-100289"],"resources":[1825,745,87]}},"wwdc2021-10018":{"id":"wwdc2021-10018","staticContentId":4884,"eventContentId":10018,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:39:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10018","languageCode":"eng","description":"There\u2019s never been a better time to develop your apps with SwiftUI. Discover the latest updates to the UI framework \u2014 including lists, buttons, and text fields \u2014 and learn how these features can help you more fully adopt SwiftUI in your app. Find out how to create beautiful, visually-rich graphics using the canvas view, materials, and enhancements to symbols. Explore multi-column tables on macOS, refinements to focus and keyboard interaction, and the multi-platform search API. And we\u2019ll show you how to take advantage of features like Swift concurrency, a brand new AttributedString, format styles, localization, and so much more.","title":"What's new in SwiftUI","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["accessibility","accessibilitychildren","accessibility modifiers","accessibility preview",".accessibilityrotor","access to bindings","add a gesture","alteratesrowbackground","always on display","animation schedule","aod","asyncimage","async images","async sequence","attributedstring","await","background","blending of content","blurred background","button improvement","buttons","canvas","code style","colors","concurrency","confirmationdialog","confirmation dialog","controlgroup","control group","controlprominence","controlsize","core data fetch request","custom refresh","custom shape","custom views","data","destructive","dismiss keyboard","dollar sign operator","dynamic type","editable text","emoji","exportsitemproviders","fetchnewitems","filter","focus","focused","focusstate","foregroundstyle","generate strings","gestures","graphics","grids","hide user sensitive information","hierarchical","keyboard","keyboardbar","keyboard improvement","keyboard navigation","landscape previews","language sensitive attributes","links","list row background","listrowseparator","list row separator","lists","live accessibility information","localization","localize","markdown","markdown support","material","menuindicator","monochrome","multicolor","onsubmit","opacity","outlines","palette","popover","press state","preview orientation","primaryaction","primary actions","privacysensitive","privacy sensitive modifier","prominent button","prominent tint support","pull to refresh","redacted content","refreshable","rotor",".safeareainset","safe area inset","schedule","search","searchable","sectionedfetchrequest","selectable text","separator","shortcuts","sidebar","strong emphasis","submitlabel","swipe actions","symbols","symbolvariant","symbol variant","table","tablecolumn",".task","textfield","textselection","timelineview","tint separator","toggle","toolbar buttons","update based on environment","update based on state","updated colors","update over time","vibrancy","view","xcode previews"],"primaryTopicID":100,"topicIds":[90,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"934A2652-91C0-41AD-A35E-BC4E2ABC6F71","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10018\/4\/C1412BB4-40EE-418F-BCFD-09796128093C\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10018\/4\/C1412BB4-40EE-418F-BCFD-09796128093C\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10018\/4\/C1412BB4-40EE-418F-BCFD-09796128093C\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10018\/4\/C1412BB4-40EE-418F-BCFD-09796128093C\/downloads\/wwdc2021-10018_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10018\/4\/C1412BB4-40EE-418F-BCFD-09796128093C\/downloads\/wwdc2021-10018_sd.mp4","duration":2413,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10024","tech-talks-21-10025","tech-talks-21-110282","tech-talks-21-110286","wwdc2021-10002","wwdc2021-10009","wwdc2021-10017","wwdc2021-10019","wwdc2021-10021","wwdc2021-10022","wwdc2021-10023","wwdc2021-10048","wwdc2021-10097","wwdc2021-10109","wwdc2021-10119","wwdc2021-10176","wwdc2021-10192","wwdc2021-10194","wwdc2021-10220","wwdc2021-10232","wwdc2021-10237","wwdc2021-10299","wwdc2021-10349","wwdc2021-10375","wwdc2021-100290"],"resources":[571,10]}},"wwdc2021-10045":{"id":"wwdc2021-10045","staticContentId":4935,"eventContentId":10045,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:39:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10045","languageCode":"eng","description":"Bring custom audio matching to your app with ShazamKit. Discover how you can use Shazam's exact audio matching to recognize audio against any source when you use custom catalogs on device.\n\nDownload our starter project and code along with the presenter as we guide you through the process of matching audio against a custom catalog. We\u2019ll also explore how easy it is to connect content across devices by building an interactive iOS app that can synchronize perfectly with video being streamed from a TV.\n\nTo learn more about ShazamKit, check out \"Explore ShazamKit\" from WWDC21.","title":"Create custom audio experiences with ShazamKit","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["audio","codealong","music","musickit","shazam","shazamkit","sound"],"primaryTopicID":84,"topicIds":[89,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A7E73948-7486-4A94-A071-17D5E31A0A9D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10045\/5\/3099F002-4DB2-4D54-8272-1DABD4768AF2\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10045\/5\/3099F002-4DB2-4D54-8272-1DABD4768AF2\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10045\/5\/3099F002-4DB2-4D54-8272-1DABD4768AF2\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10045\/5\/3099F002-4DB2-4D54-8272-1DABD4768AF2\/downloads\/wwdc2021-10045_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10045\/5\/3099F002-4DB2-4D54-8272-1DABD4768AF2\/downloads\/wwdc2021-10045_sd.mp4","duration":953,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10028","tech-talks-21-10013","tech-talks-21-10014","tech-talks-21-10091","tech-talks-21-10093","wwdc2021-10044","wwdc2021-10322","wwdc2021-10436","wwdc2021-100261","wwdc2021-100327"],"resources":[1655,1608,1581]}},"wwdc2021-10170":{"id":"wwdc2021-10170","staticContentId":5075,"eventContentId":10170,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:36:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10170","languageCode":"eng","description":"TestFlight has come to Mac. Learn how you can manage builds and testers, collect feedback, and deploy your macOS app. Discover enhancements for internal testing and new features that integrate with Xcode Cloud to make testing even easier on all platforms.","title":"Meet TestFlight on Mac","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["apple silicon","beta testing","catalyst","m1"],"primaryTopicID":88,"topicIds":[86,90,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0DDBB230-C2EA-41C1-8675-1AAC9AE3E1D6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10170\/10\/D0F6CC7F-69AD-437E-AF5A-E9CFD983F131\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10170\/10\/D0F6CC7F-69AD-437E-AF5A-E9CFD983F131\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10170\/10\/D0F6CC7F-69AD-437E-AF5A-E9CFD983F131\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10170\/10\/D0F6CC7F-69AD-437E-AF5A-E9CFD983F131\/downloads\/wwdc2021-10170_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10170\/10\/D0F6CC7F-69AD-437E-AF5A-E9CFD983F131\/downloads\/wwdc2021-10170_sd.mp4","duration":630,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10056","wwdc2021-10204","wwdc2021-10268","wwdc2021-100402","wwdc2021-100404","wwdc2021-100406","wwdc2021-100408","wwdc2021-100427","wwdc2020-10651","tech-talks-110343"],"resources":[246]}},"wwdc2021-10158":{"id":"wwdc2021-10158","staticContentId":5060,"eventContentId":10158,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:43:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10158","languageCode":"eng","description":"Supporting low latency encoders has become an important aspect of video application development process. Discover how VideoToolbox supports low-delay H.264 hardware encoding to minimize end-to-end latency and achieve new levels of performance for optimal real-time communication and high-quality video playback.","title":"Explore low-latency video encoding with VideoToolbox","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["acceleration","avfoundation","coremedia","hardware","performance","video","videotoolbox"],"primaryTopicID":84,"topicIds":[95,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"09FC3C03-D62A-41D6-B307-EE10D764CC8D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10158\/4\/1A6010D5-5911-425C-96D0-DAA26DBE60C0\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10158\/4\/1A6010D5-5911-425C-96D0-DAA26DBE60C0\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10158\/4\/1A6010D5-5911-425C-96D0-DAA26DBE60C0\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10158\/4\/1A6010D5-5911-425C-96D0-DAA26DBE60C0\/downloads\/wwdc2021-10158_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10158\/4\/1A6010D5-5911-425C-96D0-DAA26DBE60C0\/downloads\/wwdc2021-10158_sd.mp4","duration":1197,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10146","wwdc2021-100434","wwdc2020-10009","wwdc2020-10015"],"resources":[1533]}},"wwdc2021-10031":{"id":"wwdc2021-10031","staticContentId":4919,"eventContentId":10031,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:47:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10031","languageCode":"eng","description":"Web Inspector provides the tools for you to understand and debug your web pages on macOS, iOS, and iPadOS. We\u2019ll take you through the latest features and improvements to Web Inspector, including a new overlay for inspecting CSS Grid containers on your pages, even more configurable breakpoints to make debugging simpler, and the ability to create and edit Audits.","title":"Discover Web Inspector improvements","originalPublishingDate":"2021-06-10T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["open source","safari","webkit"],"primaryTopicID":98,"topicIds":[90,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"81FB882F-1DA4-46F5-A088-53837F653587","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10031\/10\/44412231-AD6C-40B4-8253-43BC3EEBC768\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10031\/10\/44412231-AD6C-40B4-8253-43BC3EEBC768\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10031\/10\/44412231-AD6C-40B4-8253-43BC3EEBC768\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10031\/10\/44412231-AD6C-40B4-8253-43BC3EEBC768\/downloads\/wwdc2021-10031_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10031\/10\/44412231-AD6C-40B4-8253-43BC3EEBC768\/downloads\/wwdc2021-10031_sd.mp4","duration":1720,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10118","wwdc2023-10122","wwdc2023-10262","wwdc2021-10027","wwdc2021-10029","wwdc2021-10030","wwdc2021-10032","wwdc2021-10033","wwdc2021-10104","wwdc2021-10323","wwdc2021-100136","wwdc2021-100437","wwdc2021-100438","wwdc2021-100439","wwdc2020-10646","wwdc2019-513","wwdc2019-514"],"resources":[774,773,771,763]}},"wwdc2021-10141":{"id":"wwdc2021-10141","staticContentId":5043,"eventContentId":10141,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:59:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10141","languageCode":"eng","description":"Discover how you can use HLS playlist tags and the Steering Manifest format with your content to help dynamically update CDN redundancy policies tuned for each viewer. Learn how to load balance, set failover, and more.","title":"Improve global streaming availability with HLS Content Steering","originalPublishingDate":"2021-06-09T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["cdn","content steering","distribution","hls","redundancy"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5853E2BF-52A5-4BAE-8AA9-129F34A023D3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10141\/4\/E5EA0996-E08C-4259-B644-23C1F47B339A\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10141\/4\/E5EA0996-E08C-4259-B644-23C1F47B339A\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10141\/4\/E5EA0996-E08C-4259-B644-23C1F47B339A\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10141\/4\/E5EA0996-E08C-4259-B644-23C1F47B339A\/downloads\/wwdc2021-10141_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10141\/4\/E5EA0996-E08C-4259-B644-23C1F47B339A\/downloads\/wwdc2021-10141_sd.mp4","duration":782,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10144","wwdc2021-10498","wwdc2021-100240","wwdc2021-100248"],"resources":[1654,486]}},"wwdc2021-10290":{"id":"wwdc2021-10290","staticContentId":5229,"eventContentId":10290,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-07T12:53:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2021\/10290","languageCode":"eng","description":"Learn about enhancements to Picture in Picture and full screen improvements on macOS. Explore the new content source API, and learn how AVPictureInPictureController supports AVSampleBufferDisplayLayer, as well as recommended steps for an app to provide a seamless full screen experience on macOS or in a Mac Catalyst app.","title":"What's new in AVKit","originalPublishingDate":"2021-06-08T06:00:00-07:00","publishingExpiryDate":"2099-12-31T00:00:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["avkit","picture in picture","pip"],"primaryTopicID":84,"topicIds":[90,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4B31850D-25D5-434F-B69E-88ED2D65C65B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10290\/7\/3B2EE1D3-46DD-48DC-8B8A-FDF061067D68\/cmaf.m3u8","downloadHLS":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10290\/7\/3B2EE1D3-46DD-48DC-8B8A-FDF061067D68\/cmaf-download.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10290\/7\/3B2EE1D3-46DD-48DC-8B8A-FDF061067D68\/cmaf.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10290\/7\/3B2EE1D3-46DD-48DC-8B8A-FDF061067D68\/downloads\/wwdc2021-10290_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2021\/10290\/7\/3B2EE1D3-46DD-48DC-8B8A-FDF061067D68\/downloads\/wwdc2021-10290_sd.mp4","duration":485,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10146","wwdc2021-10191","wwdc2021-100306","wwdc2021-100429","wwdc2019-503"],"resources":[51]}},"wwdc2020-10635":{"id":"wwdc2020-10635","staticContentId":3387,"eventContentId":10635,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:38:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10635","languageCode":"eng","description":"CarPlay is the smarter, safer way for people to use iPhone in the car. We\u2019ll show you how to build great apps for the car screen, and introduce you to developing CarPlay apps in categories like EV charging, parking, and quick food ordering. We'll also share how existing audio and communication apps can take advantage of improvements to the CarPlay framework to create a more flexible UI.","title":"Accelerate your app with CarPlay","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["\ud83d\ude97","\ud83d\ude99","audio","car","communication","ev charging","navigation","parking","quick food ordering"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8B3ED7A0-9259-4038-8BDC-1E8E695A3F15","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10635\/8\/AE50DE64-E4A1-44A8-84A7-05B91F3FE006\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10635\/8\/AE50DE64-E4A1-44A8-84A7-05B91F3FE006\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10635\/8\/AE50DE64-E4A1-44A8-84A7-05B91F3FE006\/wwdc2020_10635_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10635\/8\/AE50DE64-E4A1-44A8-84A7-05B91F3FE006\/wwdc2020_10635_sd.mp4","duration":1579,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10016","wwdc2021-100266","wwdc2020-10692","wwdc2020-10775","wwdc2020-10777","wwdc2019-207","wwdc2018-213"],"resources":[509,15]}},"wwdc2020-10603":{"id":"wwdc2020-10603","staticContentId":3415,"eventContentId":10603,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10603","languageCode":"eng","description":"GPU counters can help you precisely measure GPU utilization to pinpoint bottlenecks and optimize workloads for your Metal apps and games. We\u2019ll walk you through the tools available in the Metal System Trace instrument and Metal Debugger in Xcode 12 to profile your graphics workload, and show you how to use collected data to discover underused and overworked stages of your GPU pipeline. Discover how you can act on that data to improve your app's capabilities.\n\nTo get the most out of the session, you should understand the tile-based deferred rendering architecture of Apple GPUs and familiarize yourself with our recommended best practices for performance optimization. For a primer, check out \u201cDelivering optimized Metal apps and games\u201d and \u201cHarness Apple GPUs with Metal.\u201d\n\nOnce you\u2019ve learned how to act on GPU counter data to optimize your Metal apps, see how you can use those skills to \"Bring your Metal app to Apple silicon Macs\" and \"Optimize Metal Performance for Apple silicon Macs\".","title":"Optimize Metal apps and games with GPU counters","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":88,"topicIds":[91,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A9EC093C-3609-4394-BC21-B73EAA1A8A18","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10603\/10\/54C8A5DF-3A48-4879-8368-234E2AF76D3E\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10603\/10\/54C8A5DF-3A48-4879-8368-234E2AF76D3E\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10603\/10\/54C8A5DF-3A48-4879-8368-234E2AF76D3E\/wwdc2020_10603_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10603\/10\/54C8A5DF-3A48-4879-8368-234E2AF76D3E\/wwdc2020_10603_sd.mp4","duration":1970,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10100","wwdc2021-10148","wwdc2021-10157","wwdc2020-10602","wwdc2020-10605","wwdc2020-10631","wwdc2020-10632","wwdc2020-10810","wwdc2020-10811","wwdc2020-10812","wwdc2020-10813","wwdc2020-10814","wwdc2020-10815","wwdc2020-10816","wwdc2020-10817","wwdc2019-606","wwdc2018-608"]}},"wwdc2020-10222":{"id":"wwdc2020-10222","staticContentId":3683,"eventContentId":10222,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10222","languageCode":"eng","description":"Build enterprise apps for your employees to help them solve problems and streamline everyday tasks. See how to build custom apps designed for your workforce. Learn how to identify great mobile use cases, have your employees drive the design process, use key Apple frameworks, and rapidly iterate with Xcode.","title":"Create custom apps for employees","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["enterprise","interview","iterations","iterative"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D341F7FF-5AA5-409A-BCCB-9221FE9C04E6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10222\/7\/8EB4D4CB-2C1F-43E4-B544-53CC7495139A\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10222\/7\/8EB4D4CB-2C1F-43E4-B544-53CC7495139A\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10222\/7\/8EB4D4CB-2C1F-43E4-B544-53CC7495139A\/wwdc2020_10222_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10222\/7\/8EB4D4CB-2C1F-43E4-B544-53CC7495139A\/wwdc2020_10222_sd.mp4","duration":890,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10638"]}},"wwdc2020-10107":{"id":"wwdc2020-10107","staticContentId":3525,"eventContentId":10107,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10107","languageCode":"eng","description":"PencilKit helps power creativity, writing, drawing, and animation in your iPad apps. Explore the latest improvements to our drawing and annotation framework, and discover how you can take advantage of APIs like PKToolPicker, PKCanvasView, and PKStroke to support new features in illustration and writing apps. \n\nTo get the most out of this session, you should have a basic understanding of PencilKit. If you want to a refresher, \u201cIntroduction to PencilKit\u201d from WWDC19 is a great place to start.","title":"What's new in PencilKit","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["color","engine","handwriting","palette","pallette","pencil","pencilkit","pkstrokes","scribble","strokes"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"085F6BEA-F6CA-41C9-98F3-4CB7996219C2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10107\/4\/91342955-14B4-436D-AE84-4FAA3BCC547F\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10107\/4\/91342955-14B4-436D-AE84-4FAA3BCC547F\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10107\/4\/91342955-14B4-436D-AE84-4FAA3BCC547F\/wwdc2020_10107_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10107\/4\/91342955-14B4-436D-AE84-4FAA3BCC547F\/wwdc2020_10107_sd.mp4","duration":626,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10059","wwdc2020-10052","wwdc2020-10148","wwdc2019-221"],"resources":[534]}},"wwdc2020-10139":{"id":"wwdc2020-10139","staticContentId":3685,"eventContentId":10139,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10139","languageCode":"eng","description":"Empower your organization with the right tools while protecting privacy and security. Discover Apple\u2019s identity management tools for enterprise, and how they can help you create a smoother experience for users when signing in to devices, apps and websites. We\u2019ll show you how to take advantage of Federated Authentication and Single Sign-on extensions, including changes to Apple\u2019s built-in Kerberos extension. And explore our other platform tools for enterprise users, including macOS account types and Shared iPad for Business.","title":"Leverage enterprise identity and authentication","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["authentication","enterprise","kerberos","mdm","sso","vpn"],"primaryTopicID":89,"topicIds":[86,89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D808BFD6-035A-4A77-AD14-AC0CB35C9983","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10139\/5\/EE9B8782-2114-4EDC-A2CF-C26D03BB5E54\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10139\/5\/EE9B8782-2114-4EDC-A2CF-C26D03BB5E54\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10139\/5\/EE9B8782-2114-4EDC-A2CF-C26D03BB5E54\/wwdc2020_10139_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10139\/5\/EE9B8782-2114-4EDC-A2CF-C26D03BB5E54\/wwdc2020_10139_sd.mp4","duration":2106,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10223","wwdc2020-10638","wwdc2020-10639","wwdc2020-10754","wwdc2020-10844","tech-talks-301","tech-talks-10870","tech-talks-10891"],"resources":[796,584,426,330,329]}},"wwdc2020-101":{"id":"wwdc2020-101","staticContentId":3921,"eventContentId":101,"eventId":"wwdc2020","contentUpdatedAt":"2025-07-09T09:10:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/101","languageCode":"eng","description":"The Apple Worldwide Developers Conference kicks off with exciting reveals, inspiration, and new opportunities to continue creating the most innovative apps in the world. Join the worldwide developer community for an in-depth look at the future of Apple platforms, directly from Apple Park.","title":"Keynote","startTime":"2020-06-22T10:00:00-07:00","endTime":"2020-06-22T12:00:00-07:00","originalPublishingDate":"2020-06-22T10:00:00-07:00","publishingExpiryDate":"2099-06-07T23:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"A317A717-89E8-4D7B-908F-EA6F281DE1C7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/p-events-delivery.akamaized.net\/2605bdtgclbnfypwzfkzdsupvcyzhhbx\/m3u8\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/p-events-delivery.akamaized.net\/2605bdtgclbnfypwzfkzdsupvcyzhhbx\/m3u8\/hls_vod_mvp.m3u8","duration":6531,"availableSubtitleLanguageCodes":["en","es","ja","ko","ru","zh"]},"related":{"activities":["wwdc2020-10691"]}},"wwdc2020-10096":{"id":"wwdc2020-10096","staticContentId":3488,"eventContentId":10096,"eventId":"wwdc2020","contentUpdatedAt":"2025-09-26T10:41:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10096","languageCode":"eng","description":"Xcode Playgrounds helps developers explore Swift and framework APIs and provides a scratchpad for rapid experimentation. Learn how Xcode Playgrounds utilizes Xcode's modern build system, provides improved support for resources, and integrates into your projects, frameworks, and Swift packages to improve your documentation and development workflow.","title":"Explore Packages and Projects with Xcode Playgrounds","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["documentation","playgrounds","resources","swift packages","xcode","xcode playgrounds"],"primaryTopicID":88,"topicIds":[99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DE10E1A8-02DD-4A35-BDE3-3E4777ED4D66","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10096\/4\/9D01022D-66DF-4B16-B5B6-B01F57252226\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10096\/4\/9D01022D-66DF-4B16-B5B6-B01F57252226\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10096\/4\/9D01022D-66DF-4B16-B5B6-B01F57252226\/wwdc2020_10096_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10096\/3\/E26BE90C-7F33-4ADB-9939-505758D60858\/wwdc2020_10096_sd.mp4","duration":891,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10250","wwdc2020-10169","wwdc2019-424"],"resources":[884]}},"wwdc2020-10167":{"id":"wwdc2020-10167","staticContentId":3866,"eventContentId":10167,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10167","languageCode":"eng","description":"Come with us as we delve into unsafe pointer types in Swift. Discover the requirements for each type and how to use it correctly. We\u2019ll discuss typed pointers, drop down to raw pointers, and finally circumvent pointer type safety entirely by binding memory.\n\nThis session is a follow-up to \"Unsafe Swift\" from WWDC20. To get the most out of it, you should be familiar with Swift and the C programming language.","title":"Safely manage pointers in Swift","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DD8F1AA0-3546-4DE5-8E96-E60536836FDF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10167\/3\/5A7F9994-6332-4CE6-8132-10C43C01827B\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10167\/3\/5A7F9994-6332-4CE6-8132-10C43C01827B\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10167\/3\/5A7F9994-6332-4CE6-8132-10C43C01827B\/wwdc2020_10167_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10167\/3\/5A7F9994-6332-4CE6-8132-10C43C01827B\/wwdc2020_10167_sd.mp4","duration":1651,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10648"],"resources":[782]}},"wwdc2020-10667":{"id":"wwdc2020-10667","staticContentId":3532,"eventContentId":10667,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10667","languageCode":"eng","description":"Apple Business Manager is the best way to manage and deploy business apps to your employees and customers. Whether you're a developer, business owner, or IT administrator, we'll showcase the benefits of Custom apps for each role and provide guidance on each step in the process \u2014 from app creation to distribution.","title":"Custom app distribution with Apple Business Manager","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["education","enterprise","in-house","internal","vpp"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8C475BAE-23EF-4671-9863-5C51E1FF38B3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10667\/2\/745F75A7-CDE9-438F-BB2C-EE1BF3E56CC7\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10667\/2\/745F75A7-CDE9-438F-BB2C-EE1BF3E56CC7\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10667\/2\/745F75A7-CDE9-438F-BB2C-EE1BF3E56CC7\/wwdc2020_10667_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10667\/2\/745F75A7-CDE9-438F-BB2C-EE1BF3E56CC7\/wwdc2020_10667_sd.mp4","duration":1261,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10223","wwdc2020-10638","wwdc2020-10754","wwdc2020-10844","wwdc2019-304","tech-talks-10892"],"resources":[653,410,330,329,309]}},"wwdc2020-10661":{"id":"wwdc2020-10661","staticContentId":3396,"eventContentId":10661,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10661","languageCode":"eng","description":"Create a great in-app purchase experience for your iPhone, iPad, Mac, and Apple Watch apps. Discover how to handle refunds, integrate new App Store server notifications, and find out how to use receipts and server notifications to manage subscriber status. We\u2019ll also walk you through the latest updates in StoreKit, including in-app purchases on Apple Watch, Family Sharing, SKOverlay, SKAdNetwork, and more.","title":"What\u2019s new with in-app purchase","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["notifications","receipt","server","storekit","subscription","subscription business model"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A13BF60A-AAA3-43CB-B315-DBDD8739E228","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10661\/8\/F8CB79D2-B53B-4C5A-A3B2-E298F3ABEE9A\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10661\/8\/F8CB79D2-B53B-4C5A-A3B2-E298F3ABEE9A\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10661\/8\/F8CB79D2-B53B-4C5A-A3B2-E298F3ABEE9A\/wwdc2020_10661_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10661\/8\/F8CB79D2-B53B-4C5A-A3B2-E298F3ABEE9A\/wwdc2020_10661_sd.mp4","duration":2753,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10114","wwdc2021-10174","wwdc2021-10175","wwdc2020-10120","wwdc2020-10659","wwdc2020-10671","wwdc2020-10676","wwdc2020-10756","wwdc2020-10840","wwdc2020-10841","wwdc2020-10842","wwdc2019-302","wwdc2019-305","tech-talks-110345"],"resources":[807,798,797,791,790,494,492,491,448,309,53]}},"wwdc2020-10140":{"id":"wwdc2020-10140","staticContentId":3686,"eventContentId":10140,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10140","languageCode":"eng","description":"Develop location-aware enterprise apps for your business and personalize your employee\u2019s everyday experience. Learn how Apple built the Caffe Macs app for its on-campus cafeterias using iBeacons and Location Services and how you can apply these tools and frameworks to your own apps, while preserving employee privacy. From there, discover how you can use localization to deliver a great experience for your international employees.","title":"Build location-aware enterprise apps","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["core location","enterprise","ibeacon","internationalization","localization"],"primaryTopicID":89,"topicIds":[82,93,89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"059D5361-564E-49BC-995C-B2EB6565A3D1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10140\/5\/C86424DC-C2CF-464A-BDCE-35C9B4476E4B\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10140\/5\/C86424DC-C2CF-464A-BDCE-35C9B4476E4B\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10140\/5\/C86424DC-C2CF-464A-BDCE-35C9B4476E4B\/wwdc2020_10140_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10140\/5\/C86424DC-C2CF-464A-BDCE-35C9B4476E4B\/wwdc2020_10140_sd.mp4","duration":856,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10160","wwdc2020-10162","wwdc2020-10219","wwdc2020-10638","wwdc2020-10660","wwdc2019-403","wwdc2019-705","wwdc2018-404"]}},"wwdc2020-10668":{"id":"wwdc2020-10668","staticContentId":3558,"eventContentId":10668,"eventId":"wwdc2020","contentUpdatedAt":"2026-01-09T06:47:30-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10668","languageCode":"eng","description":"The Nearby Interaction framework streams distance and direction between opted-in Apple devices containing the U1 chip. Discover how this powerful combination of hardware and software allow you to create intuitive spatial interactions based on the relative position of two or more devices. We'll walk you through this session-based API and show you how to deliver entirely new interactive experiences \u2014 all with privacy in mind.","title":"Meet Nearby Interaction","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["interactive","proximity","sharing"],"primaryTopicID":93,"topicIds":[93],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E6812719-14BF-4392-84FC-E1CFC1650B71","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10668\/6\/69354ABA-CE3E-4420-A19A-DBF26B4788ED\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10668\/6\/69354ABA-CE3E-4420-A19A-DBF26B4788ED\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10668\/6\/69354ABA-CE3E-4420-A19A-DBF26B4788ED\/wwdc2020_10668_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10668\/6\/69354ABA-CE3E-4420-A19A-DBF26B4788ED\/wwdc2020_10668_sd.mp4","duration":932,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10008","wwdc2021-10165","wwdc2021-10245","wwdc2020-10660","wwdc2020-10676","wwdc2020-10760","wwdc2020-10849"],"resources":[776,775]}},"wwdc2020-10614":{"id":"wwdc2020-10614","staticContentId":3411,"eventContentId":10614,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10614","languageCode":"eng","description":"Let\u2019s rumble! Discover how you can bring third-party game controllers and custom haptics into your games on iPhone, iPad, Mac, and Apple TV. We\u2019ll show you how to add support for the latest controllers \u2014 including Xbox\u2019s Elite Wireless Controller Series 2 and Adaptive Controller \u2014 and map your game\u2019s controls accordingly. Learn how you can use the Game Controller framework in tandem with Core Haptics to enable rumble feedback. And find out how you can take your gaming experience to the next level with custom button mapping, nonstandard inputs, and control over specialty features like motion sensors, lights, and battery level.\n\nTo get the most out of this session, you should be familiar with the Game Controller framework. Check the documentation link for a primer.\n\nAnd if you build games for iPad, be sure to check out \"Bring keyboard and mouse gaming to iPad\u201d for a guide on integrating keyboard, mouse, and trackpad inputs into your experience.","title":"Advancements in Game Controllers","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[101,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D1996E59-84B5-4E6D-9E50-0C3C51B91B8E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10614\/4\/E368D3E8-DCFB-445D-9ADC-E97C82AEE886\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10614\/4\/E368D3E8-DCFB-445D-9ADC-E97C82AEE886\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10614\/4\/E368D3E8-DCFB-445D-9ADC-E97C82AEE886\/wwdc2020_10614_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10614\/4\/E368D3E8-DCFB-445D-9ADC-E97C82AEE886\/wwdc2020_10614_sd.mp4","duration":1499,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10094","wwdc2023-10123","wwdc2022-10065","tech-talks-21-10028","tech-talks-21-10029","tech-talks-21-10030","tech-talks-21-10034","wwdc2021-10056","wwdc2021-10081","wwdc2021-100313","wwdc2021-100314","wwdc2020-10145","wwdc2020-10617","wwdc2020-10808","wwdc2020-10809","wwdc2019-223","wwdc2019-616"],"resources":[883,758]}},"wwdc2020-10660":{"id":"wwdc2020-10660","staticContentId":3353,"eventContentId":10660,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10660","languageCode":"eng","description":"Location technologies are core to delivering context-based services within your app. Discover how the latest privacy controls in Core Location add a whole new dimension to determining position and what that means for your app. We\u2019ll walk you through best practices for implementing these latest location updates and show you how they\u2019re designed to ensure more people get an experience they\u2019re going to love.","title":"What's new in location","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["geocode","geofence","geofencing","ibeacon","indoor positioning","privacy","visit monitoring"],"primaryTopicID":93,"topicIds":[96,93],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"649B0A0C-5033-4E33-A0FB-A83ECD451845","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10660\/4\/3543DAE5-0D4D-4795-B215-972E16B50056\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10660\/4\/3543DAE5-0D4D-4795-B215-972E16B50056\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10660\/4\/3543DAE5-0D4D-4795-B215-972E16B50056\/wwdc2020_10660_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10660\/4\/3543DAE5-0D4D-4795-B215-972E16B50056\/wwdc2020_10660_sd.mp4","duration":1594,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10102","wwdc2020-10028","wwdc2020-10140","wwdc2020-10162","wwdc2020-10174","wwdc2020-10668","wwdc2020-10676","wwdc2020-10759","wwdc2020-10760","wwdc2020-10761","wwdc2020-10848","wwdc2020-10849","wwdc2020-10887","wwdc2015-714"],"resources":[99]}},"wwdc2020-10615":{"id":"wwdc2020-10615","staticContentId":3678,"eventContentId":10615,"eventId":"wwdc2020","contentUpdatedAt":"2025-09-09T12:10:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10615","languageCode":"eng","description":"Power up your shader pipeline with enhancements to the Metal shader compilation model \u2014 all leading to a dramatic reduction in Pipeline State Object (PSO) loading time, especially upon first launch. Learn about explicit PSO caching and sharing of GPU binaries using Metal binary archives and dynamic libraries. And we\u2019ll detail the toolchain to create libraries and improve your shader compilation workflow.","title":"Build GPU binaries with Metal","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[88,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"704BC5E9-9037-4AEB-B6D6-A34893DA577F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10615\/4\/E619263D-7298-4BD0-B998-1954AF02BEB2\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10615\/4\/E619263D-7298-4BD0-B998-1954AF02BEB2\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10615\/4\/E619263D-7298-4BD0-B998-1954AF02BEB2\/wwdc2020_10615_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10615\/4\/E619263D-7298-4BD0-B998-1954AF02BEB2\/wwdc2020_10615_sd.mp4","duration":2176,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10124","wwdc2022-10102","wwdc2021-10229","wwdc2020-10616","wwdc2020-10631","wwdc2020-10632","wwdc2020-10810","wwdc2020-10811","wwdc2020-10812","wwdc2020-10813","wwdc2020-10814","wwdc2020-10815","wwdc2020-10816","wwdc2020-10817"],"resources":[888,741,38]}},"wwdc2020-10158":{"id":"wwdc2020-10158","staticContentId":3679,"eventContentId":10158,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10158","languageCode":"eng","description":"Discover techniques for streaming high-quality audio to bandwidth-limited networks and new audio codec support. We\u2019ll share some best practices for supporting the xHE-AAC, FLAC, and Apple Lossless Audio audio codecs, including limited support for multichannel AAC.","title":"Deliver a better HLS audio experience","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"47D87D9E-2103-43AE-8887-0E9FF72DB2DF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10158\/5\/1244B634-C720-4325-A806-A201BFDF5E51\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10158\/5\/1244B634-C720-4325-A806-A201BFDF5E51\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10158\/5\/1244B634-C720-4325-A806-A201BFDF5E51\/wwdc2020_10158_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10158\/5\/1244B634-C720-4325-A806-A201BFDF5E51\/wwdc2020_10158_sd.mp4","duration":1197,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10225","wwdc2020-10230","wwdc2020-10636","wwdc2020-10847","wwdc2020-10851"],"resources":[175]}},"wwdc2020-10653":{"id":"wwdc2020-10653","staticContentId":3442,"eventContentId":10653,"eventId":"wwdc2020","contentUpdatedAt":"2026-02-16T10:56:02-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10653","languageCode":"eng","description":"Explore how the Vision framework can help your app detect body and hand poses in photos and video. With pose detection, your app can analyze the poses, movements, and gestures of people to offer new video editing possibilities, or to perform action classification when paired with an action classifier built in Create ML. And we\u2019ll show you how you can bring gesture recognition into your app through hand pose, delivering a whole new form of interaction.\n\nTo understand more about how you might apply body pose for Action Classification, be sure to also watch the \"Build an Action Classifier with Create ML\" and \"Explore the Action & Vision app\" sessions. And to learn more about other great features in Vision, check out the \"Explore Computer Vision APIs\" session.","title":"Detect Body and Hand Pose with Vision","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["action classification","action classifier","bean bag toss","body pose","camera","cornhole","gesture","hand pose","machine learning","photo","pose estimation","ui control","video","vision"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D91E66EF-C8B9-42DE-A89A-E24B5E9A57BD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10653\/8\/E739CC44-25A9-46B9-8E40-1788530C5785\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10653\/8\/E739CC44-25A9-46B9-8E40-1788530C5785\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10653\/8\/E739CC44-25A9-46B9-8E40-1788530C5785\/wwdc2020_10653_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10653\/8\/E739CC44-25A9-46B9-8E40-1788530C5785\/wwdc2020_10653_sd.mp4","duration":1461,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10304","wwdc2023-111241","wwdc2021-10039","wwdc2021-10040","wwdc2020-10043","wwdc2020-10099","wwdc2020-10673","wwdc2020-10692","wwdc2020-10711","wwdc2020-10717","wwdc2020-10718","wwdc2020-10719"],"resources":[902,134]}},"wwdc2020-10639":{"id":"wwdc2020-10639","staticContentId":3447,"eventContentId":10639,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10639","languageCode":"eng","description":"We've made significant strides in bringing crucial device management features to macOS. Discover how these features can help you manage your all your devices using the same tools and technologies. Get details on changes coming this year and how they will impact your deployment workflows, as well as some new management capabilities you can use to secure iOS and iPadOS devices in your organization.","title":"What's new in managing Apple devices","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["configuration","configurator","distribution","enterprise","management","mdm","privacy","security"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"93E2DFB5-1BB9-4DC1-A12B-E27C70DF6015","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10639\/6\/CA966211-6AC2-4D0B-B067-5B260747CD5F\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10639\/6\/CA966211-6AC2-4D0B-B067-5B260747CD5F\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10639\/6\/CA966211-6AC2-4D0B-B067-5B260747CD5F\/wwdc2020_10639_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10639\/6\/CA966211-6AC2-4D0B-B067-5B260747CD5F\/wwdc2020_10639_sd.mp4","duration":1418,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10138","wwdc2020-10139","wwdc2020-10223","wwdc2020-10638","wwdc2020-10754","wwdc2020-10844"],"resources":[586,581,136]}},"wwdc2020-10151":{"id":"wwdc2020-10151","staticContentId":3408,"eventContentId":10151,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10151","languageCode":"eng","description":"Build feature-rich research and care apps with CareKit: Learn about the latest advancements to our health framework, including new views for its modular architecture, improvements to the data store, and tighter integration with other frameworks on iOS. And discover how the open-source community continues to leverage CareKit to allow developers to push the boundaries of digital health&nbsp;\u2014&nbsp;all while preserving privacy.","title":"What's new in CareKit","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["care","care plan","client server","healthkit","health monitoring","hyperprotect","open source","synchronize"],"primaryTopicID":92,"topicIds":[92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"196C46B0-DF68-4947-B211-4FEECE415A6E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10151\/2\/2DBFC733-6021-45DC-9030-8F0FECFBE409\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10151\/2\/2DBFC733-6021-45DC-9030-8F0FECFBE409\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10151\/2\/2DBFC733-6021-45DC-9030-8F0FECFBE409\/wwdc2020_10151_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10151\/2\/2DBFC733-6021-45DC-9030-8F0FECFBE409\/wwdc2020_10151_sd.mp4","duration":2137,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10216","wwdc2020-10656","wwdc2020-10664","wwdc2020-10669","wwdc2020-10693","wwdc2020-10757"],"resources":[745,233]}},"wwdc2020-10160":{"id":"wwdc2020-10160","staticContentId":3817,"eventContentId":10160,"eventId":"wwdc2020","contentUpdatedAt":"2026-02-23T12:06:59-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10160","languageCode":"eng","description":"Save yourself time and frustration: When you display data in your app \u2014 including dates, times, measurements, names, lists, numbers, or strings \u2014 learn how to format it correctly and provide a great experience. We'll walk you through the Formatter APIs as well as how SwiftUI works with stringsdict, and show you how they can help do the heavy lifting of formatting data. Learn about best practices and how to avoid common mistakes.","title":"Formatters: Make data human-friendly","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["internationalization","localization","nsformatter"],"primaryTopicID":82,"topicIds":[82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1C13078F-93B5-4312-996D-148D5E99EDF3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10160\/4\/CC254390-2967-444F-B9EA-01A5DE7E8D39\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10160\/4\/CC254390-2967-444F-B9EA-01A5DE7E8D39\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10160\/4\/CC254390-2967-444F-B9EA-01A5DE7E8D39\/wwdc2020_10160_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10160\/4\/CC254390-2967-444F-B9EA-01A5DE7E8D39\/wwdc2020_10160_sd.mp4","duration":918,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10110","wwdc2021-10221","wwdc2020-10140","wwdc2020-10638","wwdc2020-10782","wwdc2020-10784"],"resources":[1353,1352,1351,874]}},"wwdc2020-10046":{"id":"wwdc2020-10046","staticContentId":3376,"eventContentId":10046,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10046","languageCode":"eng","description":"When you add complications to a Watch app, people can access glanceable and up to date information directly from their watch face. We\u2019ll show you how to create and build complications from the ground up and introduce you to Multiple Complications. Learn how to construct timelines, use families and templates, and discover best practices on crafting a thorough complication experience.","title":"Create complications for Apple Watch","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["watchOS"],"keywords":["\ud83d\udc0b","\ud83d\udc33","\u231a\ufe0f","clockkit","watchkit","watchos"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"17B4F559-2241-46D4-899A-227CB0BEC6F9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10046\/4\/F29A4217-89E7-4D20-A3CE-3764F44B16D8\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10046\/4\/F29A4217-89E7-4D20-A3CE-3764F44B16D8\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10046\/4\/F29A4217-89E7-4D20-A3CE-3764F44B16D8\/wwdc2020_10046_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10046\/4\/F29A4217-89E7-4D20-A3CE-3764F44B16D8\/wwdc2020_10046_sd.mp4","duration":1208,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10048","wwdc2020-10049","wwdc2020-10100","wwdc2020-10769","wwdc2020-10770","wwdc2020-10771","wwdc2020-10772"],"resources":[882,5]}},"wwdc2020-10087":{"id":"wwdc2020-10087","staticContentId":3696,"eventContentId":10087,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10087","languageCode":"eng","description":"The building blocks of the intelligent system are simple: Define, learn, execute. Discover how you can use intents to define your app's key features, create donations to help the system learn and make predictions about the future, and implement extensibility to ensure your app is ready to execute at just the right moment. Learn from teams at Apple about how their technologies use intents and donations in different ways, all for the same goal: to make the everyday easier.","title":"Design for intelligence: Make friends with \"The System\"","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["donations","intelligence","intelligence system experience","intents","intentsui","shortcuts","shortcuts app","siri","sirikit","siri suggestions","suggestions","system intelligence","widgetkit","widgets"],"primaryTopicID":87,"topicIds":[83,86,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0E84AB20-E82F-4E9B-A03F-43F9A261DBAF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10087\/5\/A416CA8C-0A29-45DD-9601-7245BE116636\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10087\/5\/A416CA8C-0A29-45DD-9601-7245BE116636\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10087\/5\/A416CA8C-0A29-45DD-9601-7245BE116636\/wwdc2020_10087_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10087\/5\/A416CA8C-0A29-45DD-9601-7245BE116636\/wwdc2020_10087_sd.mp4","duration":1176,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10060","wwdc2020-10061","wwdc2020-10068","wwdc2020-10069","wwdc2020-10071","wwdc2020-10080","wwdc2020-10086","wwdc2020-10088","wwdc2020-10190","wwdc2020-10194","wwdc2020-10197","wwdc2020-10200","wwdc2020-10839","wwdc2020-10877","wwdc2020-10878","wwdc2020-10879","wwdc2020-10914","wwdc2020-10917","wwdc2020-10918","wwdc2020-10963","wwdc2020-10980"]}},"wwdc2020-10204":{"id":"wwdc2020-10204","staticContentId":3871,"eventContentId":10204,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10204","languageCode":"eng","description":"Discover how organizations like Box are adapting to changing conditions in the business world and remote work. Listen to Apple\u2019s Vice President of Cloud Services Mike Abbott and Box CEO and co-founder Aaron Levie chat about the modern working environment, how cloud-based apps are helping people transition to collaborating remotely, and techniques that enterprise developers can use to help their organization innovate in challenging situations.","title":"Create great enterprise apps: A chat with Box's Aaron Levie","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["architecture","cloud","enterprise"],"primaryTopicID":89,"topicIds":[101,89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"001C3A7E-0C96-4D6F-939E-356EB50FD552","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10204\/3\/4851FA64-34F3-4E4F-AFA0-D60383DD9E2D\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10204\/3\/4851FA64-34F3-4E4F-AFA0-D60383DD9E2D\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10204\/3\/4851FA64-34F3-4E4F-AFA0-D60383DD9E2D\/wwdc2020_10204_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10204\/3\/4851FA64-34F3-4E4F-AFA0-D60383DD9E2D\/wwdc2020_10204_sd.mp4","duration":1287,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10638"]}},"wwdc2020-10175":{"id":"wwdc2020-10175","staticContentId":3823,"eventContentId":10175,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10175","languageCode":"eng","description":"Learn how to achieve exceptional typography in your app\u2019s user interface that enhances legibility, accessibility, and consistency across Apple platforms. Get up to speed on the latest advancements to the San Francisco font family including the move to variable fonts for accommodating optical sizes and weights. We\u2019ll also share tips about how to get the most out of systems fonts, support dynamic type with custom fonts.\n\nFor a refresher on the principles behind the San Francisco font family, catch up on \u201cIntroducing the New System Fonts\u201d from WWDC15.","title":"The details of UI typography","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EA12E035-968D-4B74-AC8D-26CFD8F365A7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10175\/3\/250D121A-0E77-44A1-AF27-373B9AF669EA\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10175\/3\/250D121A-0E77-44A1-AF27-373B9AF669EA\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10175\/3\/250D121A-0E77-44A1-AF27-373B9AF669EA\/wwdc2020_10175_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10175\/3\/250D121A-0E77-44A1-AF27-373B9AF669EA\/wwdc2020_10175_sd.mp4","duration":1833,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110381","wwdc2020-10041","wwdc2020-10207","wwdc2019-206","wwdc2019-2320"],"resources":[3668,189]}},"wwdc2020-10100":{"id":"wwdc2020-10100","staticContentId":3380,"eventContentId":10100,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10100","languageCode":"eng","description":"Show off your watchOS app\u2019s complications and create a watch face worth sharing. Learn how to share watch faces inside your watchOS and iOS apps or host them on the web for anyone to find and download. We\u2019ll also explore best practices for using watch face preview images, and show you how to create a smooth installation experience.","title":"Meet Watch Face Sharing","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["watchOS"],"keywords":["\u231a\ufe0f","\u2615\ufe0f","clockkit","complications","watchkit","watchos"],"primaryTopicID":100,"topicIds":[98,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"993C3273-F3D7-4377-A8BA-1F80BB88B277","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10100\/2\/880A8C5B-FB7B-456E-951B-5D13415E1B70\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10100\/2\/880A8C5B-FB7B-456E-951B-5D13415E1B70\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10100\/2\/880A8C5B-FB7B-456E-951B-5D13415E1B70\/wwdc2020_10100_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10100\/2\/880A8C5B-FB7B-456E-951B-5D13415E1B70\/wwdc2020_10100_sd.mp4","duration":865,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10046","wwdc2020-10048","wwdc2020-10049","wwdc2020-10693","wwdc2020-10694","wwdc2020-10769","wwdc2020-10770","wwdc2020-20007"],"resources":[1406,1405,430]}},"wwdc2020-10672":{"id":"wwdc2020-10672","staticContentId":3403,"eventContentId":10672,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10672","languageCode":"eng","description":"The ClassKit framework helps you surface educational activities within your app to teachers through the Schoolwork app. Discover how to provide a richer assignment experience for students and teachers through enhanced metadata properties and progress reporting. We\u2019ll also show you how the new ClassKit Catalog APIs decouple management of your content from that of your app and improve overall discoverability.","title":"What's new in ClassKit","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["classroom","education","educators","school","testing"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"802506CE-FCD0-42A0-AAFE-3484F7164951","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10672\/4\/F7DFFF2A-0E82-4B7F-BE8A-7C92F5A2E21C\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10672\/4\/F7DFFF2A-0E82-4B7F-BE8A-7C92F5A2E21C\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10672\/4\/F7DFFF2A-0E82-4B7F-BE8A-7C92F5A2E21C\/wwdc2020_10672_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10672\/4\/F7DFFF2A-0E82-4B7F-BE8A-7C92F5A2E21C\/wwdc2020_10672_sd.mp4","duration":1488,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10658","wwdc2020-10753"],"resources":[385]}},"wwdc2020-10061":{"id":"wwdc2020-10061","staticContentId":3515,"eventContentId":10061,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10061","languageCode":"eng","description":"Discover how you can enable Siri summoning for your music or audio app using SiriKit Media Intents. We\u2019ll walk you through how to add Siri support to your music, podcast, or other audio service on more of our platforms, including HomePod and Apple TV, so people can start listening by just asking Siri. And learn about new APIs that let you support alternative results, helping people listen more quickly without leaving the Siri interface.","title":"Expand your SiriKit Media Intents to more platforms","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","tvOS","watchOS"],"keywords":["audio","audiobooks","conversational interaction","design","intents","intentsui","media","music","podcasts","siri","sirikit","sirikit media intents","siri remote","voice"],"primaryTopicID":84,"topicIds":[83,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3DCF86B3-EDC0-4B83-BD7B-3D0485EEB9ED","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10061\/7\/0C05700A-690E-443C-9984-6792A466E6CA\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10061\/7\/0C05700A-690E-443C-9984-6792A466E6CA\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10061\/7\/0C05700A-690E-443C-9984-6792A466E6CA\/wwdc2020_10061_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10061\/7\/0C05700A-690E-443C-9984-6792A466E6CA\/wwdc2020_10061_sd.mp4","duration":686,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10060","wwdc2020-10068","wwdc2020-10069","wwdc2020-10071","wwdc2020-10073","wwdc2020-10074","wwdc2020-10080","wwdc2020-10083","wwdc2020-10084","wwdc2020-10086","wwdc2020-10087","wwdc2020-10088","wwdc2020-10190","wwdc2020-10200","wwdc2020-10203","wwdc2020-10694","wwdc2020-10914","wwdc2020-10963","tech-talks-10854"],"resources":[1350,893,549]}},"wwdc2020-10043":{"id":"wwdc2020-10043","staticContentId":3438,"eventContentId":10043,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:38:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10043","languageCode":"eng","description":"Discover how to build Action Classification models in Create ML. With a custom action classifier, your app can recognize and understand body movements in real-time from videos or through a camera. We\u2019ll show you how to use samples to easily train a Core ML model to identify human actions like jumping jacks, squats, and dance moves. Learn how this is powered by the Body Pose estimation features of the Vision Framework. Get inspired to create apps that can provide coaching for fitness routines, deliver feedback on athletic form, and more.\n\nTo get the most out of this session, you should be familiar with Create ML. For an overview, watch \u201cIntroducing the Create ML app.\u201d You can also brush up on differences between Action Classification and sensor-based Activity Classification by watching \u201cBuilding Activity Classification Models in Create ML.\u201d\n\nTo learn more about the powerful technology that enables Action Classification features, be sure to check out \u201cDetect Body and Hand Pose with Vision.\u201d And you can see how we combined this classification capability together with other technologies to create our own sample application in \u201cExplore the Action & Vision App.\u201d","title":"Build an Action Classifier with Create ML","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["action classification","action classifier","activity classification","ai","body pose","core ml","create ml","fitness","machine learning"],"primaryTopicID":94,"topicIds":[88,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E8B0CBAA-F7CA-4161-A71A-B9EBD23F825E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10043\/3\/D1F0FA14-5265-4AB7-9D8D-118CA6F3E162\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10043\/3\/D1F0FA14-5265-4AB7-9D8D-118CA6F3E162\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10043\/3\/D1F0FA14-5265-4AB7-9D8D-118CA6F3E162\/wwdc2020_10043_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10043\/3\/D1F0FA14-5265-4AB7-9D8D-118CA6F3E162\/wwdc2020_10043_sd.mp4","duration":1566,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10020","wwdc2021-10039","wwdc2020-10099","wwdc2020-10156","wwdc2020-10653","wwdc2020-10711","wwdc2020-10717","wwdc2020-10718","wwdc2020-10719","wwdc2019-430"],"resources":[1492,901,443]}},"wwdc2020-10229":{"id":"wwdc2020-10229","staticContentId":3706,"eventContentId":10229,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10229","languageCode":"eng","description":"Learn how to implement Blocking Preload Hints for Low-Latency HLS to reduce delivery latency and improve the reliability of your video and audio streams. Discover how to integrate LL-HLS with CMAF Chunk delivery and unify your delivery across streaming formats.","title":"Discover HLS Blocking Preload Hints","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"595C14AE-4849-4C9A-B7EE-F5C37A959A42","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10229\/8\/F033AE2E-6D7C-493D-B69F-666634C4E10B\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10229\/8\/F033AE2E-6D7C-493D-B69F-666634C4E10B\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10229\/8\/F033AE2E-6D7C-493D-B69F-666634C4E10B\/wwdc2020_10229_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10229\/8\/F033AE2E-6D7C-493D-B69F-666634C4E10B\/wwdc2020_10229_sd.mp4","duration":567,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10228","wwdc2020-10230","wwdc2020-10231","wwdc2020-10232","wwdc2020-10847","wwdc2020-10851"]}},"wwdc2020-10676":{"id":"wwdc2020-10676","staticContentId":3568,"eventContentId":10676,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10676","languageCode":"eng","description":"Privacy is a more important issue than ever. Learn about Apple\u2019s privacy pillars, our approach to privacy, and how to adopt the latest features on our platforms that can help you earn customer trust, create more personal experiences, and improve engagement. Explore the transparency iOS provides when your app is recording using the microphone or camera, control over location with approximate location, tracking transparency and permissions, and much more.","title":"Build trust through better privacy","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ad network","approximate location","autofill","camera","contacts","data minimazation","dns encryption","idfa","location","mac address","microphone","permissions","photos library","picker","privacy","privacy control","private network","tracking","transparency","trust"],"primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4A2C1458-3DEE-47B8-9E78-00C5248C81E4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10676\/3\/3D9FA124-32D0-48C4-8232-64426A430A56\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10676\/3\/3D9FA124-32D0-48C4-8232-64426A430A56\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10676\/3\/3D9FA124-32D0-48C4-8232-64426A430A56\/wwdc2020_10676_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10676\/3\/3D9FA124-32D0-48C4-8232-64426A430A56\/wwdc2020_10676_sd.mp4","duration":2164,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10047","wwdc2020-10110","wwdc2020-10115","wwdc2020-10120","wwdc2020-10152","wwdc2020-10159","wwdc2020-10162","wwdc2020-10172","wwdc2020-10189","wwdc2020-10641","wwdc2020-10652","wwdc2020-10660","wwdc2020-10661","wwdc2020-10665","wwdc2020-10668","wwdc2020-10795","wwdc2020-10796"]}},"wwdc2020-10621":{"id":"wwdc2020-10621","staticContentId":3570,"eventContentId":10621,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10621","languageCode":"eng","description":"iOS and iPadOS provide powerful capabilities to help developers deliver breakthrough apps and games across all device generations. In certain instances, however, demanding apps with exceptional performance requirements may only be able to provide the best experience on devices with an A12 Bionic chip or higher. \n\nWith Xcode 12, developers can now enable a setting for performance-intensive apps and games to indicate this requirement. We\u2019ll walk you through the narrow circumstances for when to apply this setting and the app distribution trade-offs that must be carefully considered. \n\nBefore selecting this approach, you should have deep experience in optimizing your apps. Watch \u201cDelivering Optimized Metal Apps and Games\u201d for specific insights into the tools and best practices you can use to make your product work well on all supported devices.\n\nFor more on creating graphics-intensive experiences for your app or game using Metal, check out \u201cHarness Apple GPUs with Metal\u201d.","title":"Support performance-intensive apps and games","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":91,"topicIds":[86,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EE07109A-BB44-42F2-BFEC-E9793259883B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10621\/12\/FEB3B958-DCDB-4DD3-8EE6-79F97FD9A440\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10621\/12\/FEB3B958-DCDB-4DD3-8EE6-79F97FD9A440\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10621\/12\/FEB3B958-DCDB-4DD3-8EE6-79F97FD9A440\/wwdc2020_10621_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10621\/12\/FEB3B958-DCDB-4DD3-8EE6-79F97FD9A440\/wwdc2020_10621_sd.mp4","duration":342,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10611"]}},"wwdc2020-10071":{"id":"wwdc2020-10071","staticContentId":3474,"eventContentId":10071,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10071","languageCode":"eng","description":"Optimize your app for Siri and give people a more natural way to interact with the features of your app. We\u2019ll compare the different Siri technologies and help you identify the right one for you and your needs, show you how to get started with building for conversational interactions, and explore best practices for making your integration truly excel.","title":"Evaluate and optimize voice interaction for your app","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","tvOS","watchOS"],"keywords":["conversational interaction","design","intents","shortcuts","siri","sirikit","voice"],"primaryTopicID":83,"topicIds":[87,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F2FE1D83-719F-4304-A134-60023D15319B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10071\/2\/07184404-5005-4A26-B469-960B8653ECC9\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10071\/2\/07184404-5005-4A26-B469-960B8653ECC9\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10071\/2\/07184404-5005-4A26-B469-960B8653ECC9\/wwdc2020_10071_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10071\/2\/07184404-5005-4A26-B469-960B8653ECC9\/wwdc2020_10071_sd.mp4","duration":607,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10283","wwdc2020-10060","wwdc2020-10061","wwdc2020-10068","wwdc2020-10073","wwdc2020-10074","wwdc2020-10080","wwdc2020-10083","wwdc2020-10084","wwdc2020-10086","wwdc2020-10087","wwdc2020-10088","wwdc2020-10190","wwdc2020-10200","wwdc2020-10203","wwdc2020-10839","wwdc2020-10877","wwdc2020-10914","wwdc2020-10917","wwdc2020-10963"]}},"wwdc2020-10011":{"id":"wwdc2020-10011","staticContentId":3667,"eventContentId":10011,"eventId":"wwdc2020","contentUpdatedAt":"2025-11-04T16:52:11-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10011","languageCode":"eng","description":"Transform your audio and video content into fragmented MPEG-4 files for a faster and smoother HLS streaming experience. Learn how to work with the fragmented MPEG-4 format, generate fragmented content from a movie, and set up AVAssetWriter to create fragments for HLS output.","title":"Author fragmented MPEG-4 content with AVAssetWriter","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"53B836F8-7184-4DC1-AF28-2B605DF51737","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10011\/2\/090FF01F-98C7-410F-85B3-EB5551BFBD57\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10011\/2\/090FF01F-98C7-410F-85B3-EB5551BFBD57\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10011\/2\/090FF01F-98C7-410F-85B3-EB5551BFBD57\/wwdc2020_10011_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10011\/2\/090FF01F-98C7-410F-85B3-EB5551BFBD57\/wwdc2020_10011_sd.mp4","duration":1331,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10015","wwdc2020-10803","wwdc2020-10804"],"resources":[891]}},"wwdc2020-10633":{"id":"wwdc2020-10633","staticContentId":3413,"eventContentId":10633,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10633","languageCode":"eng","description":"Learn how you can integrate ReplayKit into your Mac apps and games to easily share screen recordings or broadcast live audio and visuals online. We\u2019ll show you how to capture screen content, audio, and microphone input inside your Mac apps, and even broadcast your video to a live audience.\n\nFor more on getting started with this framework in your app, be sure to see \u201cLive Screen Broadcast with ReplayKit\u201d and \"What's New with Screen Recording and Live Broadcast\" from previous years.","title":"Capture and stream apps on the Mac with ReplayKit","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":84,"topicIds":[91,95,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6C0A5F85-E6B3-446F-AE0B-2D3052CFDB6E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10633\/3\/FE4ACE55-9CB0-4C18-8966-5024A50504B7\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10633\/3\/FE4ACE55-9CB0-4C18-8966-5024A50504B7\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10633\/3\/FE4ACE55-9CB0-4C18-8966-5024A50504B7\/wwdc2020_10633_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10633\/3\/FE4ACE55-9CB0-4C18-8966-5024A50504B7\/wwdc2020_10633_sd.mp4","duration":1438,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10101","wwdc2020-10832","wwdc2020-10833","wwdc2018-601","wwdc2017-606","wwdc2015-605"],"resources":[894,60]}},"wwdc2020-10231":{"id":"wwdc2020-10231","staticContentId":3708,"eventContentId":10231,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10231","languageCode":"eng","description":"Blocking Playlist Reload is a required component of Low-Latency HLS that improves segment discovery time in live streams and addresses the common problem of stale playlists when delivering through an HTTP cache. Learn how to use Blocking Playlist Reload to reduce streaming latency and improve CDN performance for both low-latency and regular live HLS streams.","title":"Reduce latency with HLS Blocking Playlist Reload","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"942F6B99-EE77-4BAD-B8DE-EBB1894F14AD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10231\/3\/2F8E5799-0623-407E-A395-57E1DE70D4D0\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10231\/3\/2F8E5799-0623-407E-A395-57E1DE70D4D0\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10231\/3\/2F8E5799-0623-407E-A395-57E1DE70D4D0\/wwdc2020_10231_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10231\/3\/2F8E5799-0623-407E-A395-57E1DE70D4D0\/wwdc2020_10231_sd.mp4","duration":520,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10225","wwdc2020-10228","wwdc2020-10229","wwdc2020-10230","wwdc2020-10232","wwdc2020-10847","wwdc2020-10851"]}},"wwdc2020-10010":{"id":"wwdc2020-10010","staticContentId":3529,"eventContentId":10010,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10010","languageCode":"eng","description":"Discover how to author and export high dynamic range (HDR) content in your app using AVFoundation. Learn about high dynamic range and how you can take advantage of it in your app. We\u2019ll show you how to implement feature sets that allow people to export HDR content, go over supported HDR formats, review current restrictions, and explore the Apple platforms that support HDR export.","title":"Export HDR media in your app with AVFoundation","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":84,"topicIds":[88,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"145BC1EE-CFEE-433E-AF22-19F72B3DCEDB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10010\/4\/BA038DF7-160D-47A0-B92D-DA6F71360CCA\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10010\/4\/BA038DF7-160D-47A0-B92D-DA6F71360CCA\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10010\/4\/BA038DF7-160D-47A0-B92D-DA6F71360CCA\/wwdc2020_10010_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10010\/4\/BA038DF7-160D-47A0-B92D-DA6F71360CCA\/wwdc2020_10010_sd.mp4","duration":1395,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10161","wwdc2020-10015","wwdc2020-10803","wwdc2020-10804"],"resources":[574,91]}},"wwdc2020-10190":{"id":"wwdc2020-10190","staticContentId":3785,"eventContentId":10190,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10190","languageCode":"eng","description":"Shortcuts are a natural fit on Apple Watch, allowing people to get things done with just a tap \u2014 even from a complication. Bring your app\u2019s intents to the wrist: We\u2019ll help you optimize your shortcuts performance, understand how intents can be routed from watchOS to iOS, explore the latest interaction and presentation interfaces, and examine how the Shortcuts app manages shortcuts and intents for Apple Watch.","title":"Create quick interactions with Shortcuts on watchOS","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["apple watch","complications","extensions","intents","intentsui","shortcuts","shortcuts app","siri","sirikit","watchos"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"889B71B2-1C0E-4098-A9C5-885F17580A4A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10190\/4\/4E8B17DE-486E-44AC-BC2C-EA4E4DB20E6E\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10190\/4\/4E8B17DE-486E-44AC-BC2C-EA4E4DB20E6E\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10190\/4\/4E8B17DE-486E-44AC-BC2C-EA4E4DB20E6E\/wwdc2020_10190_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10190\/4\/4E8B17DE-486E-44AC-BC2C-EA4E4DB20E6E\/wwdc2020_10190_sd.mp4","duration":696,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10060","wwdc2020-10061","wwdc2020-10068","wwdc2020-10069","wwdc2020-10071","wwdc2020-10073","wwdc2020-10074","wwdc2020-10080","wwdc2020-10083","wwdc2020-10084","wwdc2020-10086","wwdc2020-10087","wwdc2020-10088","wwdc2020-10200","wwdc2020-10203","wwdc2020-10839","wwdc2020-10877","wwdc2020-10878"]}},"wwdc2020-10060":{"id":"wwdc2020-10060","staticContentId":3562,"eventContentId":10060,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10060","languageCode":"eng","description":"Demystify the art of designing Siri experiences for your music and audio apps: We\u2019ll show you how to think about crafting great interactions and how you can provide custom vocabulary so that Siri can respond with more accuracy and personality. We\u2019ll also explain how you can debug common errors and test your intents using the same methods Apple\u2019s own Siri team employs.","title":"Design high quality Siri media interactions","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","tvOS","watchOS"],"keywords":["conversational interaction","intents","media","siri","sirikit","sirikit media intents","voice"],"primaryTopicID":84,"topicIds":[83,88,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1B3A5E42-ED3B-4E69-BBE8-9754D0171B15","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10060\/9\/B52BD896-A151-4C63-B521-62611009D046\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10060\/9\/B52BD896-A151-4C63-B521-62611009D046\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10060\/9\/B52BD896-A151-4C63-B521-62611009D046\/wwdc2020_10060_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10060\/9\/B52BD896-A151-4C63-B521-62611009D046\/wwdc2020_10060_sd.mp4","duration":1364,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10061","wwdc2020-10068","wwdc2020-10069","wwdc2020-10071","wwdc2020-10073","wwdc2020-10074","wwdc2020-10080","wwdc2020-10083","wwdc2020-10084","wwdc2020-10086","wwdc2020-10087","wwdc2020-10088","wwdc2020-10190","wwdc2020-10200","wwdc2020-10203","wwdc2020-10693","wwdc2020-10694","wwdc2020-10914","wwdc2020-10963","wwdc2019-207","tech-talks-10854"]}},"wwdc2020-10104":{"id":"wwdc2020-10104","staticContentId":3364,"eventContentId":10104,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10104","languageCode":"eng","description":"Make over your Mac apps: Discover how you can embrace the new design of macOS Big Sur and adopt its visual hierarchy, design patterns, and behaviors. We\u2019ll explore the latest updates to AppKit around structural items and common controls, and show you how you can adapt more customized interfaces with just a bit of adoption work. And find out how you can incorporate custom accent colors and symbols to further personalize your app.\n\nTo get the most out of this session, you should be familiar with AppKit and SF Symbols. For additional information on symbols, watch \"SF Symbols 2.0\u201d.","title":"Adopt the new look of macOS","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["macOS"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1C541F0B-9AEC-4636-A1D4-C051DEF8117E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10104\/8\/2EE89376-B9BB-467A-B0F9-76651B382977\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10104\/8\/2EE89376-B9BB-467A-B0F9-76651B382977\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10104\/8\/2EE89376-B9BB-467A-B0F9-76651B382977\/wwdc2020_10104_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10104\/8\/2EE89376-B9BB-467A-B0F9-76651B382977\/wwdc2020_10104_sd.mp4","duration":1723,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10143","wwdc2020-10207","wwdc2020-10895","wwdc2020-10896","wwdc2020-10897","wwdc2019-206"]}},"wwdc2020-10020":{"id":"wwdc2020-10020","staticContentId":3565,"eventContentId":10020,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10020","languageCode":"eng","description":"When you design with accessibility in mind, you empower everyone to use your app. Discover how to create an adaptive interface for your app that takes a thoughtful approach to color, provides readable text, and accommodates other visual settings to maintain a great experience throughout.\n\nWe\u2019ve designed this session like our user interfaces \u2014&nbsp;to be accessible to all. If you\u2019d like to learn even more about accessibility and design, you may also enjoy \u201cVisual Design and Accessibility,\u201d \u201cAccessibility Inspector,\u201d \u201cBuilding Apps with Dynamic Type,\u201d and \u201cIntroducing SF Symbols.\u201d","title":"Make your app visually accessible","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["accessibility","color","color blind","design","labels","reduce motion"],"primaryTopicID":82,"topicIds":[87,100,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C5AE9539-541B-49A5-B343-B9D4B4389499","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10020\/6\/E082026F-7D80-4814-9A23-5A52E4CBF628\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10020\/6\/E082026F-7D80-4814-9A23-5A52E4CBF628\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10020\/6\/E082026F-7D80-4814-9A23-5A52E4CBF628\/wwdc2020_10020_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10020\/6\/E082026F-7D80-4814-9A23-5A52E4CBF628\/wwdc2020_10020_sd.mp4","duration":964,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10034","wwdc2021-10223","wwdc2020-10692","wwdc2020-10749","wwdc2020-10750","wwdc2020-10751","wwdc2019-206","wwdc2019-244","wwdc2019-257","wwdc2017-245"],"resources":[58]}},"wwdc2020-10068":{"id":"wwdc2020-10068","staticContentId":3640,"eventContentId":10068,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10068","languageCode":"eng","description":"Get a quick overview of everything new in Siri and Shortcuts to help people get more out of your app: We\u2019ll demonstrate how you can design visually rich conversations, feel at home with the operating system by designing for the new compact Siri UI, and provide an overview of all the ways we\u2019ve made it even easier for people to organize and set up actions from your apps.","title":"What's new in SiriKit and Shortcuts","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["automation","extensions","in-app intent handling","intents","intentsui","shortcuts","shortcuts app","siri","sirikit","voice","watchos","watchos design"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"94903680-91F8-4676-9189-BC64256270EB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10068\/6\/21534713-4524-4D0D-B555-7E3C2D960F96\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10068\/6\/21534713-4524-4D0D-B555-7E3C2D960F96\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10068\/6\/21534713-4524-4D0D-B555-7E3C2D960F96\/wwdc2020_10068_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10068\/6\/21534713-4524-4D0D-B555-7E3C2D960F96\/wwdc2020_10068_sd.mp4","duration":735,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10028","wwdc2020-10060","wwdc2020-10061","wwdc2020-10071","wwdc2020-10073","wwdc2020-10074","wwdc2020-10080","wwdc2020-10083","wwdc2020-10084","wwdc2020-10086","wwdc2020-10087","wwdc2020-10088","wwdc2020-10190","wwdc2020-10194","wwdc2020-10197","wwdc2020-10200","wwdc2020-10203","wwdc2020-10839","wwdc2020-10877","wwdc2020-10878","wwdc2020-10879"],"resources":[893,866,350]}},"wwdc2020-10182":{"id":"wwdc2020-10182","staticContentId":3869,"eventContentId":10182,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10182","languageCode":"eng","description":"HealthKit is an essential framework that integrates first- and third-party health and fitness data to help people manage their personal health information. Learn about HealthKit\u2019s latest updates, which provide read access to electrocardiograms on Apple Watch and log and track over a dozen new symptoms and their severity. We\u2019ll also go through the latest mobility data types like walking speed and step length to help people monitor and understand their mobility over time.","title":"What's new in HealthKit","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["ecg","fitness","health","heart","heart rate","nutrition"],"primaryTopicID":92,"topicIds":[92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"42233DDA-A227-444B-9920-F497ADA7752A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10182\/4\/96BB3F0A-784E-4154-A542-2F681FB93E30\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10182\/4\/96BB3F0A-784E-4154-A542-2F681FB93E30\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10182\/4\/96BB3F0A-784E-4154-A542-2F681FB93E30\/wwdc2020_10182_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10182\/4\/96BB3F0A-784E-4154-A542-2F681FB93E30\/wwdc2020_10182_sd.mp4","duration":369,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10184","wwdc2020-10656","wwdc2020-10664","wwdc2020-10669","wwdc2020-10755","wwdc2020-10843"]}},"wwdc2020-10142":{"id":"wwdc2020-10142","staticContentId":3822,"eventContentId":10142,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10142","languageCode":"eng","description":"Learn how to build focused enterprise apps that work well together. In this session, we\u2019ll introduce you to Apple Retail\u2019s suite of enterprise apps, which help employees interact with customers, track operations, manage stores, and stay connected. Discover how Apple Retail created a unified set of apps by adopting Swift Packages and testing for app scalability. And explore how managing apps in production with configurations can help tailor app suites to different regions and locations.","title":"Build scalable enterprise app suites","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["enterprise","swift packages","testing"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"15A12AEB-EA88-44FC-8A53-650FC25C6FA6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10142\/6\/570BD5D0-7BC7-4D3A-A1EC-E67D13CD87E0\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10142\/6\/570BD5D0-7BC7-4D3A-A1EC-E67D13CD87E0\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10142\/6\/570BD5D0-7BC7-4D3A-A1EC-E67D13CD87E0\/wwdc2020_10142_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10142\/6\/570BD5D0-7BC7-4D3A-A1EC-E67D13CD87E0\/wwdc2020_10142_sd.mp4","duration":916,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10091","wwdc2020-10169","wwdc2020-10638","wwdc2019-410","wwdc2019-413","wwdc2019-417","wwdc2018-407","wwdc2018-417","wwdc2015-406"]}},"wwdc2020-10188":{"id":"wwdc2020-10188","staticContentId":3410,"eventContentId":10188,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10188","languageCode":"eng","description":"WKWebView is the best way to present rich, interactive web content right within your app. Explore new APIs that help you convert apps using WebViews or UIWebViews while adding entirely new capabilities. Learn about better ways to handle JavaScript, fine tune the rendering process, export web content, and more.","title":"Discover WKWebView enhancements","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["allowscontentjavascript","app-bound domains","bitmap","browser","callasyncjavascript","console","createpdf","createwebarchivedata","css","evaluatejavascript","findstring","html","intelligent tracking prevention","itp","javascript","javascriptenabled","jscontext","mediastyle","mediatype","messagehandlers","pagezoom","postmessage","printoperationwithprintinfo","promise","safari technology preview","safari view controller","sfsafariviewcontroller","share as pdf","snapshot","takesnapshot","uiwebview","web archive","web content","web inspector","webkit","webpage","website","webview","web views","wkappbounddomains","wkcontentworld","wkpreferences","wkscriptmessagehandler","wkwebpagepreferences"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E2E643FB-82D8-403D-822A-CED4C2FE2EFC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10188\/3\/6E5129F2-8309-4EDE-BEEA-B2B32A39A5FB\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10188\/3\/6E5129F2-8309-4EDE-BEEA-B2B32A39A5FB\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10188\/3\/6E5129F2-8309-4EDE-BEEA-B2B32A39A5FB\/wwdc2020_10188_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10188\/3\/6E5129F2-8309-4EDE-BEEA-B2B32A39A5FB\/wwdc2020_10188_sd.mp4","duration":1809,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10032","wwdc2020-10646","wwdc2020-10663","wwdc2020-10740","wwdc2020-10743","wwdc2020-10744","wwdc2020-10836"],"resources":[772,771,338,247,170]}},"wwdc2020-10081":{"id":"wwdc2020-10081","staticContentId":3831,"eventContentId":10081,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10081","languageCode":"eng","description":"Quickly detect power and performance regressions and troubleshoot app issues when you adopt MetricKit. Discover the latest trackable metrics for your app, including CPU instructions, animation hitches, and exit reasons. And learn about diagnostics in MetricKit that can help you troubleshoot hangs, crashes, and disk writes.","title":"What's new in MetricKit","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6BD1F8ED-8583-4513-B8CD-462E9E9A2563","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10081\/3\/7AC69CDE-C614-4237-9C10-93A3B67C923E\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10081\/3\/7AC69CDE-C614-4237-9C10-93A3B67C923E\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10081\/3\/7AC69CDE-C614-4237-9C10-93A3B67C923E\/wwdc2020_10081_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10081\/3\/7AC69CDE-C614-4237-9C10-93A3B67C923E\/wwdc2020_10081_sd.mp4","duration":825,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10087","wwdc2021-10181","wwdc2021-10203","wwdc2021-10258","wwdc2021-10348","wwdc2020-10057","wwdc2020-10076","wwdc2020-10077","wwdc2020-10845","wwdc2020-10893","wwdc2020-10894"]}},"wwdc2020-10098":{"id":"wwdc2020-10098","staticContentId":3329,"eventContentId":10098,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10098","languageCode":"eng","description":"Universal Links help people access your content, whether or not they have your app installed. Get the details on the latest updates for the Universal Links API, including support for Apple Watch and SwiftUI. Learn how you can reduce the size and complexity of your app-site-association file with enhanced pattern matching features like wildcards, substitution variables, and Unicode support. And discover how cached associated domains data will improve the initial launch experience for people using your app.","title":"What's new in Universal Links","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["handoff","spotlight","universal link","universal links"],"primaryTopicID":101,"topicIds":[98,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7F80840B-35BE-435B-BBE3-98FDBE25FD49","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10098\/3\/E024AF2B-1DDA-4974-AA48-4186E6F9E22D\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10098\/3\/E024AF2B-1DDA-4974-AA48-4186E6F9E22D\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10098\/3\/E024AF2B-1DDA-4974-AA48-4186E6F9E22D\/wwdc2020_10098_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10098\/3\/E024AF2B-1DDA-4974-AA48-4186E6F9E22D\/wwdc2020_10098_sd.mp4","duration":1384,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10092","wwdc2022-10094","wwdc2021-10013","wwdc2020-10118","wwdc2020-10146","wwdc2020-10651","wwdc2020-10837","wwdc2020-10846","wwdc2019-717"],"resources":[779,515]}},"wwdc2020-10645":{"id":"wwdc2020-10645","staticContentId":3665,"eventContentId":10645,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10645","languageCode":"eng","description":"Share your living room \u2014&nbsp;not your Apple TV apps. When you support profiles within your app, you can customize your experience for each person who uses Apple TV within the same house. Discover how the \u201cRuns as Current User\u201d feature lets someone interact with your app, download local content, and log into iCloud or Game Center,&nbsp;all without affecting their family or housemates. We\u2019ll show you how to implement this capability in your app, save recent data before switching profiles, handle notifications, and safeguard privacy.\n\nTo get the most out of this session, you should have a basic understanding of modern tvOS frameworks and controls. Watching \u201cMastering the Living Room with tvOS\u201d will give you a great overview.","title":"Support multiple users in your tvOS app","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["tvOS"],"keywords":["apple tv","apple tv 4k","apple tv app","game developer","games","mulituser","personalizable","personalization","personalize","profile","profiles","runs as current user","tv","tv app","tv apps","tv dev","tv developer","tvos","video"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BB52B110-D849-4248-B25D-1E2A3ED807D1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10645\/5\/2E2B228F-1C9A-450E-927C-0FC486316517\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10645\/5\/2E2B228F-1C9A-450E-927C-0FC486316517\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10645\/5\/2E2B228F-1C9A-450E-927C-0FC486316517\/wwdc2020_10645_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10645\/5\/2E2B228F-1C9A-450E-927C-0FC486316517\/wwdc2020_10645_sd.mp4","duration":526,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110384","wwdc2020-10854","wwdc2020-10855","wwdc2020-20007"],"resources":[864,831,13]}},"wwdc2020-10088":{"id":"wwdc2020-10088","staticContentId":3694,"eventContentId":10088,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10088","languageCode":"eng","description":"Learn how extensibility is key to surfacing the most important features of your app into new entry points of the operating system. And discover how \u2014 by breaking out of the constraints of a monolithic container \u2014 your app can see increased engagement through suggestions on the lock screen, in Calendar, and by enabling voice interactions.","title":"Design for intelligence: Discover new opportunities","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["donations","intelligence","intelligent system experience","intents","intentsui","shortcuts","shortcuts app","siri event suggestions","sirikit","siri suggestions","suggestions","system intelligence","voice"],"primaryTopicID":87,"topicIds":[83,86,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"570CBBD3-BEE5-4CC1-93AC-7B6812787C1B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10088\/3\/F305AEBE-F447-4B36-A540-FA6C33F70969\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10088\/3\/F305AEBE-F447-4B36-A540-FA6C33F70969\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10088\/3\/F305AEBE-F447-4B36-A540-FA6C33F70969\/wwdc2020_10088_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10088\/3\/F305AEBE-F447-4B36-A540-FA6C33F70969\/wwdc2020_10088_sd.mp4","duration":311,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10060","wwdc2020-10061","wwdc2020-10068","wwdc2020-10069","wwdc2020-10071","wwdc2020-10073","wwdc2020-10074","wwdc2020-10080","wwdc2020-10083","wwdc2020-10084","wwdc2020-10086","wwdc2020-10087","wwdc2020-10190","wwdc2020-10194","wwdc2020-10197","wwdc2020-10200","wwdc2020-10839","wwdc2020-10877","wwdc2020-10878","wwdc2020-10879","wwdc2020-10914","wwdc2020-10917","wwdc2020-10918","wwdc2020-10963","wwdc2020-10980"]}},"wwdc2020-10616":{"id":"wwdc2020-10616","staticContentId":3728,"eventContentId":10616,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10616","languageCode":"eng","description":"Track down even the trickiest GPU-side programming errors with enhanced reporting in Xcode 12. While Metal\u2019s API validation layer can catch most problems in a project, GPU errors can cause a host of difficult-to-debug issues.\n\nGet an introduction to GPU-side errors and learn how to find and eliminate problems like visual corruption, infinite loop timeouts, out of bounds memory accesses, nil resource access, or invalid resource residency with Xcode 12. Discover how to enable enhanced command buffer error reporting and shader validation, use them effectively as part of your debugging strategy, and automate them in your production pipeline.","title":"Debug GPU-side errors in Metal","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[88,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8E0B8F1A-06B2-4ABA-851D-F70A75D832F6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10616\/5\/F585B9C6-DBD8-4C59-B210-5228EF5B86B1\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10616\/5\/F585B9C6-DBD8-4C59-B210-5228EF5B86B1\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10616\/5\/F585B9C6-DBD8-4C59-B210-5228EF5B86B1\/wwdc2020_10616_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10616\/5\/F585B9C6-DBD8-4C59-B210-5228EF5B86B1\/wwdc2020_10616_sd.mp4","duration":1256,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10105","wwdc2021-10157","wwdc2020-10602","wwdc2020-10605","wwdc2020-10615","wwdc2020-10631","wwdc2020-10632","wwdc2020-10810","wwdc2020-10811","wwdc2020-10812","wwdc2020-10813","wwdc2020-10814","wwdc2020-10815","wwdc2020-10816","wwdc2020-10817"],"resources":[38]}},"wwdc2020-10049":{"id":"wwdc2020-10049","staticContentId":3379,"eventContentId":10049,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10049","languageCode":"eng","description":"Time is of the essence: Discover how your Apple Watch complications can provide relevant information throughout the day and help people get the information they need, when they need it. Learn best practices for capitalizing on your app\u2019s runtime opportunities, incorporating APIs like background app refresh and URLSession, and implementing well-timed push notifications.","title":"Keep your complications up to date","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["watchOS"],"keywords":["\ud83e\ude81","\u231a\ufe0f","clockkit","urlsession","watchkit","watchos"],"primaryTopicID":101,"topicIds":[100,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"93E1DDAB-8001-4863-B909-CDC3C226F83A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10049\/10\/CD3717B4-610A-4738-8C94-A2B995381A44\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10049\/10\/CD3717B4-610A-4738-8C94-A2B995381A44\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10049\/10\/CD3717B4-610A-4738-8C94-A2B995381A44\/wwdc2020_10049_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10049\/10\/CD3717B4-610A-4738-8C94-A2B995381A44\/wwdc2020_10049_sd.mp4","duration":1310,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10003","wwdc2020-10046","wwdc2020-10048","wwdc2020-10100","wwdc2020-10769","wwdc2020-10770"],"resources":[882,138,9,5]}},"wwdc2020-10084":{"id":"wwdc2020-10084","staticContentId":3514,"eventContentId":10084,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10084","languageCode":"eng","description":"Learn foolproof ways to surface your app\u2019s actions in the Shortcuts app \u2014 and help people quickly set up powerful, personalized shortcuts using system intelligence. We\u2019ll detail how to configure your intents to appear in the new Automation Suggestions, explore how the system surfaces your app's actions for people based on their everyday app usage, and show you how you can make sure your app appears in all the right places within the Shortcuts app.","title":"Feature your actions in the Shortcuts app","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["intents","intentsui","shortcuts","shortcuts app","siri","sirikit"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2F7E8DA6-C006-44A7-9D7D-CFC2103C0228","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10084\/4\/E5265AB0-710D-4449-B77E-B49C282280C3\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10084\/4\/E5265AB0-710D-4449-B77E-B49C282280C3\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10084\/4\/E5265AB0-710D-4449-B77E-B49C282280C3\/wwdc2020_10084_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10084\/4\/E5265AB0-710D-4449-B77E-B49C282280C3\/wwdc2020_10084_sd.mp4","duration":609,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10060","wwdc2020-10061","wwdc2020-10068","wwdc2020-10069","wwdc2020-10071","wwdc2020-10073","wwdc2020-10074","wwdc2020-10080","wwdc2020-10083","wwdc2020-10086","wwdc2020-10088","wwdc2020-10190","wwdc2020-10200","wwdc2020-10203","wwdc2020-10839","wwdc2020-10877","wwdc2020-10878","wwdc2020-10914","wwdc2020-10917","wwdc2020-10963"]}},"wwdc2020-10649":{"id":"wwdc2020-10649","staticContentId":3596,"eventContentId":10649,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10649","languageCode":"eng","description":"The Xcode Library is an easy way for you to discover available SwiftUI views and drag and drop them to the Xcode Previews canvas, enabling rich visual editing of your app. We\u2019ll show you how to extend the content of the Xcode Library with your own views and modifiers, optimizing for reusability and discoverability within your app or Swift packages.\n\nFor more on Xcode Previews, check out \"Structure your app for SwiftUI previews\", and \"Visually edit SwiftUI views\".","title":"Add custom views and modifiers to the Xcode Library","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["library","modifiers","swiftui","views","xcode"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E50EC5D9-E2DB-4628-9297-542E5E241942","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10649\/5\/904EDE80-6092-4438-85F6-0660C7586D01\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10649\/5\/904EDE80-6092-4438-85F6-0660C7586D01\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10649\/5\/904EDE80-6092-4438-85F6-0660C7586D01\/wwdc2020_10649_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10649\/5\/904EDE80-6092-4438-85F6-0660C7586D01\/wwdc2020_10649_sd.mp4","duration":791,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10149","wwdc2020-10185"]}},"wwdc2020-10048":{"id":"wwdc2020-10048","staticContentId":3378,"eventContentId":10048,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:38:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10048","languageCode":"eng","description":"Spice up your graphic complications on Apple Watch using SwiftUI. We\u2019ll teach you how to use custom SwiftUI views in complications on watch faces like Meridian and Infograph, look at some best practices when creating your complications, and show you how to preview your work in Xcode 12.\n\nTo get the most out of this session, you should be familiar with the basics of SwiftUI and building complications on Apple Watch. For an overview, watch \u201cCreate Complications for Apple Watch\u201d and read \u201cBuilding watchOS App Interfaces with SwiftUI.\u201d\n\nOnce you\u2019ve discovered how to build graphic complications in SwiftUI, you can combine this with other watchOS 7 features like multiple complications and Face Sharing to create a watch face packed with personality and customized for people who love your app.","title":"Build complications in SwiftUI","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["watchOS"],"keywords":["\u231a\ufe0f","clockkit","watchkit","watchos"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BD214796-D1A8-4CD6-8438-72C1EA3718CC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10048\/4\/A4A61EDD-9948-4DB8-98BB-8BA633D211CC\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10048\/4\/A4A61EDD-9948-4DB8-98BB-8BA633D211CC\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10048\/4\/A4A61EDD-9948-4DB8-98BB-8BA633D211CC\/wwdc2020_10048_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10048\/4\/A4A61EDD-9948-4DB8-98BB-8BA633D211CC\/wwdc2020_10048_sd.mp4","duration":1372,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10051","wwdc2021-10194","wwdc2020-10041","wwdc2020-10046","wwdc2020-10049","wwdc2020-10100","wwdc2020-10771","wwdc2020-10772"],"resources":[882,572,5]}},"wwdc2020-10110":{"id":"wwdc2020-10110","staticContentId":3713,"eventContentId":10110,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:38:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10110","languageCode":"eng","description":"Local network privacy provides added transparency when apps connect to devices on a person's home network. If your app interacts with devices using Bonjour or other local networking protocols, you must add support for local network privacy permissions in iOS 14. Learn more about the new permission flow and follow along as we guide you through the necessary steps to update your app. We\u2019ll also provide you with some best practices to help you create a frictionless privacy experience.","title":"Support local network privacy in your app","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["open network","ssid","wifi"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5D6702AA-293C-428D-BBF1-BE6C70209699","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10110\/4\/DC28151E-DCDB-4D97-9BDF-EEF1FDD14F13\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10110\/4\/DC28151E-DCDB-4D97-9BDF-EEF1FDD14F13\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10110\/4\/DC28151E-DCDB-4D97-9BDF-EEF1FDD14F13\/wwdc2020_10110_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10110\/4\/DC28151E-DCDB-4D97-9BDF-EEF1FDD14F13\/wwdc2020_10110_sd.mp4","duration":736,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110339","wwdc2020-10111","wwdc2020-10676","wwdc2020-10856","wwdc2020-10857","articles-10102"],"resources":[501]}},"wwdc2020-10173":{"id":"wwdc2020-10173","staticContentId":3723,"eventContentId":10173,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10173","languageCode":"eng","description":"Sign in with Apple makes it easy for people to sign in to your apps and websites with the Apple ID they already have. Fully integrate Sign in with Apple into your app using secure requests, and by handling state changes and server notifications. We\u2019ll also introduce new APIs that allow you to let existing users switch to Sign in with Apple quickly and easily.","title":"Get the most out of Sign in with Apple","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["account","account security","sign in","sign in with apple"],"primaryTopicID":96,"topicIds":[98,101,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EF5DB5FE-0CD4-4CF0-AD4D-08FA5682172B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10173\/3\/4C9B78F1-0F45-456A-83FF-83624AE95E25\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10173\/3\/4C9B78F1-0F45-456A-83FF-83624AE95E25\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10173\/3\/4C9B78F1-0F45-456A-83FF-83624AE95E25\/wwdc2020_10173_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10173\/3\/4C9B78F1-0F45-456A-83FF-83624AE95E25\/wwdc2020_10173_sd.mp4","duration":1847,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10053","wwdc2022-10122","wwdc2021-10110","wwdc2021-110107","wwdc2020-10115","wwdc2020-10666","wwdc2020-10789","wwdc2020-10790","wwdc2019-706"],"resources":[602,578,527]}},"wwdc2020-10219":{"id":"wwdc2020-10219","staticContentId":3453,"eventContentId":10219,"eventId":"wwdc2020","contentUpdatedAt":"2025-10-03T09:55:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10219","languageCode":"eng","description":"Localizing your app is a wonderful way to share your work with a worldwide audience and make it relevant to more cultures and languages. We\u2019ll show you how you can prepare for localization before ever translating a word by building thoughtful layouts for your app. Learn how to structure your UI in Xcode, identify common issues prevalent with more verbose and right-to-left languages, and easily adapt your interfaces to provide a great experience for everyone.","title":"Build localization-friendly layouts using Xcode","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["autolayout","auto layout","localization","rtl"],"primaryTopicID":82,"topicIds":[88,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C7B17BBB-4DCA-4DC7-B484-7FF8C0CC4214","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10219\/4\/2B66E0C1-3863-4A8E-AD06-54CC51176ED3\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10219\/4\/2B66E0C1-3863-4A8E-AD06-54CC51176ED3\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10219\/4\/2B66E0C1-3863-4A8E-AD06-54CC51176ED3\/wwdc2020_10219_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10219\/4\/2B66E0C1-3863-4A8E-AD06-54CC51176ED3\/wwdc2020_10219_sd.mp4","duration":900,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10140","wwdc2020-10782","wwdc2020-10784"],"resources":[907,906,82]}},"wwdc2020-10665":{"id":"wwdc2020-10665","staticContentId":3409,"eventContentId":10665,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10665","languageCode":"eng","description":"When you create a Safari Web Extension, you can help people get common online tasks done more quickly and efficiently. We\u2019ll show you how to build a new Safari Web Extension and host it on the App Store, as well as how to use the safari-web-extension-converter tool to migrate existing extensions from other web browsers like Chrome, Firefox, or Edge with very little effort.","title":"Meet Safari Web Extensions","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["macOS"],"keywords":["activetab","app store","background page","browser","compatible","content script","css","html","javascript","json","manifest","nativemessaging","nsextensioncontext","nsxpcconnection","safari-web-extension-converter","safariwebextensionhandler","sendnativemessage","sfsafariapplication","user privacy"],"primaryTopicID":98,"topicIds":[100,98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2671506F-1BA6-462B-9FE6-79DD889F274A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10665\/3\/C174BFAC-4EEB-41C6-9019-4386F9E18CD5\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10665\/3\/C174BFAC-4EEB-41C6-9019-4386F9E18CD5\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10665\/3\/C174BFAC-4EEB-41C6-9019-4386F9E18CD5\/wwdc2020_10665_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10665\/3\/C174BFAC-4EEB-41C6-9019-4386F9E18CD5\/wwdc2020_10665_sd.mp4","duration":1667,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10027","wwdc2021-10104","wwdc2020-10646","wwdc2020-10663","wwdc2020-10676","wwdc2020-10740","wwdc2020-10743","wwdc2020-10744","wwdc2020-10836"],"resources":[905,904,738,389]}},"wwdc2020-10612":{"id":"wwdc2020-10612","staticContentId":3449,"eventContentId":10612,"eventId":"wwdc2020","contentUpdatedAt":"2025-10-15T15:17:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10612","languageCode":"eng","description":"RealityKit is Apple\u2019s rendering, animation, physics, and audio engine built from the ground up for augmented reality: It reimagines the traditional 3D renderer to make it easy for developers to prototype and produce high-quality AR experiences. Learn how to effectively implement each of the latest improvements to RealityKit in your app. Discover features like video textures, scene understanding using the LiDAR scanner on iPad Pro, Location Anchors, face tracking, and improved debugging tools.\n\nTo get the most out of this session, you should understand the building blocks of developing RealityKit-based apps and games. Watch \u201cIntroducing RealityKit and Reality Composer\u201d for a primer.\n\nFor more on how you can integrate Reality Composer into your augmented reality workflow, watch \"The artist\u2019s AR toolkit\".","title":"What's new in RealityKit","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9F30AFAD-B377-4D94-94C6-7E6CFC56FE2A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10612\/5\/1B6C5C51-471E-4D93-9198-4D6B9AAE7D89\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10612\/5\/1B6C5C51-471E-4D93-9198-4D6B9AAE7D89\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10612\/5\/1B6C5C51-471E-4D93-9198-4D6B9AAE7D89\/wwdc2020_10612_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10612\/5\/1B6C5C51-471E-4D93-9198-4D6B9AAE7D89\/wwdc2020_10612_sd.mp4","duration":1515,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10074","wwdc2021-10075","wwdc2020-10601","wwdc2020-10611","wwdc2020-10675","wwdc2020-10823","wwdc2020-10824","wwdc2019-603","wwdc2016-503"],"resources":[908,568]}},"wwdc2020-10093":{"id":"wwdc2020-10093","staticContentId":3505,"eventContentId":10093,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10093","languageCode":"eng","description":"Help people who use iPad with a Magic Keyboard, mouse, trackpad or other input device get the most out of your app. We\u2019ll show you how to add customizations to the pointer on iPad using pointer interaction APIs, create pointer effects for your buttons and custom views, and change the pointer shape in specific areas of your app to highlight them.\n\nTo learn more about pointer interactions on iPad and to get the most out of this session, we recommend also watching \u201cDesign for the iPadOS pointer\u201d and \u201cHandle trackpad and mouse input.\u201d","title":"Build for the iPadOS pointer","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["better ipad","cursor","dynamic","keyboard","magic","magic keyboard","mouse","pointer","trackpad","uikit","uitouch"],"primaryTopicID":100,"topicIds":[87,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D556387F-C0F0-4C95-96B2-8E500FE386DC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10093\/4\/3B8A69F7-49AD-49B5-AFD5-1F1AF706199D\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10093\/4\/3B8A69F7-49AD-49B5-AFD5-1F1AF706199D\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10093\/4\/3B8A69F7-49AD-49B5-AFD5-1F1AF706199D\/wwdc2020_10093_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10093\/4\/3B8A69F7-49AD-49B5-AFD5-1F1AF706199D\/wwdc2020_10093_sd.mp4","duration":1370,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10055","wwdc2021-10057","wwdc2020-10052","wwdc2020-10094","wwdc2020-10640","wwdc2020-10906","articles-10703"],"resources":[892]}},"wwdc2020-10604":{"id":"wwdc2020-10604","staticContentId":3530,"eventContentId":10604,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-26T14:01:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10604","languageCode":"eng","description":"AR Quick Look adds a new dimension to online shopping: We'll show you how to easily showcase your products in augmented reality for a \"try before you buy\" experience. Discover how to display a product banner in AR Quick Look, integrate Apple Pay, or display custom actions like \"add to cart\".\n\nTo get the most out of this session, we recommend you familiarize yourself with \u201cAdvances in AR Quick Look\u201d from WWDC 2019. \n\nOnce you\u2019ve discovered the potential of AR Quick Look and Apple Pay to create interactive online shopping experiences, learn more about creating 3D objects and attaching interactions to them by watching \u201cWhat's new in USD.\u201d","title":"Shop online with AR Quick Look","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":85,"topicIds":[83,91,98,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B1896A88-5A01-49B6-B81B-CC593ED6CF8B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10604\/7\/5565A027-6950-4B1D-804F-2A555245FBA3\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10604\/7\/5565A027-6950-4B1D-804F-2A555245FBA3\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10604\/7\/5565A027-6950-4B1D-804F-2A555245FBA3\/wwdc2020_10604_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10604\/7\/5565A027-6950-4B1D-804F-2A555245FBA3\/wwdc2020_10604_sd.mp4","duration":1118,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10085","wwdc2021-10078","wwdc2020-10601","wwdc2020-10613","wwdc2020-10826","wwdc2019-612"],"resources":[737,736,658,508,25]}},"wwdc2020-10165":{"id":"wwdc2020-10165","staticContentId":3598,"eventContentId":10165,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10165","languageCode":"eng","description":"Swift uses type inference to help you write clean, concise code without compromising type safety. We\u2019ll show you how the compiler seeks out clues in your code to solve the type inference puzzle. Discover what happens when the compiler can't come to a solution, and find out how Xcode 12 integrates error tracking to help you understand and fix mistakes at compile time.","title":"Embrace Swift type inference","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9576EC28-9340-4E46-8880-36DE0228E48C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10165\/4\/F5BC5595-D6B4-4C08-B9EC-E801F766386B\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10165\/4\/F5BC5595-D6B4-4C08-B9EC-E801F766386B\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10165\/4\/F5BC5595-D6B4-4C08-B9EC-E801F766386B\/wwdc2020_10165_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10165\/4\/F5BC5595-D6B4-4C08-B9EC-E801F766386B\/wwdc2020_10165_sd.mp4","duration":1253,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10037","wwdc2018-406"],"resources":[45]}},"wwdc2020-10656":{"id":"wwdc2020-10656","staticContentId":3798,"eventContentId":10656,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10656","languageCode":"eng","description":"Move beyond step counting in your app and give people a much richer understanding of their mobility. We\u2019ll detail how you can take advantage of mobility metrics in iOS and watchOS to measure movement in more distinct and actionable ways. Learn about the latest HealthKit APIs for accessing mobility data, strategies for meaningful data aggregation, and how to interpret results for people using your app.","title":"Beyond counting steps","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["motion","motionprocessor","pedometer","stairs","steps"],"primaryTopicID":92,"topicIds":[92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"784CC0D7-FCD9-4891-ACDA-57FE7842BED5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10656\/3\/396B42E5-AAA7-4464-94DF-8F090FB4ED5E\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10656\/3\/396B42E5-AAA7-4464-94DF-8F090FB4ED5E\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10656\/3\/396B42E5-AAA7-4464-94DF-8F090FB4ED5E\/wwdc2020_10656_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10656\/3\/396B42E5-AAA7-4464-94DF-8F090FB4ED5E\/wwdc2020_10656_sd.mp4","duration":1265,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10179","wwdc2021-10287","wwdc2020-10151","wwdc2020-10182","wwdc2020-10184","wwdc2020-10216","wwdc2020-10664","wwdc2020-10755","wwdc2020-10835","wwdc2020-10843"],"resources":[506,232,87,77]}},"wwdc2020-10005":{"id":"wwdc2020-10005","staticContentId":3335,"eventContentId":10005,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10005","languageCode":"eng","description":"It\u2019s now easier than ever to deliver academic tests on the Mac. Learn how education developers can leverage the Automatic Assessment Configuration framework for iPhone, iPad, and Mac to deliver tests and assess students across all devices. And discover how developers can enable restricted features within tests and exams on iOS to accommodate student needs or suit the test content.","title":"What's new in assessment","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["assessment","catalyst","curriculum","education","student","testing"],"primaryTopicID":89,"topicIds":[96,89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0871537E-FA2A-4D94-B2E2-20CD15B9FF85","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10005\/3\/50CEFA81-2D73-4ACC-B274-399608A1BAAF\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10005\/3\/50CEFA81-2D73-4ACC-B274-399608A1BAAF\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10005\/3\/50CEFA81-2D73-4ACC-B274-399608A1BAAF\/wwdc2020_10005_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10005\/3\/50CEFA81-2D73-4ACC-B274-399608A1BAAF\/wwdc2020_10005_sd.mp4","duration":767,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10658","wwdc2020-10753","wwdc2020-10754","wwdc2020-10844"],"resources":[777]}},"wwdc2020-10654":{"id":"wwdc2020-10654","staticContentId":3487,"eventContentId":10654,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10654","languageCode":"eng","description":"Learn how to create Swift Playgrounds books that work fluidly across both Mac and iPad and help people of all ages explore the fun of coding in Swift. We\u2019ll walk you through how to customize content for each platform while considering platform settings, and help you take advantage of them in your playgrounds while still providing a smooth cross-platform experience.\n\nFor more on Swift Playgrounds, check out \"Build a SwiftUI view in Swift Playgrounds\", and try your hand with \"Swan\u2019s Quest\".","title":"Create Swift Playgrounds content for iPad and Mac","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["education","ipad","mac","playgrounds","swift","swift playgrounds"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7160A932-3A42-407C-ACE9-FE7E2FD2F418","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10654\/4\/6E1BE6B9-0F1A-4F75-AC96-E72CF0C6FFC1\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10654\/4\/6E1BE6B9-0F1A-4F75-AC96-E72CF0C6FFC1\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10654\/4\/6E1BE6B9-0F1A-4F75-AC96-E72CF0C6FFC1\/wwdc2020_10654_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10654\/4\/6E1BE6B9-0F1A-4F75-AC96-E72CF0C6FFC1\/wwdc2020_10654_sd.mp4","duration":509,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10643","wwdc2020-10681","wwdc2020-10682","wwdc2020-10683","wwdc2020-10684","wwdc2020-10694","wwdc2020-10792","wwdc2020-10925","wwdc2020-10945"],"resources":[1348]}},"wwdc2020-10640":{"id":"wwdc2020-10640","staticContentId":3509,"eventContentId":10640,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10640","languageCode":"eng","description":"Bring the power of the pointer to your iPad app: We\u2019ll show you how Apple's design team approached designing the iPadOS pointer to complement touch input, and how you can customize and refine pointer interactions in your app to make workflows more efficient and gratifying. Discover how the pointer\u2019s adaptive precision enables people to quickly and confidently target interface elements regardless of their size. We\u2019ll also share some best practices on adapting the pointer to complement your app's unique needs including how to select pointer effects and design pointer shapes, integrate trackpad gestures, and keyboard modifiers.","title":"Design for the iPadOS pointer","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F9A980A7-B00A-4856-9172-FDB610A419E5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10640\/5\/DFF319C6-2907-44A4-AE04-2439DACA8069\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10640\/5\/DFF319C6-2907-44A4-AE04-2439DACA8069\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10640\/5\/DFF319C6-2907-44A4-AE04-2439DACA8069\/wwdc2020_10640_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10640\/5\/DFF319C6-2907-44A4-AE04-2439DACA8069\/wwdc2020_10640_sd.mp4","duration":2494,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10057","wwdc2020-10093","wwdc2020-10206","wwdc2020-10694","wwdc2020-10739","wwdc2020-10906"],"resources":[740,10]}},"wwdc2020-10194":{"id":"wwdc2020-10194","staticContentId":3643,"eventContentId":10194,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10194","languageCode":"eng","description":"Widgets are at their best when they show up on someone\u2019s Home screen or in the Today View at the right time and provide actionable, relevant information. We\u2019ll show you how to build configurable widgets to let people create a personalized Home screen experience, and that take advantage of system intelligence to help people get what they want, when they want it. Learn how to customize your widget\u2019s configuration interface, and how to appear within Siri Suggestions or at the top of a widget Smart Stack based on user behavior or by letting the system know when there's new, timely information.\n\nFor more on widgets, watch \"Meet WidgetKit\". And for more on system intelligence, watch the collection \"Design for Intelligence.\"","title":"Add configuration and intelligence to your widgets","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["donations","intelligence","intelligent system experience","intents","proactive","shortcuts","stack intelligence","stacks","system intelligence","widget","widgetkit"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"210013BA-56F3-4F60-9CA3-091DEDE97AEF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10194\/2\/F906ACBE-2D67-4594-B041-E1F11352CF3A\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10194\/2\/F906ACBE-2D67-4594-B041-E1F11352CF3A\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10194\/2\/F906ACBE-2D67-4594-B041-E1F11352CF3A\/wwdc2020_10194_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10194\/2\/F906ACBE-2D67-4594-B041-E1F11352CF3A\/wwdc2020_10194_sd.mp4","duration":1652,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10048","wwdc2021-10231","wwdc2020-10028","wwdc2020-10035","wwdc2020-10036","wwdc2020-10068","wwdc2020-10069","wwdc2020-10086","wwdc2020-10087","wwdc2020-10088","wwdc2020-10200","wwdc2020-10203","wwdc2020-10879"]}},"wwdc2020-10040":{"id":"wwdc2020-10040","staticContentId":3729,"eventContentId":10040,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10040","languageCode":"eng","description":"Data is a complex part of any app, but SwiftUI makes it easy to ensure a smooth, data-driven experience from prototyping to production. Discover @State and @Binding, two powerful tools that can preserve and seamlessly update your Source of Truth. We'll also show you how ObservableObject lets you connect your views to your data model. Learn about some tricky challenges and cool new ways to solve them \u2014 directly from the experts!\n\nTo get the most out of this session, you should be familiar with SwiftUI. Watch \u201cApp essentials in SwiftUI\u201d and \"Introduction to SwiftUI\"","title":"Data Essentials in SwiftUI","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["$","appstorage","@binding","bindings","body a pure function","data dependency","data model","model","objectwillchange","observableobject","onchange","onreceive","performance","projectedvalue","property wrapper","prototyping","@published","publisher","scenes","scenestorage","source of truth","state","@state","@stateobject","view","willset"],"primaryTopicID":100,"topicIds":[99,101,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"68855B36-484F-4143-87E6-C7AB0E7D4E0F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10040\/3\/76E05CA6-5C92-45FC-8DB0-0009FC6D18F0\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10040\/3\/76E05CA6-5C92-45FC-8DB0-0009FC6D18F0\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10040\/3\/76E05CA6-5C92-45FC-8DB0-0009FC6D18F0\/wwdc2020_10040_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10040\/3\/76E05CA6-5C92-45FC-8DB0-0009FC6D18F0\/wwdc2020_10040_sd.mp4","duration":2175,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10072","wwdc2021-10019","wwdc2021-10022","wwdc2020-10031","wwdc2020-10037","wwdc2020-10041","wwdc2020-10119","wwdc2020-10149","wwdc2020-10699","wwdc2020-10700","wwdc2020-10701"],"resources":[921]}},"wwdc2020-10091":{"id":"wwdc2020-10091","staticContentId":3610,"eventContentId":10091,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10091","languageCode":"eng","description":"Plan for failure: Design great tests to help you find and diagnose even the toughest bugs. Learn how to improve your automated tests with XCTest to find hidden issues in even the best code. We\u2019ll explain how to prepare your tests for failure to make triaging issues easier, letting you solve interface issues and deliver fixes quickly.\n\nTo get the most out of this session, you should already be familiar with writing UI tests within the XCTest framework.\n\nFor more on testing tools, head over to \u201cThe suite life of testing\u201d.","title":"Write tests to fail","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["testing","xcode","xctest"],"primaryTopicID":88,"topicIds":[99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6FF61FD2-E5EA-4A9F-AEBC-39F2B009C4BC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10091\/2\/B1C6A6C1-C50B-41C3-826B-AE16864B2245\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10091\/2\/B1C6A6C1-C50B-41C3-826B-AE16864B2245\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10091\/2\/B1C6A6C1-C50B-41C3-826B-AE16864B2245\/wwdc2020_10091_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10091\/2\/B1C6A6C1-C50B-41C3-826B-AE16864B2245\/wwdc2020_10091_sd.mp4","duration":1075,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110361","wwdc2020-10142","wwdc2020-10164","wwdc2020-10220","wwdc2020-10221","wwdc2020-10687","wwdc2020-10746"]}},"wwdc2020-10200":{"id":"wwdc2020-10200","staticContentId":3695,"eventContentId":10200,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10200","languageCode":"eng","description":"Understand what motivates people to use your app \u2014 and how you can use system intelligence to help them and achieve your own goals as a developer. We'll take a look at a typical person's journey to better understand how an app can become a key part of their routine \u2014 and why some apps just don't stick. Learn how you can provide the right kind of value at the right time to help them in their everyday tasks, and how your app and the system can evolve alongside them.","title":"Design for intelligence: Meet people where they are","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["conversational interaction","extensions","intelligence","intelligence system experience","intents","intentsui","shortcuts","shortcuts app","siri","sirikit","system intelligence","voice","widgetkit","widgets"],"primaryTopicID":87,"topicIds":[83,86,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6E19BCA3-7252-42D3-B6B0-5B7DF38427A5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10200\/4\/575ED5AA-73D9-48C4-904C-CC97FDE94A36\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10200\/4\/575ED5AA-73D9-48C4-904C-CC97FDE94A36\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10200\/4\/575ED5AA-73D9-48C4-904C-CC97FDE94A36\/wwdc2020_10200_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10200\/4\/575ED5AA-73D9-48C4-904C-CC97FDE94A36\/wwdc2020_10200_sd.mp4","duration":353,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10060","wwdc2020-10061","wwdc2020-10068","wwdc2020-10069","wwdc2020-10071","wwdc2020-10073","wwdc2020-10074","wwdc2020-10080","wwdc2020-10083","wwdc2020-10084","wwdc2020-10086","wwdc2020-10087","wwdc2020-10088","wwdc2020-10190","wwdc2020-10194","wwdc2020-10197","wwdc2020-10839","wwdc2020-10877","wwdc2020-10878","wwdc2020-10879","wwdc2020-10914","wwdc2020-10917","wwdc2020-10918","wwdc2020-10963","wwdc2020-10980"]}},"wwdc2020-10039":{"id":"wwdc2020-10039","staticContentId":3727,"eventContentId":10039,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10039","languageCode":"eng","description":"Learn how to build a document-based app entirely in SwiftUI! We\u2019ll walk you through the DocumentGroup API and how it composes with your App and Scenes, allowing you to add out-of-the-box support for document management \u2014 such as document browsing and standard commands \u2014 no heavy lifting required. You\u2019ll learn to set up Universal Type Identifiers as well as gain understanding into what makes a top-notch document-based app.\n\nTo get the most out of this session, you should first familiarize yourself with building apps in SwiftUI. Check out \"App essentials in SwiftUI\" to learn more.","title":"Build document-based apps in SwiftUI","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["document","document app","document based app","document-based apps","documentgroup","exportedas","importedas","imported type identifier","windowgroup"],"primaryTopicID":100,"topicIds":[99,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"68960E87-E488-40C3-90E3-A820B5119FF0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10039\/3\/AB4F8C69-7A45-4CDB-A382-7D749ADB0891\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10039\/3\/AB4F8C69-7A45-4CDB-A382-7D749ADB0891\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10039\/3\/AB4F8C69-7A45-4CDB-A382-7D749ADB0891\/wwdc2020_10039_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10039\/3\/AB4F8C69-7A45-4CDB-A382-7D749ADB0891\/wwdc2020_10039_sd.mp4","duration":722,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10056","wwdc2020-10037","wwdc2020-10041","wwdc2020-10699","wwdc2020-10700","wwdc2020-10701"],"resources":[920,751]}},"wwdc2020-10611":{"id":"wwdc2020-10611","staticContentId":3418,"eventContentId":10611,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10611","languageCode":"eng","description":"ARKit 4 enables you to build the next generation of augmented reality apps to transform how people connect with the world around them. We\u2019ll walk you through the latest improvements to Apple\u2019s augmented reality platform, including how to use Location Anchors to connect virtual objects with a real-world longitude, latitude, and altitude. Discover how to harness the LiDAR Scanner on iPad Pro and obtain a depth map of your environment. And learn how to track faces in AR on more devices, including the iPad Air (3rd generation), iPad mini (5th generation), and all devices with the A12 Bionic chip or later that have a front-facing camera. \n\nTo get the most out of this session, you should be familiar with how your apps can take advantage of LiDAR Scanner on iPad Pro. Watch \u201cAdvanced Scene Understanding in AR\u201d for more information. \n\nOnce you\u2019ve learned how to leverage ARKit 4 in your iOS and iPadOS apps, explore realistic rendering improvements in \u201cWhat\u2019s New in RealityKit\u201d and other ARKit features like People Occlusion and Motion Capture with \u201cIntroducing ARKit 3\u201d.","title":"Explore ARKit 4","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4579EF09-F949-4C3F-A20B-7B4ADFDC52F7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10611\/8\/203AC69C-0F17-4709-B622-08C2740C7539\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10611\/8\/203AC69C-0F17-4709-B622-08C2740C7539\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10611\/8\/203AC69C-0F17-4709-B622-08C2740C7539\/wwdc2020_10611_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10611\/8\/203AC69C-0F17-4709-B622-08C2740C7539\/wwdc2020_10611_sd.mp4","duration":1658,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10001","tech-talks-21-10002","tech-talks-21-10049","tech-talks-21-10050","tech-talks-21-10051","tech-talks-21-10052","wwdc2021-10073","wwdc2020-10601","wwdc2020-10612","wwdc2020-10621","wwdc2020-10819","wwdc2020-10820","wwdc2020-10821","wwdc2019-603","wwdc2019-604"],"resources":[886,881,878,25]}},"wwdc2020-10162":{"id":"wwdc2020-10162","staticContentId":3354,"eventContentId":10162,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10162","languageCode":"eng","description":"When someone uses iPhone or iPad, they have control over how their location is shared with the apps they use \u2014 including sharing an approximate location rather than precise coordinates. This creates a more private experience across their device, and it impacts all apps that rely on location data or use it to supplement certain elements of their experience.\n\nDiscover how the designers of the Maps app redesigned elements within the Maps interface to provide people with more privacy. Learn tips, techniques, and strategies for creating an interface where people can share location data comfortably and confidently.","title":"Design for location privacy","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":87,"topicIds":[93,96,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B39F07BE-4E7A-4530-8BB9-B1C319F262EE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10162\/3\/D6788D29-2A26-4A77-B69F-34F28F2044ED\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10162\/3\/D6788D29-2A26-4A77-B69F-34F28F2044ED\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10162\/3\/D6788D29-2A26-4A77-B69F-34F28F2044ED\/wwdc2020_10162_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10162\/3\/D6788D29-2A26-4A77-B69F-34F28F2044ED\/wwdc2020_10162_sd.mp4","duration":450,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10140","wwdc2020-10660","wwdc2020-10676","wwdc2020-10739","wwdc2020-10759","wwdc2020-10761","wwdc2020-10848","wwdc2020-10887"],"resources":[814]}},"wwdc2020-10143":{"id":"wwdc2020-10143","staticContentId":3535,"eventContentId":10143,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:38:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10143","languageCode":"eng","description":"Discover the latest updates to Mac Catalyst and find out how you can bring your iPadOS app to the Mac. Explore enhancements to the application lifecycle, integrate new extensions into your apps, and learn how the new look and feel of macOS impacts Mac Catalyst apps. Get a taste of the new Optimized for Mac mode. And learn more about all the improvements \u2014 including framework availability and beautiful new designs \u2014 that make bringing your iPad app to the Mac easier than ever.\n\nTo get the most out of this session, you should have a basic familiarity with Mac Catalyst. We recommend you watch \u201cIntroducing iPad Apps for Mac\u201d to acquaint yourself. \n\nFor more on refining your Mac Catalyst app, consider watching \u201cOptimize the interface of your Mac Catalyst app\u201d.","title":"What's new in Mac Catalyst","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["macOS"],"keywords":["accent color","app lifecycle","color picker","color well","drag reordering","extensions","focus engine","ipad apps on mac","nscursor","optimized for mac","photo editing extensions","separator","sfsymbol","sf symbols","sidebar","toolbar","uidatepicker","uikit on mac","uisplitviewcontroller","uititlebartoolbarstyles","universal purchase"],"primaryTopicID":100,"topicIds":[86,88,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A6E55266-A1DB-4043-8302-F886EC940CEF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10143\/4\/EBC484F8-F255-4FC2-8604-1EA888EF5523\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10143\/4\/EBC484F8-F255-4FC2-8604-1EA888EF5523\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10143\/4\/EBC484F8-F255-4FC2-8604-1EA888EF5523\/wwdc2020_10143_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10143\/4\/EBC484F8-F255-4FC2-8604-1EA888EF5523\/wwdc2020_10143_sd.mp4","duration":927,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10346","wwdc2020-10028","wwdc2020-10041","wwdc2020-10056","wwdc2020-10104","wwdc2020-10109","wwdc2020-10205","wwdc2020-10705","wwdc2020-10707","wwdc2020-10708","wwdc2019-205","wwdc2019-235"],"resources":[742]}},"wwdc2020-10047":{"id":"wwdc2020-10047","staticContentId":3714,"eventContentId":10047,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:38:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10047","languageCode":"eng","description":"When people access the web within your app, their privacy is paramount. Safeguard that information by leveraging encrypted DNS across our platforms to deliver private and secure connectivity within your app. Discover how you can use system DNS settings to connect to encrypted servers or enable encrypted DNS within an app using standard networking APIs.\n\nEnabling encrypted DNS is yet another way your app can help preserve privacy for your customers and provide them with a better and more secure experience.","title":"Enable encrypted DNS","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["fingerprinting"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BDB5E0FF-5770-4AA9-BDFB-E391D4C2236F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10047\/4\/01915145-ACB0-4244-86DA-2FBCCFEC9B58\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10047\/4\/01915145-ACB0-4244-86DA-2FBCCFEC9B58\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10047\/4\/01915145-ACB0-4244-86DA-2FBCCFEC9B58\/wwdc2020_10047_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10047\/4\/01915145-ACB0-4244-86DA-2FBCCFEC9B58\/wwdc2020_10047_sd.mp4","duration":796,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10053","wwdc2022-10079","wwdc2020-10111","wwdc2020-10676","wwdc2020-10693","wwdc2020-10856","wwdc2020-10857","wwdc2020-10858"]}},"wwdc2020-10605":{"id":"wwdc2020-10605","staticContentId":3874,"eventContentId":10605,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10605","languageCode":"eng","description":"Learn how to locate graphics issues in minutes with Metal\u2019s debugging and performance optimization tools in Xcode 12. We\u2019ll show you how to diagnose problems quickly using Metal Debugger. Discover the new summary view, which suggests ways to improve memory usage, bandwidth, performance, and implementation of the Metal API.\n\nYou should have a basic understanding of Metal to get the most out of this session. For background, watch \u201cHarness Apple GPUs with Metal.\u201d","title":"Gain insights into your Metal app with Xcode 12","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[88,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C29620D3-AB46-42E6-BE6A-BA10624396AB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10605\/5\/DF0941E7-C0BC-41CD-AFEB-03940FC455E6\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10605\/5\/DF0941E7-C0BC-41CD-AFEB-03940FC455E6\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10605\/5\/DF0941E7-C0BC-41CD-AFEB-03940FC455E6\/wwdc2020_10605_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10605\/5\/DF0941E7-C0BC-41CD-AFEB-03940FC455E6\/wwdc2020_10605_sd.mp4","duration":857,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10125","wwdc2020-10602","wwdc2020-10603","wwdc2020-10616","wwdc2020-10631","wwdc2020-10810","wwdc2020-10811","wwdc2020-10812","wwdc2020-10813","wwdc2020-10814","wwdc2020-10815","wwdc2020-10816","wwdc2020-10817","wwdc2019-606","wwdc2018-608"],"resources":[38]}},"wwdc2020-10210":{"id":"wwdc2020-10210","staticContentId":3373,"eventContentId":10210,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10210","languageCode":"eng","description":"Keep code out of the kernel and give your customers a more secure and reliable experience with accessories using DriverKit. Discover how to create low-level drivers that support PCI devices or SCSI controllers. And find out how you can achieve great performance with DriverKit on macOS Big Sur.","title":"Modernize PCI and SCSI drivers with DriverKit","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["macOS"],"keywords":["driver","extension","hid","kernel","networking","pci","scsi","serial","usb"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CC1549EA-0BE4-4283-8904-1B7855B78B18","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10210\/3\/CD65DE89-E747-4A3E-A078-13ACD36B9B72\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10210\/3\/CD65DE89-E747-4A3E-A078-13ACD36B9B72\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10210\/3\/CD65DE89-E747-4A3E-A078-13ACD36B9B72\/wwdc2020_10210_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10210\/3\/CD65DE89-E747-4A3E-A078-13ACD36B9B72\/wwdc2020_10210_sd.mp4","duration":2213,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110373","wwdc2021-10190","wwdc2020-10211","wwdc2020-10899","wwdc2019-702"],"resources":[579]}},"wwdc2020-10176":{"id":"wwdc2020-10176","staticContentId":3421,"eventContentId":10176,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:01-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10176","languageCode":"eng","description":"Picture in Picture is coming to Apple TV: With simultaneous video playback and the ability to swap between full screen content and Picture in Picture, you\u2019ve never had more multitasking flexibility within your tvOS app. Discover how you can add AVPictureInPictureController to your project, leverage familiar APIs to create custom playback interfaces, and implement the best playback experience possible for people using your app. We'll also show you how to migrate away from the \"swipe up\" gesture to activate customOverlayViewController, as AVPlayerViewController now uses that gesture in tvOS 14.\n\nTo get the most out of this session, you should have a basic understanding of AVKit. For more information, watch \"Delivering Intuitive Media Playback with AVKit.\"\n\nWe can't wait to see how you take advantage of tvOS\u2019s unique Picture in Picture features with AVPlayerViewController.","title":"Master Picture in Picture on tvOS","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["tvOS"],"keywords":["appletv","apple tv","apple tv 4k","apple tv developer","avpictureinpicturecontroller","picture in picture","picture-in-picture","pip","tv","tv app","tv app dev","tv app developer","tv dev","tv developer","tvos","tvos dev","tvos developer","video"],"primaryTopicID":84,"topicIds":[100,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D13E0623-114D-4EE3-BA07-57F913E19688","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10176\/2\/4E16A761-E513-4658-9F3F-4BC73B38271A\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10176\/2\/4E16A761-E513-4658-9F3F-4BC73B38271A\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10176\/2\/4E16A761-E513-4658-9F3F-4BC73B38271A\/wwdc2020_10176_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10176\/2\/4E16A761-E513-4658-9F3F-4BC73B38271A\/wwdc2020_10176_sd.mp4","duration":1113,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10191","wwdc2020-10806","wwdc2020-10854","wwdc2020-10855","wwdc2019-503"],"resources":[2519,872,826,825]}},"wwdc2020-10077":{"id":"wwdc2020-10077","staticContentId":3794,"eventContentId":10077,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:02-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10077","languageCode":"eng","description":"Animations can dramatically enhance the user experience of your app, provide a sense of direct manipulation, and help people to better understand the results of their actions. Animation hitches can break that experience. Discover how to use XCTest to detect interruptions to smooth scrolling and animations, and learn how to catch regressions before they affect the people relying on your app.","title":"Eliminate animation hitches with XCTest","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["animate","battery","energy","metrics","performance","scroll","xcode","xctest"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CC95163D-3DAD-4775-8342-FC9321AE477D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10077\/2\/B3286370-EF32-46C5-AF96-8EF51A8EB971\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10077\/2\/B3286370-EF32-46C5-AF96-8EF51A8EB971\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10077\/2\/B3286370-EF32-46C5-AF96-8EF51A8EB971\/wwdc2020_10077_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10077\/2\/B3286370-EF32-46C5-AF96-8EF51A8EB971\/wwdc2020_10077_sd.mp4","duration":825,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10181","wwdc2020-10057","wwdc2020-10076","wwdc2020-10081","wwdc2020-10164","wwdc2020-10220","wwdc2020-10687","wwdc2020-10845","wwdc2020-10893","wwdc2020-10894"]}},"wwdc2020-10206":{"id":"wwdc2020-10206","staticContentId":3520,"eventContentId":10206,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10206","languageCode":"eng","description":"Discover the building blocks for designing a great iPad app: Learn how to minimize use of modal interfaces and leverage the new sidebar to increase efficiency by streamlining navigation and facilitating powerful drag and drop interactions. See how to take advantage of iPad\u2019s versatile interaction opportunities by supporting multitouch, pencil, keyboard, and trackpad. And create adaptive layouts that respond to all size classes and orientation to support a great multitasking experience. These techniques will not only improve your iPad app \u2014 they\u2019ll make it easier to create a Mac Catalyst app that truly feels right at home on macOS.","title":"Designed for iPad","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5C8F0205-3AE9-4647-870B-5C10FB7EA6FF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10206\/4\/AC4BAFCF-A06F-447C-B8C9-DF858FB6EB07\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10206\/4\/AC4BAFCF-A06F-447C-B8C9-DF858FB6EB07\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10206\/4\/AC4BAFCF-A06F-447C-B8C9-DF858FB6EB07\/wwdc2020_10206_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10206\/4\/AC4BAFCF-A06F-447C-B8C9-DF858FB6EB07\/wwdc2020_10206_sd.mp4","duration":1746,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10205","wwdc2020-10640","wwdc2020-10692","wwdc2020-10705"],"resources":[389]}},"wwdc2020-10631":{"id":"wwdc2020-10631","staticContentId":3661,"eventContentId":10631,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:02-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10631","languageCode":"eng","description":"Meet the Tile Based Deferred Rendering (TBDR) GPU architecture for Apple silicon Macs \u2014 the heart of your Metal app or game\u2019s graphics performance. Learn how you can translate or port your graphics-intensive app over to Apple silicon, and how to take advantage of TBDR and Metal when building natively for the platform. We\u2019ll look at how TBDR compares with the Immediate Mode Rendering pipeline of older Macs, go through common issues you may face when bringing an app or game over, and explore how to offer incredible performance when building with the native SDK.\n\nWe\u2019ve designed this session in tandem with \u201cOptimize Metal Performance for Apple silicon Macs.\u201d After you\u2019ve watched this session be sure to check that out next.","title":"Bring your Metal app to Apple silicon Macs","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["macOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1A61603E-ED61-4404-8068-5855B61EDD85","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10631\/4\/DC841F50-00E5-427F-90BD-555045D5EB52\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10631\/4\/DC841F50-00E5-427F-90BD-555045D5EB52\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10631\/4\/DC841F50-00E5-427F-90BD-555045D5EB52\/wwdc2020_10631_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10631\/4\/DC841F50-00E5-427F-90BD-555045D5EB52\/wwdc2020_10631_sd.mp4","duration":2032,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10125","wwdc2020-10214","wwdc2020-10602","wwdc2020-10603","wwdc2020-10605","wwdc2020-10615","wwdc2020-10616","wwdc2020-10632","wwdc2020-10810","wwdc2020-10811","wwdc2020-10812","wwdc2020-10813","wwdc2020-10814","wwdc2020-10815","wwdc2020-10816","wwdc2020-10817","tech-talks-10859"],"resources":[838,38]}},"wwdc2020-10168":{"id":"wwdc2020-10168","staticContentId":3603,"eventContentId":10168,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:02-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10168","languageCode":"eng","description":"Meet the latest generation of Swift unified logging APIs. Learn how to log events and errors in your app while preserving privacy. Take advantage of powerful yet readable options for formatting data \u2014 all without sacrificing performance. And we\u2019ll show you how you can gather and process log messages to help you understand and debug unexpected behavior in your apps.","title":"Explore logging in Swift","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[96,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C138B31F-D71C-4C52-AFE4-3002455A72D7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10168\/6\/0D041A0B-E4FC-4830-B955-576922C47E29\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10168\/6\/0D041A0B-E4FC-4830-B955-576922C47E29\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10168\/6\/0D041A0B-E4FC-4830-B955-576922C47E29\/wwdc2020_10168_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10168\/6\/0D041A0B-E4FC-4830-B955-576922C47E29\/wwdc2020_10168_sd.mp4","duration":1043,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10226","wwdc2020-10170","wwdc2020-10693"]}},"wwdc2020-10184":{"id":"wwdc2020-10184","staticContentId":3407,"eventContentId":10184,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10184","languageCode":"eng","description":"HealthKit provides you the tools to smartly manage health data anywhere, whether across multiple HealthKit-enabled devices such as iPhone and Apple Watch or with an external server to share data across a care team. In this session, we\u2019ll dive into managing data versions via HealthKit's built-in sync identifier metadata, how to detect changes in health data using an HKAnchoredObjectQuery, and cover best practices for ensuring you're always working with the right data everywhere.","title":"Synchronize health data with HealthKit","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["care","fitness"],"primaryTopicID":92,"topicIds":[92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7D2F27DF-C67F-4184-A129-64DB7803FBE0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10184\/3\/6519C262-9ECD-4F15-BE9D-15A6B37D1394\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10184\/3\/6519C262-9ECD-4F15-BE9D-15A6B37D1394\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10184\/3\/6519C262-9ECD-4F15-BE9D-15A6B37D1394\/wwdc2020_10184_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10184\/3\/6519C262-9ECD-4F15-BE9D-15A6B37D1394\/wwdc2020_10184_sd.mp4","duration":1342,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10023","wwdc2020-10182","wwdc2020-10656","wwdc2020-10664","wwdc2020-10669","wwdc2020-10755","wwdc2020-10843"],"resources":[897,87]}},"wwdc2020-10189":{"id":"wwdc2020-10189","staticContentId":3470,"eventContentId":10189,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10189","languageCode":"eng","description":"It's more important than ever to consider vulnerabilities and potential threats and recognize where you should apply safeguards in your app. Understand how to identify potential risks through threat modeling and how to avoid common anti-patterns. Learn coding techniques and how to take advantage of platform-supplied protections to help you mitigate risk and protect people while they're using your app.","title":"Secure your app: threat modeling and anti-patterns","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["data","privacy","protection","security","trust"],"primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"63B0AD44-9394-48FF-AD8A-B8F2EDA007A3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10189\/4\/164A0FEB-D524-40E7-89C9-A40F22CAA89C\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10189\/4\/164A0FEB-D524-40E7-89C9-A40F22CAA89C\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10189\/4\/164A0FEB-D524-40E7-89C9-A40F22CAA89C\/wwdc2020_10189_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10189\/4\/164A0FEB-D524-40E7-89C9-A40F22CAA89C\/wwdc2020_10189_sd.mp4","duration":2289,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-100211","wwdc2021-100356","wwdc2020-10638","wwdc2020-10676","wwdc2020-10778","wwdc2020-10779"],"resources":[74]}},"wwdc2020-10228":{"id":"wwdc2020-10228","staticContentId":3704,"eventContentId":10228,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:28-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10228","languageCode":"eng","description":"Apple has added Low-Latency extensions to the HTTP Live Streaming protocol that combine the quality and scalability of HLS with a stream delay of two seconds or less. Learn about the most recent developments in LL-HLS and how it allows you to make your video delivery competitive with broadcast and improve social media integration.\n\nFor an overview of Low-Latency HLS, watch \u201cIntroducing Low-Latency HLS\u201d from WWDC19.","title":"What's new in Low-Latency HLS","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AF34ECCB-3CF6-4E7F-835E-3118E7313E64","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10228\/7\/9BBA826D-6117-4305-A587-78FEE220580B\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10228\/7\/9BBA826D-6117-4305-A587-78FEE220580B\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10228\/7\/9BBA826D-6117-4305-A587-78FEE220580B\/wwdc2020_10228_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10228\/7\/9BBA826D-6117-4305-A587-78FEE220580B\/wwdc2020_10228_sd.mp4","duration":354,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10225","wwdc2020-10229","wwdc2020-10230","wwdc2020-10231","wwdc2020-10847","wwdc2020-10851"]}},"wwdc2020-20022":{"id":"wwdc2020-20022","staticContentId":4610,"eventContentId":20022,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/20022","languageCode":"eng","description":"Join us as we surprise the 2020 winners of the Apple Design Awards. The Apple Design Awards recognize excellence in design and innovation for apps and games across all of Apple\u2019s platforms.","title":"The winners of the 2020 Apple Design Awards","originalPublishingDate":"2020-06-27T00:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["ada","ada20","ada2020","adas","apple","apple design awards","award","celebration","darkroom","design","design best practices","facetime","facetime awards","game awards","game design","games","looom","sayonara wild hearts","shapr3d","sky","sky children of the light","song of bloom","staffpad","ui design","ux design","where cards fall"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8B6CFEE0-3501-48C2-8242-716EE62F6ECB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/20022\/2\/B840C53A-07D9-402E-885B-496EC240B22A\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/20022\/2\/B840C53A-07D9-402E-885B-496EC240B22A\/master.m3u8","duration":166,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en"]},"related":{"activities":["wwdc2021-113","wwdc2020-10690","wwdc2019-104","wwdc2018-103","wwdc2018-801","wwdc2017-802"],"resources":[14,13,11,10]}},"wwdc2020-10221":{"id":"wwdc2020-10221","staticContentId":3609,"eventContentId":10221,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:02-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10221","languageCode":"eng","description":"Improve your testing suite to speed up your feedback loop and get fixes in faster. Learn more about the latest improvements to testing in Xcode, including how to leverage test plans, Xcodebuild updates, and APIs to eliminate never-ending and badly-behaved tests. We\u2019ll explore Test Timeouts and Execution Time Allowances in XCTest, examine device parallelization, and detail recommended practices for balancing performance with clear fault localization.\n\nTo get the most out of this session, you should be familiar with authoring basic tests using XCTest and managing tests through test plans. For background, watch \u201cTesting in Xcode\u201d from WWDC19.","title":"Get your test results faster","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["continuous integration","testing","test result","xcode"],"primaryTopicID":88,"topicIds":[99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DB5C673A-88A5-48B8-9639-63634C9F1E17","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10221\/2\/6B07FDD7-B950-4B25-BA94-E07A733F537F\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10221\/2\/6B07FDD7-B950-4B25-BA94-E07A733F537F\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10221\/2\/6B07FDD7-B950-4B25-BA94-E07A733F537F\/wwdc2020_10221_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10221\/2\/6B07FDD7-B950-4B25-BA94-E07A733F537F\/wwdc2020_10221_sd.mp4","duration":984,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110361","wwdc2020-10091","wwdc2020-10164","wwdc2020-10220","wwdc2020-10687","wwdc2020-10692","wwdc2019-411","wwdc2018-403"]}},"wwdc2020-10684":{"id":"wwdc2020-10684","staticContentId":3502,"eventContentId":10684,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10684","languageCode":"eng","description":"Swift Playgrounds presents \"Swan\u2019s Quest,\u201d an interactive adventure in four chapters for all ages. It\u2019s time for the grand finale: You\u2019ve honed your skills with tones, but in this chapter our Hero needs to sequence multi-part harmony.\n\nDiscover how to play pitched instruments with MIDI codes, and you just might help our Hero find the rhythm\u2026 and complete their quest.\n\nSwan\u2019s Quest was created for Swift Playgrounds on iPad and Mac, combining frameworks and resources which power the educational experiences in many of our playgrounds, including Sonic Workshop, Sensor Arcade, and Augmented Reality. To learn more about building your own playgrounds, be sure to watch \"Create Swift Playgrounds content for iPad and Mac\". \n\nAnd don\u2019t forget to stop by the Developer Forums and share your solution for our side quests.","title":"Swan's Quest, Chapter 4: The sequence completes","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["playground","swan's quest","swans quest","swift","swift playgrounds","swift playgrounds challenge"],"primaryTopicID":99,"topicIds":[89,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9511F7AF-6932-4919-9F1B-6D404AE41661","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10684\/4\/A98BC348-AEAA-412A-98ED-F094D1D9FC2C\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10684\/4\/A98BC348-AEAA-412A-98ED-F094D1D9FC2C\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10684\/4\/A98BC348-AEAA-412A-98ED-F094D1D9FC2C\/wwdc2020_10684_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10684\/4\/A98BC348-AEAA-412A-98ED-F094D1D9FC2C\/wwdc2020_10684_sd.mp4","duration":488,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10643","wwdc2020-10654","wwdc2020-10681","wwdc2020-10682","wwdc2020-10683"],"resources":[859,858]}},"wwdc2020-10033":{"id":"wwdc2020-10033","staticContentId":3566,"eventContentId":10033,"eventId":"wwdc2020","contentUpdatedAt":"2026-07-20T14:58:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10033","languageCode":"eng","description":"Widgets are bite-sized pieces of information from your app that someone can choose to place on their home screen or Today view. Discover the process of building the views for a widget from scratch using SwiftUI. Brush up on the syntax that you\u2019ll need for widget-specific construction and learn how to incorporate those commands and customize your widget\u2019s interface for a great glanceable experience.\n\nTo learn more about widgets, be sure to check out \"Meet WidgetKit\" and \"Widgets Code-along\".","title":"Build SwiftUI views for widgets","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["alignment","canvas","containerrelativeshape","corner radii","corner radius","declarative","dynamic type","family","hstack","lazy shape","leading edge","placeholder","preview","spacer","swiftui","system large","system medium","system small","views","vstack","widgetkit","widgets"],"primaryTopicID":100,"topicIds":[83,99,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"364F4AEA-DC8B-4D55-B8C4-21B4E8BFBDA4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10033\/5\/062E0EF4-4132-4E4F-A5E9-807F30DCCBCC\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10033\/5\/062E0EF4-4132-4E4F-A5E9-807F30DCCBCC\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10033\/5\/062E0EF4-4132-4E4F-A5E9-807F30DCCBCC\/wwdc2020_10033_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10033\/5\/062E0EF4-4132-4E4F-A5E9-807F30DCCBCC\/wwdc2020_10033_sd.mp4","duration":1222,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10048","wwdc2020-10028","wwdc2020-10034","wwdc2020-10035","wwdc2020-10036","wwdc2020-10041","wwdc2020-10103","wwdc2020-10693","wwdc2020-10694"],"resources":[924,923,922,854,815,810]}},"wwdc2020-10209":{"id":"wwdc2020-10209","staticContentId":3371,"eventContentId":10209,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10209","languageCode":"eng","description":"Core NFC helps you scan and write to NFC tags in your apps, helping people get more from objects like parking meters, scooter rentals, car charging stations, and more. Learn about Core NFC\u2019s support for the ISO15693 protocol and new tag capabilities, and find out more about syntax improvements for Swift.","title":"What's new in Core NFC","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["nfc"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B5EBF984-F0FD-4AD7-9F13-8F32E841F445","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10209\/4\/A0EF8CFC-5168-44DA-9F88-3ECE05F82ACE\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10209\/4\/A0EF8CFC-5168-44DA-9F88-3ECE05F82ACE\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10209\/4\/A0EF8CFC-5168-44DA-9F88-3ECE05F82ACE\/wwdc2020_10209_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10209\/4\/A0EF8CFC-5168-44DA-9F88-3ECE05F82ACE\/wwdc2020_10209_sd.mp4","duration":351,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10892","wwdc2019-715"],"resources":[535]}},"wwdc2020-10969":{"id":"wwdc2020-10969","staticContentId":4441,"eventContentId":10969,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10969","languageCode":"eng","description":"Ever wondered which is more fun \u2014 filming in a hot tub or filming in a VR suit?\nThe cast and creators of the Apple TV+ hit show Mythic Quest: Raven\u2019s Banquet answer questions from the Apple developer community. Join Rob McElhenney (executive producer\/co-creator and Ian Grimm), Charlotte Nicdao (Poppy), Imani Hakim (Dana), Danny Pudi (Brad), and Megan Ganz (executive producer\/co-creator) as they review one of their favorite scenes and answer submitted questions.\n\nNote: Contains adult language. Mythic Quest: Raven\u2019s Banquet is rated TV-MA.","title":"A conversation with the cast and creators of Mythic Quest: Raven\u2019s Banquet","originalPublishingDate":"2020-06-25T17:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["apple tv+","charlotte nicdao","danny pudi","imani khan","mq","mythic","mythic quest","quest","raven","raven's banquet","rob mcelhenney"],"primaryTopicID":90,"topicIds":[90],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A850BDD2-9458-41E6-B239-B9E346FA4444","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10969\/4\/8C4E91EB-B1EC-45EA-8964-ADA23A5C50A0\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10969\/4\/8C4E91EB-B1EC-45EA-8964-ADA23A5C50A0\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10969\/4\/8C4E91EB-B1EC-45EA-8964-ADA23A5C50A0\/wwdc2020_10969_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10969\/4\/8C4E91EB-B1EC-45EA-8964-ADA23A5C50A0\/wwdc2020_10969_sd.mp4","duration":1560,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en"]},"related":{"activities":["wwdc2020-10971"]}},"wwdc2020-10153":{"id":"wwdc2020-10153","staticContentId":3436,"eventContentId":10153,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10153","languageCode":"eng","description":"With Core ML you can bring incredible machine learning models to your app and run them entirely on-device. And when you use Core ML Converters, you can incorporate almost any trained model from TensorFlow or PyTorch and take full advantage of the GPU, CPU, and Neural Engine. Discover everything you need to begin converting existing models from other ML platforms and explore how to create custom operations that extend the capabilities of your models.\n\nOnce you\u2019ve converted a model to Core ML, learn more about deployment strategy for those models by watching \u201cUse model deployment and security with Core ML.\u201d","title":"Get models on device using Core ML Converters","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["ai","artificial intelligence","converters","core ml","core ml converters","core ml tools","custom operations","deep learning","learning","machine learning","mil","model","natural language","neural network","python","tensorflow","training"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"924E989A-6C6B-47F7-9242-442B312B6F27","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10153\/3\/710F0174-7EF1-4E55-9E84-7699484D2B1F\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10153\/3\/710F0174-7EF1-4E55-9E84-7699484D2B1F\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10153\/3\/710F0174-7EF1-4E55-9E84-7699484D2B1F\/wwdc2020_10153_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10153\/3\/710F0174-7EF1-4E55-9E84-7699484D2B1F\/wwdc2020_10153_sd.mp4","duration":1876,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10047","wwdc2022-10017","wwdc2021-10038","wwdc2020-10152","wwdc2020-10638","wwdc2020-10711","wwdc2020-10717","wwdc2020-10718","wwdc2020-10719","tech-talks-10154"],"resources":[27]}},"wwdc2020-10659":{"id":"wwdc2020-10659","staticContentId":3352,"eventContentId":10659,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10659","languageCode":"eng","description":"Discover StoreKit Testing in Xcode \u2014 a local environment for testing your in-app purchases without needing to connect to App Store servers. We\u2019ll show you how to set up a test environment, create a StoreKit configuration file, and prepare to validate receipts locally. We\u2019ll also explain how to test a variety of in-app purchase scenarios and automate those tests with the StoreKitTest framework, and cover the latest improvements to testing in the sandbox environment.","title":"Introducing StoreKit Testing in Xcode","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["iap","in-app purchase","in-app purchases","sandbox","storekit","xctest"],"primaryTopicID":88,"topicIds":[86,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2FCA146D-2933-4E1E-835B-25205E2F1551","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10659\/10\/6FFA68D9-58F1-4DC0-BDBA-8E432292E682\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10659\/10\/6FFA68D9-58F1-4DC0-BDBA-8E432292E682\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10659\/10\/6FFA68D9-58F1-4DC0-BDBA-8E432292E682\/wwdc2020_10659_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10659\/10\/6FFA68D9-58F1-4DC0-BDBA-8E432292E682\/wwdc2020_10659_sd.mp4","duration":1492,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10013","wwdc2022-10039","wwdc2020-10661","wwdc2020-10756","wwdc2020-10840","wwdc2020-10841","wwdc2020-10842","wwdc2018-704","wwdc2017-305"],"resources":[803,802,801,800,799]}},"wwdc2020-10045":{"id":"wwdc2020-10045","staticContentId":3508,"eventContentId":10045,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:39-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10045","languageCode":"eng","description":"Diffable data sources dramatically simplify the work involved in managing and updating collection and table views to create dynamic and responsive experiences in your apps. Discover how you can use section snapshots to efficiently build lists and outline collection views for iOS and iPadOS and provide support for implementing the sidebar in an iPad app. We\u2019ll also show you how to simplify cell reordering using UICollectionViewDiffableDataSource to help you streamline your code and build app interfaces more quickly.\n\nThis session builds on 2019\u2019s \u201cAdvances in UI Data Sources,\u201d which you may want to check out first.","title":"Advances in diffable data sources","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["uicollectionview","uitableview"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4FF287A8-955E-4991-A646-908E5994013A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10045\/2\/7473959D-7A47-4AC5-ACC1-1FFD5712F680\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10045\/2\/7473959D-7A47-4AC5-ACC1-1FFD5712F680\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10045\/2\/7473959D-7A47-4AC5-ACC1-1FFD5712F680\/wwdc2020_10045_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10045\/2\/7473959D-7A47-4AC5-ACC1-1FFD5712F680\/wwdc2020_10045_sd.mp4","duration":715,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10252","wwdc2020-10026","wwdc2020-10027","wwdc2020-10907","wwdc2019-220"],"resources":[530]}},"wwdc2020-10094":{"id":"wwdc2020-10094","staticContentId":3588,"eventContentId":10094,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10094","languageCode":"eng","description":"Provide a more versatile experience when you optimize your iPad or Mac Catalyst app for indirect input from trackpads and mice. Discover how to make your app responsive to new events from these devices. Learn how to work with pointer movement, enable pointer locking, handle scroll input and trackpad gestures, and accept or reject events on your gesture recognizers. We\u2019ll also show you how to implement advanced features like changing gesture behaviors with keyboard modifiers or pointing device buttons to delight pro users and bring a richer experience to your app.\n\nTo learn more about pointer-based interactions and to get the most out of this session, we recommend watching \u201cBuild for the iPadOS pointer,\u201d \u201cBring keyboard and mouse gaming to iPad,\u201d and \u201cSupport hardware keyboards in your app.\u201d","title":"Handle trackpad and mouse input","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["catalyst","event","magic keyboard","mouse","trackpad"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2D5DA583-5301-4CDC-BA50-B75890881251","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10094\/3\/856B2AFB-E481-490E-A7AC-9446F47C0CFA\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10094\/3\/856B2AFB-E481-490E-A7AC-9446F47C0CFA\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10094\/3\/856B2AFB-E481-490E-A7AC-9446F47C0CFA\/wwdc2020_10094_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10094\/3\/856B2AFB-E481-490E-A7AC-9446F47C0CFA\/wwdc2020_10094_sd.mp4","duration":1445,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10076","wwdc2021-10346","wwdc2020-10093","wwdc2020-10109","wwdc2020-10617","wwdc2020-10906","wwdc2020-10908","wwdc2019-235"]}},"wwdc2020-10651":{"id":"wwdc2020-10651","staticContentId":3348,"eventContentId":10651,"eventId":"wwdc2020","contentUpdatedAt":"2026-06-08T15:29:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10651","languageCode":"eng","description":"Discover the latest improvements to App Store Connect, your suite of tools to upload, submit, and manage apps on the App Store. Learn about enhancements to the App Store Connect API, in-app purchase and subscriptions, Game Center, and more.","title":"What's new in App Store Connect","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["api","distribution","in-app purchase","inapppurchases","json","metadata","metadata feeds","testflight","test flight","testing","transporter"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"98FFE128-B430-48BA-94E7-1009E2B70F52","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10651\/7\/19F5D15D-9CF8-4C8F-8F72-35C38DB269F6\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10651\/7\/19F5D15D-9CF8-4C8F-8F72-35C38DB269F6\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10651\/7\/19F5D15D-9CF8-4C8F-8F72-35C38DB269F6\/wwdc2020_10651_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10651\/7\/19F5D15D-9CF8-4C8F-8F72-35C38DB269F6\/wwdc2020_10651_sd.mp4","duration":1332,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10097","wwdc2021-10012","wwdc2021-10013","wwdc2021-10115","wwdc2021-10170","wwdc2021-10171","wwdc2021-10295","wwdc2020-10004","wwdc2020-10098","wwdc2020-10118","wwdc2020-10146","wwdc2020-10756","wwdc2020-10840","wwdc2020-10841","wwdc2020-10842"],"resources":[463,462,309]}},"wwdc2020-10089":{"id":"wwdc2020-10089","staticContentId":3460,"eventContentId":10089,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T13:32:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10089","languageCode":"eng","description":"Find and fix rendering and optimization issues in your Core Image pipeline with Xcode environment variable. Discover how you can set the environment variable for visualizing your Core Image graphs. You'll learn how to generate Core Image graphs and how to interpret them to discover memory, color, and performance issues and better improve and optimize your Core Image pipeline.","title":"Discover Core Image debugging techniques","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["coreimage","graphics","image processing","metal","performance","video","xcode"],"primaryTopicID":91,"topicIds":[84,88,95,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"62320BED-3BC3-46F2-8196-2980D9A1D4E3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10089\/5\/36633315-0427-4533-B65F-57E8A9804A81\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10089\/5\/36633315-0427-4533-B65F-57E8A9804A81\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10089\/5\/36633315-0427-4533-B65F-57E8A9804A81\/wwdc2020_10089_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10089\/5\/36633315-0427-4533-B65F-57E8A9804A81\/wwdc2020_10089_sd.mp4","duration":436,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10159","wwdc2021-10160","wwdc2020-10008","wwdc2020-10014","wwdc2020-10021","wwdc2020-10723"],"resources":[32]}},"wwdc2020-10650":{"id":"wwdc2020-10650","staticContentId":3580,"eventContentId":10650,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:39-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10650","languageCode":"eng","description":"Discover how Core Data can help you adopt the CloudKit public database in your app with as little as one line of code. Learn how to easily manage the flow of data through your app and in and out of CloudKit. We\u2019ll show you how to combine the complementary power of Core Data and the CloudKit public database to allow people to access \u2014 and contribute to \u2014 data, such as high scores or application templates. \n\nTo familiarize yourself with the CloudKit Database, check out our \u201cCKDatabase\u201d documentation, and to learn more about CloudKit integration, read \u201cMirroring a Core Data Store with CloudKit.\u201d","title":"Sync a Core Data store with the CloudKit public database","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["canmodifymanagedobjects","canupdaterecordformanageddata","cdmr","ckfetchrecordzonechangesoperation","ckqueryoperation","deleting objects in the public database","derived objects","import","nspersistentcloudkitcontaineroptions","persistent container","private database","public database","record modify","schema"],"primaryTopicID":101,"topicIds":[100,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1E34671C-94B1-4E73-9FC0-205707143502","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10650\/4\/C47E2A5A-4327-4EAC-A879-3B8FD7904A58\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10650\/4\/C47E2A5A-4327-4EAC-A879-3B8FD7904A58\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10650\/4\/C47E2A5A-4327-4EAC-A879-3B8FD7904A58\/wwdc2020_10650_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10650\/4\/C47E2A5A-4327-4EAC-A879-3B8FD7904A58\/wwdc2020_10650_sd.mp4","duration":1098,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10724","wwdc2020-10725","wwdc2020-10726","wwdc2020-10900","wwdc2020-10901","wwdc2019-202"],"resources":[698,694,693]}},"wwdc2020-10152":{"id":"wwdc2020-10152","staticContentId":3435,"eventContentId":10152,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10152","languageCode":"eng","description":"Discover how to deploy Core ML models outside of your app binary, giving you greater flexibility and control when bringing machine learning features to your app. And learn how Core ML Model Deployment enables you to deliver revised models to your app without requiring an app update. We\u2019ll also walk you through how you can protect custom machine learning models through encryption, and preview your model performance in Xcode.\n\nFor more information on working with Core ML, including bringing over models trained in environments like TensorFlow and PyTorch, we also recommend watching \"Get your models on device using Core ML Converters.\u201d","title":"Use model deployment and security with Core ML","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["ai","artificial intelligence","cloud","cloudkit","core ml","core ml tools","create ml","deep learning","encryption","learning","machine learning","model","model deployment","model encryption","neural network"],"primaryTopicID":94,"topicIds":[88,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DBE2DAAC-8F18-4B77-B036-EF35D9C5668B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10152\/7\/2EDC8089-D292-4CE8-828D-DCD22EFAD2F9\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10152\/7\/2EDC8089-D292-4CE8-828D-DCD22EFAD2F9\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10152\/7\/2EDC8089-D292-4CE8-828D-DCD22EFAD2F9\/wwdc2020_10152_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10152\/7\/2EDC8089-D292-4CE8-828D-DCD22EFAD2F9\/wwdc2020_10152_sd.mp4","duration":1482,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10153","wwdc2020-10676","wwdc2020-10711","wwdc2020-10717","wwdc2020-10718","wwdc2020-10719"],"resources":[27]}},"wwdc2020-10012":{"id":"wwdc2020-10012","staticContentId":3469,"eventContentId":10012,"eventId":"wwdc2020","contentUpdatedAt":"2025-09-09T12:11:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10012","languageCode":"eng","description":"Achieve photorealistic 3D scenes in your apps and games through ray tracing \u2014 a core part of the Metal graphics framework and Shading Language. Discover the fundamentals of the Metal ray tracing API and Shading Language extensions for ray tracing, find out how to use them in your graphics apps and games, and learn how to take control of your kernels and combine them into a single compute kernel for optimal performance.","title":"Discover ray tracing with Metal","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B7BFB5CB-C62C-4175-8C0B-2524280F2C4C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10012\/5\/C35EF7F6-AAB8-4A37-9F4D-21E5ABC1C26A\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10012\/5\/C35EF7F6-AAB8-4A37-9F4D-21E5ABC1C26A\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10012\/5\/C35EF7F6-AAB8-4A37-9F4D-21E5ABC1C26A\/wwdc2020_10012_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10012\/5\/C35EF7F6-AAB8-4A37-9F4D-21E5ABC1C26A\/wwdc2020_10012_sd.mp4","duration":1265,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10128","wwdc2021-10157","wwdc2021-100247","wwdc2021-100288","wwdc2021-100310","wwdc2021-100351","wwdc2020-10018","wwdc2020-10813","wwdc2020-10816"],"resources":[880,647,525,357,263,56,38,31]}},"wwdc2020-10164":{"id":"wwdc2020-10164","staticContentId":3493,"eventContentId":10164,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10164","languageCode":"eng","description":"Get the test results that matter \u2014 and skip the ones that don\u2019t. Discover how you can implement XCTSkip to conditionally avoid tests at runtime. We'll take you through how to return this new test result and better document tests beyond pass and fail within your test bundle.\n\nTo get the most out of this session, you should be familiar with XCTest and unit\/UI testing. Watch \u201cTesting in Xcode\u201d for a primer.\n\nOnce you\u2019ve learned about XCTSkip, learn more about improvements in testing: Watch \"Triage test failures with XCTIssue\", \"Handle interruptions and alerts in UI tests\", \"Get your test results faster\", and \"Eliminate animation hitches with XCTest\".\n\nTo learn how to improve your testing suites, check out \"Write tests to fail\".","title":"XCTSkip your tests","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["continuous integration","testing","test result","xcode","xct","xctest","xctskip"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A37FA8BD-95F0-4D38-BC8D-2C185A176A01","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10164\/4\/3A9C343F-42ED-48B9-B8CA-D9645E719CFB\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10164\/4\/3A9C343F-42ED-48B9-B8CA-D9645E719CFB\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10164\/4\/3A9C343F-42ED-48B9-B8CA-D9645E719CFB\/wwdc2020_10164_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10164\/4\/3A9C343F-42ED-48B9-B8CA-D9645E719CFB\/wwdc2020_10164_sd.mp4","duration":395,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110361","wwdc2020-10077","wwdc2020-10091","wwdc2020-10220","wwdc2020-10221","wwdc2020-10687","wwdc2019-413"]}},"wwdc2020-10666":{"id":"wwdc2020-10666","staticContentId":3473,"eventContentId":10666,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:06-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10666","languageCode":"eng","description":"When you adopt the Account Authentication Modification Extension, you can provide people with fast, easy account security upgrades to use Sign in with Apple and strong passwords in the iCloud Keychain Password Manager. We\u2019ll show you how to add these upgrade flows to your app with the Account Authentication Modification Extension, the AuthenticationServices Framework API, and best practices required for a smooth password transition.","title":"One-tap account security upgrades","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["2fa","account security","app clip","asextensionlocalizedfailurereasonerrorkey","aspasswordcredential","authorizeupgrade","autofill","breached","breaches","changepasswordwithoutuserinteraction","completechangepasswordrequest","factor","in-app","login","prepareinterfacetochangepassword","prepareinterfacetoconvertaccounttosigninwithapple","second","security code","sign in","sms",".well-known"],"primaryTopicID":96,"topicIds":[98,100,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0164AFCB-0E94-4CAA-865F-B3C39DA30052","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10666\/6\/D7AC2207-1C98-4C40-B53E-B41D8B673E40\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10666\/6\/D7AC2207-1C98-4C40-B53E-B41D8B673E40\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10666\/6\/D7AC2207-1C98-4C40-B53E-B41D8B673E40\/wwdc2020_10666_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10666\/6\/D7AC2207-1C98-4C40-B53E-B41D8B673E40\/wwdc2020_10666_sd.mp4","duration":1446,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10122","wwdc2021-110107","wwdc2020-10120","wwdc2020-10173","wwdc2020-10740","wwdc2020-10743","wwdc2020-10744","wwdc2020-10836","wwdc2019-706","wwdc2017-206"],"resources":[578,527,432,426]}},"wwdc2020-10028":{"id":"wwdc2020-10028","staticContentId":3356,"eventContentId":10028,"eventId":"wwdc2020","contentUpdatedAt":"2026-07-20T14:58:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10028","languageCode":"eng","description":"Meet WidgetKit: the best way to bring your app\u2019s most useful information directly to the home screen. We'll show you what makes a great widget and take a look at WidgetKit's features and functionality. Learn how to get started creating a widget, and find out how WidgetKit leverages the power of SwiftUI to provide a stateless experience. Discover how to harness your existing proactive technologies to make sure your widget surfaces relevant material. And create a Timeline that ensures your content is always fresh.\n\nFor more on creating widgets, check out \"Build SwiftUI views for widgets\" and \"The widgets code-along.\"","title":"Meet WidgetKit","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["duration","extension","glanceable","inintents","intent","intentconfiguration","link api","multiplatform","personalizable","placeholder","placeholder ui","relevance","relevant","reload policy","reloads","reloadtimelines","score","smart stacks","snapshot","stateless ui","staticconfiguration","swiftui","timeline","timelineentryrelevance","widget","widgetkit"],"primaryTopicID":83,"topicIds":[99,100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1A1A0DC6-AD04-47C9-831D-20B151C4E7AC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10028\/5\/0329D737-A170-472B-97B9-BFD031C7CD41\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10028\/5\/0329D737-A170-472B-97B9-BFD031C7CD41\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10028\/5\/0329D737-A170-472B-97B9-BFD031C7CD41\/wwdc2020_10028_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10028\/5\/0329D737-A170-472B-97B9-BFD031C7CD41\/wwdc2020_10028_sd.mp4","duration":1392,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10050","wwdc2022-10051","wwdc2021-10048","wwdc2020-10030","wwdc2020-10033","wwdc2020-10034","wwdc2020-10035","wwdc2020-10036","wwdc2020-10041","wwdc2020-10068","wwdc2020-10103","wwdc2020-10143","wwdc2020-10194","wwdc2020-10660","wwdc2020-10692"],"resources":[924,923,922,854,815,810]}},"wwdc2020-10156":{"id":"wwdc2020-10156","staticContentId":3440,"eventContentId":10156,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10156","languageCode":"eng","description":"With the Create ML framework you have more power than ever to easily develop models and automate workflows. We'll show you how to explore and interact with your machine learning models while you train them, helping you get a better model quickly. Discover how training control in Create ML can customize your training workflow with checkpointing APIs to pause, save, resume, and extend your training process. And find out how you can monitor your progress programmatically using Combine APIs.\n\nIf you're not already familiar with Create ML and curious about training machine learning models, be sure to watch \u201cIntroducing the Create ML App.\u201d","title":"Control training in Create ML with Swift","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["macOS"],"keywords":["checkpointing","checkpoints","combine","core ml","create ml","iterations","ml job","ml session","playgrounds","swift"],"primaryTopicID":94,"topicIds":[99,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5D7A8089-E150-4693-BED3-61AEBEB3D25B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10156\/4\/EA8484C6-7456-457B-B105-A9D03C7FB92B\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10156\/4\/EA8484C6-7456-457B-B105-A9D03C7FB92B\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10156\/4\/EA8484C6-7456-457B-B105-A9D03C7FB92B\/wwdc2020_10156_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10156\/4\/EA8484C6-7456-457B-B105-A9D03C7FB92B\/wwdc2020_10156_sd.mp4","duration":1119,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10037","wwdc2020-10043","wwdc2020-10642","wwdc2020-10711","wwdc2020-10717","wwdc2020-10718","wwdc2020-10719","wwdc2019-430"],"resources":[443]}},"wwdc2020-10642":{"id":"wwdc2020-10642","staticContentId":3439,"eventContentId":10642,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10642","languageCode":"eng","description":"Bring stylized effects to your photos and videos with Style Transfer in Create ML. Discover how you can train models in minutes that make it easy to bring creative visual features to your app. Learn about the training process and the options you have for controlling the results. And we\u2019ll explore the real-time performance of these models by demonstrating three of them simultaneously in ARKit.\n\nTo get the most out of this session, you should be familiar with Create ML. For an overview, watch \u201cIntroducing the Create ML App.\u201d","title":"Build Image and Video Style Transfer models in Create ML","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ai","core ml","create ml","neural network","photo","photo effects","style density","style strength","style transfer","video","video effects"],"primaryTopicID":94,"topicIds":[88,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6D5773AA-C6E4-4722-BA9C-F3750362D46E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10642\/5\/64274BC5-1940-4124-8B2F-4E1B9378202A\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10642\/5\/64274BC5-1940-4124-8B2F-4E1B9378202A\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10642\/5\/64274BC5-1940-4124-8B2F-4E1B9378202A\/wwdc2020_10642_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10642\/5\/64274BC5-1940-4124-8B2F-4E1B9378202A\/wwdc2020_10642_sd.mp4","duration":708,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10156","wwdc2020-10711","wwdc2020-10717","wwdc2020-10718","wwdc2020-10719","wwdc2019-430"],"resources":[443]}},"wwdc2020-10225":{"id":"wwdc2020-10225","staticContentId":3427,"eventContentId":10225,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10225","languageCode":"eng","description":"Deliver live and on-demand audio and video to iPhone, iPad, Apple Watch, Mac, PC, and Apple TV with HTTP Live Streaming (HLS). Learn about tools and features to help improve the authoring of your HLS streams and provide low-latency delivery and better audio performance to people watching or listening to your content. We\u2019ll also walk you through creating Low-Latency HLS test streams, integrating audio codecs, and creating master playlists.","title":"Improve stream authoring with HLS Tools","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"284BC521-F5DC-4322-9844-C2292A6BBFC1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10225\/1\/071CF9A2-F9B9-48A1-8D81-012721D0A52C\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10225\/1\/071CF9A2-F9B9-48A1-8D81-012721D0A52C\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10225\/1\/071CF9A2-F9B9-48A1-8D81-012721D0A52C\/wwdc2020_10225_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10225\/1\/071CF9A2-F9B9-48A1-8D81-012721D0A52C\/wwdc2020_10225_sd.mp4","duration":641,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en"]},"related":{"activities":["wwdc2020-10158","wwdc2020-10228","wwdc2020-10230","wwdc2020-10231","wwdc2020-10694","wwdc2020-10847","wwdc2020-10851","wwdc2019-502"]}},"wwdc2020-10017":{"id":"wwdc2020-10017","staticContentId":3579,"eventContentId":10017,"eventId":"wwdc2020","contentUpdatedAt":"2025-10-07T16:02:25-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10017","languageCode":"eng","description":"Core Data is the central way to durably and persistently store information from your app \u2014 and we\u2019re going to show you how to refine that implementation for even faster data ingest and fetching. Discover how you can improve data capture with batch insert, tailor fetch requests to your data needs, and react to notifications about changes in the persistent store.\n\nTo get the most out of this session, you should know and have interacted with Core Data in the past. For more information on the framework, watch \u201cMaking Apps with Core Data.\u201d","title":"Core Data: Sundries and maxims","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["batch delete","batch ingestion","batch insert","batch insert with dictionary block","batch operations","block ingestion","dictionary block","fetch request","history request","nsbatchdeleterequest","nsbatchinsertrequest","nsmanagedobjectcontext","persistent history","persistent store","remote change notification","remote change notifications","upsert"],"primaryTopicID":101,"topicIds":[88,100,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4A5D0CED-FEE2-4055-9BDD-EDBE1247E132","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10017\/5\/F2FB4653-3146-4087-A264-6EFCE0C197D5\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10017\/5\/F2FB4653-3146-4087-A264-6EFCE0C197D5\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10017\/5\/F2FB4653-3146-4087-A264-6EFCE0C197D5\/wwdc2020_10017_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10017\/5\/F2FB4653-3146-4087-A264-6EFCE0C197D5\/wwdc2020_10017_sd.mp4","duration":1047,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10724","wwdc2020-10725","wwdc2020-10726","wwdc2019-230"],"resources":[699]}},"wwdc2020-10013":{"id":"wwdc2020-10013","staticContentId":3762,"eventContentId":10013,"eventId":"wwdc2020","contentUpdatedAt":"2025-09-09T12:11:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10013","languageCode":"eng","description":"Metal is a low-level, low-overhead hardware-accelerated graphics framework and shader application programming interface for producing stunning visual effects in applications. Discover how to make your shaders written in Metal Shading Language more programmable and extensible by using function pointers. Learn how to take advantage of this new feature for dynamic flow control in Metal shaders. Discover how to use function pointers to specify custom intersection functions in your ray tracing application. We\u2019ll explain how function pointers allow several compilations models so you can balance GPU pipeline size against runtime performance.","title":"Get to know Metal function pointers","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"096F2D17-04F1-4D4E-8312-0E6778425662","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10013\/4\/17EAECF9-AE48-4108-B8E1-7214F30DC9AC\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10013\/4\/17EAECF9-AE48-4108-B8E1-7214F30DC9AC\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10013\/4\/17EAECF9-AE48-4108-B8E1-7214F30DC9AC\/wwdc2020_10013_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10013\/4\/17EAECF9-AE48-4108-B8E1-7214F30DC9AC\/wwdc2020_10013_sd.mp4","duration":1231,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10157","wwdc2021-10229","wwdc2020-10018","wwdc2020-10813","wwdc2020-10816","wwdc2020-10817"],"resources":[647,525,365,357,263,56,38,31]}},"wwdc2020-10037":{"id":"wwdc2020-10037","staticContentId":3725,"eventContentId":10037,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10037","languageCode":"eng","description":"Thanks to the new App protocol, SwiftUI now supports building entire apps! See how Apps, Scenes, and Views fit together. Learn how easy it is to implement the features people expect from a best-in-class product while saving time and reducing complexity. Easily add expected functionality to your interface using the new commands modifier, and explore the ins and outs of the new WindowGroup API.\n\nTo get the most out of this session, you should have some experience with SwiftUI. Watch \u201cIntroduction to SwiftUI\u201d for a primer.\n\nWant more SwiftUI? Take your pick: \u201cWhat\u2019s new in SwiftUI\u201d, \u201cData essentials in Swift UI \u201d, \"Stacks, grids, and outlines in SwiftUI\", and \u201cBuild document-based apps in SwiftUI\u201d.","title":"App essentials in SwiftUI","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["app protocol","apps","body property","commands","commands modifier","custom commands","data-driven app","documentgroup","navigationtitle","scene","scenes","scenestorage","scenestorage property wrapper","settings","settings scene","stateobject","view definition","view modifier","views","windowgroup"],"primaryTopicID":100,"topicIds":[99,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"31FCE92E-3250-4CB6-9414-655AFFAFA522","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10037\/4\/5067872D-87D8-44F5-9E73-28180361AC31\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10037\/4\/5067872D-87D8-44F5-9E73-28180361AC31\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10037\/4\/5067872D-87D8-44F5-9E73-28180361AC31\/wwdc2020_10037_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10037\/4\/5067872D-87D8-44F5-9E73-28180361AC31\/wwdc2020_10037_sd.mp4","duration":929,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10031","wwdc2020-10039","wwdc2020-10040","wwdc2020-10041","wwdc2020-10119","wwdc2020-10149","wwdc2020-10165","wwdc2020-10693","wwdc2020-10699","wwdc2020-10700","wwdc2020-10701"],"resources":[919,918,917]}},"wwdc2020-10090":{"id":"wwdc2020-10090","staticContentId":3463,"eventContentId":10090,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10090","languageCode":"eng","description":"Make decoding and displaying ProRes content easier in your Mac app: Learn how to implement an optimal graphics pipeline by leveraging AVFoundation and VideoToolbox\u2019s decoding capabilities. We\u2019ll share best practices and performance considerations for your app, show you how to integrate Afterburner cards into your pipeline, and walk through how you can display decoded frames using Metal.","title":"Decode ProRes with AVFoundation and VideoToolbox","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["macOS"],"keywords":["av foundation","metal","performance","prores","video"],"primaryTopicID":84,"topicIds":[88,91,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E2F7D03E-B5A1-4385-8062-A30AA397F936","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10090\/6\/EA16694F-BEEC-44FF-A129-12336E5390B9\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10090\/6\/EA16694F-BEEC-44FF-A129-12336E5390B9\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10090\/6\/EA16694F-BEEC-44FF-A129-12336E5390B9\/wwdc2020_10090_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10090\/6\/EA16694F-BEEC-44FF-A129-12336E5390B9\/wwdc2020_10090_sd.mp4","duration":1420,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10015","wwdc2020-10804"],"resources":[52]}},"wwdc2020-10145":{"id":"wwdc2020-10145","staticContentId":3659,"eventContentId":10145,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10145","languageCode":"eng","description":"Get your game's interface ready for Game Center. We\u2019ll show you how to deliver personalized touches to the GameKit interface that provide a rich experience for players, with features like achievements, leaderboards, and multiplayer gaming. Learn how to customize your game\u2019s access point, design collectible card-style achievements and multiple leaderboards, and adapt your interface for all platforms and orientations.\n\nOnce you\u2019ve learned about designing for Game Center, learn how to integrate the GameKit framework into your game with \u201cTap into Game Center\u201d and watch \u201cBring keyboard and mouse gaming to iPad\u201d and \u201cAdvancements in Game Controllers\u201d to discover how to add specialty keyboard controls or game controllers.","title":"Design for Game Center","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["access point","achievement","arcade","dashboard","game","game best practices","game center","game center design","game design","game designer","game developer","gamekit","game kit","games","in game","leaderboard","main menu","multiplayer","pause menu","social","social gaming"],"primaryTopicID":87,"topicIds":[91,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1A1DBC1F-F678-4E94-8B98-E5476E51B2EB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10145\/4\/4CE0B7D8-290B-4983-B7DE-0FD504DC54C9\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10145\/4\/4CE0B7D8-290B-4983-B7DE-0FD504DC54C9\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10145\/4\/4CE0B7D8-290B-4983-B7DE-0FD504DC54C9\/wwdc2020_10145_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10145\/4\/4CE0B7D8-290B-4983-B7DE-0FD504DC54C9\/wwdc2020_10145_sd.mp4","duration":1087,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10064","wwdc2022-10065","wwdc2021-10066","wwdc2021-10067","wwdc2021-100171","wwdc2021-100255","wwdc2021-100316","wwdc2020-10614","wwdc2020-10617","wwdc2020-10618","wwdc2020-10619","wwdc2020-10692"],"resources":[827]}},"wwdc2020-10008":{"id":"wwdc2020-10008","staticContentId":3461,"eventContentId":10008,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T13:32:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10008","languageCode":"eng","description":"Explore how you can harness the processing power of Core Image and optimize video performance within your app. We\u2019ll show you how to build your Core Image pipeline for applying effects to your video in your apps: Discover how to reduce your app\u2019s memory footprint when using CIContext, and learn best practices for using AVPlayView or MTKView view classes for video playback with Core Image filters. Additionally, find out why you should write your own custom kernels in the Metal Shading Language, and learn performance tips for optimal usage of Metal command queues in your Core Image pipeline.","title":"Optimize the Core Image pipeline for your video app","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["coreimage","graphics","image processing","metal","performance","video"],"primaryTopicID":84,"topicIds":[88,91,95,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8A29FB37-1AF5-455C-8B16-CE3CD41CF7FF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10008\/6\/42FB3921-E69F-4E23-8E73-1AD4191B5877\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10008\/6\/42FB3921-E69F-4E23-8E73-1AD4191B5877\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10008\/6\/42FB3921-E69F-4E23-8E73-1AD4191B5877\/wwdc2020_10008_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10008\/6\/42FB3921-E69F-4E23-8E73-1AD4191B5877\/wwdc2020_10008_sd.mp4","duration":517,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110565","wwdc2021-10159","wwdc2021-10160","wwdc2020-10014","wwdc2020-10021","wwdc2020-10089","wwdc2020-10723"],"resources":[32]}},"wwdc2020-10026":{"id":"wwdc2020-10026","staticContentId":3586,"eventContentId":10026,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10026","languageCode":"eng","description":"Learn how to build lists and sidebars in your app with UICollectionView. Replace table view appearance while taking advantage of the full flexibility of compositional layout. Explore modular layout options and find out how they can unlock more design options for your apps than ever before. Find out how to combine table view-like lists with custom compositional layouts inside of a single UICollectionView. Discover how to work with lists, create richer cells, and customize your layout to create a well-designed presentation of information within your app.\n\nTo get the most out of this session, you should have a basic understanding of compositional layouts. Watch \u201cAdvances in Collection View Layout\u201d from WWDC19 for more information.","title":"Lists in UICollectionView","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["outline","sidebar","table","uitableview"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7E6D084F-24CF-41D0-A4FF-91CEAD18655B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10026\/6\/9DBF6E96-B0C9-4104-B03E-F016434855BD\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10026\/6\/9DBF6E96-B0C9-4104-B03E-F016434855BD\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10026\/6\/9DBF6E96-B0C9-4104-B03E-F016434855BD\/wwdc2020_10026_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10026\/6\/9DBF6E96-B0C9-4104-B03E-F016434855BD\/wwdc2020_10026_sd.mp4","duration":1014,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10027","wwdc2020-10045","wwdc2020-10097","wwdc2020-10105","wwdc2020-10907","wwdc2019-215"],"resources":[530]}},"wwdc2020-10006":{"id":"wwdc2020-10006","staticContentId":3389,"eventContentId":10006,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10006","languageCode":"eng","description":"You can now store car keys on iPhone or Apple Watch. You no longer have to bring your key fob to unlock and start your car. And with digital keys, it's easy to share them with family or friends, and manage keys remotely.\n\nThis session is intended for automakers who want to adopt digital car keys in their vehicles. We'll talk about the core feature set including owner pairing, transactions (when you unlock or start your car), key sharing, and key management. Learn about the car key architecture and how it ensures security and privacy. Get information on where to go next for information on hardware and specifications.","title":"Introducing Car Keys","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["\ud83d\udd11","\ud83d\ude97","\ud83d\ude99","car","nfc","u1","ultra wideband","uwb"],"primaryTopicID":83,"topicIds":[96,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FDC0ADB2-435A-4B98-8AAC-B9E74653B2B4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10006\/2\/9AEBCF31-6D56-4432-AD25-F0BD213AFA55\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10006\/2\/9AEBCF31-6D56-4432-AD25-F0BD213AFA55\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10006\/2\/9AEBCF31-6D56-4432-AD25-F0BD213AFA55\/wwdc2020_10006_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10006\/2\/9AEBCF31-6D56-4432-AD25-F0BD213AFA55\/wwdc2020_10006_sd.mp4","duration":1292,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10084","wwdc2020-10693"]}},"wwdc2020-10115":{"id":"wwdc2020-10115","staticContentId":3807,"eventContentId":10115,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10115","languageCode":"eng","description":"Discover how to implement AutoFill in your app and help people enter their information into fields easily, privately, and securely. Learn how to help the system to give better suggestions that tailor to your app's functionality: offer smart location suggestions within a navigation app, for example, or provide a private way to input contact information into fields from the QuickType bar.\n\nIn macOS Big Sur, AutoFill has been extended beyond Safari, to apps. Learn about the small changes that you can make to take advantage of this feature and bring convenience, added security, and a frictionless experience to people using your macOS apps.\n\nFor more on the latest privacy improvements to our platforms, watch \u201cBuild trust through better privacy.\u201d","title":"AutoFill everywhere","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["auto","fill","password","text input"],"primaryTopicID":96,"topicIds":[100,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2AB8989A-0759-412F-9181-E27C42FF9DFE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10115\/8\/FFE4310A-D8B3-4E53-8BBF-D799F4F858E5\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10115\/8\/FFE4310A-D8B3-4E53-8BBF-D799F4F858E5\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10115\/8\/FFE4310A-D8B3-4E53-8BBF-D799F4F858E5\/wwdc2020_10115_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10115\/8\/FFE4310A-D8B3-4E53-8BBF-D799F4F858E5\/wwdc2020_10115_sd.mp4","duration":613,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10003","wwdc2021-10276","wwdc2020-10173","wwdc2020-10676"]}},"wwdc2020-10031":{"id":"wwdc2020-10031","staticContentId":3455,"eventContentId":10031,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:13-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10031","languageCode":"eng","description":"Display detailed data in your SwiftUI apps more quickly and efficiently with improved stacks and new list and outline views. Now available on iOS and iPadOS for the first time, outlines are a new multi-platform tool for expressing hierarchical data that work alongside stacks and lists. Learn how to use new and improved tools in SwiftUI to display more content on screen when using table views, create smooth-scrolling and responsive stacks, and build out list views for content that needs more than a vStack can provide. Take your layout options even further with the new grid view, as well as disclosure groups.\n\nTo get the most out of this video, we recommend first checking out \u201cSwiftUI App Essentials,\u201d which provides an overview of everything new in SwiftUI for 2020. If you\u2019re brand-new to coding with SwiftUI, we also suggest watching 2019\u2019s \u201cSwiftUI Essentials\u201d talk.","title":"Stacks, Grids, and Outlines in SwiftUI","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["children key path","disclosuregroup","disclosure groups","disclosure triangle","forms","griditem","group","hierarchical data","hstack","isexpanded","label","layout primitives","lazygrid","lazyhgrid","lazyhstack","lazyvgrid","lazyvstack","liststyle","outlinegroup","outline groups","scrolling","selection","sidebar","tree structure data","vstack"],"primaryTopicID":100,"topicIds":[99,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1636D358-5C36-4027-B204-81FFE4D05B7D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10031\/4\/CC07F299-2B37-486D-9BA2-F305684689A2\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10031\/4\/CC07F299-2B37-486D-9BA2-F305684689A2\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10031\/4\/CC07F299-2B37-486D-9BA2-F305684689A2\/wwdc2020_10031_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10031\/4\/CC07F299-2B37-486D-9BA2-F305684689A2\/wwdc2020_10031_sd.mp4","duration":1148,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10248","wwdc2022-10056","wwdc2020-10037","wwdc2020-10040","wwdc2020-10041","wwdc2020-10693","wwdc2020-10694","wwdc2020-10699","wwdc2020-10700","wwdc2020-10701","wwdc2019-216"],"resources":[916]}},"wwdc2020-10036":{"id":"wwdc2020-10036","staticContentId":3574,"eventContentId":10036,"eventId":"wwdc2020","contentUpdatedAt":"2026-07-20T14:58:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10036","languageCode":"eng","description":"Take your widget to the next level as we embark upon the third and final stage of the widgets code-along. Pick up where you left off in Part 2 or start with the Part 3 starter project to go warp speed ahead. We\u2019ll explore advanced concepts for widgets, timelines, and configuration. Learn how to load in-process and background URLs and link directly to content within your app. And discover how to create multiple widgets that explore different features within your app, as well as making your widget dynamically configurable.\n\nFor more on creating great widgets, watch \"Build SwiftUI views for widgets\u201d.","title":"Widgets Code-along, part 3: Advancing timelines","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["dynamic configuration","multiple widgets","onbackgroundurlsessionevents","swiftui","url sessions","widget","widgetbundle","widgetkit"],"primaryTopicID":100,"topicIds":[83,99,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3E5606D7-88BF-4C18-B78F-61EAFCC84DDD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10036\/3\/7DCA777C-43D0-4737-B04C-3D232B54A481\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10036\/3\/7DCA777C-43D0-4737-B04C-3D232B54A481\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10036\/3\/7DCA777C-43D0-4737-B04C-3D232B54A481\/wwdc2020_10036_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10036\/3\/7DCA777C-43D0-4737-B04C-3D232B54A481\/wwdc2020_10036_sd.mp4","duration":546,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10028","wwdc2020-10033","wwdc2020-10034","wwdc2020-10035","wwdc2020-10041","wwdc2020-10194"],"resources":[810]}},"wwdc2020-10027":{"id":"wwdc2020-10027","staticContentId":3809,"eventContentId":10027,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10027","languageCode":"eng","description":"Discover new techniques for configuring collection view and table view cells to quickly build dynamic interfaces in your app. Explore configuration types you can use to easily populate cells with content and apply common styles. Take advantage of powerful APIs to customize the appearance of cells for different states. Find out about patterns and best practices that simplify your code, eliminate bugs, and improve performance.","title":"Modern cell configuration","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["collectionview","tableview","uicollectionview","uitableview"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7D681B38-5645-4191-A199-01FB872067DA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10027\/2\/8BF22D86-7C86-4813-980B-183CC5B693DE\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10027\/2\/8BF22D86-7C86-4813-980B-183CC5B693DE\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10027\/2\/8BF22D86-7C86-4813-980B-183CC5B693DE\/wwdc2020_10027_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10027\/2\/8BF22D86-7C86-4813-980B-183CC5B693DE\/wwdc2020_10027_sd.mp4","duration":1780,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10072","wwdc2021-10191","wwdc2021-10260","wwdc2020-10026","wwdc2020-10045","wwdc2020-10097","wwdc2020-10105","wwdc2020-10907"],"resources":[530]}},"wwdc2020-10057":{"id":"wwdc2020-10057","staticContentId":3536,"eventContentId":10057,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10057","languageCode":"eng","description":"Track your app\u2019s performance metrics in custom team dashboards, bug reporting systems, and other custom workflows with the Power and Performance Metrics and Diagnostics API. Explore how you can access the same data that drives the Power and Performance analysis tools in Xcode to quickly identify trends and regressions. Learn how to leverage diagnostic signatures and logs \u2014 including call stack trees \u2014 to prioritize and debug issues. And discover how you can integrate this API with your development team\u2019s existing tools to troubleshoot issues quickly, offering better overall performance for people who use your app.","title":"Identify trends with the Power and Performance API","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["analytics","app store connect","automation","diagnostics","insights","json","metrics","web api"],"primaryTopicID":86,"topicIds":[88,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AC92355F-019A-4E14-804A-75D44E81327F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10057\/3\/138E68BD-E9B2-4980-8CF7-738D58F9959D\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10057\/3\/138E68BD-E9B2-4980-8CF7-738D58F9959D\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10057\/3\/138E68BD-E9B2-4980-8CF7-738D58F9959D\/wwdc2020_10057_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10057\/3\/138E68BD-E9B2-4980-8CF7-738D58F9959D\/wwdc2020_10057_sd.mp4","duration":912,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10082","wwdc2021-10087","wwdc2021-10181","wwdc2021-10348","wwdc2020-10004","wwdc2020-10076","wwdc2020-10077","wwdc2020-10081","wwdc2020-10845","wwdc2020-10893","wwdc2020-10894"]}},"wwdc2020-10220":{"id":"wwdc2020-10220","staticContentId":3608,"eventContentId":10220,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10220","languageCode":"eng","description":"Learn how to anticipate potential interruptions to your app\u2019s interface and build smart tests to identify them. UI interruptions often appear indeterminately, typically during onboarding or first launch, which can make them hard to track down. Learn how to understand interruptions, write stronger tests with UI interruption handlers, and manage expected alerts.\n\nTo learn more about the latest improvements for testing your app in Xcode, check out \u201cXCTSkip your tests\u201d, \u201cGet your test results faster\u201d, and \u201cTriage test failures with XCTIssue\u201d.","title":"Handle interruptions and alerts in UI tests","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["alerts","protected resources","testing","ui interruptions","ui testing","xcode"],"primaryTopicID":88,"topicIds":[99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8194B1B8-E111-4591-8FCE-15879CE8C10D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10220\/3\/3529A3B2-1763-4B11-989D-D5B6B986EFE6\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10220\/3\/3529A3B2-1763-4B11-989D-D5B6B986EFE6\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10220\/3\/3529A3B2-1763-4B11-989D-D5B6B986EFE6\/wwdc2020_10220_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10220\/3\/3529A3B2-1763-4B11-989D-D5B6B986EFE6\/wwdc2020_10220_sd.mp4","duration":703,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10077","wwdc2020-10091","wwdc2020-10164","wwdc2020-10221","wwdc2020-10687","wwdc2018-702","wwdc2018-718"]}},"wwdc2020-10105":{"id":"wwdc2020-10105","staticContentId":3521,"eventContentId":10105,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10105","languageCode":"eng","description":"Learn how to improve iPad apps to leverage the increased screen size and additional features of iPadOS, and help people accomplish more with their devices. Discover how you can build detailed multi-column layouts and integrate lists into your app with little adjustment to your existing code. We\u2019ll also explore reducing modality within your views to make it easier to navigate your interface with fewer taps and touches.\n\nTo get the most out of this session, you should have a general understanding of iPad app layouts and UIKit. For more information, watch \u201cMaking Apps Adaptive, Part 1.\u201d And while not necessary, familiarity with UICollectionView may also be helpful. Watch \u201cAdvances in Collection View Layout\u201d for an overview. \n\nWant to learn more about list creation for your apps? Watch \u201cLists in UICollectionView\u201d.","title":"Build for iPad","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AEBBDDE7-582D-47A4-9F66-D9BD9193883E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10105\/2\/8B0CF78F-98E7-440E-B226-565F58288462\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10105\/2\/8B0CF78F-98E7-440E-B226-565F58288462\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10105\/2\/8B0CF78F-98E7-440E-B226-565F58288462\/wwdc2020_10105_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10105\/2\/8B0CF78F-98E7-440E-B226-565F58288462\/wwdc2020_10105_sd.mp4","duration":1426,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10026","wwdc2020-10027","wwdc2020-10097","wwdc2020-10705","wwdc2020-10908","wwdc2020-20007","wwdc2019-215","wwdc2019-220","wwdc2016-222"],"resources":[757,756,755]}},"wwdc2020-10641":{"id":"wwdc2020-10641","staticContentId":3347,"eventContentId":10641,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10641","languageCode":"eng","description":"Access the photos and videos you need for your app while preserving privacy. With the new Limited Photos Library feature, people can directly control which photos and videos an app can access to protect their private content. We\u2019ll explore how this feature may affect your app, and take you through alternatives like PHPicker.\n\nCheck out \u201cMeet the New Photos Picker\u201d to learn more about PHPicker and how this this fully private picker can help you avoid requiring full Photos Library access in your app.","title":"Handle the Limited Photos Library in your app","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["photokit","photo library","photos","photos api","picker","privacy"],"primaryTopicID":95,"topicIds":[96,100,95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0060ABAA-9660-459A-8BFE-5DDF39DBEDA9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10641\/5\/51B91C53-BFDD-41DD-9EA3-418DE396897F\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10641\/5\/51B91C53-BFDD-41DD-9EA3-418DE396897F\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10641\/5\/51B91C53-BFDD-41DD-9EA3-418DE396897F\/wwdc2020_10641_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10641\/5\/51B91C53-BFDD-41DD-9EA3-418DE396897F\/wwdc2020_10641_sd.mp4","duration":857,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10105","wwdc2021-10046","wwdc2021-10160","wwdc2020-10652","wwdc2020-10676","wwdc2020-10793","wwdc2020-10794","wwdc2017-505"],"resources":[374]}},"wwdc2020-10681":{"id":"wwdc2020-10681","staticContentId":3499,"eventContentId":10681,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10681","languageCode":"eng","description":"Swift Playgrounds presents \"Swan\u2019s Quest,\u201d an interactive adventure in four chapters for all ages. In this chapter, our Hero must navigate a dark cave \u2014 and the only way to light the torches is to make them accessible.\n\nLearn about VoiceOver and write interesting audio descriptions. You just might help our Hero find their way out\u2026 and get a clue for the next challenge.\n\nSwan\u2019s Quest was created for Swift Playgrounds on iPad and Mac, combining frameworks and resources which power the educational experiences in many of our playgrounds, including Sonic Workshop, Sensor Arcade, and Augmented Reality. To learn more about building your own playgrounds, be sure to watch \"Create Swift Playgrounds content for iPad and Mac\". \n\nAnd don\u2019t forget to stop by the Developer Forums and let us know what you thought of Swan\u2019s Quest.","title":"Swan's Quest, Chapter 1: Voices in the dark","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["accessibility","swan's quest","swans quest","swift playgrounds","swift playgrounds challenge","voiceover"],"primaryTopicID":99,"topicIds":[82,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"536E92B9-885E-45C5-AC91-4C6724E4BFD2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10681\/2\/75903D9E-3E93-4132-B19F-B20AEB99018F\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10681\/2\/75903D9E-3E93-4132-B19F-B20AEB99018F\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10681\/2\/75903D9E-3E93-4132-B19F-B20AEB99018F\/wwdc2020_10681_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10681\/2\/75903D9E-3E93-4132-B19F-B20AEB99018F\/wwdc2020_10681_sd.mp4","duration":883,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10643","wwdc2020-10654","wwdc2020-10682","wwdc2020-10683","wwdc2020-10684"],"resources":[859,855]}},"wwdc2020-10205":{"id":"wwdc2020-10205","staticContentId":3771,"eventContentId":10205,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10205","languageCode":"eng","description":"Create iPhone and iPad apps that look great and help people move quickly and directly to the information they need. Discover how you can integrate menus into your app for quick access to actions and settings, and learn where and when you should use them in your app. We\u2019ll also walk you through the new Date Picker and Color Picker controls, and show you how to integrate them into your app.","title":"Design with iOS pickers, menus and actions","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5E0BCBB2-9A08-4906-BB1E-6F184E5AC600","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10205\/6\/3F1FA0B1-A578-47C9-A8C8-77126E57FDBF\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10205\/6\/3F1FA0B1-A578-47C9-A8C8-77126E57FDBF\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10205\/6\/3F1FA0B1-A578-47C9-A8C8-77126E57FDBF\/wwdc2020_10205_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10205\/6\/3F1FA0B1-A578-47C9-A8C8-77126E57FDBF\/wwdc2020_10205_sd.mp4","duration":894,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10052","wwdc2020-10056","wwdc2020-10143","wwdc2020-10206","wwdc2020-10739"],"resources":[10]}},"wwdc2020-10657":{"id":"wwdc2020-10657","staticContentId":3443,"eventContentId":10657,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10657","languageCode":"eng","description":"Explore how you can leverage the Natural Language framework to better analyze and understand text. Learn how to draw meaning from text using the framework's built-in word and sentence embeddings, and how to create your own custom embeddings for specific needs.\n\nWe\u2019ll show you how to use samples to train a custom text classifier or word tagger to extract important pieces of information out of text\u2014 all powered by the transfer learning algorithms in Natural Language. Find out how you can create apps that can answer user questions, recognize similarities in text, and find relevant documents, images, and more.\n\nTo get the most out of this session, you should have a basic understanding of the Natural Language framework. For an overview, watch \u201cIntroducing Natural Language Framework\u201d and \u201cAdvances in Natural Language Framework.\u201d You can also brush up on model training using Create ML through \u201cIntroducing the Create ML App.\u201d","title":"Make apps smarter with Natural Language","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["core ml","create ml","custom models","embeddings","machine learning","natural language","nlp","sentence embedding","text analysis","text processing","word embedding","word tagging"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"775B7DAD-B0FC-437B-9DDC-E7FD72320C81","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10657\/6\/2C0D8310-7D45-4FD5-B49E-91B0F6D2B511\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10657\/6\/2C0D8310-7D45-4FD5-B49E-91B0F6D2B511\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10657\/6\/2C0D8310-7D45-4FD5-B49E-91B0F6D2B511\/wwdc2020_10657_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10657\/6\/2C0D8310-7D45-4FD5-B49E-91B0F6D2B511\/wwdc2020_10657_sd.mp4","duration":2464,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10042","wwdc2020-10638","wwdc2020-10711","wwdc2020-10717","wwdc2020-10718","wwdc2020-10719","wwdc2019-232","wwdc2018-713"]}},"wwdc2020-10120":{"id":"wwdc2020-10120","staticContentId":3577,"eventContentId":10120,"eventId":"wwdc2020","contentUpdatedAt":"2025-09-26T10:41:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10120","languageCode":"eng","description":"App Clips are best when they provide an \u201cin the moment\u201d experience for people using them, like ordering your favorite refreshing beverage or paying for parking. We\u2019ll share guidelines and best practices for building focused and consistent App Clips, show you how to streamline transaction experiences by taking advantage of technologies like App Clip notifications and location confirmation, and explore how you can help people move from your App Clip over to your full app. \n\nTo get the most out of this session, we recommend first watching \u201cExplore App Clips\u201d and \u201cConfigure and link your App Clips.\u201d","title":"Streamline your App Clip","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["8 hours notification","asset catalog","aswebauthenticationsession","ephemeral notification","inregion","location confirmation","nsappcliprequestephemeralusernotification","permission requests","request permissions","secure app group","sign in with apple","skoverlay","transaction"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1DDFD138-2247-45EE-9204-39E5E0FD191E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10120\/4\/921130DC-4D6D-4D9B-8990-AE17E9068B2F\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10120\/4\/921130DC-4D6D-4D9B-8990-AE17E9068B2F\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10120\/4\/921130DC-4D6D-4D9B-8990-AE17E9068B2F\/wwdc2020_10120_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10120\/4\/921130DC-4D6D-4D9B-8990-AE17E9068B2F\/wwdc2020_10120_sd.mp4","duration":1215,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10118","wwdc2020-10146","wwdc2020-10172","wwdc2020-10174","wwdc2020-10661","wwdc2020-10666","wwdc2020-10676","wwdc2020-10696","wwdc2020-10697","wwdc2020-10966","wwdc2019-504","wwdc2018-714","wwdc2015-711"],"resources":[1469,915,884,853,807]}},"wwdc2020-10009":{"id":"wwdc2020-10009","staticContentId":3464,"eventContentId":10009,"eventId":"wwdc2020","contentUpdatedAt":"2025-11-04T16:52:08-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10009","languageCode":"eng","description":"Find out how you can support HDR editing and playback in your macOS app, and how you can determine if a specific hardware configuration is eligible for HDR playback. We'll show you how to use AVMutableVideoComposition with the built-in compositor and easily edit HDR content, explain how you can use Core Image's built-in image filters to create your own AVMutableVideoComposition, and demonstrate how to create and use a custom compositor to enable HDR editing.","title":"Edit and play back HDR video with AVFoundation","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["metal","performance","prores","video","videotoolbox"],"primaryTopicID":84,"topicIds":[88,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C9D3FE5D-F7E9-4222-A91F-30A9699FAAB0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10009\/8\/2BA74921-CA85-43BC-8CDD-0C0236B7A44F\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10009\/8\/2BA74921-CA85-43BC-8CDD-0C0236B7A44F\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10009\/8\/2BA74921-CA85-43BC-8CDD-0C0236B7A44F\/wwdc2020_10009_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10009\/8\/2BA74921-CA85-43BC-8CDD-0C0236B7A44F\/wwdc2020_10009_sd.mp4","duration":1442,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110565","wwdc2021-10047","wwdc2021-10158","wwdc2021-10161","wwdc2020-10015","wwdc2020-10802","wwdc2020-10803","wwdc2020-10804","tech-talks-110337"],"resources":[909,52]}},"wwdc2020-10658":{"id":"wwdc2020-10658","staticContentId":3334,"eventContentId":10658,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10658","languageCode":"eng","description":"For over 40 years, Apple has been working with educators to create technologies for students, teachers, and school administrators and help them share in a rich and meaningful learning experience. Explore the breadth of Apple's education technologies, including classroom management apps and tools and developer frameworks for assessment and curriculum integration \u2014 and discover how your app can have a critical role in them all.","title":"What's new in education","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["asm","assessment","classkit","classroom","configurator","schoolwork","student","testing"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3757E1E0-81EE-4AA5-B6EA-117C87E17E6F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10658\/8\/827B5251-1529-46D9-AFD4-274C9CECE198\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10658\/8\/827B5251-1529-46D9-AFD4-274C9CECE198\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10658\/8\/827B5251-1529-46D9-AFD4-274C9CECE198\/wwdc2020_10658_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10658\/8\/827B5251-1529-46D9-AFD4-274C9CECE198\/wwdc2020_10658_sd.mp4","duration":661,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10005","wwdc2020-10672","wwdc2020-10753","wwdc2020-10754","wwdc2020-10844"],"resources":[777,385]}},"wwdc2020-10613":{"id":"wwdc2020-10613","staticContentId":3451,"eventContentId":10613,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10613","languageCode":"eng","description":"Discover proposed schema and structure updates to the Universal Scene Description (USD) standard. Learn how you can use Reality Composer to build AR content with interactive properties like anchoring, physics, behaviors, 3D text, and spatial audio that exports to USDZ. And, discover streamlined workflows that help you bring newly-created objects into your app.\n\nIf you're interested to learn more about USDZ as a distribution format, check out \"Working with USD.\u201d And for more on creating AR content with Reality Composer, watch \u201cThe Artist's AR Toolkit.\"\n\nWe\u2019d love to hear feedback about the preliminary schemas. After you watch this session, come join us on the Developer Forums and share your thoughts.","title":"What's new in USD","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2E4C84D9-BFFD-4A78-B058-DE3853198B3F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10613\/5\/2355BD15-75EB-4F6F-951C-91C1A46242E1\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10613\/5\/2355BD15-75EB-4F6F-951C-91C1A46242E1\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10613\/5\/2355BD15-75EB-4F6F-951C-91C1A46242E1\/wwdc2020_10613_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10613\/5\/2355BD15-75EB-4F6F-951C-91C1A46242E1\/wwdc2020_10613_sd.mp4","duration":1481,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10077","wwdc2020-10601","wwdc2020-10604","wwdc2020-10822","wwdc2019-602"]}},"wwdc2020-10004":{"id":"wwdc2020-10004","staticContentId":3349,"eventContentId":10004,"eventId":"wwdc2020","contentUpdatedAt":"2026-06-08T15:29:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10004","languageCode":"eng","description":"Make routine tasks in App Store Connect a thing of the past when you automate your workflow with the App Store Connect API. Learn how you can manage more about your presence on the App Store with the App Metadata API, or use the new Power and Performance Metrics and Diagnostics API to access the same aggregate data that drives the Power and Performance analysis tools in Xcode. Whether you\u2019re managing team members and provisioning profiles, adding or removing beta testers, or downloading your sales and financial reports, this comprehensive API makes automation of these processes a snap.","title":"Expanding automation with the App Store Connect API","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["app store","automation","json","testflight"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1427FCD4-EA68-4C5F-B4F6-D162BCD2E652","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10004\/5\/7436A537-996F-4CD6-B553-9303BFB99348\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10004\/5\/7436A537-996F-4CD6-B553-9303BFB99348\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10004\/5\/7436A537-996F-4CD6-B553-9303BFB99348\/wwdc2020_10004_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10004\/5\/7436A537-996F-4CD6-B553-9303BFB99348\/wwdc2020_10004_sd.mp4","duration":1540,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10171","wwdc2021-10295","wwdc2020-10057","wwdc2020-10651","wwdc2020-10756","wwdc2020-10840","wwdc2018-303"],"resources":[463,462,309]}},"wwdc2020-10643":{"id":"wwdc2020-10643","staticContentId":3593,"eventContentId":10643,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10643","languageCode":"eng","description":"Easily prototype and play around with SwiftUI views when you use them with Swift Playgrounds. We\u2019ll show you how to build a SwiftUI view in a Xcode-compatible playground, and explore tools to help you easily edit and preview your code.\n\nFor more on Swift Playgrounds, check out our interactive challenge, \u201cSwan's Quest\u201d, and learn to build your own by watching \u201cCreate Swift Playgrounds Content for iPad and Mac\u201d.","title":"Build a SwiftUI view in Swift Playgrounds","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ipad","playgrounds","swift","swift playgrounds","swiftui"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A332636F-4303-4F98-8B78-123AAB68C79C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10643\/4\/1EF945FC-088B-4D21-9838-F7CE638EF399\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10643\/4\/1EF945FC-088B-4D21-9838-F7CE638EF399\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10643\/4\/1EF945FC-088B-4D21-9838-F7CE638EF399\/wwdc2020_10643_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10643\/4\/1EF945FC-088B-4D21-9838-F7CE638EF399\/wwdc2020_10643_sd.mp4","duration":854,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10654","wwdc2020-10681","wwdc2020-10682","wwdc2020-10683","wwdc2020-10684"]}},"wwdc2020-10655":{"id":"wwdc2020-10655","staticContentId":3424,"eventContentId":10655,"eventId":"wwdc2020","contentUpdatedAt":"2025-11-04T16:52:00-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10655","languageCode":"eng","description":"Discover how to play HLS audio or video without an internet connection in your app by downloading HLS content for offline consumption using AVFoundation. Explore best practices for working with your HLS content while offline, learn how to use FairPlay Streaming to protect your offline audio and video, and hear updates on our media download policies.","title":"Discover how to download and play HLS offline","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D52324A4-2E69-4B43-883F-0034FEF21669","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10655\/3\/45C0E27F-A3BA-416D-B037-9BEE7466C11F\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10655\/3\/45C0E27F-A3BA-416D-B037-9BEE7466C11F\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10655\/3\/45C0E27F-A3BA-416D-B037-9BEE7466C11F\/wwdc2020_10655_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10655\/3\/45C0E27F-A3BA-416D-B037-9BEE7466C11F\/wwdc2020_10655_sd.mp4","duration":1028,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10143","wwdc2020-10847","wwdc2020-10851","wwdc2018-507"],"resources":[404]}},"wwdc2020-10224":{"id":"wwdc2020-10224","staticContentId":3428,"eventContentId":10224,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10224","languageCode":"eng","description":"Fine-tune your audio app or plug-in for Apple silicon Macs: We\u2019ll show you how to register your realtime threads using Audio Workgroups and make your app sing. Learn more about the power efficiency of System on a Chip (SoC) and how you can take advantage of new APIs to improve the speed and sound of your apps and plug-ins.","title":"Meet Audio Workgroups","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"28A44990-F34A-4B71-9B0A-E950DD96BFF5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10224\/4\/C98E1064-6167-4594-A904-DE63C2C65B6B\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10224\/4\/C98E1064-6167-4594-A904-DE63C2C65B6B\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10224\/4\/C98E1064-6167-4594-A904-DE63C2C65B6B\/wwdc2020_10224_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10224\/4\/C98E1064-6167-4594-A904-DE63C2C65B6B\/wwdc2020_10224_sd.mp4","duration":652,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10852","wwdc2020-10859","wwdc2020-10864"]}},"wwdc2020-10116":{"id":"wwdc2020-10116","staticContentId":3471,"eventContentId":10116,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10116","languageCode":"eng","description":"Discover how you can integrate custom rotors and help people who use VoiceOver navigate complex situations within your app. Learn how custom rotors can help people explore even the most intricate interfaces, explore how to implement a custom rotor, and find out how rotors can improve navigation for someone who relies on VoiceOver.\n\nTo get the most out of this session, you should be familiar with general accessibility principles and VoiceOver accessibility APIs on iOS and iPadOS. For an overview, watch \u201cMaking Apps More Accessible with Custom Actions.\u201d","title":"VoiceOver efficiency with custom rotors","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["accessibility","custom rotors","related elements","rotors","text accessibility","uiaccessibilitycustomrotor","voiceover","voice over"],"primaryTopicID":82,"topicIds":[82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"669BA7EE-2BAE-4B94-84E7-41D399756313","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10116\/5\/80EA07DE-B3B6-4DA6-80FE-BC03C5F0CB43\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10116\/5\/80EA07DE-B3B6-4DA6-80FE-BC03C5F0CB43\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10116\/5\/80EA07DE-B3B6-4DA6-80FE-BC03C5F0CB43\/wwdc2020_10116_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10116\/5\/80EA07DE-B3B6-4DA6-80FE-BC03C5F0CB43\/wwdc2020_10116_sd.mp4","duration":652,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10034","wwdc2021-10119","wwdc2020-10749","wwdc2020-10750","wwdc2020-10751","wwdc2019-250"],"resources":[58]}},"wwdc2020-10664":{"id":"wwdc2020-10664","staticContentId":3406,"eventContentId":10664,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10664","languageCode":"eng","description":"HealthKit helps you build world-class health and fitness apps by centralizing health data from third-party apps, iPhone, Apple Watch, and external health devices. Discover how you can manage authorization and privacy around Health data, read and write data to the shared Health Store, and use HealthKit\u2019s built-in queries to fetch data and calculate statistics for that data.","title":"Getting started with HealthKit","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["diagnostic","permission requests","permissions"],"primaryTopicID":92,"topicIds":[92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"849F4645-1F89-4A22-96EA-BEFCEA765F4D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10664\/3\/A57EEE02-9009-45A1-B08B-797CE7A6F83B\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10664\/3\/A57EEE02-9009-45A1-B08B-797CE7A6F83B\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10664\/3\/A57EEE02-9009-45A1-B08B-797CE7A6F83B\/wwdc2020_10664_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10664\/3\/A57EEE02-9009-45A1-B08B-797CE7A6F83B\/wwdc2020_10664_sd.mp4","duration":1932,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10073","tech-talks-21-10074","tech-talks-21-10128","wwdc2021-10287","wwdc2020-10151","wwdc2020-10182","wwdc2020-10184","wwdc2020-10656","wwdc2020-10694","wwdc2020-10755","wwdc2020-10843"],"resources":[897,422,87]}},"wwdc2020-10117":{"id":"wwdc2020-10117","staticContentId":3567,"eventContentId":10117,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10117","languageCode":"eng","description":"Make your Mac Catalyst app accessible to all&nbsp;\u2014&nbsp;and bring those improvements back to your iPad app. Discover how a great accessible iPad app automatically becomes a great accessible Mac app when adding support for Mac Catalyst. Learn how to further augment your experience with support for mouse and keyboard actions and accessibility element grouping and navigation. And explore how to use new Accessibility Inspector features to test your app and iterate to create a truly great experience for everyone.\n\nTo get the most out of this session, you should be familiar with Mac Catalyst, UIKit, and basic accessibility APIs for iOS. To get started, check out \u201cIntroducing iPad apps for Mac\u201d and \"Auditing your apps for accessibility.\"","title":"Accessibility design for Mac Catalyst","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["accessibility inspector","accessibility tree","accessible","catalyst","grouping","keyboard shortcuts","voiceover","voice over"],"primaryTopicID":82,"topicIds":[100,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FC8606C9-D7A7-4DF1-870A-EC078F867649","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10117\/4\/59AF0B72-76C2-4442-8160-967F2A9FDB96\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10117\/4\/59AF0B72-76C2-4442-8160-967F2A9FDB96\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10117\/4\/59AF0B72-76C2-4442-8160-967F2A9FDB96\/wwdc2020_10117_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10117\/4\/59AF0B72-76C2-4442-8160-967F2A9FDB96\/wwdc2020_10117_sd.mp4","duration":1290,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10346","wwdc2020-10705","wwdc2020-10749","wwdc2020-10750","wwdc2020-10751","wwdc2019-205","wwdc2019-238","wwdc2019-254","wwdc2019-257","wwdc2016-407"],"resources":[895,391]}},"wwdc2020-10113":{"id":"wwdc2020-10113","staticContentId":3719,"eventContentId":10113,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10113","languageCode":"eng","description":"Leverage local push connectivity and deliver notifications from your application server to devices on networks without an internet connection. Learn how to construct notifications for apps running in restricted network environments, helping people communicate with the same reliability and experience they would expect when connected to the internet. We\u2019ll explore the technical details for this technology, when you might want to use it, and how to implement it in your app.","title":"Build local push connectivity for restricted networks","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6E2AE768-CC97-4CA9-9A6E-5D8DD6EDE3D9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10113\/4\/246C06C8-0984-49BA-A51A-0EEFDABB9EF3\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10113\/4\/246C06C8-0984-49BA-A51A-0EEFDABB9EF3\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10113\/4\/246C06C8-0984-49BA-A51A-0EEFDABB9EF3\/wwdc2020_10113_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10113\/4\/246C06C8-0984-49BA-A51A-0EEFDABB9EF3\/wwdc2020_10113_sd.mp4","duration":826,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10856","wwdc2020-10857","wwdc2020-10858"],"resources":[885,754,753]}},"wwdc2020-10662":{"id":"wwdc2020-10662","staticContentId":3401,"eventContentId":10662,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10662","languageCode":"eng","description":"Apple Pay makes it simple to pay for goods and services in your app and on your website. Discover how you can integrate API updates like context-specific button types, contact data formatting, and cross-platform support to make the service more effective for you and people using it. And, if you\u2019re building app clips, adopting Apple Pay can help you unlock new commerce experiences.","title":"What's new in Wallet and Apple Pay","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["banking","nfc","pass","ticket","transportation","web"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"19E76490-5848-40B3-A597-FE0D384144AC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10662\/10\/5BB96234-A10B-43DF-9223-A782EE855E87\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10662\/10\/5BB96234-A10B-43DF-9223-A782EE855E87\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10662\/10\/5BB96234-A10B-43DF-9223-A782EE855E87\/wwdc2020_10662_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10662\/10\/5BB96234-A10B-43DF-9223-A782EE855E87\/wwdc2020_10662_sd.mp4","duration":897,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10056","wwdc2021-10092","wwdc2020-10174","wwdc2020-10752","wwdc2020-10880","wwdc2016-703"],"resources":[792,104,102]}},"wwdc2020-10673":{"id":"wwdc2020-10673","staticContentId":3441,"eventContentId":10673,"eventId":"wwdc2020","contentUpdatedAt":"2026-02-16T10:56:02-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10673","languageCode":"eng","description":"Learn how to bring Computer Vision intelligence to your app when you combine the power of Core Image, Vision, and Core ML. Go beyond machine learning alone and gain a deeper understanding of images and video. Discover new APIs in Core Image and Vision to bring Computer Vision to your application like new thresholding filters as well as Contour Detection and Optical Flow. And consider ways to use Core Image for preprocessing and visualization of these results.\n\nTo learn more about the underlying frameworks see \"Vision Framework: Building on Core ML\" and \"Core Image: Performance, Prototyping, and Python.\" And to further explore Computer Vision APIs, be sure to check out the \"Detect Body and Hand Pose with Vision\" and \"Explore the Action & Vision app\" sessions.","title":"Explore Computer Vision APIs","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["cifilter","ci filters","ciimage","cikernel","computer vision","contour","core image","core ml","machine learning","optical flow","trajectory","vision","visualization"],"primaryTopicID":94,"topicIds":[95,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6501DE5B-EA7D-49A9-B4EE-2E005B200250","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10673\/6\/A7DA76C9-CB5E-4F5D-9E99-B41AE63BE071\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10673\/6\/A7DA76C9-CB5E-4F5D-9E99-B41AE63BE071\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10673\/6\/A7DA76C9-CB5E-4F5D-9E99-B41AE63BE071\/wwdc2020_10673_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10673\/6\/A7DA76C9-CB5E-4F5D-9E99-B41AE63BE071\/wwdc2020_10673_sd.mp4","duration":1475,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10041","wwdc2020-10099","wwdc2020-10653","wwdc2020-10693","wwdc2020-10711","wwdc2020-10717","wwdc2020-10718","wwdc2020-10719","wwdc2020-10722","wwdc2020-10723","wwdc2019-222","wwdc2019-234","wwdc2018-716","wwdc2018-717","wwdc2017-506","wwdc2017-510"],"resources":[134]}},"wwdc2020-10686":{"id":"wwdc2020-10686","staticContentId":3880,"eventContentId":10686,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10686","languageCode":"eng","description":"Discover how Macs with Apple silicon will deliver modern advantages using Apple's System-on-Chip (SoC) architecture. Leveraging a unified memory architecture for CPU and GPU tasks, Mac apps will see amazing performance benefits from Apple silicon tuned frameworks such as Metal and Accelerate.  Learn about new features and changes coming to boot and security, and how these may affect your applications.","title":"Explore the new system architecture of Apple silicon Macs","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["macOS"],"keywords":["amp","apple silicon","apple silicon mac","asymmetric multiprocessing","driverkit","macos recovery","mac sharing mode","reduced security","rosetta","secure boot","soc","system recovery"],"primaryTopicID":101,"topicIds":[88,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EA9885B5-4285-4F52-A078-81090A08B680","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10686\/4\/63FE46AD-053B-4294-B04F-A4BE576BD265\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10686\/4\/63FE46AD-053B-4294-B04F-A4BE576BD265\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10686\/4\/63FE46AD-053B-4294-B04F-A4BE576BD265\/wwdc2020_10686_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10686\/4\/63FE46AD-053B-4294-B04F-A4BE576BD265\/wwdc2020_10686_sd.mp4","duration":1396,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10266","wwdc2020-10214","wwdc2020-10632","articles-10234"]}},"wwdc2020-10041":{"id":"wwdc2020-10041","staticContentId":3768,"eventContentId":10041,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10041","languageCode":"eng","description":"SwiftUI can help you build better and more powerful apps for iPhone, iPad, Mac, Apple Watch, and Apple TV.  Learn more about the latest refinements to SwiftUI, including interface improvements like outlines, grids, and toolbars. Take advantage of SwiftUI\u2019s enhanced support across Apple frameworks to enable features like Sign In with Apple. Discover new visual effects, as well as new controls and styles. And find out how the new app and scene APIs enable you to create apps entirely in SwiftUI, as well as custom complications and all new widgets.\n\nTo get the most out of this session, you should be familiar with SwiftUI. Watch \"Introduction to SwiftUI\" for a primer.","title":"What's new in SwiftUI","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["app api","apps","body property","commands","commands api","complications","containerrelativeshape","custom accent color","custom commands","custom complication","custom fonts","custom menus","declarative","default focus support","documentgroup","drag and drop","focus","font scaling","gauge","grids",".keyboardshortcut","keyboard shortcut","label","launch screen","launch screen info plist key","lazyhstack","lazy loading grid layout","lazy stacks","lazyvstack","link","list",".listitemtint","matchedgeometryeffect","multiplatform code","multiple trailing closure","multiple windows","opening url","openurl","outlines","progressview","@scaledmetric","scene","settings","settings scene","sign in with apple","swiftui","toolbar",".toolbar","uilaunchscreen","uniformtypeidentifiers","universal links","widgets","windowgroup"],"primaryTopicID":100,"topicIds":[99,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"550A220B-82B1-4FE9-A4C1-B004F4917A2C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10041\/7\/85DB087C-0A27-4779-B73A-7C5C888A7C82\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10041\/7\/85DB087C-0A27-4779-B73A-7C5C888A7C82\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10041\/7\/85DB087C-0A27-4779-B73A-7C5C888A7C82\/wwdc2020_10041_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10041\/7\/85DB087C-0A27-4779-B73A-7C5C888A7C82\/wwdc2020_10041_sd.mp4","duration":1664,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10028","wwdc2020-10030","wwdc2020-10031","wwdc2020-10033","wwdc2020-10034","wwdc2020-10035","wwdc2020-10036","wwdc2020-10037","wwdc2020-10039","wwdc2020-10040","wwdc2020-10042","wwdc2020-10048","wwdc2020-10056","wwdc2020-10119","wwdc2020-10143","wwdc2020-10170","wwdc2020-10175","wwdc2020-10207","wwdc2020-10699","wwdc2020-10700","wwdc2020-10701"],"resources":[571]}},"wwdc2020-10022":{"id":"wwdc2020-10022","staticContentId":3563,"eventContentId":10022,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10022","languageCode":"eng","description":"Augment your app\u2019s accessibility experience with speech synthesis: Discover the best times and places to add speech APIs so that everyone who uses your app can benefit. Learn how to use AVSpeechSynthesizer to complement assistive technologies like VoiceOver, and when to implement alternative APIs. And we\u2019ll show you how to route audio to the appropriate source and create apps that integrate speech seamlessly for all who need or want it.\n\nTo get the most out of this session, you should be familiar with AVFoundation and the basics of speech synthesis. For an overview, watch \u201cAVSpeechSynthesizer: Making iOS Talk.\u201d","title":"Create a seamless speech experience in your apps","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["aac","alternative and augmentative communication","assistive technology","avspeechsynthesizer","avspeechutterance","speaking rate","speech properties","speech request","spoken content","utterance","voice technology"],"primaryTopicID":82,"topicIds":[82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DDD1DA65-75DE-45FA-8A0E-E9D820A28DF6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10022\/3\/286D1613-442C-41FD-A8D9-B7E7E0AC8758\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10022\/3\/286D1613-442C-41FD-A8D9-B7E7E0AC8758\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10022\/3\/286D1613-442C-41FD-A8D9-B7E7E0AC8758\/wwdc2020_10022_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10022\/3\/286D1613-442C-41FD-A8D9-B7E7E0AC8758\/wwdc2020_10022_sd.mp4","duration":519,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10033","wwdc2020-10749","wwdc2020-10750","wwdc2020-10751","wwdc2019-248","wwdc2018-236"],"resources":[58]}},"wwdc2020-10106":{"id":"wwdc2020-10106","staticContentId":3523,"eventContentId":10106,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:02-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10106","languageCode":"eng","description":"Scribble offers a lightweight, ergonomic, and enjoyable way of entering text on iPad with Apple Pencil. Discover how people can take advantage of Scribble and handwritten text in apps that use standard text input controls or that implement a custom text editing experience. You\u2019ll learn how it integrates into TextKit, and when you\u2019ll need to adopt the new UIScribbleInteraction and UIIndirectScribbleInteraction APIs to provide a delightful and consistent experience with Scribble in your app.\n\nTo get the most out of this session, you should be familiar with UIKit text input controls, as well as keyboard input technologies. To get started, watch \u201cKeyboard Input in iOS\u201d. If you\u2019re building a custom text editor, you should be familiar with the UITextInput protocol, TextKit, and related text input APIs. For more information, we recommend checking out \u201cTextKit Best Practices\u201d and \u201cThe Keys to a Better Text Input Experience.\u201d And for design guidelines on pencil-based interaction, check out \u201cApple Pencil Design Essentials.\u201d","title":"Meet Scribble for iPad","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["cursive","handwriting","recognition"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"69B52191-ABB4-415F-A57D-123250966BE9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10106\/4\/AD9A0416-4A7E-4ED7-86AD-8EEEF7199216\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10106\/4\/AD9A0416-4A7E-4ED7-86AD-8EEEF7199216\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10106\/4\/AD9A0416-4A7E-4ED7-86AD-8EEEF7199216\/wwdc2020_10106_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10106\/4\/AD9A0416-4A7E-4ED7-86AD-8EEEF7199216\/wwdc2020_10106_sd.mp4","duration":853,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10109","wwdc2020-10861","wwdc2020-10862","wwdc2018-221","wwdc2018-809","wwdc2017-242"],"resources":[899]}},"wwdc2020-10118":{"id":"wwdc2020-10118","staticContentId":3392,"eventContentId":10118,"eventId":"wwdc2020","contentUpdatedAt":"2025-09-26T10:41:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10118","languageCode":"eng","description":"Create App Clips for table reservations, food ordering, and more on behalf of brands, businesses, or services that appear within your app. We\u2019ll show you how you can deliver customized experiences for each business, offering them a unique look, invocation card, and icon \u2014 all within a single App Clips binary. Learn best practices for uploading unique metadata, handling links, routing notifications, and keeping track of session states. And discover different types of icons in the context of App Clips, where they appear, and how to customize them.\n\nFor more on designing and creating App Clips, make sure to watch \u201cExplore App Clips\u201d and \u201cConfigure and link your App Clips.\u201d","title":"Create App Clips for other businesses","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["action","aggregates many businesses","app clip experience","brand identity","catalog","category of business","invocation card","nsuseractivity","promote business","sheet image","targetcontentidentifier","universal links","white-label","white label apps"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CDD0B897-77A1-40BE-9C1F-1B016CAB4316","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10118\/7\/FF98722E-1BF9-4118-8FAA-F5EF0C9B4FAF\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10118\/7\/FF98722E-1BF9-4118-8FAA-F5EF0C9B4FAF\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10118\/7\/FF98722E-1BF9-4118-8FAA-F5EF0C9B4FAF\/wwdc2020_10118_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10118\/7\/FF98722E-1BF9-4118-8FAA-F5EF0C9B4FAF\/wwdc2020_10118_sd.mp4","duration":1142,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10098","wwdc2020-10120","wwdc2020-10146","wwdc2020-10172","wwdc2020-10174","wwdc2020-10651","wwdc2020-10696","wwdc2020-10697","wwdc2020-10966"],"resources":[1469,915,914,884]}},"wwdc2020-10076":{"id":"wwdc2020-10076","staticContentId":3793,"eventContentId":10076,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:33-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10076","languageCode":"eng","description":"Analyze aggregated power and performance data from multiple versions of your app with just a few clicks. We\u2019ll introduce you to the latest version of the Xcode Organizer and its interactive interface, where you can easily compare and contrast app metrics across releases. Explore disk write diagnostics and scroll hitch metrics, and learn how you can use these to offer better performance, reduce battery consumption, and improve device health for people using your app.\n\nIf you\u2019d like additional information on the Xcode Organizer and improving power and performance in your app, watch \"Improving Battery Life and Performance\" from WWDC19. For more on hitches, check out \u201cEliminate animation hitches with XCTest.\u201d","title":"Diagnose performance issues with the Xcode Organizer","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["analytics","diagnostics","metrics","performance","xcode"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3E260778-2E16-4F63-A49C-B7B19A0C1AFF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10076\/4\/2E98AB12-04C8-4D40-8FD1-BC186B322664\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10076\/4\/2E98AB12-04C8-4D40-8FD1-BC186B322664\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10076\/4\/2E98AB12-04C8-4D40-8FD1-BC186B322664\/wwdc2020_10076_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10076\/4\/2E98AB12-04C8-4D40-8FD1-BC186B322664\/wwdc2020_10076_sd.mp4","duration":667,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10119","wwdc2021-10087","wwdc2021-10181","wwdc2021-10348","wwdc2020-10057","wwdc2020-10077","wwdc2020-10081","wwdc2020-10845","wwdc2020-10893","wwdc2020-10894"]}},"wwdc2020-10652":{"id":"wwdc2020-10652","staticContentId":3346,"eventContentId":10652,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10652","languageCode":"eng","description":"Let people select photos and videos to use in your app without requiring full Photo Library access. Discover how the PHPicker API for iOS and Mac Catalyst ensures privacy while providing your app the features you need.\n\nPHPicker is the modern replacement for UIImagePickerController. In addition to its privacy-focused approach, the API also provides additional features for your app like search, multi-image selection, and the ability to zoom in or out on on the photo grid. We\u2019ll show you how PHPicker can help most apps avoid asking for direct library access and how you can implement it to improve the overall experience for people interacting with your app.","title":"Meet the new Photos picker","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["photokit","photo library","photos","photos api","picker","privacy"],"primaryTopicID":95,"topicIds":[96,100,95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CA1226BF-6200-4C30-8EBD-D2D6E15F925D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10652\/3\/8660B6AC-4DDE-46E6-830D-1449B090978C\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10652\/3\/8660B6AC-4DDE-46E6-830D-1449B090978C\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10652\/3\/8660B6AC-4DDE-46E6-830D-1449B090978C\/wwdc2020_10652_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10652\/3\/8660B6AC-4DDE-46E6-830D-1449B090978C\/wwdc2020_10652_sd.mp4","duration":873,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10107","wwdc2022-10023","wwdc2021-10046","wwdc2021-10160","wwdc2020-10052","wwdc2020-10641","wwdc2020-10676","wwdc2020-10693","wwdc2020-10793","wwdc2020-10794","wwdc2017-505"],"resources":[903,374]}},"wwdc2020-10216":{"id":"wwdc2020-10216","staticContentId":3763,"eventContentId":10216,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10216","languageCode":"eng","description":"ResearchKit continues to simplify how developers build research and care apps. Explore how the latest ResearchKit updates expand the boundaries of data researchers can collect. Learn about features like enhanced onboarding, extended options for surveys, and new active tasks. Discover how Apple has partnered with the research community to leverage this framework, helping developers build game-changing apps that empower care teams and the research community.","title":"What's new in ResearchKit","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["activities","chart","graph","healthkit","study","task"],"primaryTopicID":92,"topicIds":[92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1A2194B8-DCAA-44F4-9CDD-74787A9C699D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10216\/5\/10085282-EADD-4030-9CAF-5F5A1D28C4E7\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10216\/5\/10085282-EADD-4030-9CAF-5F5A1D28C4E7\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10216\/5\/10085282-EADD-4030-9CAF-5F5A1D28C4E7\/wwdc2020_10216_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10216\/5\/10085282-EADD-4030-9CAF-5F5A1D28C4E7\/wwdc2020_10216_sd.mp4","duration":1849,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110410","wwdc2020-10151","wwdc2020-10656","wwdc2020-10737","wwdc2020-10757"],"resources":[745]}},"wwdc2020-10680":{"id":"wwdc2020-10680","staticContentId":3498,"eventContentId":10680,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10680","languageCode":"eng","description":"Fine-tune your Objective-C headers to work beautifully in Swift. We\u2019ll show you how to take an unwieldy Objective-C framework and transform it into an API that feels right at home. Learn about the suite of annotations you can use to provide richer type information, more idiomatic names, and better errors to Swift. And discover Objective-C conventions you might not have known about that are key to a well-behaved Swift API.\n\nTo get the most out of this session, you should be familiar with Swift and Objective-C.\n\nFor more on working with Swift and Objective-C, check out our Developer Documentation and take a look at \u201cBehind the Scenes of the Xcode Build Process\u201d from WWDC18.","title":"Refine Objective-C frameworks for Swift","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[88,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"20B55423-77F0-4B82-84D5-3DA3681146C6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10680\/6\/733DC040-9073-4427-B411-BBF7BEE212B4\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10680\/6\/733DC040-9073-4427-B411-BBF7BEE212B4\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10680\/6\/733DC040-9073-4427-B411-BBF7BEE212B4\/wwdc2020_10680_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10680\/6\/733DC040-9073-4427-B411-BBF7BEE212B4\/wwdc2020_10680_sd.mp4","duration":2562,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2018-415"],"resources":[761]}},"wwdc2020-10148":{"id":"wwdc2020-10148","staticContentId":3832,"eventContentId":10148,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10148","languageCode":"eng","description":"Make Apple Pencil an even more useful tool for drawing and writing within your app. With PencilKit, you can delve into the strokes, inks, paths, and points that comprise a drawing, use these to build features that use recognition, and modify drawings in response to input. Discover how you can dynamically generate shapes and drawings and learn more about APIs like PKDrawings and PKStrokes.\n\nTo get the most out of this session, we recommend first checking out \u201cIntroducing PencilKit,\u201d which provides an overview of the PencilKit framework in its WWDC19 debut, and WWDC20\u2019s \u201cWhat's new in PencilKit.\u201d","title":"Inspect, modify, and construct PencilKit drawings","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["calligraphy","cursive","engine","handwriting","stylus"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"844F5C49-C3CE-4042-887B-32A6E09A1B05","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10148\/5\/A365E915-A01A-478B-9396-0F737E6C8930\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10148\/5\/A365E915-A01A-478B-9396-0F737E6C8930\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10148\/5\/A365E915-A01A-478B-9396-0F737E6C8930\/wwdc2020_10148_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10148\/5\/A365E915-A01A-478B-9396-0F737E6C8930\/wwdc2020_10148_sd.mp4","duration":964,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10107","wwdc2020-10861","wwdc2020-10862","wwdc2019-221"],"resources":[900]}},"wwdc2020-10119":{"id":"wwdc2020-10119","staticContentId":3359,"eventContentId":10119,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10119","languageCode":"eng","description":"Explore the world of declarative-style programming: Discover how to build a fully-functioning SwiftUI app from scratch as we explain the benefits of writing declarative code and how SwiftUI and Xcode can combine forces to help you build great apps, faster.","title":"Introduction to SwiftUI","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["animation",".aspectratio","canvas","compositional ui","corner radius","dark mode","declarative syntax","declarative ui","dependency management","derived value","horizontal stack","hstack","inspector","leading alignment","library","live mode","localization","model","modifiers","multiplatform app template","navigationview","padding","preview on device","previews",".resizable","resume updating preview","sfsymbol","source of truth","spacer","state variable","swift","text","vertical stack","view","views","vstack","xcode library","zoom state"],"primaryTopicID":100,"topicIds":[88,99,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D23298DC-BB18-43C7-8EB8-649807A7C626","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10119\/7\/C3E13536-E82C-4A52-B2E6-1D04D0991648\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10119\/7\/C3E13536-E82C-4A52-B2E6-1D04D0991648\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10119\/7\/C3E13536-E82C-4A52-B2E6-1D04D0991648\/wwdc2020_10119_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10119\/7\/C3E13536-E82C-4A52-B2E6-1D04D0991648\/wwdc2020_10119_sd.mp4","duration":3278,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10115","wwdc2020-10037","wwdc2020-10040","wwdc2020-10041","wwdc2020-10638","wwdc2019-237"],"resources":[571]}},"wwdc2020-10138":{"id":"wwdc2020-10138","staticContentId":3687,"eventContentId":10138,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10138","languageCode":"eng","description":"With AppleSeed for IT, you can help your school or business test pre-release versions of Apple software and provide valuable feedback directly to Apple. We'll guide you through getting started in AppleSeed for IT and provide insight on how to file great feedback collaboratively within your organization using the new Teams feature in Feedback Assistant. You'll also learn more about Managed Software Updates in macOS Big Sur, including how to delay major updates or security and system files for employees\u2019 machines while you certify the release on their systems.","title":"Discover AppleSeed for IT and Managed Software Updates","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["enterprise","feedback","mdm","testing"],"primaryTopicID":89,"topicIds":[86,89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5330AF08-FEC4-4478-86B3-D389579A9688","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10138\/6\/85D636B1-DF09-40C8-BC83-C25D2E195D95\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10138\/6\/85D636B1-DF09-40C8-BC83-C25D2E195D95\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10138\/6\/85D636B1-DF09-40C8-BC83-C25D2E195D95\/wwdc2020_10138_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10138\/6\/85D636B1-DF09-40C8-BC83-C25D2E195D95\/wwdc2020_10138_sd.mp4","duration":1393,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10638","wwdc2020-10639","wwdc2020-10754","wwdc2020-10844","wwdc2019-303","tech-talks-10870","tech-talks-10890"],"resources":[795,794,781]}},"wwdc2020-10035":{"id":"wwdc2020-10035","staticContentId":3573,"eventContentId":10035,"eventId":"wwdc2020","contentUpdatedAt":"2026-07-20T14:58:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10035","languageCode":"eng","description":"Our code-along continues as we help our widget rewrite the future and travel into an alternate timeline. Continue where you left off from Part 1, or traverse time and space and begin with the Part 2 starter project to jump right into the action. Find out how you can integrate system intelligence into your widgets to help them dynamically change at different points during the day and surface the most relevant information. Explore core timeline concepts, support multiple widget families, and learn how to make your widget configurable.\n\nOnce you\u2019ve helped your widget find its place in time, move on to the third and final part of the Widgets Code-along to discover advanced widget concepts and timelines.","title":"Widgets Code-along, part 2: Alternate timelines","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["custom intent","deep linking","dynamically configure widget","inintent","intentconfiguration","intenttimelineprovider","refresh","staticconfiguration","swiftui",".systemlarge","system large",".systemmedium","system medium",".systemsmall","system small","timeline","timelineentryrelevance","timelinereloadpolicy","widget",".widgetfamily","widgetkit","widgeturl"],"primaryTopicID":83,"topicIds":[99,100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A451D801-E9DF-4467-B8D3-7B7F15902E9B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10035\/4\/3A0E6D7F-8B87-46BB-A1B8-CE8CFABE7427\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10035\/4\/3A0E6D7F-8B87-46BB-A1B8-CE8CFABE7427\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10035\/4\/3A0E6D7F-8B87-46BB-A1B8-CE8CFABE7427\/wwdc2020_10035_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10035\/4\/3A0E6D7F-8B87-46BB-A1B8-CE8CFABE7427\/wwdc2020_10035_sd.mp4","duration":918,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10028","wwdc2020-10033","wwdc2020-10034","wwdc2020-10036","wwdc2020-10041","wwdc2020-10194"],"resources":[810]}},"wwdc2020-10223":{"id":"wwdc2020-10223","staticContentId":3682,"eventContentId":10223,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10223","languageCode":"eng","description":"Discover how Apple's system administrators remotely deploy Apple devices to their teams, ensuring a zero-touch deployment. Learn how to configure the setup experience, control and manage devices effectively, and discover practices around security and management.","title":"Deploy Apple devices using zero-touch","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["distribution","enterprise","mdm","security"],"primaryTopicID":89,"topicIds":[86,89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"328522A2-E6B4-438C-B46D-865CC53BF95A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10223\/9\/49D57195-8840-4152-B855-ED08FAA914A7\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10223\/9\/49D57195-8840-4152-B855-ED08FAA914A7\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10223\/9\/49D57195-8840-4152-B855-ED08FAA914A7\/wwdc2020_10223_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10223\/9\/49D57195-8840-4152-B855-ED08FAA914A7\/wwdc2020_10223_sd.mp4","duration":1027,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10139","wwdc2020-10638","wwdc2020-10639","wwdc2020-10667","wwdc2020-10754","wwdc2020-10844","tech-talks-10870"],"resources":[584,330,329]}},"wwdc2020-102":{"id":"wwdc2020-102","staticContentId":3873,"eventContentId":102,"eventId":"wwdc2020","contentUpdatedAt":"2025-07-11T13:31:52-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/102","languageCode":"eng","description":"Join the worldwide developer community for an in-depth look at the future of Apple platforms, directly from Apple Park.","title":"Platforms State of the Union","startTime":"2020-06-22T14:00:00-07:00","endTime":"2020-06-22T15:30:00-07:00","originalPublishingDate":"2020-06-22T14:00:00-07:00","publishingExpiryDate":"2099-06-21T23:00:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["sotu","sotu 2020"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":134,"imagesUUID":"5B9D52CC-7646-47F2-81CC-F951937A9C35","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/102\/10\/7DD15AE9-07BA-4E91-BC72-9DF1EA9729F8\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/102\/10\/7DD15AE9-07BA-4E91-BC72-9DF1EA9729F8\/200622_SotuLiveEMv2_HQ2160p29SDR_1080p_dl.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/102\/10\/7DD15AE9-07BA-4E91-BC72-9DF1EA9729F8\/200622_SotuLiveEMv2_HQ2160p29SDR_540p_dl.mp4","duration":5296,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","es","ja","ko","ru","zh"]},"related":{"activities":["wwdc2020-10691"]}},"wwdc2020-10682":{"id":"wwdc2020-10682","staticContentId":3500,"eventContentId":10682,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:37-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10682","languageCode":"eng","description":"Swift Playgrounds presents \"Swan\u2019s Quest,\u201d an interactive adventure in four chapters for all ages. In this chapter, our Hero needs your help decoding the Swan\u2019s scroll. Call forth the best of your audio abilities on this one \u2014 you\u2019re going to need them.\n\nDiscover how to convert Swift Playgrounds into a tone generator, and you just might help our Hero find the missing message\u2026 and move onto the next part of their quest.\n\nSwan\u2019s Quest was created for Swift Playgrounds on iPad and Mac, combining frameworks and resources which power the educational experiences in many of our playgrounds, including Sonic Workshop, Sensor Arcade, and Augmented Reality. To learn more about building your own playgrounds, be sure to watch \"Create Swift Playgrounds content for iPad and Mac\".\n\nAnd don\u2019t forget to stop by the Developer Forums and share your solution for our side quest.","title":"Swan's Quest, Chapter 2: A time for tones","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["playgrounds","swan's quest","swans quest","swift","swift playgrounds","swift playgrounds challenge"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C5A8B078-27BF-495E-8EB4-377527E87FE9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10682\/3\/B984C50E-3AF2-42F2-9BD0-219FC77E8074\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10682\/3\/B984C50E-3AF2-42F2-9BD0-219FC77E8074\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10682\/3\/B984C50E-3AF2-42F2-9BD0-219FC77E8074\/wwdc2020_10682_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10682\/3\/B984C50E-3AF2-42F2-9BD0-219FC77E8074\/wwdc2020_10682_sd.mp4","duration":318,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10643","wwdc2020-10654","wwdc2020-10681","wwdc2020-10683","wwdc2020-10684"],"resources":[859,856]}},"wwdc2020-10185":{"id":"wwdc2020-10185","staticContentId":3594,"eventContentId":10185,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10185","languageCode":"eng","description":"Help your apps be the best versions of themselves: Discover how you can leverage Xcode Previews and SwiftUI to quickly iterate upon and improve your app. Find out how you can use the Previews canvas to build your app from the ground up, and view your interface in different environments like Light or Dark mode or with accessibility features like Dynamic Type enabled.\n\nTo learn more about SwiftUI Previews, check out \u201cStructure your app for SwiftUI previews\u201d and \u201cAdd custom views and modifiers to the Xcode Library\u201d.","title":"Visually edit SwiftUI views","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["canvas","previews","swiftui","xcode"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"91F2CF93-C2BA-4679-AF4A-D0F1349400CA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10185\/3\/24CE4DB2-9EB2-4D9F-93F6-D21456EE3366\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10185\/3\/24CE4DB2-9EB2-4D9F-93F6-D21456EE3366\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10185\/3\/24CE4DB2-9EB2-4D9F-93F6-D21456EE3366\/wwdc2020_10185_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10185\/3\/24CE4DB2-9EB2-4D9F-93F6-D21456EE3366\/wwdc2020_10185_sd.mp4","duration":306,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10149","wwdc2020-10649"]}},"wwdc2020-10617":{"id":"wwdc2020-10617","staticContentId":3569,"eventContentId":10617,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10617","languageCode":"eng","description":"Level up your iPad games and add in keyboard, mouse, and trackpad controls. Discover how to use the Game Controller framework to augment your existing titles, bring over games from other platforms, or dream up entirely new interaction experiences. Learn how to integrate keyboard and \u201cdelta\u201d mouse coordinate events for player motion, and disable pointer system gestures like the Dock or Control Center to take full advantage of full screen gameplay.\n\nFor further information on adding support for console game controllers like the Xbox Elite Wireless Controller Series 2 and Xbox Adaptive Controller, watch \u201cAdvancements in Game Controllers.\u201d And learn more about using UIKit to manage indirect input by checking out \u201cHandle trackpad and mouse input\u201d.","title":"Bring keyboard and mouse gaming to iPad","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":91,"topicIds":[100,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4D05197E-5275-4C71-B1F7-E01525CA6573","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10617\/8\/08DA25F5-5B0E-4661-9AB2-63BFE9C7A088\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10617\/8\/08DA25F5-5B0E-4661-9AB2-63BFE9C7A088\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10617\/8\/08DA25F5-5B0E-4661-9AB2-63BFE9C7A088\/wwdc2020_10617_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10617\/8\/08DA25F5-5B0E-4661-9AB2-63BFE9C7A088\/wwdc2020_10617_sd.mp4","duration":844,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10028","tech-talks-21-10029","tech-talks-21-10030","tech-talks-21-10034","wwdc2021-10081","wwdc2021-100313","wwdc2021-100314","wwdc2020-10094","wwdc2020-10109","wwdc2020-10145","wwdc2020-10614","wwdc2020-10693","wwdc2020-10808","wwdc2020-10809"],"resources":[758]}},"wwdc2020-10601":{"id":"wwdc2020-10601","staticContentId":3450,"eventContentId":10601,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10601","languageCode":"eng","description":"Reality Converter and Reality Composer make preparing augmented reality assets for your iOS or iPadOS app easier than ever. Discover how you can convert existing 3D assets into USDZ, bring them into Reality Composer to create AR experiences, and integrate with an existing Xcode project or export to AR Quick Look. We\u2019ll detail how to work with assets in a variety of popular 3D formats, build and test your AR scenes, and integrate with your artist\u2019s workflow.\n\nTo get the most out of this session, you should be familiar with USDZ and Reality Composer. Watch \u201cWorking with USD\u201d and \u201cBuilding AR Experiences with Reality Composer\u201d for more.\n\nAnd to get more details about the latest additions to USD for AR, check out \u201cWhat's new in USD\u201d.","title":"The artist\u2019s AR toolkit","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":85,"topicIds":[91,85],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9E09FD42-42C0-4FE4-B533-FE96EDCCB851","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10601\/11\/792E3426-1186-4B39-B3C2-AD4D72F9670B\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10601\/11\/792E3426-1186-4B39-B3C2-AD4D72F9670B\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10601\/11\/792E3426-1186-4B39-B3C2-AD4D72F9670B\/wwdc2020_10601_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10601\/11\/792E3426-1186-4B39-B3C2-AD4D72F9670B\/wwdc2020_10601_sd.mp4","duration":1698,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10141","wwdc2020-10604","wwdc2020-10611","wwdc2020-10612","wwdc2020-10613","wwdc2020-10694","wwdc2020-10825","wwdc2019-602"]}},"wwdc2020-10099":{"id":"wwdc2020-10099","staticContentId":3444,"eventContentId":10099,"eventId":"wwdc2020","contentUpdatedAt":"2026-02-16T10:56:02-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10099","languageCode":"eng","description":"It's now easy to create an app for fitness or sports coaching that takes advantage of machine learning&nbsp;\u2014&nbsp;and to prove it, we built our own. Learn how we designed the Action & Vision app using Object Detection and Action Classification in Create ML along with the new Body Pose Estimation, Trajectory Detection, and Contour Detection features in the Vision framework. Explore how you can create an immersive application for gameplay or training from setup to analysis and feedback. And follow along in Xcode with a full sample project.\n\nTo get the most out of this session, you should have familiarity with the Vision framework and Create ML\u2019s Action Classifier tools. To learn more, we recommend watching \u201cBuild an Action Classifier with Create ML,\u201d \u201cExplore Computer Vision APIs,\u201d and \u201cDetect Body and Hand Pose with Vision.\u201d We also recommend exploring the Action & Vision sample project to learn more about adopting these technologies.\n\nWhether you are building a fitness coaching app, or exploring new ways of interacting, consider the incredible features that you can build by combining machine learning with the rich set of computer vision features. By bringing Create ML, Core ML, and Vision API together, there's almost no end to the magic you can bring to your app.","title":"Explore the Action & Vision app","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["action class","bean bag toss","body pose","camera","contour","core ml","cornhole","create ml","machine learning","object detection","trajectory","vision"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8434CE16-EDFA-4AD1-B1B6-B37FB48F1007","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10099\/2\/18D72394-029C-4CB4-9420-4185493C4D77\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10099\/2\/18D72394-029C-4CB4-9420-4185493C4D77\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10099\/2\/18D72394-029C-4CB4-9420-4185493C4D77\/wwdc2020_10099_sd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10099\/2\/18D72394-029C-4CB4-9420-4185493C4D77\/wwdc2020_10099_sd.mp4","duration":2187,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10043","wwdc2020-10653","wwdc2020-10673","wwdc2020-10693","wwdc2020-10694","wwdc2020-10711","wwdc2020-10717","wwdc2020-10718","wwdc2020-10719"],"resources":[1339,901,443,134]}},"wwdc2020-10083":{"id":"wwdc2020-10083","staticContentId":3512,"eventContentId":10083,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:39-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10083","languageCode":"eng","description":"Discover how you can help people get ready for a good night's sleep by surfacing your app's actions for Wind Down Shortcuts, part of the new Sleep experience. Learn more about how Wind Down works. Find out how you can build intents that expose features in your app like guided meditations, soothing audio stories, or many other categories. And explore how you can surface those features on someone's device before bedtime.","title":"Integrate your app with Wind Down","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["intents","intentsui","shortcuts","siri","sirikit","sleep","wind down"],"primaryTopicID":83,"topicIds":[92,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"85C5B9D8-C5C5-4558-886A-4E4E5DA1ADF2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10083\/3\/0A7396FB-7C58-496C-BB03-C3FC6F95A070\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10083\/3\/0A7396FB-7C58-496C-BB03-C3FC6F95A070\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10083\/3\/0A7396FB-7C58-496C-BB03-C3FC6F95A070\/wwdc2020_10083_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10083\/3\/0A7396FB-7C58-496C-BB03-C3FC6F95A070\/wwdc2020_10083_sd.mp4","duration":659,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10060","wwdc2020-10061","wwdc2020-10068","wwdc2020-10069","wwdc2020-10071","wwdc2020-10073","wwdc2020-10074","wwdc2020-10080","wwdc2020-10084","wwdc2020-10086","wwdc2020-10088","wwdc2020-10190","wwdc2020-10200","wwdc2020-10203","wwdc2020-10839","wwdc2020-10877","wwdc2020-10878","wwdc2020-10914","wwdc2020-10917","wwdc2020-10963"],"resources":[866]}},"wwdc2020-10034":{"id":"wwdc2020-10034","staticContentId":3572,"eventContentId":10034,"eventId":"wwdc2020","contentUpdatedAt":"2026-07-20T14:58:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10034","languageCode":"eng","description":"Take your app on a most wondrous adventure to the home and Today screens of iPhone, iPad, and Mac. Grab the starter project and code along with us! We will guide you through the process of creating a widget for your app from start to finish so that you can provide people with beautiful views and glanceable information in an easily-accessible place. Discover how to create a widget project, learn fundamental concepts for widgets and their structure, configure the widget and its provider, and start exploring timeline concepts.\n\nOnce you\u2019re finished, travel onward with us to part two of the Widgets Code-along where we\u2019ll learn more about timelines, system intelligence, and configuration.","title":"Widgets Code-along, part 1: The adventure begins","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["codealong","code-along","placeholder","previews","swiftui","timeline","view","widget","widget family","widgetkit","widget target"],"primaryTopicID":83,"topicIds":[99,100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"84350DC2-4194-46B1-8394-0BDE68C60D5C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10034\/3\/D86D9B81-6A8A-4015-86B1-7784AB7B3731\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10034\/3\/D86D9B81-6A8A-4015-86B1-7784AB7B3731\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10034\/3\/D86D9B81-6A8A-4015-86B1-7784AB7B3731\/wwdc2020_10034_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10034\/3\/D86D9B81-6A8A-4015-86B1-7784AB7B3731\/wwdc2020_10034_sd.mp4","duration":545,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10028","wwdc2020-10033","wwdc2020-10035","wwdc2020-10036","wwdc2020-10041","wwdc2020-10103","wwdc2020-10693"],"resources":[810]}},"wwdc2020-10109":{"id":"wwdc2020-10109","staticContentId":3590,"eventContentId":10109,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10109","languageCode":"eng","description":"When people use hardware keyboards with your app, they\u2019re not only getting a more tactile and familiar typing experience \u2014 they can quickly navigate or use keyboard shortcuts, too. Discover how you can best support hardware keyboards for your iPadOS and Mac Catalyst apps: We\u2019ll demystify the responder chain and show you best practices for implementing custom keyboard shortcuts. Learn how easy it is to get up and running with common system keyboard shortcuts, use modifier flags with gesture recognizers, and leverage the raw keyboard event API to respond to key down and key up events.","title":"Support hardware keyboards in your app","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["accelerators","event","magic keyboard","menu","shortcuts","text","uieventtype","uitextinput"],"primaryTopicID":101,"topicIds":[100,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7917B7CA-7977-4E4D-8745-EF1A6AF57E68","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10109\/2\/B152D3FD-187C-4D34-80ED-152B996E5F6D\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10109\/2\/B152D3FD-187C-4D34-80ED-152B996E5F6D\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10109\/2\/B152D3FD-187C-4D34-80ED-152B996E5F6D\/wwdc2020_10109_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10109\/2\/B152D3FD-187C-4D34-80ED-152B996E5F6D\/wwdc2020_10109_sd.mp4","duration":694,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10076","wwdc2021-10057","wwdc2021-10346","wwdc2020-10094","wwdc2020-10106","wwdc2020-10143","wwdc2020-10617","wwdc2019-224","wwdc2019-235","wwdc2017-242"],"resources":[898,793]}},"wwdc2020-10232":{"id":"wwdc2020-10232","staticContentId":3709,"eventContentId":10232,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10232","languageCode":"eng","description":"Find out how to integrate advertising into your Low-Latency HLS streams through server-side ad insertion. We'll show you how to segment your ad content, and examine how ad insertion works with LL-HLS features such as Blocking Playlist Reload and Blocking Preload Hints.\n\nFor more information about Blocking Playlist Reload and Preload Hinting, watch \"Reduce Latency with HLS Blocking Playlist Reload\" and \"Discover HLS Blocking Preload Hints.\"","title":"Adapt ad insertion to Low-Latency HLS","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DD1B0913-4BD0-4A3C-9690-6AC876324A79","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10232\/4\/D14B77B1-D4C9-4BD0-A395-843696269639\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10232\/4\/D14B77B1-D4C9-4BD0-A395-843696269639\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10232\/4\/D14B77B1-D4C9-4BD0-A395-843696269639\/wwdc2020_10232_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10232\/4\/D14B77B1-D4C9-4BD0-A395-843696269639\/wwdc2020_10232_sd.mp4","duration":579,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10229","wwdc2020-10230","wwdc2020-10231","wwdc2020-10847","wwdc2020-10851"]}},"wwdc2020-10677":{"id":"wwdc2020-10677","staticContentId":3788,"eventContentId":10677,"eventId":"wwdc2020","contentUpdatedAt":"2025-10-20T12:27:00-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10677","languageCode":"eng","description":"Discover the Metal Performance Shaders (MPS) Graph, which extends Metal's Compute capabilities to multi-dimensional Tensors. MPS Graph builds on the highly tuned library of data parallel primitives that are vital to machine learning and leverages the tremendous power of the GPU. Explore how MPS Graph can help express sophisticated and dynamic neural network training architectures and optimize across them to get acceleration on the GPU.\n\nFor a deeper understanding of the concepts covered in this session, check out \"Metal for Machine Learning\u201d from WWDC19.","title":"Build customized ML models with the Metal Performance Shaders Graph","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["compute","graph","machine learning","metal","metal shading language","mps","mps graph","neural network","operations","tensors"],"primaryTopicID":94,"topicIds":[91,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DE019C3C-1625-40EC-9429-CF8DBF7028B3","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10677\/2\/C6396D39-7970-4E1A-A045-BC5A85B9AC36\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10677\/2\/C6396D39-7970-4E1A-A045-BC5A85B9AC36\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10677\/2\/C6396D39-7970-4E1A-A045-BC5A85B9AC36\/wwdc2020_10677_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10677\/2\/C6396D39-7970-4E1A-A045-BC5A85B9AC36\/wwdc2020_10677_sd.mp4","duration":2375,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10152","wwdc2020-10810","wwdc2020-10811","wwdc2020-10812","wwdc2020-10813","wwdc2019-614","wwdc2018-609","tech-talks-10858","wwdc2017-608"],"resources":[896,56,38]}},"wwdc2020-10149":{"id":"wwdc2020-10149","staticContentId":3595,"eventContentId":10149,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10149","languageCode":"eng","description":"When you use SwiftUI previews during development, you can quickly create apps that are more flexible and maintainable. Discover ways to improve the preview experience by making small tweaks to your project. Find out how to preview multiple files at once, how to manage data flow for previews, and how to use sample data while previewing. We'll also give you strategies for defining view inputs to make them more previewable and testable.\n\nTo get the most out of this session, you should have some familiarity with SwiftUI. For an introduction to interacting with SwiftUI previews in Xcode, check out \"Visually Edit SwiftUI Views\" from WWDC20.","title":"Structure your app for SwiftUI previews","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":100,"topicIds":[88,99,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3D5FF07D-68BD-4316-8C49-491A7AE96D11","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10149\/2\/A587A52D-72AD-4566-9747-FB10682D4A3E\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10149\/2\/A587A52D-72AD-4566-9747-FB10682D4A3E\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10149\/2\/A587A52D-72AD-4566-9747-FB10682D4A3E\/wwdc2020_10149_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10149\/2\/A587A52D-72AD-4566-9747-FB10682D4A3E\/wwdc2020_10149_sd.mp4","duration":2022,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10037","wwdc2020-10040","wwdc2020-10185","wwdc2020-10649"]}},"wwdc2020-10052":{"id":"wwdc2020-10052","staticContentId":3587,"eventContentId":10052,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10052","languageCode":"eng","description":"Build iPhone and iPad apps with fluid interfaces and easily-accessible contextual information. We\u2019ll show you how to integrate the latest UIKit controls into your app to best take advantage of menus, date pickers, page controls, and segmented controllers. Learn how to adopt Menus throughly your user interface, and explore how UIAction can help unify your event handling.\n\nOnce you\u2019ve learned about these new controls, watch \u201cDesign with iOS pickers, menus and actions\u201d to discover how to design great interfaces with these tools and APIs.","title":"Build with iOS pickers, menus and actions","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["uicontrol"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EF2194F7-D6A6-4A12-B843-1C8888634FAD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10052\/5\/C534955F-BDE1-4CDE-87C3-320B97F2AF8E\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10052\/5\/C534955F-BDE1-4CDE-87C3-320B97F2AF8E\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10052\/5\/C534955F-BDE1-4CDE-87C3-320B97F2AF8E\/wwdc2020_10052_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10052\/5\/C534955F-BDE1-4CDE-87C3-320B97F2AF8E\/wwdc2020_10052_sd.mp4","duration":1221,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10056","wwdc2020-10093","wwdc2020-10107","wwdc2020-10205","wwdc2020-10652","wwdc2020-10906","wwdc2020-10908","wwdc2020-20007"],"resources":[890]}},"wwdc2020-10207":{"id":"wwdc2020-10207","staticContentId":3375,"eventContentId":10207,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:11-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10207","languageCode":"eng","description":"SF Symbols make it easy to adopt high-quality, Apple-designed symbols created to look great with San Francisco, the system font for all Apple platforms. Discover how you can use SF Symbols in AppKit, UIKit, and SwiftUI. Learn how to work with SF Symbols in common design tools and how to use them in code. And we\u2019ll walk you through the latest updates, including additions to the repertoire, alignment improvements, changes with right-to-left localization, and multicolor symbols.\n\nThis session focuses on the latest features in SF Symbols 2. While not required, we recommend watching \"Introducing SF Symbols\" from WWDC19. If you\u2019re planning to incorporate symbol assets into SwiftUI, you may also benefit from watching \u201cBuilding Custom Views with SwiftUI.\"","title":"SF Symbols 2","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"610C8883-3772-4671-9C61-CDBA8FDD8FA1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10207\/4\/56001BC4-A5FE-4734-A5EB-377771B6FED3\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10207\/4\/56001BC4-A5FE-4734-A5EB-377771B6FED3\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10207\/4\/56001BC4-A5FE-4734-A5EB-377771B6FED3\/wwdc2020_10207_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10207\/4\/56001BC4-A5FE-4734-A5EB-377771B6FED3\/wwdc2020_10207_sd.mp4","duration":1134,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10097","wwdc2021-10288","wwdc2020-10041","wwdc2020-10104","wwdc2020-10175","wwdc2020-10693","wwdc2020-10694","wwdc2020-10944","wwdc2019-206","wwdc2019-227","wwdc2019-237"]}},"wwdc2020-10159":{"id":"wwdc2020-10159","staticContentId":3666,"eventContentId":10159,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10159","languageCode":"eng","description":"System Extensions improve the reliability and security of macOS. Learn about the modern replacement for Kernel Authorization KPIs and discover tips for making a great security product with the Endpoint Security framework.","title":"Build an Endpoint Security app","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["macOS"],"keywords":["kauth","kernel","security"],"primaryTopicID":101,"topicIds":[96,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DDA1523D-28FB-42B9-B736-874FD6C7799D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10159\/7\/8B7397DB-B3A9-48C8-A9B7-2F8512EFDB29\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10159\/7\/8B7397DB-B3A9-48C8-A9B7-2F8512EFDB29\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10159\/7\/8B7397DB-B3A9-48C8-A9B7-2F8512EFDB29\/wwdc2020_10159_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10159\/7\/8B7397DB-B3A9-48C8-A9B7-2F8512EFDB29\/wwdc2020_10159_sd.mp4","duration":2495,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110345","wwdc2020-10211","wwdc2020-10638","wwdc2020-10676","wwdc2020-10778","wwdc2020-10779","wwdc2019-702"],"resources":[910,579]}},"wwdc2020-10230":{"id":"wwdc2020-10230","staticContentId":3707,"eventContentId":10230,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10230","languageCode":"eng","description":"Discover Playlist Delta Updates, an HLS feature that optimizes the delivery of live streams with large playback windows and lots of metadata. We'll show you how Playlist Delta Updates can reduce overheard when producing live streams, provide higher-quality variants for people with slower connections, and integrate advertising.","title":"Optimize live streams with HLS Playlist Delta Updates","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"178D11CE-A03F-4B33-87E1-E807041C32FE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10230\/10\/74A91D84-99EF-443F-86C4-0B8822E9150C\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10230\/10\/74A91D84-99EF-443F-86C4-0B8822E9150C\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10230\/10\/74A91D84-99EF-443F-86C4-0B8822E9150C\/wwdc2020_10230_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10230\/10\/74A91D84-99EF-443F-86C4-0B8822E9150C\/wwdc2020_10230_sd.mp4","duration":454,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10158","wwdc2020-10225","wwdc2020-10228","wwdc2020-10229","wwdc2020-10231","wwdc2020-10232","wwdc2020-10847","wwdc2020-10851"]}},"wwdc2020-10970":{"id":"wwdc2020-10970","staticContentId":4442,"eventContentId":10970,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10970","languageCode":"eng","description":"Eric Holder was the 82nd Attorney General of the United States, having served from 2009 to 2015. The first Black American to hold the position, Holder\u2019s six-year tenure also makes him one of the longest-serving occupants of the office. Currently a partner in Covington & Burling, he\u2019s served in government for more than 30 years, including appointments by Presidents Obama, Clinton, and Reagan. Lisa Jackson, Apple\u2019s vice president of Environment, Policy and Social Initiatives, will interview the former Attorney General on the topic of race in America. This wide-ranging discussion will touch on the fight for equal justice, how technology can empower people to change the world for the better, and ways to help in this moment.","title":"A conversation with Lisa Jackson and former Attorney General Eric Holder","originalPublishingDate":"2020-06-24T13:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["attorney general","community","converstaion","eric holder","holder","jackson","lisa","lisa jackson","lunchtime session","race"],"primaryTopicID":82,"topicIds":[82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9CDF2ECB-30DD-4697-9503-B50E0D82CAC5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10970\/2\/E58549F7-1B89-47E6-B569-083F8033815E\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10970\/2\/E58549F7-1B89-47E6-B569-083F8033815E\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10970\/2\/E58549F7-1B89-47E6-B569-083F8033815E\/wwdc2020_10970_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10970\/2\/E58549F7-1B89-47E6-B569-083F8033815E\/wwdc2020_10970_sd.mp4","duration":1368,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en"]}},"wwdc2020-10647":{"id":"wwdc2020-10647","staticContentId":3611,"eventContentId":10647,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10647","languageCode":"eng","description":"Simulator runs your iOS, iPadOS, tvOS, or watchOS apps directly on your Mac \u2014 no separate device required. We\u2019ll give you a tour of the app's latest tools and features and show you how to sharpen your Simulator skills. Discover how to test pointer and trackpad support, adjust Simulator preferences, and use command line tools like simctl to help you simulate push notifications in a development environment.\n\nWhile you can get a quick overview of Simulator in this session, for more detailed information about the tool you may want to refresh yourself on \u201cGetting the Most Out of Simulator\u201d from WWDC19.","title":"Become a Simulator expert","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"458CD1EF-12FE-4A82-BC5B-8F16E36E664D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10647\/6\/D236A0D8-F4A2-4213-A8D3-CD986C402338\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10647\/6\/D236A0D8-F4A2-4213-A8D3-CD986C402338\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10647\/6\/D236A0D8-F4A2-4213-A8D3-CD986C402338\/wwdc2020_10647_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10647\/6\/D236A0D8-F4A2-4213-A8D3-CD986C402338\/wwdc2020_10647_sd.mp4","duration":1214,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2019-418"]}},"wwdc2020-10019":{"id":"wwdc2020-10019","staticContentId":3472,"eventContentId":10019,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10019","languageCode":"eng","description":"Switch Control is a powerful accessibility technology for anyone with very limited mobility. The feature is available natively on iOS, and you can create an even better Switch Control experience in your app with tips, tricks, and a few APIs. We\u2019ll walk you through how people use Switch Control, as well as provide best practices for supporting it in your app effectively. \n\nTo get the most out of this session, you should be familiar with general accessibility principles and VoiceOver accessibility APIs. Check out \"Making Apps More Accessible With Custom Actions,\" \"Writing Great Accessibility Labels, and \"VoiceOver: App Testing Beyond The Visuals\" for more information.","title":"App accessibility for Switch Control","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["accessibility","assistive technology","custom actions","isswitchcontrolrunning","motor impairment","switch control","switches","uiaccessibilitycustomaction","voiceover","voice over"],"primaryTopicID":82,"topicIds":[87,100,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A1032935-6679-4A6E-AF71-6905A0486871","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10019\/8\/B498FE5F-E963-44CB-BE5E-1053289B5D7B\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10019\/8\/B498FE5F-E963-44CB-BE5E-1053289B5D7B\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10019\/8\/B498FE5F-E963-44CB-BE5E-1053289B5D7B\/wwdc2020_10019_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10019\/8\/B498FE5F-E963-44CB-BE5E-1053289B5D7B\/wwdc2020_10019_sd.mp4","duration":883,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10749","wwdc2020-10750","wwdc2020-10751","wwdc2019-244","wwdc2019-250","wwdc2019-254","wwdc2019-257","wwdc2018-226"],"resources":[58]}},"wwdc2020-10602":{"id":"wwdc2020-10602","staticContentId":3414,"eventContentId":10602,"eventId":"wwdc2020","contentUpdatedAt":"2025-09-09T13:10:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10602","languageCode":"eng","description":"Create visually stunning, high-performance apps and games when you combine the power of Apple GPUs with Metal, the modern foundation for GPU-accelerated graphics on Apple platforms. Discover the architecture and capabilities of the Apple GPU and how Metal harnesses its tile-based deferred rendering (TBDR) architecture to achieve measurable performance gains in apps and games. In this session, we\u2019ll discuss the efficiency of Apple GPUs and show how TBDR applies to an array of modern rendering techniques.\n\nYou should come to the session with a basic knowledge of Metal and graphics rendering. For a great introduction, check out \u201cModern Rendering with Metal\u201d to orient yourself.","title":"Harness Apple GPUs with Metal","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D9C8F7A1-3B15-47A6-A2CE-F934D04CFF57","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10602\/7\/7EE751FE-713A-4E04-8780-38491023B7B8\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10602\/7\/7EE751FE-713A-4E04-8780-38491023B7B8\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10602\/7\/7EE751FE-713A-4E04-8780-38491023B7B8\/wwdc2020_10602_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10602\/7\/7EE751FE-713A-4E04-8780-38491023B7B8\/wwdc2020_10602_sd.mp4","duration":1463,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10125","wwdc2021-10148","wwdc2021-10153","wwdc2020-10603","wwdc2020-10605","wwdc2020-10616","wwdc2020-10631","wwdc2020-10810","wwdc2020-10811","wwdc2020-10812","wwdc2020-10813","wwdc2020-10814","wwdc2020-10815","wwdc2020-10816","wwdc2020-10817","wwdc2019-606","tech-talks-602","tech-talks-608","tech-talks-10858","tech-talks-10859"],"resources":[647,266,38]}},"wwdc2020-10671":{"id":"wwdc2020-10671","staticContentId":3351,"eventContentId":10671,"eventId":"wwdc2020","contentUpdatedAt":"2025-08-19T03:31:59-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10671","languageCode":"eng","description":"Learn how you can build simple entitlement logic to enhance the customer experience. We\u2019ll dive deep into key concepts and provide guidance for architecting your systems to accurately entitle service. You\u2019ll learn best practices for subscription features and how to craft the best customer experience throughout the subscription lifecycle.","title":"Architecting for subscriptions","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["api","app store connect","in-app purchase","in-app purchases","inapp purchases","json","notifications","receipt","receipt validation","subscription","subscriptions"],"primaryTopicID":86,"topicIds":[86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0434C301-78B3-4CA3-9291-2F8FC10BE874","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10671\/4\/EEBDC02E-B607-4F2B-AD12-3DCBC0F3AFF8\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10671\/4\/EEBDC02E-B607-4F2B-AD12-3DCBC0F3AFF8\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10671\/4\/EEBDC02E-B607-4F2B-AD12-3DCBC0F3AFF8\/wwdc2020_10671_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10671\/4\/EEBDC02E-B607-4F2B-AD12-3DCBC0F3AFF8\/wwdc2020_10671_sd.mp4","duration":1401,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110404","wwdc2020-10661","wwdc2020-10756","wwdc2020-10840","wwdc2020-10841","wwdc2020-10842","wwdc2019-302","wwdc2019-305","wwdc2018-705"],"resources":[911,806,805,804,798,791,790,493,492,491,448]}},"wwdc2020-10619":{"id":"wwdc2020-10619","staticContentId":3792,"eventContentId":10619,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10619","languageCode":"eng","description":"Level up your Game Center integration and enable players to compare scores on leaderboards, earn valuable achievements, and engage with other players. Organize special events like weekly championships, daily showdowns, or 1-hour competitions using recurring leaderboards. Create up to 100 unique achievements for your game. And we'll show you how to set up real-time or turn-based multiplayer matches for your Game Center players.\n\nIf you want to learn more about Game Center\u2019s interface, Dashboard, and player profiles, check out \u201cTap into Game Center: Dashboard, Access Point, and Profile.\u201d\n\nAnd for more about preparing your game\u2019s interface for these new capabilities, see \u201cDesign for Game Center.\u201d","title":"Tap into Game Center: Leaderboards, Achievements, and Multiplayer","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8F74DAC7-BC6B-4BD0-8697-7BF173C7E360","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10619\/4\/05AE01B8-DBEB-4628-B955-167A86ECB3AE\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10619\/4\/05AE01B8-DBEB-4628-B955-167A86ECB3AE\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10619\/4\/05AE01B8-DBEB-4628-B955-167A86ECB3AE\/wwdc2020_10619_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10619\/4\/05AE01B8-DBEB-4628-B955-167A86ECB3AE\/wwdc2020_10619_sd.mp4","duration":1494,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10064","wwdc2022-10065","wwdc2021-10066","wwdc2021-10067","wwdc2021-100171","wwdc2021-100255","wwdc2021-100316","wwdc2020-10145","wwdc2020-10618","wwdc2020-10692","wwdc2020-10829","wwdc2020-10830","wwdc2020-10831","tech-talks-111377"]}},"wwdc2020-10146":{"id":"wwdc2020-10146","staticContentId":3576,"eventContentId":10146,"eventId":"wwdc2020","contentUpdatedAt":"2025-09-26T10:41:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10146","languageCode":"eng","description":"App Clips are small parts of an app that offer a streamlined, direct experience and help people get what they need at the right time. Learn how you can invoke an App Clip through real-world experiences like App Clip Codes, NFC, and QR codes, or have them appear digitally through apps like Maps or Safari. We\u2019ll show you how to handle links in your App Clip and demonstrate how to set up your associated domains. And discover how you can configure App Clip experiences in App Store Connect, add App Clip banners to your website, and thoroughly test your App Clips through TestFlight.\n\nTo get the most out of this session, you should have experience using Universal Links and associated domains. For a primer, watch \u201cWhat\u2019s New in Universal Links\u201d from WWDC19.","title":"Configure and link your App Clips","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["app clip banner","app clip codes","app clip experience","app store connect","maps","messages","nearby suggestions","nfc","nsuseractivity","qr codes","safari","web server"],"primaryTopicID":86,"topicIds":[98,100,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C224D7ED-B17E-4F12-92BE-54C04D040E87","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10146\/6\/F04CF30D-7D67-44DC-83BA-E9AB09BD12F7\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10146\/6\/F04CF30D-7D67-44DC-83BA-E9AB09BD12F7\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10146\/6\/F04CF30D-7D67-44DC-83BA-E9AB09BD12F7\/wwdc2020_10146_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10146\/6\/F04CF30D-7D67-44DC-83BA-E9AB09BD12F7\/wwdc2020_10146_sd.mp4","duration":1377,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10178","wwdc2021-10012","wwdc2021-10013","wwdc2020-10098","wwdc2020-10118","wwdc2020-10120","wwdc2020-10172","wwdc2020-10174","wwdc2020-10651","wwdc2020-10696","wwdc2020-10697","wwdc2020-10966","wwdc2019-717"],"resources":[1469,915,914,884]}},"wwdc2020-10687":{"id":"wwdc2020-10687","staticContentId":3881,"eventContentId":10687,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10687","languageCode":"eng","description":"Put your test failures to work: Learn how to triage and diagnose uncaught issues in your app using the latest testing APIs in Xcode. We\u2019ll show you how to help ease your testing workflow and put failures into context to help you deliver the best quality product.\n\nFor more information on designing your tests to improve triaging, see \u201cWrite tests to fail.\u201d\n\nAnd check out the latest improvements to Xcode\u2019s testing workflow by watching \u201cGet your test results faster\u201d, \u201cHandle interruptions and alerts in UI tests\u201d, and \u201cXCTSkip your tests.\u201d","title":"Triage test failures with XCTIssue","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["test","test failure","testing","xcode","xctest","xctissue"],"primaryTopicID":88,"topicIds":[99,88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3D2F547E-DB8A-4697-BBB0-8256CA141B5B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10687\/4\/9416FDA9-FC21-48ED-BBCC-ABF5C5A9B0DA\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10687\/4\/9416FDA9-FC21-48ED-BBCC-ABF5C5A9B0DA\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10687\/4\/9416FDA9-FC21-48ED-BBCC-ABF5C5A9B0DA\/wwdc2020_10687_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10687\/4\/9416FDA9-FC21-48ED-BBCC-ABF5C5A9B0DA\/wwdc2020_10687_sd.mp4","duration":758,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10077","wwdc2020-10091","wwdc2020-10164","wwdc2020-10220","wwdc2020-10221"]}},"wwdc2020-10042":{"id":"wwdc2020-10042","staticContentId":3789,"eventContentId":10042,"eventId":"wwdc2020","contentUpdatedAt":"2026-05-05T14:33:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10042","languageCode":"eng","description":"Add a new dimension to your tvOS app with SwiftUI. We\u2019ll show you how to build layouts powered by SwiftUI and customize your interface with custom buttons, provide more functionality in your app with a context menu, check if views are focused, and manage default focus.\n\nTo get the most out of this session, you should be comfortable with SwiftUI. For a primer, watch \u201cIntroducing SwiftUI: Building Your First App\u201d and \u201cSwiftUI On All Devices.\u201d","title":"Build SwiftUI apps for tvOS","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["tvOS"],"keywords":["apple tv","apple tv 4k","apple tv app","focus","focus engine","lazy grids","swift","swift developer","swiftui","tv","tv dev","tv developer","tvos","tv swift","tv swiftui"],"primaryTopicID":84,"topicIds":[100,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B17CF999-313D-4C0D-A791-D2A5DD5F9242","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10042\/4\/B38E5ED8-1188-4675-877A-272A47769177\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10042\/4\/B38E5ED8-1188-4675-877A-272A47769177\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10042\/4\/B38E5ED8-1188-4675-877A-272A47769177\/wwdc2020_10042_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10042\/4\/B38E5ED8-1188-4675-877A-272A47769177\/wwdc2020_10042_sd.mp4","duration":870,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10041","wwdc2020-10854","wwdc2020-10855","wwdc2019-204","wwdc2019-240"],"resources":[864,863,862,861,614,576,571,13]}},"wwdc2020-10086":{"id":"wwdc2020-10086","staticContentId":3693,"eventContentId":10086,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10086","languageCode":"eng","description":"Intelligence is a core part of building a great modern app. App extensions, Siri suggestions, voice, widgets, App Clips \u2014 we\u2019ve designed all of these features to help make everyday tasks easier for people who use our platforms. Learn about the origins of the intelligent system experience, and find out how integrating intelligently with the system can help make your app more convenient, relevant, and intuitive, making your features the focus.\n\nLearn more about designing for intelligence in the next part of our series, \"Discover new opportunities.\"","title":"Design for intelligence: Apps, evolved","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["conversational interaction","design","discoverability","donations","extensions","intelligence","intelligent system experience","intents","intentsui","shortcuts","siri","sirikit","siri suggestions","suggestions","system intelligence","ui","user experience","voice"],"primaryTopicID":87,"topicIds":[83,86,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3F2A77CF-3551-4718-A971-196A6E79EAA9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10086\/3\/F5DA137E-B1E5-4180-96CC-2D6680E5996E\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10086\/3\/F5DA137E-B1E5-4180-96CC-2D6680E5996E\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10086\/3\/F5DA137E-B1E5-4180-96CC-2D6680E5996E\/wwdc2020_10086_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10086\/3\/F5DA137E-B1E5-4180-96CC-2D6680E5996E\/wwdc2020_10086_sd.mp4","duration":424,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10060","wwdc2020-10061","wwdc2020-10068","wwdc2020-10069","wwdc2020-10071","wwdc2020-10073","wwdc2020-10074","wwdc2020-10080","wwdc2020-10083","wwdc2020-10084","wwdc2020-10087","wwdc2020-10088","wwdc2020-10190","wwdc2020-10194","wwdc2020-10197","wwdc2020-10200","wwdc2020-10693","wwdc2020-10839","wwdc2020-10877","wwdc2020-10878","wwdc2020-10879","wwdc2020-10914","wwdc2020-10917","wwdc2020-10918","wwdc2020-10963","wwdc2020-10980"]}},"wwdc2020-10670":{"id":"wwdc2020-10670","staticContentId":3571,"eventContentId":10670,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10670","languageCode":"eng","description":"Face ID and Touch ID provide a frictionless experience when logging in \u2014 and now you can use them on your websites in Safari with the Web Authentication API. Discover how to add this convenient and secure login alternative to your website.","title":"Meet Face ID and Touch ID for the web","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["applestmtformat","aswebauthenticationsession","attestation","authenticator","authenticatorattestationresponse","authenticatorselection","challenge","credential","crypto","cryptographic","cryptography","enroll","isuserverifyingplatformauthenticatoravailable","json","multi-factor","navigator.credentials","phishing","platform authenticator","private key","pubkeycredparams","public key","publickeycredentials","relying party","server-side","sfsafariviewcontroller","signature","webauthn"],"primaryTopicID":96,"topicIds":[98,96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"13B3E500-5290-43A3-B95E-EB82B4B12C02","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10670\/5\/F2522A6C-CD56-4570-8939-B8BB17427290\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10670\/5\/F2522A6C-CD56-4570-8939-B8BB17427290\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10670\/5\/F2522A6C-CD56-4570-8939-B8BB17427290\/wwdc2020_10670_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10670\/5\/F2522A6C-CD56-4570-8939-B8BB17427290\/wwdc2020_10670_sd.mp4","duration":941,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10663","wwdc2020-10740","wwdc2020-10743","wwdc2020-10744","wwdc2020-10836"],"resources":[773,772]}},"wwdc2020-10669":{"id":"wwdc2020-10669","staticContentId":3560,"eventContentId":10669,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:38:58-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10669","languageCode":"eng","description":"Learn how FHIRModels creates native data models for all FHIR resources, provides data validation to enforce resource integrity, and prevents the creation of structurally invalid resources \u2014 across multiple versions of the FHIR specification. Whether you're working with clinical data obtained from HealthKit or direct from a clinical system, FHIRModels makes FHIR easy to handle.","title":"Handling FHIR without getting burned","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["fhir","health","health documents","medical records","open source","package","spm"],"primaryTopicID":92,"topicIds":[92],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9644E575-3A97-4527-8314-59E37D4BD5BD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10669\/4\/63009C98-F22F-4CFE-9037-5DCC0A37017F\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10669\/4\/63009C98-F22F-4CFE-9037-5DCC0A37017F\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10669\/4\/63009C98-F22F-4CFE-9037-5DCC0A37017F\/wwdc2020_10669_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10669\/4\/63009C98-F22F-4CFE-9037-5DCC0A37017F\/wwdc2020_10669_sd.mp4","duration":487,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["tech-talks-21-10070","tech-talks-21-10071","wwdc2021-10089","wwdc2020-10151","wwdc2020-10182","wwdc2020-10184","wwdc2020-10755","wwdc2020-10757","wwdc2020-10843","wwdc2018-706"],"resources":[1355,743]}},"wwdc2020-10217":{"id":"wwdc2020-10217","staticContentId":3597,"eventContentId":10217,"eventId":"wwdc2020","contentUpdatedAt":"2026-02-16T11:56:16-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10217","languageCode":"eng","description":"Meet Swift Numerics: a new Swift package for computational mathematics. Take a tour of the protocols and types available in the package and find out how you can use them to write generic code. We'll also show you how and when to use the new Float16 type to improve performance and reduce memory usage.\n\nTo get the most out of this session, you should have some familiarity with mathematics like logarithmic functions and real and imaginary numbers. You should also be familiar with generic programming in Swift. For more background, watch \u201cSwift Generics (Expanded)\u201d from WWDC18.","title":"Explore numerical computing in Swift","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"040B0FCB-92E7-464F-9628-C3A78D490BA0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10217\/6\/608C3CB1-C8BD-4B19-B5F3-5ADA44E200E3\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10217\/6\/608C3CB1-C8BD-4B19-B5F3-5ADA44E200E3\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10217\/6\/608C3CB1-C8BD-4B19-B5F3-5ADA44E200E3\/wwdc2020_10217_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10217\/6\/608C3CB1-C8BD-4B19-B5F3-5ADA44E200E3\/wwdc2020_10217_sd.mp4","duration":924,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10192","wwdc2021-10256","wwdc2020-10170"],"resources":[789,784,783]}},"wwdc2020-10634":{"id":"wwdc2020-10634","staticContentId":3422,"eventContentId":10634,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10634","languageCode":"eng","description":"Searching your tvOS app just got even better. Get ready to explore the new simplified search interface and learn how to integrate it into your app with UISearchController. Support your global audience with the addition of new international keyboards and languages. Discover how to add search suggestions to your interface and update results with suggestions on the fly. And we\u2019ll share some of our favorite tips for adding a great search experience to Apple TV.","title":"Discover search suggestions for Apple TV","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["tvOS"],"keywords":["appletv","apple tv","apple tv 4k","apple tv app","apple tv design","apple tv dev","apple tv developer","apple tv search","search","search suggestions","suggestions","tv","tv app dev","tv app developer","tv dev","tv developer","tvos","tv search","uisearchcontroller","video"],"primaryTopicID":84,"topicIds":[100,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3B6E1F83-A6AD-4A06-8A37-0B7D9A358080","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10634\/4\/F7B5D94B-69EE-4ABC-86AF-2354D9C93060\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10634\/4\/F7B5D94B-69EE-4ABC-86AF-2354D9C93060\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10634\/4\/F7B5D94B-69EE-4ABC-86AF-2354D9C93060\/wwdc2020_10634_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10634\/4\/F7B5D94B-69EE-4ABC-86AF-2354D9C93060\/wwdc2020_10634_sd.mp4","duration":678,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10854","wwdc2020-10855"],"resources":[830,13]}},"wwdc2020-10056":{"id":"wwdc2020-10056","staticContentId":3363,"eventContentId":10056,"eventId":"wwdc2020","contentUpdatedAt":"2025-10-17T17:22:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10056","languageCode":"eng","description":"Discover how to tailor your Mac Catalyst app so that it looks and feels even more at home on the Mac by using the new \u201cOptimize Interface for Mac\u201d option in Xcode. Explore new layout and appearance options for Catalyst apps, and learn how they can provide you with graphical performance gains, sharper text, and an interface designed specifically for Apple\u2019s desktops and laptops. We\u2019ll show you how to take advantage of these options and provide best practices for organizing your code when developing for multiple platforms.\n\nDevelopers actively working on a Mac Catalyst project will get the most out of watching this session. If you\u2019re new to Catalyst, we recommend watching \u201cDesigning iPad Apps for Mac\u201d and \"Introducing iPad Apps for Mac\" for an introduction.\n\nFor more on working with Mac Catalyst, check out \"What's new in Mac Catalyst\u201d","title":"Optimize the interface of your Mac Catalyst app","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["macOS"],"keywords":["button placement","catalyst","controls","custom artwork","font sizes","gestures","groupbox","idiom chooser","ipad apps on the mac","layouts","mac idiom","navigation bar","optimize","optimize interface for mac","scaled","swiftui","toolbar","uigesturerecognizer"],"primaryTopicID":100,"topicIds":[88,100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EA1CBA5D-E06B-4A96-8C99-0686424BEC12","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10056\/11\/7A6C9FD8-33A7-4FA5-BF00-AA6A9D0A1A5B\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10056\/11\/7A6C9FD8-33A7-4FA5-BF00-AA6A9D0A1A5B\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10056\/11\/7A6C9FD8-33A7-4FA5-BF00-AA6A9D0A1A5B\/wwdc2020_10056_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10056\/11\/7A6C9FD8-33A7-4FA5-BF00-AA6A9D0A1A5B\/wwdc2020_10056_sd.mp4","duration":2252,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10052","wwdc2021-10053","wwdc2021-10346","wwdc2020-10041","wwdc2020-10052","wwdc2020-10143","wwdc2020-10205","wwdc2020-10693","wwdc2020-10694","wwdc2020-10705","wwdc2020-10707","wwdc2020-10708","wwdc2019-205","wwdc2019-227","wwdc2019-809"],"resources":[817,697,696,695]}},"wwdc2020-10111":{"id":"wwdc2020-10111","staticContentId":3715,"eventContentId":10111,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10111","languageCode":"eng","description":"Speed up your app and make it more nimble, private and secure with modern networking APIs. Learn about networking protocols like IPv6, HTTP\/2, TLS 1.3 and Encrypted DNS, and how incorporating these within your app and server can provide faster performance and reduce both your power consumption and thermal impact. In addition, discover how adopting the latest security protocols can help you better protect privacy within your app. \n\nFor more information on creating a great networking experience for people using your app, watch \u201cAdvances in Networking\u201d and \u201cOptimizing your App for Today\u2019s Internet.\u201d\n\nAnd to learn more about the latest networking APIs on Apple platforms, check out \u201cEnable Encrypted DNS\u201d and \u201cAdopt Local Network Privacy.\u201d","title":"Boost performance and security with modern networking","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["network performance"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DDDAC25C-CD74-40B5-9BF3-3E9AF6A660C2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10111\/5\/4F35F04B-7EDA-43C3-84B5-C05765126AD4\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10111\/5\/4F35F04B-7EDA-43C3-84B5-C05765126AD4\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10111\/5\/4F35F04B-7EDA-43C3-84B5-C05765126AD4\/wwdc2020_10111_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10111\/5\/4F35F04B-7EDA-43C3-84B5-C05765126AD4\/wwdc2020_10111_sd.mp4","duration":822,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10047","wwdc2020-10110","wwdc2020-10638","wwdc2020-10856","wwdc2020-10857","wwdc2020-10858","wwdc2019-712","wwdc2018-714","wwdc2018-715"]}},"wwdc2020-10646":{"id":"wwdc2020-10646","staticContentId":3646,"eventContentId":10646,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10646","languageCode":"eng","description":"The Web Inspector makes introspection and debugging simpler than ever. Discover how you can use debugger stepping, editing cookies, and overriding network loaded resources to provide you with powerful development capabilities and help you create faster, more efficient websites.","title":"What's new in Web Inspector","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["ad click attribution","animation-name","animations","audio","blackbox","bootstrap script","breakpoints","callbacks","canvas","console","cookies","css","css animations","css transitions","debugger","debugging","dom","dom tree","evaluation","fetch","html","http","indexeddb","inspected","intelligent tracking prevention","interval","itp","javascript","jscontext","json","layers","local override","localstorage","media","microtasks","network tab","page","paints","pretty print","profiling","promise","queryholders","queryinstances","regexp","regular expression","requestanimationframe","resources tab","safari","safari technology preview","setinterval","settimeout","step","storage","timelines","transition-property","video","webkit","webpage","website","websocket","wkwebview","xhr","xml"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3F718AF4-0D86-498C-B414-D04386CA0CF5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10646\/4\/FE1E3CA4-5AE6-4715-86C9-01777316518A\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10646\/4\/FE1E3CA4-5AE6-4715-86C9-01777316518A\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10646\/4\/FE1E3CA4-5AE6-4715-86C9-01777316518A\/wwdc2020_10646_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10646\/4\/FE1E3CA4-5AE6-4715-86C9-01777316518A\/wwdc2020_10646_sd.mp4","duration":1689,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10031","wwdc2020-10188","wwdc2020-10663","wwdc2020-10665","wwdc2020-10740","wwdc2020-10743","wwdc2020-10744","wwdc2020-10836"],"resources":[774,772,771]}},"wwdc2020-10147":{"id":"wwdc2020-10147","staticContentId":3604,"eventContentId":10147,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:39-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10147","languageCode":"eng","description":"Discover how you can add third-party frameworks to your app and keep them up to date using Swift packages in Xcode. We\u2019ll show you how to author packages that reference frameworks, explain binary targets and how to specify them in your package manifest file, and demonstrate how to compute checksums so that your clients always get the exact binary you expect.\n\nFrameworks are distributed in the XCFramework format. For further details on creating and versioning an XCFramework, be sure to watch \"Binary Frameworks in Swift\" from WWDC19.","title":"Distribute binary frameworks as Swift packages","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"EC625F0F-A380-4764-972A-7DC0C5D93C44","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10147\/3\/9A1289F5-A542-4604-BB2E-E7A77AF2C41F\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10147\/3\/9A1289F5-A542-4604-BB2E-E7A77AF2C41F\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10147\/3\/9A1289F5-A542-4604-BB2E-E7A77AF2C41F\/wwdc2020_10147_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10147\/3\/9A1289F5-A542-4604-BB2E-E7A77AF2C41F\/wwdc2020_10147_sd.mp4","duration":467,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10169","wwdc2020-10170","wwdc2019-410","wwdc2019-416"]}},"wwdc2020-10174":{"id":"wwdc2020-10174","staticContentId":3575,"eventContentId":10174,"eventId":"wwdc2020","contentUpdatedAt":"2025-09-26T10:41:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10174","languageCode":"eng","description":"Help people experience the right parts of your app at the exact moment they need them. We\u2019ll explain how to design and build an App Clip \u2014 a small part of your app that focuses on a specific task \u2014 and make it easily discoverable. Learn how to focus your App Clip on short and fast interactions and identify contextually-relevant situations where you can surface it, like a search in Maps or at a real-world location through QR codes, NFC, or App Clip codes. Find out a few key differences between apps and App Clips, and explore how App Clips interact with their corresponding apps.\n\nWe\u2019ve designed this session to introduce you to App Clips. For more detailed information on designing, building, and implementing App Clips, check out \u201cCreate App Clips for other businesses,\u201d \u201cStreamline your App Clip,\u201d and \u201cConfigure and link your App Clips.\u201d","title":"Explore App Clips","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["active compilation conditions","app clip codes","app clip experience","app clip url","applepay","asauthorizationcontroller","corresponding app","debug app clip","focused userflow","migrate data","on-demand binary","registered experience","shared asset catalog","shared data containers","sign in with apple","skoverlay","swiftui"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"46752ACA-CE08-40E5-B2F5-C8CA68118BCD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10174\/3\/75396F5A-4285-498E-9ED5-29F194CE11AA\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10174\/3\/75396F5A-4285-498E-9ED5-29F194CE11AA\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10174\/3\/75396F5A-4285-498E-9ED5-29F194CE11AA\/wwdc2020_10174_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10174\/3\/75396F5A-4285-498E-9ED5-29F194CE11AA\/wwdc2020_10174_sd.mp4","duration":1186,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10118","wwdc2020-10120","wwdc2020-10146","wwdc2020-10172","wwdc2020-10660","wwdc2020-10662","wwdc2020-10692","wwdc2020-10696","wwdc2020-10697","wwdc2020-10966","wwdc2019-516"],"resources":[1469,913,884,853,816,807]}},"wwdc2020-10663":{"id":"wwdc2020-10663","staticContentId":3405,"eventContentId":10663,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10663","languageCode":"eng","description":"Explore the latest features and improvements for Safari and WebKit. We\u2019ll walk you through updated web APIs, CSS and media features, JavaScript syntax, and more to help you build great experiences for people when they use your website, home screen web apps, or embedded WebKit views.","title":"What's new for web developers","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["airplay","animate","app-clip-bundle-id","app clips","apple-itunes-app","apple pay","ar quick look","aspect ratio","async clipboard","attribute","bigint","clipboard","constructor","copy","css","css animations","css shadow part","css transitions","custom elements","customevent","dom","dynamic-range","element","emsg","enterkeyhint","eventtarget","exif","ext-x-daterange","face id","fetch","fmp4","font-family","graphics tab","hdr","high dynamic range","html","html banner","image-orientation","instant back","javascript","keyframeeffect","line-break","logical assignment","metadata","nullish coalescing","observe","operators","optional chaining","paste","pdf","performance","picture-in-picture","pointer events","pseudo-selector","public class fields","readtext","remote playback","replaceall","resizeobserver","safari technology preview","security key","service workers","svg","system-ui","texttrackcue","touch id","ui-sans-serif","ui-serif","usb key","web animations","web api","web assembly","web authentication","webauthn","web component","web inspector","webp","writetext","xhr","yubikey"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B9EC9533-3525-4C82-8B1C-3AC71D4F5EB5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10663\/5\/07AE41F3-7DC1-47F7-BD89-EF68948C4935\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10663\/5\/07AE41F3-7DC1-47F7-BD89-EF68948C4935\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10663\/5\/07AE41F3-7DC1-47F7-BD89-EF68948C4935\/wwdc2020_10663_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10663\/5\/07AE41F3-7DC1-47F7-BD89-EF68948C4935\/wwdc2020_10663_sd.mp4","duration":2165,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10188","wwdc2020-10646","wwdc2020-10665","wwdc2020-10670","wwdc2020-10740","wwdc2020-10743","wwdc2020-10744","wwdc2020-10836"],"resources":[774,773,772,771]}},"wwdc2020-10172":{"id":"wwdc2020-10172","staticContentId":3419,"eventContentId":10172,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10172","languageCode":"eng","description":"App Clips offer fast, convenient ways for people to perform everyday tasks without needing to download or navigate your full app. We'll show you how to identify key elements from your iOS app that make up a great App Clip, design a smooth flow, work with notifications, and provide messaging guidance when encouraging people to download your full app.","title":"Design great App Clips","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"814F0566-6FC8-433A-86C5-E7F2460BCDD8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10172\/5\/0DDB775C-9CC9-4DBA-A632-F4D4AF78D301\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10172\/5\/0DDB775C-9CC9-4DBA-A632-F4D4AF78D301\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10172\/5\/0DDB775C-9CC9-4DBA-A632-F4D4AF78D301\/wwdc2020_10172_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10172\/5\/0DDB775C-9CC9-4DBA-A632-F4D4AF78D301\/wwdc2020_10172_sd.mp4","duration":1303,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10097","wwdc2020-10118","wwdc2020-10120","wwdc2020-10146","wwdc2020-10174","wwdc2020-10676","wwdc2020-10696","wwdc2020-10697","wwdc2020-10966"],"resources":[816,807]}},"wwdc2020-10618":{"id":"wwdc2020-10618","staticContentId":3412,"eventContentId":10618,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10618","languageCode":"eng","description":"Apple\u2019s social gaming network is ready to play. We\u2019ll walk you through the latest updates to Game Center, starting with its in-game interface and all-new player experience. Learn how to integrate GameKit into your app and authenticate players effectively, and discover the Access Point, which brings players into the in-game dashboard. From there, we\u2019ll explore player profiles and their options for privacy.\n\nAfter exploring Game Center\u2019s interface, Dashboard, and player profiles, continue to the next video to learn about Leaderboards, Achievements, and Multiplayer gaming. \n\nAnd for more about preparing your game\u2019s interface for these new capabilities, see \u201cDesign for Game Center.\u201d","title":"Tap into Game Center: Dashboard, Access Point, and Profile","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A3FBC918-45BC-4328-8140-928B1C64B7CD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10618\/5\/02361057-A8F2-462F-A302-376CF48B17FF\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10618\/5\/02361057-A8F2-462F-A302-376CF48B17FF\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10618\/5\/02361057-A8F2-462F-A302-376CF48B17FF\/wwdc2020_10618_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10618\/5\/02361057-A8F2-462F-A302-376CF48B17FF\/wwdc2020_10618_sd.mp4","duration":1412,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10064","wwdc2022-10065","wwdc2021-100171","wwdc2021-100255","wwdc2021-100316","wwdc2020-10145","wwdc2020-10619","wwdc2020-10692","wwdc2020-10829","wwdc2020-10830","wwdc2020-10831"],"resources":[827]}},"wwdc2020-10683":{"id":"wwdc2020-10683","staticContentId":3501,"eventContentId":10683,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:15-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10683","languageCode":"eng","description":"Swift Playgrounds presents \"Swan\u2019s Quest,\u201d an interactive adventure in four chapters for all ages. Calling all musicians! In this chapter, our Hero has found a mysterious scroll of music, and only you can help decode it. (Don\u2019t worry if you can\u2019t read music, our clever Lizard is standing by to assist. It\u2019s sure to be a note-worthy experience.)\n\nBy learning a little theory, and mastering time to create tones of different lengths, you just might help our Hero face the music\u2026 and move onto the next part of their quest.\n\nSwan\u2019s Quest was created for Swift Playgrounds on iPad and Mac, combining frameworks and resources which power the educational experiences in many of our playgrounds, including Sonic Workshop, Sensor Arcade, and Augmented Reality. To learn more about building your own playgrounds, be sure to watch \"Create Swift Playgrounds content for iPad and Mac\".\n\nAnd don\u2019t forget to stop by the Developer Forums and share your solution for our side quest.","title":"Swan's Quest, Chapter 3: The notable scroll","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["playgrounds","swan's quest","swans quest","swift","swift playgrounds","swift playgrounds challenge"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"66AC20C2-AB40-4FE6-9751-0CF863BCDDD0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10683\/3\/ED6FCD26-F83D-4886-B592-D8C93CF836D4\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10683\/3\/ED6FCD26-F83D-4886-B592-D8C93CF836D4\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10683\/3\/ED6FCD26-F83D-4886-B592-D8C93CF836D4\/wwdc2020_10683_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10683\/3\/ED6FCD26-F83D-4886-B592-D8C93CF836D4\/wwdc2020_10683_sd.mp4","duration":359,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10643","wwdc2020-10654","wwdc2020-10681","wwdc2020-10682","wwdc2020-10684"],"resources":[859,857]}},"wwdc2020-10170":{"id":"wwdc2020-10170","staticContentId":3483,"eventContentId":10170,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10170","languageCode":"eng","description":"Join us for an update on Swift. Discover the latest advancements in runtime performance, along with improvements to the developer experience that make your code faster to read, edit, and debug. Find out how to take advantage of new language features like multiple trailing closures. Learn about new libraries available in the SDK, and explore the growing number of APIs available as Swift Packages.","title":"What's new in Swift","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"52FC2DA2-AAED-4CDF-AD3B-81CC868C1164","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10170\/7\/9782B095-447A-49C8-A7D2-BB3B006CA5E2\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10170\/7\/9782B095-447A-49C8-A7D2-BB3B006CA5E2\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10170\/7\/9782B095-447A-49C8-A7D2-BB3B006CA5E2\/wwdc2020_10170_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10170\/7\/9782B095-447A-49C8-A7D2-BB3B006CA5E2\/wwdc2020_10170_sd.mp4","duration":1939,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10041","wwdc2020-10147","wwdc2020-10168","wwdc2020-10169","wwdc2020-10217"],"resources":[845,844,842,784,45]}},"wwdc2020-10097":{"id":"wwdc2020-10097","staticContentId":3528,"eventContentId":10097,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10097","languageCode":"eng","description":"Learn about new features of UICollectionView that make it easier to use and unlock powerful new functionality. We'll show you how to use section snapshots with your diffable data source to create outlines that can expand and collapse, and introduce you to building lists with compositional layout to create UITableView-like interfaces with a collection view. And discover modern techniques for dequeuing cells and configuring their content and styling.\n\nTo get the most out of this session, you should have a basic understanding of compositional layouts. Watch \u201cAdvances in Collection View Layout\u201d from WWDC19 for more information.","title":"Advances in UICollectionView","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"keywords":["cell","collection","layout","table","tableview","uicollectionview","uitableview"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CE0E9243-BF9B-4311-BCEB-E0EB766EAFEE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10097\/3\/CE693EFF-2BF8-4B42-B483-04F69015A601\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10097\/3\/CE693EFF-2BF8-4B42-B483-04F69015A601\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10097\/3\/CE693EFF-2BF8-4B42-B483-04F69015A601\/wwdc2020_10097_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10097\/3\/CE693EFF-2BF8-4B42-B483-04F69015A601\/wwdc2020_10097_sd.mp4","duration":595,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10252","wwdc2020-10026","wwdc2020-10027","wwdc2020-10105","wwdc2020-10907","wwdc2019-215","wwdc2019-220"],"resources":[530]}},"wwdc2020-10114":{"id":"wwdc2020-10114","staticContentId":3781,"eventContentId":10114,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:35-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10114","languageCode":"eng","description":"Apple silicon Macs can run many iPad and iPhone apps as-is, and these apps will be made available to users on the Mac through the Mac App Store. Discover how iPad and iPhone apps run on Apple silicon Macs, and the factors that make your apps come across better. Learn how to test your app for the Mac, and hear about your options for distribution of your apps.","title":"iPad and iPhone apps on Apple silicon Macs","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["arm","emulator"],"primaryTopicID":86,"topicIds":[88,86],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"29942359-C6DB-4510-96D7-52CF10C79AAF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10114\/4\/6F739926-5C96-42A5-8EAC-176185E35089\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10114\/4\/6F739926-5C96-42A5-8EAC-176185E35089\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10114\/4\/6F739926-5C96-42A5-8EAC-176185E35089\/wwdc2020_10114_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10114\/4\/6F739926-5C96-42A5-8EAC-176185E35089\/wwdc2020_10114_sd.mp4","duration":1049,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10056","wwdc2021-10346","wwdc2020-10214","wwdc2019-205"]}},"wwdc2020-10171":{"id":"wwdc2020-10171","staticContentId":3395,"eventContentId":10171,"eventId":"wwdc2020","contentUpdatedAt":"2025-07-16T11:34:46-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10171","languageCode":"eng","description":"Great watchOS apps are simple and direct. Actions should be discoverable, predictable and relevant. This session covers effective strategies for displaying actions in your watchOS app, whether they are primary buttons that begin core tasks, or contextual actions that might be less commonly used but are still important to offer.\n\nFor more on implementing actions with the latest UI frameworks, check out \"SwiftUI on watchOS.\"","title":"What's new in watchOS design","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A7474DEC-38F7-42BE-9807-1C11EAF1E988","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10171\/7\/6847699B-2742-45B0-8651-9D832223ACFA\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10171\/7\/6847699B-2742-45B0-8651-9D832223ACFA\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10171\/7\/6847699B-2742-45B0-8651-9D832223ACFA\/wwdc2020_10171_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10171\/7\/6847699B-2742-45B0-8651-9D832223ACFA\/wwdc2020_10171_sd.mp4","duration":998,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10729","wwdc2020-10739","wwdc2020-10766","wwdc2020-10768","wwdc2019-219"],"resources":[650,14]}},"wwdc2020-10226":{"id":"wwdc2020-10226","staticContentId":3430,"eventContentId":10226,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:38-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10226","languageCode":"eng","description":"Stereo recording is a powerful way to deliver immersive sound to listeners, fans, and family \u2014 and your app can use the built-in microphones on iPhone or iPad to record it. Discover how AVAudioSession can help you capture stereo audio from a mobile device, address the new special consideration called \u201cinput orientation,\u201d and learn how to adopt this API in your app to provide a better recording experience.","title":"Record stereo audio with AVAudioSession","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7EC1F87A-0B6C-4844-89A2-C9EF5B182633","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10226\/5\/C8C3C21B-7FB6-4655-A9C9-7879416D0435\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10226\/5\/C8C3C21B-7FB6-4655-A9C9-7879416D0435\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10226\/5\/C8C3C21B-7FB6-4655-A9C9-7879416D0435\/wwdc2020_10226_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10226\/5\/C8C3C21B-7FB6-4655-A9C9-7879416D0435\/wwdc2020_10226_sd.mp4","duration":577,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10852","wwdc2020-10859","wwdc2020-10864"],"resources":[879]}},"wwdc2020-10197":{"id":"wwdc2020-10197","staticContentId":3654,"eventContentId":10197,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10197","languageCode":"eng","description":"Whether you\u2019re hosting event information in your app, on the web, or in an email, Siri Event Suggestions can help people keep track of their commitments \u2014 without compromising their privacy. We\u2019ll show you how to set up your reservations so that they automatically show up in the Calendar app and how to work with the Siri Event Suggestions APIs for iOS and Markup for web and email.","title":"Broaden your reach with Siri Event Suggestions","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["calendar","donations","email","events","intents","mail","safari","shortcuts","siri event suggestions","travel","web"],"primaryTopicID":83,"topicIds":[88,93,98,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C06404BF-74E5-47E1-9B22-1CF7B56545BA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10197\/4\/FD55A473-26AA-4BE5-896E-D18F043D0EB4\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10197\/4\/FD55A473-26AA-4BE5-896E-D18F043D0EB4\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10197\/4\/FD55A473-26AA-4BE5-896E-D18F043D0EB4\/wwdc2020_10197_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10197\/4\/FD55A473-26AA-4BE5-896E-D18F043D0EB4\/wwdc2020_10197_sd.mp4","duration":1770,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10052","wwdc2020-10068","wwdc2020-10069","wwdc2020-10086","wwdc2020-10087","wwdc2020-10088","wwdc2020-10200","wwdc2020-10203","wwdc2020-10918","wwdc2020-10980","wwdc2019-243"],"resources":[1338,548]}},"wwdc2020-10073":{"id":"wwdc2020-10073","staticContentId":3510,"eventContentId":10073,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10073","languageCode":"eng","description":"When you create an intent for your app, you can help people accomplish tasks quickly by using it as part of a shortcut or when asking Siri. Learn how to adopt Siri more easily than ever when you use SiriKit\u2019s in-app intent handling, and how to improve Siri performance with existing Intents app extensions. We'll also show you how to leverage features in SiriKit to improve the experience of using your actions \u2014 like including images and subtitles for a rich conversational experience. And find out how to fine tune support for intents in your codebase to make your life as a developer easier.","title":"Empower your intents","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","tvOS","watchOS"],"keywords":["conversational interaction","extensions","in-app intent handling","intents","intentsui","shortcuts","siri","sirikit","voice"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8DDD6E23-B526-4EF9-A7E2-36539F63967F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10073\/3\/AA5FAD47-6829-4827-8B36-DB2F30DFC267\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10073\/3\/AA5FAD47-6829-4827-8B36-DB2F30DFC267\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10073\/3\/AA5FAD47-6829-4827-8B36-DB2F30DFC267\/wwdc2020_10073_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10073\/3\/AA5FAD47-6829-4827-8B36-DB2F30DFC267\/wwdc2020_10073_sd.mp4","duration":1219,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10060","wwdc2020-10061","wwdc2020-10068","wwdc2020-10071","wwdc2020-10074","wwdc2020-10080","wwdc2020-10083","wwdc2020-10084","wwdc2020-10086","wwdc2020-10088","wwdc2020-10190","wwdc2020-10200","wwdc2020-10203","wwdc2020-10839","wwdc2020-10877","wwdc2020-10878","wwdc2020-10914","wwdc2020-10917","wwdc2020-10963"],"resources":[893,350]}},"wwdc2020-10648":{"id":"wwdc2020-10648","staticContentId":3600,"eventContentId":10648,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10648","languageCode":"eng","description":"What exactly makes code \u201cunsafe\u201d? Join the Swift team as we take a look at the programming language\u2019s safety precautions \u2014 and when you might need to reach for unsafe operations. We\u2019ll take a look at APIs that can cause unexpected states if not used correctly, and how you can write code more specifically to avoid undefined behavior. Learn how to work with C APIs that use pointers and the steps to take when you want to use Swift\u2019s unsafe pointer APIs.\n\nTo get the most out of this session, you should have some familiarity with Swift and the C programming language. And for more information on working with pointers, check out \"Safely Manage Pointers in Swift\".","title":"Unsafe Swift","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"14C7D1DA-FFE5-4742-8080-18DB6457A3E5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10648\/4\/59961AEA-1ADD-470E-BD61-596E5950E0BE\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10648\/4\/59961AEA-1ADD-470E-BD61-596E5950E0BE\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10648\/4\/59961AEA-1ADD-470E-BD61-596E5950E0BE\/wwdc2020_10648_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10648\/4\/59961AEA-1ADD-470E-BD61-596E5950E0BE\/wwdc2020_10648_sd.mp4","duration":1370,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10163","wwdc2020-10167","wwdc2020-10694","wwdc2017-406","wwdc2017-407","wwdc2016-416"],"resources":[782]}},"wwdc2020-10163":{"id":"wwdc2020-10163","staticContentId":3606,"eventContentId":10163,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10163","languageCode":"eng","description":"Dive into the microscopic world of low-level bits and bytes that underlie every Objective-C and Swift class. Find out how recent changes to internal data structures, method lists, and tagged pointers provide better performance and lower memory usage. We\u2019ll demonstrate how to recognize and fix crashes in code that depend on internal details, and show you how to keep your code unaffected by changes to the runtime.","title":"Advancements in the Objective-C runtime","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B26C09C3-734B-4BFF-93ED-C16F2362F63D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10163\/5\/69E6CEAB-D828-495C-B745-D48BF721F796\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10163\/5\/69E6CEAB-D828-495C-B745-D48BF721F796\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10163\/5\/69E6CEAB-D828-495C-B745-D48BF721F796\/wwdc2020_10163_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10163\/5\/69E6CEAB-D828-495C-B745-D48BF721F796\/wwdc2020_10163_sd.mp4","duration":1385,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10648"],"resources":[848]}},"wwdc2020-10021":{"id":"wwdc2020-10021","staticContentId":3462,"eventContentId":10021,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T13:32:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10021","languageCode":"eng","description":"Learn how to integrate and load Core Image kernels written in the Metal Shading Language into your application, and discover how you can apply these image filters to create unique effects. Explore how to use Xcode rules and naming conventions for Core Image kernels written in Metal Shading Language. We\u2019ll explain how to best use Core Image APIs effectively and optimally with Metal and the Metal Shading Language.","title":"Build Metal-based Core Image kernels with Xcode","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["coreimage","graphics","image processing","metal","performance","video","xcode"],"primaryTopicID":91,"topicIds":[84,88,95,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"B8C30D20-B7BA-4621-A508-4A59B40359FC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10021\/7\/91A7268C-8211-46D3-B08E-9F554CE138A1\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10021\/7\/91A7268C-8211-46D3-B08E-9F554CE138A1\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10021\/7\/91A7268C-8211-46D3-B08E-9F554CE138A1\/wwdc2020_10021_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10021\/7\/91A7268C-8211-46D3-B08E-9F554CE138A1\/wwdc2020_10021_sd.mp4","duration":372,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10159","wwdc2021-10160","wwdc2020-10008","wwdc2020-10014","wwdc2020-10089","wwdc2020-10723"],"resources":[32]}},"wwdc2020-10636":{"id":"wwdc2020-10636","staticContentId":3680,"eventContentId":10636,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10636","languageCode":"eng","description":"Deliver a smooth streaming audio experience straight to the wrist. We\u2019ll talk about some of the new things for building great streaming apps unique to Apple Watch. Learn how to integrate more audio formats, deliver streams more efficiently through new codecs, and add encrypted content to expand your app\u2019s media library.\n\nThis session builds on techniques introduced in \u201cStreaming Audio on watchOS 6\u201d from WWDC19. If you\u2019re new to audio on Apple Watch, we recommend you watch that video for a primer.","title":"What's new in streaming audio for Apple Watch","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"015FFD49-5B04-4DE6-9667-F28F93B56E42","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10636\/5\/9930A39B-629C-4BD8-A16B-4516BC60E872\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10636\/5\/9930A39B-629C-4BD8-A16B-4516BC60E872\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10636\/5\/9930A39B-629C-4BD8-A16B-4516BC60E872\/wwdc2020_10636_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10636\/5\/9930A39B-629C-4BD8-A16B-4516BC60E872\/wwdc2020_10636_sd.mp4","duration":432,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10158","wwdc2020-10847","wwdc2020-10851","wwdc2019-716","wwdc2018-504","wwdc2018-507"]}},"wwdc2020-10632":{"id":"wwdc2020-10632","staticContentId":3787,"eventContentId":10632,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10632","languageCode":"eng","description":"Apple silicon Macs are a transformative new platform for graphics-intensive apps \u2014 and we\u2019re going to show you how to fire up the GPU to create blazingly fast apps and games.\n\nDiscover how to take advantage of Apple\u2019s unique Tile-Based Deferred Rendering (TBDR) GPU architecture within Apple silicon Macs and learn how to schedule workloads to provide maximum throughput, structure your rendering pipeline, and increase overall efficiency. And dive deep with our graphics team as we explore shader optimizations for the Apple GPU shader core.\n\nWe\u2019ve designed this session in tandem with \u201cBring your Metal app to Apple silicon Macs,\u201d and recommend you watch that first.\n\nFor more, watch \u201cHarness Apple GPUs with Metal\u201d to learn how TBDR applies to a variety of modern rendering techniques.","title":"Optimize Metal Performance for Apple silicon Macs","originalPublishingDate":"2020-06-24T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["macOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4F46C993-A197-4606-B265-103B56C1E011","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10632\/7\/9639690B-2E3B-4B2D-A211-879DBACDE84E\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10632\/7\/9639690B-2E3B-4B2D-A211-879DBACDE84E\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10632\/7\/9639690B-2E3B-4B2D-A211-879DBACDE84E\/wwdc2020_10632_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10632\/7\/9639690B-2E3B-4B2D-A211-879DBACDE84E\/wwdc2020_10632_sd.mp4","duration":2722,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10125","wwdc2021-10153","wwdc2020-10214","wwdc2020-10603","wwdc2020-10615","wwdc2020-10616","wwdc2020-10631","wwdc2020-10686","wwdc2020-10810","wwdc2020-10811","wwdc2020-10812","wwdc2020-10813","wwdc2020-10814","wwdc2020-10815","wwdc2020-10816","wwdc2020-10817","tech-talks-10859","tech-talks-111373"],"resources":[838,38]}},"wwdc2020-10074":{"id":"wwdc2020-10074","staticContentId":3511,"eventContentId":10074,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10074","languageCode":"eng","description":"\u201cSorry, there was a problem with the app...\"\n\nDon\u2019t let Siri errors get you down: Learn how to debug your Siri intents and create great integrations people can use through voice or the Shortcuts app. We\u2019ll look at common intent errors, how to test for them, and the path to a seamless Siri experience for your app.","title":"Decipher and deal with common Siri errors","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","tvOS","watchOS"],"keywords":["extensions","in-app intent handling","intents","intentsui","shortcuts","siri","sirikit"],"primaryTopicID":83,"topicIds":[88,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E29C311D-EA3F-45C8-A24F-0C066F845C00","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10074\/3\/8D3993B6-C13D-4BD2-A35A-D5F6D820C45B\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10074\/3\/8D3993B6-C13D-4BD2-A35A-D5F6D820C45B\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10074\/3\/8D3993B6-C13D-4BD2-A35A-D5F6D820C45B\/wwdc2020_10074_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10074\/3\/8D3993B6-C13D-4BD2-A35A-D5F6D820C45B\/wwdc2020_10074_sd.mp4","duration":129,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10060","wwdc2020-10061","wwdc2020-10068","wwdc2020-10071","wwdc2020-10073","wwdc2020-10080","wwdc2020-10083","wwdc2020-10084","wwdc2020-10086","wwdc2020-10088","wwdc2020-10190","wwdc2020-10200","wwdc2020-10203","wwdc2020-10839","wwdc2020-10877","wwdc2020-10878","wwdc2020-10914","wwdc2020-10917","wwdc2020-10963"],"resources":[350]}},"wwdc2020-10103":{"id":"wwdc2020-10103","staticContentId":3417,"eventContentId":10103,"eventId":"wwdc2020","contentUpdatedAt":"2026-07-20T14:58:44-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10103","languageCode":"eng","description":"Widgets elevate timely information from your app to primary locations on iPhone, iPad and Mac. Discover the keys to designing glanceable widgets, developing a strong widget idea, and clearly communicating with content, color, sizing, layout, and typography.\n\nIf you'd like to learn more about the technical implementation for adding widgets into your app, check out \"Get Started with WidgetKit\" and our three-part code-along series.","title":"Design great widgets","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"57913AE0-C145-49B3-AFE7-A76AEB6C38AB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10103\/4\/640B143D-B8DE-4811-87EC-9578EA46C952\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10103\/4\/640B143D-B8DE-4811-87EC-9578EA46C952\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10103\/4\/640B143D-B8DE-4811-87EC-9578EA46C952\/wwdc2020_10103_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10103\/4\/640B143D-B8DE-4811-87EC-9578EA46C952\/wwdc2020_10103_sd.mp4","duration":964,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2021-10048","wwdc2020-10028","wwdc2020-10033","wwdc2020-10034","wwdc2020-10678","wwdc2020-10679","wwdc2020-10739"],"resources":[815,810,576,571]}},"wwdc2020-10095":{"id":"wwdc2020-10095","staticContentId":3764,"eventContentId":10095,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:26-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10095","languageCode":"eng","description":"Help people get the most out of your app with push notifications for important events and updates \u2014 and by delivering up-to-date data in the background, so that it is ready when they open your app. Discover how you can use notifications and alert people to timely and relevant information. Learn the differences between alert and background notifications, how to adopt them in your apps, and avoid mistakes by using the right APIs for the job.","title":"The Push Notifications primer","originalPublishingDate":"2020-06-25T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["alert","background","push"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3D8237BC-06E3-4711-8552-7008A5D5BAAD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10095\/3\/ED74BA77-B586-4360-B7A1-ABA71109064A\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10095\/3\/ED74BA77-B586-4360-B7A1-ABA71109064A\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10095\/3\/ED74BA77-B586-4360-B7A1-ABA71109064A\/wwdc2020_10095_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10095\/3\/ED74BA77-B586-4360-B7A1-ABA71109064A\/wwdc2020_10095_sd.mp4","duration":706,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2023-10025","wwdc2020-10638","wwdc2020-10885","wwdc2018-806"],"resources":[889,887]}},"wwdc2020-10644":{"id":"wwdc2020-10644","staticContentId":3601,"eventContentId":10644,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10644","languageCode":"eng","description":"Serverless functions are increasingly becoming popular for running event-driven or otherwise ad-hoc compute tasks in the cloud, allowing developers to more easily scale and control compute costs. Discover how to use the new Swift AWS Lambda Runtime package to build serverless functions in Swift, debug locally using Xcode, and deploy these functions to the AWS Lambda platform. We\u2019ll show you how Swift shines on AWS Lambda thanks to its low memory footprint, deterministic performance, and quick start time.","title":"Use Swift on AWS Lambda with Xcode","originalPublishingDate":"2020-06-26T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["macOS"],"keywords":["aws","lambda","server-side","swift","xcode"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0E7B07C8-85FC-46E9-988A-F7225E4FD9D8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10644\/5\/4AF78B69-A0D2-421E-A8B8-142BF9544723\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10644\/5\/4AF78B69-A0D2-421E-A8B8-142BF9544723\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10644\/5\/4AF78B69-A0D2-421E-A8B8-142BF9544723\/wwdc2020_10644_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10644\/5\/4AF78B69-A0D2-421E-A8B8-142BF9544723\/wwdc2020_10644_sd.mp4","duration":743,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-110360","wwdc2021-10192","wwdc2021-10269"],"resources":[912,752]}},"wwdc2020-10169":{"id":"wwdc2020-10169","staticContentId":3484,"eventContentId":10169,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:29-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10169","languageCode":"eng","description":"Bring your resources along for the ride when you organize and share code using Swift packages. Discover how to include assets like images and storyboards in a package and how to access them from code. And learn how to add localized strings to make your code accessible to people around the world.\n\nTo get the most out of this session, you should be familiar with Swift and packaging code. For an overview, watch \u201cCreating Swift Packages\u201d from WWDC19.","title":"Swift packages: Resources and localization","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[82,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0A826D08-207B-4BF9-9680-2DD79981B709","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10169\/3\/0F6E83BB-5FF5-4627-9C42-F111EF4B4098\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10169\/3\/0F6E83BB-5FF5-4627-9C42-F111EF4B4098\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10169\/3\/0F6E83BB-5FF5-4627-9C42-F111EF4B4098\/wwdc2020_10169_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10169\/3\/0F6E83BB-5FF5-4627-9C42-F111EF4B4098\/wwdc2020_10169_sd.mp4","duration":943,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2022-10019","wwdc2022-10110","wwdc2022-110401","wwdc2020-10096","wwdc2020-10142","wwdc2020-10147","wwdc2020-10170","wwdc2019-403","wwdc2019-408","wwdc2019-410"],"resources":[847,846]}},"wwdc2020-10214":{"id":"wwdc2020-10214","staticContentId":3481,"eventContentId":10214,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-09T06:39:40-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2020\/10214","languageCode":"eng","description":"Your porting questions, answered: Learn how to recompile your macOS app for Apple silicon Macs and build universal apps that launch faster, have better performance, and support the future of the platform. We\u2019ll show you how Xcode makes it simple to build a universal macOS binary and go through running, debugging, and testing your app. Learn what changes to low-level code you might need to make, find out how to handle in-process and out-of-process plug-ins, and discover some useful tips for working with universal apps.\n\nWe\u2019ve designed this session for experienced macOS developers who want to get their existing apps running natively on Apple silicon Macs. You can learn more about doing so in the Apple silicon documentation.\n\nFor more information on the transition to Apple silicon, watch \"Explore the new system architecture of Apple silicon Macs\", \"Bring your Metal app to Apple silicon Macs\", and \"Optimize Metal Performance for Apple silicon Macs\". And to learn how to run your iPhone and iPad apps on Mac, check out \"iPad and iPhone apps on Apple silicon Macs\".","title":"Port your Mac app to Apple silicon","originalPublishingDate":"2020-06-23T10:00:00-07:00","publishingExpiryDate":"2099-06-09T05:39:00-08:00","platforms":["macOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"57FF09E1-5B96-4B1F-A508-5E12C6CDB2E9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10214\/7\/871FAB69-F6A4-470A-80F0-00028CDC0E58\/master.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10214\/7\/871FAB69-F6A4-470A-80F0-00028CDC0E58\/master.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10214\/7\/871FAB69-F6A4-470A-80F0-00028CDC0E58\/wwdc2020_10214_hd.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2020\/10214\/7\/871FAB69-F6A4-470A-80F0-00028CDC0E58\/wwdc2020_10214_sd.mp4","duration":2444,"availableAudioLanguageCodes":["en"],"availableSubtitleLanguageCodes":["en","ja","zh"]},"related":{"activities":["wwdc2020-10114","wwdc2020-10631","wwdc2020-10632","wwdc2020-10686","wwdc2019-703","wwdc2018-414","wwdc2016-412","wwdc2013-702"],"resources":[838]}},"wwdc2019-246":{"id":"wwdc2019-246","staticContentId":2963,"eventContentId":246,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/246","languageCode":"eng","description":"Dive into the details of window management in your Multitasking app, including how to properly handle creating, refreshing, and closing windows. Hear about best practices for when to refresh the content in your window and learn how to ensure your app\u2019s visual state is up-to-date in the switcher.","title":"Window Management in Your Multitasking App","originalPublishingDate":"2019-06-07T15:20:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"ADA73418-5924-4E9B-8B94-0C5086D931F6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/246bnifwqasd17ytre\/246\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/246bnifwqasd17ytre\/246\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/246bnifwqasd17ytre\/246\/246_window_management_in_your_multitasking_app.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/246bnifwqasd17ytre\/246\/246_hd_window_management_in_your_multitasking_app.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/246bnifwqasd17ytre\/246\/246_sd_window_management_in_your_multitasking_app.mp4","duration":818,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-242"]}},"wwdc2019-249":{"id":"wwdc2019-249","staticContentId":2960,"eventContentId":249,"eventId":"wwdc2019","contentUpdatedAt":"2025-06-06T12:35:04-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/249","languageCode":"eng","description":"In AVCapture on iOS 13 it is now possible to simultaneously capture photos and video from multiple cameras on iPhone XS, iPhone XS Max, iPhone XR, and the latest iPad Pro. It is also possible to configure the multiple microphones on the device to shape the sound that is captured. Learn how to leverage these powerful capabilities to bring creative new features like picture-in-picture and spatial audio to your camera apps. Gain a deeper understanding of the performance considerations that may influence your app design.","title":"Introducing Multi-Camera Capture for iOS","originalPublishingDate":"2019-06-05T17:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS"],"keywords":["avcapture","avfoundation","capture","core image","depth","disparity","hair","microphone","multi camera","parallax","photo effects","photography","photos","photos api","portrait mode","segmentation","skin","spatial audio","teeth"],"primaryTopicID":95,"topicIds":[95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"09430E0F-2CE6-4F26-9A32-DAEBC1F411BA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/249a0jw909n3uq0\/249\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/249a0jw909n3uq0\/249\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/249a0jw909n3uq0\/249\/249_introducing_multicamera_capture_for_ios.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/249a0jw909n3uq0\/249\/249_hd_introducing_multicamera_capture_for_ios.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/249a0jw909n3uq0\/249\/249_sd_introducing_multicamera_capture_for_ios.mp4","duration":2680,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-225","wwdc2019-2120","wwdc2019-2290","wwdc2018-503","wwdc2017-507"],"resources":[545,227,52,28]}},"wwdc2019-717":{"id":"wwdc2019-717","staticContentId":2891,"eventContentId":717,"eventId":"wwdc2019","contentUpdatedAt":"2025-02-03T02:43:46-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/717","languageCode":"eng","description":"Universal Links allow your users to intelligently follow links to content inside your app or to your website. Learn how the latest enhancements in Universal Links give your users the most integrated mobile and desktop experience, even when your app isn\u2019t installed on their device.","title":"What's New in Universal Links","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[98,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DFC91F45-6D8B-4183-AD65-D2FEC6530B93","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/717b3lem5m2glj\/717\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/717b3lem5m2glj\/717\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/717b3lem5m2glj\/717\/717_whats_new_in_universal_links.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/717b3lem5m2glj\/717\/717_hd_whats_new_in_universal_links.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/717b3lem5m2glj\/717\/717_sd_whats_new_in_universal_links.mp4","duration":1029,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2020-10098","wwdc2020-10146","wwdc2019-515","wwdc2019-516","wwdc2019-5020","wwdc2019-5090"],"resources":[517,516,515,446,310]}},"wwdc2019-429":{"id":"wwdc2019-429","staticContentId":2900,"eventContentId":429,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/429","languageCode":"eng","description":"LLDB is a powerful tool for exploring and debugging your app at runtime. Discover the various ways to display values in your app, how to format custom data types, and how to extend LLDB using your own Python 3 scripts.","title":"LLDB: Beyond \"po\"","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F49958EA-C725-43C1-85C2-174F42E69828","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/429s7ksrdjsg3bql\/429\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/429s7ksrdjsg3bql\/429\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/429s7ksrdjsg3bql\/429\/429_lldb_beyond_po.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/429s7ksrdjsg3bql\/429\/429_hd_lldb_beyond_po.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/429s7ksrdjsg3bql\/429\/429_sd_lldb_beyond_po.mp4","duration":1244,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2022-110370","wwdc2021-10209","wwdc2018-412"]}},"wwdc2019-718":{"id":"wwdc2019-718","staticContentId":2845,"eventContentId":718,"eventId":"wwdc2019","contentUpdatedAt":"2025-01-28T17:33:08-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/718","languageCode":"eng","description":"Accelerate framework provides hundreds of computational functions that are highly optimized to the system architecture your device is running on. Learn how to access all of these powerful functions directly in Swift. Understand how the power of vector programming can deliver incredible performance to your iOS, macOS, tvOS, and watchOS apps.","title":"Introducing Accelerate for Swift","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["accelerate","blas","computation","dft","fft","image processing","lapack","linear algebra","neural network","noise","numerics","performance","quaternions","real-time video","simd","slerp","sparse solver","spline","swift","vdsp","vector","vforce","vimage"],"primaryTopicID":99,"topicIds":[101,99],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5D28E4AD-E88E-48FC-B1E9-6A8C36FA4E42","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/718sn5zybluwhbuq\/718\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/718sn5zybluwhbuq\/718\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/718sn5zybluwhbuq\/718\/718_introducing_accelerate_for_swift.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/718sn5zybluwhbuq\/718\/718_hd_introducing_accelerate_for_swift.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/718sn5zybluwhbuq\/718\/718_sd_introducing_accelerate_for_swift.mp4","duration":1259,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2021-10233","wwdc2019-7050","wwdc2018-701"],"resources":[370,366,185]}},"wwdc2019-428":{"id":"wwdc2019-428","staticContentId":2958,"eventContentId":428,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/428","languageCode":"eng","description":"Create ML now enables you to create models for Natural Language that are built on state-of-the-art techniques. Learn how these models can be easily trained and tested with the Create ML app. Gain insight into the powerful new options for transfer learning, word embeddings, and text catalogs.","title":"Training Text Classifiers in Create ML","originalPublishingDate":"2019-06-06T14:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ai","artificial intelligence","classifier","core ml","create ml","gazetteer","machine learning","natural language","nlp","text","text catalog","training","word embeddings"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"989E8475-DA81-4F4F-96C7-D359D7D3395A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/428c7jhmepea85p6tz\/428\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/428c7jhmepea85p6tz\/428\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/428c7jhmepea85p6tz\/428\/428_training_text_classifiers_in_create_ml.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/428c7jhmepea85p6tz\/428\/428_hd_training_text_classifiers_in_create_ml.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/428c7jhmepea85p6tz\/428\/428_sd_training_text_classifiers_in_create_ml.mp4","duration":725,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-232","wwdc2019-407","wwdc2019-430","wwdc2019-7020","wwdc2019-7150","wwdc2019-7170","wwdc2019-7250","wwdc2018-713"]}},"wwdc2019-426":{"id":"wwdc2019-426","staticContentId":2957,"eventContentId":426,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/426","languageCode":"eng","description":"Your iPhone and Apple Watch are loaded with a number of powerful sensors including an accelerometer and gyroscope. Activity Classifiers can be trained on data from these sensors to bring some magic to your app, such as knowing when someone is running or swinging a bat. Learn how the Create ML app makes it easy to train and evaluate one of these Core ML models. Gain a deeper understanding of how to collect the raw data needed for training. See the use of these models in action.","title":"Building Activity Classification Models in Create ML","originalPublishingDate":"2019-06-06T14:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["accelerometer","activity","ai","artificial intelligence","classifier","core ml","core motion","create ml","gyroscope","machine learning","motion","training"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F32D04E8-08EB-4883-A8A8-1E9E2ABEF868","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/426s9m91e962yqv9\/426\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/426s9m91e962yqv9\/426\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/426s9m91e962yqv9\/426\/426_building_activity_classification_models_in_create_ml.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/426s9m91e962yqv9\/426\/426_hd_building_activity_classification_models_in_create_ml.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/426s9m91e962yqv9\/426\/426_sd_building_activity_classification_models_in_create_ml.mp4","duration":901,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-209","wwdc2019-406","wwdc2019-407","wwdc2019-430","wwdc2019-7020","wwdc2019-7150","wwdc2019-7170","wwdc2019-7250"]}},"wwdc2019-104":{"id":"wwdc2019-104","staticContentId":3029,"eventContentId":104,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-09T11:54:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/104","languageCode":"eng","description":"Join us for an unforgettable award ceremony celebrating developers and their outstanding work. The 2019 Apple Design Awards recognize state of the art iOS, macOS, watchOS, and tvOS apps that reflect excellence in design and innovation.","title":"Apple Design Awards","startTime":"2019-06-03T17:00:00-07:00","endTime":"2019-06-03T18:00:00-07:00","originalPublishingDate":"2019-06-03T17:00:00-07:00","publishingExpiryDate":"2099-12-31T22:59:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":62,"imagesUUID":"F6C6CC61-D481-43A2-9754-C027092B9CF8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/104d6zyhb21vki\/104\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/104d6zyhb21vki\/104\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/104d6zyhb21vki\/104\/104_hd_apple_design_awards.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/104d6zyhb21vki\/104\/104_sd_apple_design_awards.mp4","duration":2955,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2021-113","wwdc2020-10690","wwdc2020-20022","wwdc2019-802"]}},"wwdc2019-101":{"id":"wwdc2019-101","staticContentId":2826,"eventContentId":101,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-09T11:54:14-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/101","languageCode":"eng","description":"WWDC 2019 Keynote","title":"Keynote","startTime":"2019-06-03T10:00:00-07:00","endTime":"2019-06-03T12:00:00-07:00","originalPublishingDate":"2019-06-03T10:00:00-07:00","publishingExpiryDate":"2099-12-31T22:59:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":62,"imagesUUID":"08292595-CCC3-4C45-966D-61843B497A4F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/p-events-delivery.akamaized.net\/3004qzusahnbjppuwydgjzsdyzsippar\/m3u8\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/p-events-delivery.akamaized.net\/3004qzusahnbjppuwydgjzsdyzsippar\/m3u8\/atv_vod_mvp.m3u8","duration":8253,"availableSubtitleLanguageCodes":["en","es","ja","ko","zh"]}},"wwdc2019-805":{"id":"wwdc2019-805","staticContentId":3034,"eventContentId":805,"eventId":"wwdc2019","contentUpdatedAt":"2025-04-23T11:01:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/805","languageCode":"eng","description":"Shortcuts enable people to quickly and easily accomplish actions or get things done hands-free using Siri and the Shortcuts app. Join us for a tour of where shortcuts can appear, how you can customize the experience, and how your app\u2019s shortcuts can be used with variables and actions from other apps.","title":"Building Great Shortcuts","originalPublishingDate":"2019-06-07T17:20:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["\ud83c\udf99","\ud83c\udfa4","add to siri","donate","donation","inrelevant","intents","inui","parameters","phrase","shortcut","siri","suggestion","voice"],"primaryTopicID":83,"topicIds":[87,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A17A5977-00D6-4273-8768-87B40A16324F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/805fgsgar5ertqwh8k\/805\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/805fgsgar5ertqwh8k\/805\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/805fgsgar5ertqwh8k\/805\/805_building_great_shortcuts.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/805fgsgar5ertqwh8k\/805\/805_hd_building_great_shortcuts.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/805fgsgar5ertqwh8k\/805\/805_sd_building_great_shortcuts.mp4","duration":711,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-213","wwdc2019-804","wwdc2019-806","wwdc2019-2010","wwdc2019-2160","wwdc2019-2310","wwdc2019-2470","wwdc2019-8050"],"resources":[350,348,12]}},"wwdc2019-103":{"id":"wwdc2019-103","staticContentId":3028,"eventContentId":103,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-09T11:54:21-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/103","languageCode":"eng","description":"WWDC 2019 Platforms State of the Union","title":"Platforms State of the Union","startTime":"2019-06-03T14:30:00-07:00","endTime":"2019-06-03T16:30:00-07:00","originalPublishingDate":"2019-06-03T14:30:00-07:00","publishingExpiryDate":"2099-12-31T22:59:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["sotu","sotu 2019"],"primaryTopicID":90,"topicIds":[90],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":62,"imagesUUID":"4E85F37E-624C-4A15-8BB0-5EB86F6030BA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/103bax22h2udxu0n\/103\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/103bax22h2udxu0n\/103\/atv_vod_mvp.m3u8","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/103bax22h2udxu0n\/103\/103_hd_platforms_state_of_the_union.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/103bax22h2udxu0n\/103\/103_sd_platforms_state_of_the_union.mp4","duration":7039,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-204","wwdc2019-205","wwdc2019-210","wwdc2019-211","wwdc2019-401","wwdc2019-604","wwdc2019-801"]}},"wwdc2019-253":{"id":"wwdc2019-253","staticContentId":2901,"eventContentId":253,"eventId":"wwdc2019","contentUpdatedAt":"2025-01-08T17:55:55-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/253","languageCode":"eng","description":"Many Watch faces in watchOS 6 allow for customizing the tint color of content, allowing for even more personalization of Apple\u2019s most personal device. Discover how you can use ClockKit data providers to offer full color and tint-ready options for each complication family type. This gives customers the ability to get up to date, important information at a glance, no matter which Watch face they choose.","title":"Exploring Tinted Graphic Complications","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["watchOS"],"keywords":["\u231a\ufe0f","apple watch","clkcomplication","clockkit","complications","digital crown","watch","watchkit","watchos","wkinterface"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C88A87D9-BD0C-4E19-8148-805FEAD0647B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/253llfvak2onhcnjf3w\/253\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/253llfvak2onhcnjf3w\/253\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/253llfvak2onhcnjf3w\/253\/253_exploring_tinted_graphic_complications.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/253llfvak2onhcnjf3w\/253\/253_hd_exploring_tinted_graphic_complications.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/253llfvak2onhcnjf3w\/253\/253_sd_exploring_tinted_graphic_complications.mp4","duration":428,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-2040","wwdc2019-2140","wwdc2019-2270","wwdc2019-2390","wwdc2019-8080","tech-talks-208","wwdc2015-209"],"resources":[5]}},"wwdc2019-615":{"id":"wwdc2019-615","staticContentId":2924,"eventContentId":615,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/615","languageCode":"eng","description":"Game Center now supports persistent player identifiers scoped to individual games or to a developer team ID. Understand how scoped identifiers enhance player privacy and see how to transition your apps and games onto the recommended API.","title":"Game Center Player Identifiers","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":91,"topicIds":[91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3561398A-0035-4A5F-8009-B840470EA379","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/615zdym8i4v282u\/615\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/615zdym8i4v282u\/615\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/615zdym8i4v282u\/615\/615_game_center_player_identifiers.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/615zdym8i4v282u\/615\/615_hd_game_center_player_identifiers.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/615zdym8i4v282u\/615\/615_sd_game_center_player_identifiers.mp4","duration":618,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-708","wwdc2019-6040"]}},"wwdc2019-518":{"id":"wwdc2019-518","staticContentId":2973,"eventContentId":518,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/518","languageCode":"eng","description":"WebKit provides a rich set of classes designed to load, display, and manage web content in your app. Discover how to integrate your web content into powerful platform features including Dark Mode, new presentation features in Share Sheet, JavaScript payment APIs for Apple Pay, and more.","title":"What's New for Web Developers","originalPublishingDate":"2019-06-06T11:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"615DE13B-C3D5-4046-8F6B-C2708A1686F0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/518lfev1wbktx9\/518\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/518lfev1wbktx9\/518\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/518lfev1wbktx9\/518\/518_whats_new_for_web_developers.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/518lfev1wbktx9\/518\/518_hd_whats_new_for_web_developers.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/518lfev1wbktx9\/518\/518_sd_whats_new_for_web_developers.mp4","duration":748,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-203","wwdc2019-504","wwdc2019-506","wwdc2019-511","wwdc2019-513","wwdc2019-514"]}},"wwdc2019-248":{"id":"wwdc2019-248","staticContentId":2818,"eventContentId":248,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/248","languageCode":"eng","description":"The styling and layout of text is a hallmark feature of an outstanding reading experience. Technologies such as CoreText and TextKit give you the tools you need to create a great text layout. Learn how to make an equally great accessible experience for VoiceOver by adopting the accessibility reading content protocol, adding automatic page turning, and customizing speech output.","title":"Creating an Accessible Reading Experience","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":82,"topicIds":[100,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AC199B5F-5E17-4763-854C-C6B50929FEDD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/248ts94v3ev4q5\/248\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/248ts94v3ev4q5\/248\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/248ts94v3ev4q5\/248\/248_creating_an_accessible_reading_experience.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/248ts94v3ev4q5\/248\/248_hd_creating_an_accessible_reading_experience.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/248ts94v3ev4q5\/248\/248_sd_creating_an_accessible_reading_experience.mp4","duration":527,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2020-10022"]}},"wwdc2019-720":{"id":"wwdc2019-720","staticContentId":2894,"eventContentId":720,"eventId":"wwdc2019","contentUpdatedAt":"2024-08-06T12:26:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/720","languageCode":"eng","description":"Safari Extensions surface your app's unique capabilities within Safari. Discover how the latest features such as content blocking notifications and user interface management and control innovations for pages, tabs, and popovers make your Safari App Extensions and Content Blockers even more powerful. Learn about the latest APIs and best practices for communicating between your extension and your app.","title":"What's New in Safari Extensions","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["macOS"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4362C128-D0C3-4611-B8AB-642083B0A842","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/720yo3jm1qljmlbddac\/720\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/720yo3jm1qljmlbddac\/720\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/720yo3jm1qljmlbddac\/720\/720_whats_new_in_safari_extensions.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/720yo3jm1qljmlbddac\/720\/720_hd_whats_new_in_safari_extensions.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/720yo3jm1qljmlbddac\/720\/720_sd_whats_new_in_safari_extensions.mp4","duration":1193,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2016-214","wwdc2015-511"],"resources":[580,514,431]}},"wwdc2019-427":{"id":"wwdc2019-427","staticContentId":2959,"eventContentId":427,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/427","languageCode":"eng","description":"Recommendation models for Core ML can enable a very personal experience for the customers using your app. They power suggestions for what music to play or what movie to see in the apps you use every day. Learn how you can easily create a custom Recommendation model from all sorts of data sources using the Create ML app. Gain a deeper understanding of how this kind of personalization is possible while maintaining user privacy. See an example of one of these recommenders in action.","title":"Training Recommendation Models in Create ML","originalPublishingDate":"2019-06-06T14:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["ai","artificial intelligence","classifier","core ml","create ml","machine learning","object detection","personalization","recommendation","recommender","table","text","training"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C0060373-7CBB-4001-979B-946EFCFB2E0E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/427quw6yo5agrbit\/427\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/427quw6yo5agrbit\/427\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/427quw6yo5agrbit\/427\/427_training_recommendation_models_in_create_ml.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/427quw6yo5agrbit\/427\/427_hd_training_recommendation_models_in_create_ml.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/427quw6yo5agrbit\/427\/427_sd_training_recommendation_models_in_create_ml.mp4","duration":631,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-407","wwdc2019-430","wwdc2019-7020","wwdc2019-7150","wwdc2019-7170","wwdc2019-7250"]}},"wwdc2019-520":{"id":"wwdc2019-520","staticContentId":3277,"eventContentId":520,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:49:07-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/520","languageCode":"eng","description":"Core Haptics lets you design fully customized haptic patterns with synchronized audio. See examples of how haptics and audio enables you to create a greater sense of immersion in your app or game. Learn how to create, play back, and share content, and where Core Haptics fits in with other audio and vibration APIs.","title":"Introducing Core Haptics","originalPublishingDate":"2019-06-05T17:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":84,"topicIds":[87,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9EEAE751-B5EE-4934-8F3A-38361FBA05DE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/520gfafwrte8ytre\/520\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/520gfafwrte8ytre\/520\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/520gfafwrte8ytre\/520\/520_introducing_core_haptics.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/520gfafwrte8ytre\/520\/520_hd_introducing_core_haptics.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/520gfafwrte8ytre\/520\/520_sd_introducing_core_haptics.mp4","duration":1743,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2021-10278","wwdc2019-223","wwdc2019-810"],"resources":[613,612,594,593,591]}},"wwdc2019-247":{"id":"wwdc2019-247","staticContentId":2653,"eventContentId":247,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/247","languageCode":"eng","description":"The ClassKit framework helps you surface your app's valuable educational content for inclusion in a teacher's classroom curriculum. Get an overview of the ClassKit integration workflow, debugging instructor and student roles with the Schoolwork app, and new features designed to make publishing to ClassKit easier than ever.","title":"What\u2019s New in ClassKit","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":89,"topicIds":[89],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9770C0A6-EFA1-4B42-9B57-CA4E1EA53E33","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/247cie5skcsefhpnhxq\/247\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/247cie5skcsefhpnhxq\/247\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/247cie5skcsefhpnhxq\/247\/247_whats_new_in_classkit.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/247cie5skcsefhpnhxq\/247\/247_hd_whats_new_in_classkit.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/247cie5skcsefhpnhxq\/247\/247_sd_whats_new_in_classkit.mp4","duration":1682,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]}},"wwdc2019-259":{"id":"wwdc2019-259","staticContentId":2964,"eventContentId":259,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/259","languageCode":"eng","description":"Learn how to target content for a specific window in your app. Find out how to identify which scene the system should open from a notification, a shortcut item, and other user activities.","title":"Targeting Content with Multiple Windows","originalPublishingDate":"2019-06-07T15:20:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5366BD5E-63F5-4514-BF10-BC27CF0C1960","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/259hnbafsdcioplsf653f\/259\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/259hnbafsdcioplsf653f\/259\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/259hnbafsdcioplsf653f\/259\/259_targeting_content_with_multiple_windows.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/259hnbafsdcioplsf653f\/259\/259_hd_targeting_content_with_multiple_windows.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/259hnbafsdcioplsf653f\/259\/259_sd_targeting_content_with_multiple_windows.mp4","duration":671,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2023-10087","wwdc2021-10057","wwdc2019-242"]}},"wwdc2019-425":{"id":"wwdc2019-425","staticContentId":2956,"eventContentId":425,"eventId":"wwdc2019","contentUpdatedAt":"2024-11-22T16:32:15-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/425","languageCode":"eng","description":"Learn how to quickly and easily create Core ML models capable of classifying the sounds heard in audio files and live audio streams. In addition to providing you the ability to train and evaluate these models, the Create ML app allows you to test the model performance in real-time using the microphone on your Mac. Leverage these on-device models in your app using the new Sound Analysis framework.","title":"Training Sound Classification Models in Create ML","originalPublishingDate":"2019-06-05T09:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ai","artificial intelligence","audio","classifier","core ml","create ml","machine learning","sound","training"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1D04F8F1-FA59-4A4E-BACF-47D24221F43D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/425bfacxsewtyh8uye5\/425\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/425bfacxsewtyh8uye5\/425\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/425bfacxsewtyh8uye5\/425\/425_training_sound_classification_models_in_create_ml.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/425bfacxsewtyh8uye5\/425\/425_hd_training_sound_classification_models_in_create_ml.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/425bfacxsewtyh8uye5\/425\/425_sd_training_sound_classification_models_in_create_ml.mp4","duration":1211,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2022-10020","wwdc2021-10036","wwdc2021-10435","wwdc2019-209","wwdc2019-406","wwdc2019-430","wwdc2019-704","wwdc2019-7020","wwdc2019-7150","wwdc2019-7170","wwdc2019-7250"],"resources":[2275]}},"wwdc2019-256":{"id":"wwdc2019-256","staticContentId":2615,"eventContentId":256,"eventId":"wwdc2019","contentUpdatedAt":"2026-06-08T12:29:32-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/256","languageCode":"eng","description":"Speech Recognizer can now be used locally on iOS or macOS devices with no network connection. Learn how you can bring text-to-speech support to your app while maintaining privacy and eliminating the limitations of server-based processing. Speech recognition API has also been enhanced to provide richer analytics including speaking rate, pause duration, and voice quality.","title":"Advances in Speech Recognition","originalPublishingDate":"2019-06-04T10:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["machine learning","natural language","speech","speech recognition","speech-to-text","voice","voice analysis"],"primaryTopicID":94,"topicIds":[83,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3BB23CDE-5ACD-469E-A7A6-04B46E74012D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/256p7m9z4yst71ai\/256\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/256p7m9z4yst71ai\/256\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/256p7m9z4yst71ai\/256\/256_advances_in_speech_recognition.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/256p7m9z4yst71ai\/256\/256_hd_advances_in_speech_recognition.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/256p7m9z4yst71ai\/256\/256_sd_advances_in_speech_recognition.mp4","duration":370,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2023-10101","tech-talks-21-10013","tech-talks-21-10014","tech-talks-21-10091","tech-talks-21-10093","wwdc2019-209","wwdc2019-228","wwdc2019-704","wwdc2019-2220","wwdc2019-2480","wwdc2016-509"],"resources":[524]}},"wwdc2019-244":{"id":"wwdc2019-244","staticContentId":2967,"eventContentId":244,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/244","languageCode":"eng","description":"Learn about the importance of supporting Large Text. Hear about Differentiate Without Color, a new API on iOS which can enable people with vision disorders such as color-blindness to easily use your app. Learn how to use it and how it can bring inclusivity to your app. Find out how to enable new Reduce Motion API to stop auto-play in your app for people who may be sensitive to motion.","title":"Visual Design and Accessibility","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":82,"topicIds":[87,100,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DAFDE8AD-90E6-43DC-8361-CCB3C7CFD85A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/244gmopitz5ezs2kkq\/244\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/244gmopitz5ezs2kkq\/244\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/244gmopitz5ezs2kkq\/244\/244_visual_design_and_accessibility.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/244gmopitz5ezs2kkq\/244\/244_hd_visual_design_and_accessibility.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/244gmopitz5ezs2kkq\/244\/244_sd_visual_design_and_accessibility.mp4","duration":613,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2020-10019","wwdc2020-10020","wwdc2019-201"]}},"wwdc2019-513":{"id":"wwdc2019-513","staticContentId":2898,"eventContentId":513,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/513","languageCode":"eng","description":"As a developer of web content, you play an important role in fulfilling customer expectations for a high performance web experience while minimizing power use across all their devices. Discover new insights on how you can improve the power efficiency of your webpages in Safari, or embedded web content in your apps, by using this powerful new tool in Web Inspector. Learn new strategies to help you deliver dynamic experiences that use less CPU and save battery life.","title":"Understanding CPU Usage with Web Inspector","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3BBE98AB-17AB-48B2-9410-0659612B0CC8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/513w02gjyhgbk02\/513\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/513w02gjyhgbk02\/513\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/513w02gjyhgbk02\/513\/513_understanding_cpu_usage_with_web_inspector.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/513w02gjyhgbk02\/513\/513_hd_understanding_cpu_usage_with_web_inspector.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/513w02gjyhgbk02\/513\/513_sd_understanding_cpu_usage_with_web_inspector.mp4","duration":803,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2021-10031","wwdc2019-504","wwdc2019-518"]}},"wwdc2019-806":{"id":"wwdc2019-806","staticContentId":3033,"eventContentId":806,"eventId":"wwdc2019","contentUpdatedAt":"2025-04-23T11:01:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/806","languageCode":"eng","description":"Shortcuts allow people to access information and actions on the go or in the Shortcuts app. The best shortcuts take careful design planning to hone in on what can help expedite a person\u2019s workflow with your app. Gain insights as to what makes a great shortcut and how to design the experience to be useful, beautiful, and responsive. See examples of how to map out the Siri dialog flow when using parameters to make your shortcuts flexible and helpful.","title":"Designing Great Shortcuts","originalPublishingDate":"2019-06-07T17:20:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["\ud83c\udf99","\ud83c\udfa4","add to siri","donate","donation","inrelevant","intents","inui","parameters","phrase","shortcut","siri","suggestion","voice"],"primaryTopicID":87,"topicIds":[83,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BF98994D-6786-4D0B-934E-E0B9DCD1A6BF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/806xdewrgatyy46\/806\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/806xdewrgatyy46\/806\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/806xdewrgatyy46\/806\/806_designing_great_shortcuts.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/806xdewrgatyy46\/806\/806_hd_designing_great_shortcuts.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/806xdewrgatyy46\/806\/806_sd_designing_great_shortcuts.mp4","duration":1241,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2023-10193","wwdc2021-10283","wwdc2019-213","wwdc2019-804","wwdc2019-805","wwdc2019-2010","wwdc2019-2160","wwdc2019-2310","wwdc2019-2470","wwdc2019-8050"],"resources":[350,348,12]}},"wwdc2019-430":{"id":"wwdc2019-430","staticContentId":3189,"eventContentId":430,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/430","languageCode":"eng","description":"Bringing the power of Core ML to your app begins with one challenge. How do you create your model? The new Create ML app provides an intuitive workflow for model creation. See how to train, evaluate, test, and preview your models quickly in this easy-to-use tool. Get started with one of the many available templates handling a number of powerful machine learning tasks. Learn more about the many features for continuous model improvement and experimentation.","title":"Introducing the Create ML App","originalPublishingDate":"2019-06-04T15:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["activity","ai","artificial intelligence","classifier","core ml","create ml","detection","image classification","learning","machine learning","model","motion","natural language","recommender","sound","tools","training","vision","xcode"],"primaryTopicID":94,"topicIds":[88,94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"7A674317-45D1-482B-AE79-7B4A5D3A3A5A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/430tw6e8xtxo3btga2\/430\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/430tw6e8xtxo3btga2\/430\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/430tw6e8xtxo3btga2\/430\/430_introducing_the_create_ml_app.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/430tw6e8xtxo3btga2\/430\/430_hd_introducing_the_create_ml_app.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/430tw6e8xtxo3btga2\/430\/430_sd_introducing_the_create_ml_app.mp4","duration":874,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2020-10043","wwdc2020-10156","wwdc2020-10642","wwdc2019-209","wwdc2019-228","wwdc2019-232","wwdc2019-406","wwdc2019-407","wwdc2019-424","wwdc2019-425","wwdc2019-426","wwdc2019-427","wwdc2019-428","wwdc2019-7020","wwdc2019-7150","wwdc2019-7170","wwdc2019-7250"]}},"wwdc2019-515":{"id":"wwdc2019-515","staticContentId":2975,"eventContentId":515,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/515","languageCode":"eng","description":"The latest version of Safari on macOS and iOS is packed with new capabilities that both web developers and their customers will love. Discover how to take advantage of new features including powerful new Safari Extensions APIs for window, tab, and popover management, content blocking notifications, and enhancements to make link following in your Mac apps and iPad Apps for Mac a great experience.","title":"What's New in Safari","originalPublishingDate":"2019-06-06T11:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"73443835-9CC0-41A8-88AB-1E2A16D94065","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/515nm8yj4zy65h15\/515\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/515nm8yj4zy65h15\/515\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/515nm8yj4zy65h15\/515\/515_whats_new_in_safari.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/515nm8yj4zy65h15\/515\/515_hd_whats_new_in_safari.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/515nm8yj4zy65h15\/515\/515_sd_whats_new_in_safari.mp4","duration":514,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-203","wwdc2019-504","wwdc2019-717"]}},"wwdc2019-722":{"id":"wwdc2019-722","staticContentId":3187,"eventContentId":722,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/722","languageCode":"eng","description":"Combine is a unified declarative framework for processing values over time. Learn how it can simplify asynchronous code like networking, key value observing, notifications and callbacks.","title":"Introducing Combine","originalPublishingDate":"2019-06-06T10:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0F4F944F-8CD5-4CE2-86F9-E639431545FC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/722l6blhn0efespfgx\/722\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/722l6blhn0efespfgx\/722\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/722l6blhn0efespfgx\/722\/722_introducing_combine.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/722l6blhn0efespfgx\/722\/722_hd_introducing_combine.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/722l6blhn0efespfgx\/722\/722_sd_introducing_combine.mp4","duration":1132,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-210","wwdc2019-226","wwdc2019-711","wwdc2019-721","wwdc2019-7110"]}},"wwdc2019-510":{"id":"wwdc2019-510","staticContentId":3040,"eventContentId":510,"eventId":"wwdc2019","contentUpdatedAt":"2025-10-17T17:22:52-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/510","languageCode":"eng","description":"AVAudioEngine enables the realtime capture, processing, and playback of audio. Learn how to take advantage of enhancements to this powerful API, such as support for voice processing and spatial rendering mode selection, in your own audio app.","title":"What's New in AVAudioEngine","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"34F0B59E-508B-4C50-B9C6-FCC6E9B01273","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/510v8txdlekug3npw2m\/510\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/510v8txdlekug3npw2m\/510\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/510v8txdlekug3npw2m\/510\/510_whats_new_in_avaudioengine.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/510v8txdlekug3npw2m\/510\/510_hd_whats_new_in_avaudioengine.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/510v8txdlekug3npw2m\/510\/510_sd_whats_new_in_avaudioengine.mp4","duration":533,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-5030","wwdc2019-5150"],"resources":[565,564]}},"wwdc2019-516":{"id":"wwdc2019-516","staticContentId":2974,"eventContentId":516,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:18-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/516","languageCode":"eng","description":"Secure sign-in and authentication is a key feature of a secure account-based app design. Learn how you can improve your app's login experiences through an overview of the available authentications services and details on specific technologies such as Sign In with Apple ID, Password AutoFill for iPad Apps for Mac, advances in OAuth and WebAuthentication, and a new API for streamlined password sign-in.","title":"What's New in Authentication","originalPublishingDate":"2019-06-06T11:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3B921535-E626-410C-8E58-ABAD0ABE7DC2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/516sogw464mg6d4uv\/516\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/516sogw464mg6d4uv\/516\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/516sogw464mg6d4uv\/516\/516_whats_new_in_authentication.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/516sogw464mg6d4uv\/516\/516_hd_whats_new_in_authentication.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/516sogw464mg6d4uv\/516\/516_sd_whats_new_in_authentication.mp4","duration":1152,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2020-10174","wwdc2019-203","wwdc2019-208","wwdc2019-504","wwdc2019-706","wwdc2019-717"]}},"wwdc2019-260":{"id":"wwdc2019-260","staticContentId":2961,"eventContentId":260,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/260","languageCode":"eng","description":"Photos captured in Portrait Mode on iOS 12 contain an embedded person segmentation matte that made it easy to create creative visual effects like background replacement. iOS 13 leverages on-device machine learning to provide new segmentation mattes for any captured photo. Learn about the new semantic segmentation mattes available to you from both AVCapture and Core Image to isolate a person's hair, skin, and teeth. Using any of these individual mattes or combining all of them, your app can now offer a tremendous amount of photo editing control.","title":"Introducing Photo Segmentation Mattes","originalPublishingDate":"2019-06-05T17:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS"],"keywords":["avcapture","camera","core image","hair","images","matte","photos","portrait effects","segmentation","skin","teeth"],"primaryTopicID":95,"topicIds":[95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"022CCFA2-C212-48DB-A086-2068695D160D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/260dn5488jol0b\/260\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/260dn5488jol0b\/260\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/260dn5488jol0b\/260\/260_introducing_photo_segmentation_mattes.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/260dn5488jol0b\/260\/260_hd_introducing_photo_segmentation_mattes.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/260dn5488jol0b\/260\/260_sd_introducing_photo_segmentation_mattes.mp4","duration":933,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-225","wwdc2019-2120","wwdc2019-2290","wwdc2019-7200","wwdc2018-503"]}},"wwdc2019-808":{"id":"wwdc2019-808","staticContentId":3272,"eventContentId":808,"eventId":"wwdc2019","contentUpdatedAt":"2025-06-05T14:40:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/808","languageCode":"eng","description":"Discover how to update your app\u2019s interface for Dark Mode to create beautiful and accessible apps. And learn how refinements to modal sheets and the new contextual menu UI can help improve usability and lead to more powerful and efficient workflows.","title":"What's New in iOS Design","originalPublishingDate":"2019-06-04T17:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS"],"keywords":["borderless bars","dark mode","sf symbols"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"0F960683-D91F-4CA9-9658-6FBB11F0683D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/808knty6w7kjssfl\/808\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/808knty6w7kjssfl\/808\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/808knty6w7kjssfl\/808\/808_whats_new_in_ios_design.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/808knty6w7kjssfl\/808\/808_hd_whats_new_in_ios_design.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/808knty6w7kjssfl\/808\/808_sd_whats_new_in_ios_design.mp4","duration":1648,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-214","wwdc2019-224","wwdc2019-801"],"resources":[2980,610,607,606,598,596]}},"wwdc2019-809":{"id":"wwdc2019-809","staticContentId":3273,"eventContentId":809,"eventId":"wwdc2019","contentUpdatedAt":"2025-06-05T14:40:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/809","languageCode":"eng","description":"Discover how you can create a great Mac experience with your iPad app. Learn about essential techniques for adapting your iPad app's layout and architecture for Mac, considerations for type and color, and how you can take advantage of macOS interfaces such as the menu bar, sidebar and window toolbar.","title":"Designing iPad Apps for Mac","originalPublishingDate":"2019-06-04T17:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["catalyst","mac catalyst","project catalyst"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"C0F7535C-FB17-48D8-8530-F959A9471DCE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/809fdcsntdrt6yhjk\/809\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/809fdcsntdrt6yhjk\/809\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/809fdcsntdrt6yhjk\/809\/809_designing_ipad_apps_for_mac.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/809fdcsntdrt6yhjk\/809\/809_hd_designing_ipad_apps_for_mac.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/809fdcsntdrt6yhjk\/809\/809_sd_designing_ipad_apps_for_mac.mp4","duration":1818,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2020-10056","wwdc2019-205","wwdc2019-235","wwdc2019-801","wwdc2019-2090","wwdc2019-2130","wwdc2019-2280","wwdc2019-2410"],"resources":[2980,2979,2921,740,608,607,606,598]}},"wwdc2019-262":{"id":"wwdc2019-262","staticContentId":2896,"eventContentId":262,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/262","languageCode":"eng","description":"The new Link Presentation framework enables app developers to easily present URLs in a rich, beautiful, and consistent way. Learn how to use Link Presentation to retrieve metadata from a URL, present the rich link content inside your app, and provide link metadata to the new share sheet experience in iOS.","title":"Embedding and Sharing Visually Rich Links","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"337353CB-608E-412D-80C4-78C69920DB14","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/262piyu998eqe22u\/262\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/262piyu998eqe22u\/262\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/262piyu998eqe22u\/262\/262_embedding_and_sharing_visually_rich_links.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/262piyu998eqe22u\/262\/262_hd_embedding_and_sharing_visually_rich_links.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/262piyu998eqe22u\/262\/262_sd_embedding_and_sharing_visually_rich_links.mp4","duration":403,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["tech-talks-205"]}},"wwdc2019-508":{"id":"wwdc2019-508","staticContentId":2668,"eventContentId":508,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/508","languageCode":"eng","description":"Apple platforms provide a comprehensive set of audio frameworks and technologies that are essential to creating a rich app experience. Learn about which frameworks and APIs are recommended to ensure that your app is well positioned for the future.","title":"Modernizing Your Audio App","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A3BA151B-4659-471F-85FA-4A48A65DB092","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/508kk896m9xoeaz1a\/508\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/508kk896m9xoeaz1a\/508\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/508kk896m9xoeaz1a\/508\/508_modernizing_your_audio_app.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/508kk896m9xoeaz1a\/508\/508_hd_modernizing_your_audio_app.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/508kk896m9xoeaz1a\/508\/508_sd_modernizing_your_audio_app.mp4","duration":106,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-5030","wwdc2019-5150"]}},"wwdc2019-245":{"id":"wwdc2019-245","staticContentId":2627,"eventContentId":245,"eventId":"wwdc2019","contentUpdatedAt":"2025-06-09T13:32:31-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/245","languageCode":"eng","description":"The Indoor Maps Program enables organizations with large public or private spaces to deliver user experiences that leverage precise location information and present stunning indoor maps. Learn the entire enablement workflow including, creation of a standards-based map definition, map validation, testing and calibration, and details on how to use MapKit and MapKit JS to integrate it all into your app or website.","title":"Introducing the Indoor Maps Program","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":93,"topicIds":[89,96,100,93],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9CA6838B-6743-4185-BE9F-EA4A768BA406","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/245hrnwbhlkgmim8y\/245\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/245hrnwbhlkgmim8y\/245\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/245hrnwbhlkgmim8y\/245\/245_introducing_the_indoor_maps_program.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/245hrnwbhlkgmim8y\/245\/245_hd_introducing_the_indoor_maps_program.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/245hrnwbhlkgmim8y\/245\/245_sd_introducing_the_indoor_maps_program.mp4","duration":1577,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-236","wwdc2019-241"],"resources":[588,566,414,100]}},"wwdc2019-258":{"id":"wwdc2019-258","staticContentId":2965,"eventContentId":258,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/258","languageCode":"eng","description":"Dive into the details about what it means to support multitasking in iOS 13. Understand how previous best practices fit together with new ideas. Learn the nuances of structuring your application to support multiple windows, and how to instantiate your UI, handle windows coming and going, and manage your app\u2019s underlying window resources.","title":"Architecting Your App for Multiple Windows","originalPublishingDate":"2019-06-07T15:20:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"549CC96A-25AF-4579-9547-A0D744CE24A1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/258ggtahutefvsda35yt\/258\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/258ggtahutefvsda35yt\/258\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/258ggtahutefvsda35yt\/258\/258_architecting_your_app_for_multiple_windows.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/258ggtahutefvsda35yt\/258\/258_hd_architecting_your_app_for_multiple_windows.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/258ggtahutefvsda35yt\/258\/258_sd_architecting_your_app_for_multiple_windows.mp4","duration":929,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-242"]}},"wwdc2019-810":{"id":"wwdc2019-810","staticContentId":3278,"eventContentId":810,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:38:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/810","languageCode":"eng","description":"Learn essential sound and haptic design principles and concepts for creating meaningful and delightful experiences that engage a wider range of human senses. Discover how to combine audio and haptics, using the Taptic Engine, to add a new level of realism and improve feedback in your app or game.","title":"Designing Audio-Haptic Experiences","originalPublishingDate":"2019-06-05T17:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS"],"keywords":["3d touch"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A2FAE7BD-10C5-4CC6-B2EC-20BCF32B114C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/810fdftstga66w4hfadq\/810\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/810fdftstga66w4hfadq\/810\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/810fdftstga66w4hfadq\/810\/810_designing_audiohaptic_experiences.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/810fdftstga66w4hfadq\/810\/810_hd_designing_audiohaptic_experiences.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/810fdftstga66w4hfadq\/810\/810_sd_designing_audiohaptic_experiences.mp4","duration":1562,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-223","wwdc2019-520"],"resources":[613,612,594,593,591]}},"wwdc2019-716":{"id":"wwdc2019-716","staticContentId":2609,"eventContentId":716,"eventId":"wwdc2019","contentUpdatedAt":"2024-12-05T12:56:33-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/716","languageCode":"eng","description":"Streaming audio on Apple Watch allows customers to enjoy your content wherever they go without their iPhone. Learn about the streaming APIs brought over from iOS to allow watchOS apps to create independent audio consumption experiences. Find out how to set up your audio session for streaming and explore best practices to provide the best experience for people moving between different network conditions.","title":"Streaming Audio on watchOS 6","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["watchOS"],"keywords":["\u231a\ufe0f","apple watch","audio","avfoundation","avplayer","avqueueplayer","backgraound","background","coremedia","core media","digital crown","network","networking","streaming","watch","watchkit","watchos","wkinterface"],"primaryTopicID":84,"topicIds":[101,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"82FDB704-A6AC-4C6E-A265-73CDE095A456","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/716z5h7lh9mzhl\/716\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/716z5h7lh9mzhl\/716\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/716z5h7lh9mzhl\/716\/716_streaming_audio_on_watchos_6.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/716z5h7lh9mzhl\/716\/716_hd_streaming_audio_on_watchos_6.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/716z5h7lh9mzhl\/716\/716_sd_streaming_audio_on_watchos_6.mp4","duration":534,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2021-10003","wwdc2020-10636","wwdc2019-208","wwdc2019-712","wwdc2019-713","wwdc2019-2040","wwdc2019-2140","wwdc2019-2270","wwdc2019-2390","wwdc2019-5130","wwdc2019-5160","wwdc2019-8080"],"resources":[574,498,138,52,9]}},"wwdc2019-509":{"id":"wwdc2019-509","staticContentId":2865,"eventContentId":509,"eventId":"wwdc2019","contentUpdatedAt":"2025-10-17T17:22:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/509","languageCode":"eng","description":"Audio Unit app extensions gives users a convenient way to create or modify audio in any iOS or macOS app that uses sound, including music production apps such as GarageBand or Logic Pro X. And now, with iOS 13, you can store user presets for your extensions that are accessible across applications.","title":"AUv3 Extensions User Presets","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"01795FE4-C5E5-42D9-A75E-6FB60637EA33","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/509tdjld4pedsigr9\/509\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/509tdjld4pedsigr9\/509\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/509tdjld4pedsigr9\/509\/509_auv3_extensions_user_presets.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/509tdjld4pedsigr9\/509\/509_hd_auv3_extensions_user_presets.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/509tdjld4pedsigr9\/509\/509_sd_auv3_extensions_user_presets.mp4","duration":332,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-5030","wwdc2019-5150"],"resources":[477,476]}},"wwdc2019-250":{"id":"wwdc2019-250","staticContentId":2969,"eventContentId":250,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/250","languageCode":"eng","description":"Custom Actions simplify the experience for people using assistive technologies with your app and they can help you reduce the number of swipes and taps that are required to navigate through your interface and perform interactions. Learn how to leverage custom actions for use in VoiceOver and Switch Control. New in iOS 13, bring custom actions to Full Keyboard Access and Voice Control on iOS.","title":"Making Apps More Accessible With Custom Actions","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":82,"topicIds":[100,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"AD718221-41F5-4867-B6B1-819AD5716D86","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/250iaz7b18msfiy\/250\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/250iaz7b18msfiy\/250\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/250iaz7b18msfiy\/250\/250_making_apps_more_accessible_with_custom_actions.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/250iaz7b18msfiy\/250\/250_hd_making_apps_more_accessible_with_custom_actions.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/250iaz7b18msfiy\/250\/250_sd_making_apps_more_accessible_with_custom_actions.mp4","duration":565,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2023-10034","wwdc2020-10019","wwdc2020-10116","wwdc2019-201"]}},"wwdc2019-719":{"id":"wwdc2019-719","staticContentId":2934,"eventContentId":719,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/719","languageCode":"eng","description":"Your iOS app can now access files stored on external devices via USB and SMB. Understand best practices for creating a document-based app that reads, writes, and manages files on physical media or networked storage. Learn about enhancements to Quick Look on iOS and macOS that help you access and display file thumbnails.","title":"What\u2019s New in File Management and Quick Look","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["apfs","exfat","fat","hfs+","qlpreviewcontroller","qlthumbnailgenerator","uidocumentbrowserviewcontroller","uidocumentpickerviewcontroller"],"primaryTopicID":101,"topicIds":[100,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"1F6C81F2-4761-40B3-9CD9-CA5085AF0A10","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/719dyb631z49zpjzk\/719\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/719dyb631z49zpjzk\/719\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/719dyb631z49zpjzk\/719\/719_whats_new_in_file_management_and_quick_look.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/719dyb631z49zpjzk\/719\/719_hd_whats_new_in_file_management_and_quick_look.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/719dyb631z49zpjzk\/719\/719_sd_whats_new_in_file_management_and_quick_look.mp4","duration":1435,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-710","wwdc2019-723","wwdc2019-2050","wwdc2019-2240","wwdc2018-237"]}},"wwdc2019-261":{"id":"wwdc2019-261","staticContentId":2819,"eventContentId":261,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/261","languageCode":"eng","description":"Tab Bars can't grow with dynamic text, but the Large Content Viewer helps them to be seen by people with low vision. iOS 13 brings this feature to custom tab bars. Learn how to enable Large Content Viewer on your custom tab bars and ensure the right vector image is featured in the heads-up display.","title":"Large Content Viewer - Ensuring Readability for Everyone","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":82,"topicIds":[100,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4451F51F-DEF4-4EBC-A77C-BF78B7FCDFDF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/261p8np41tos4h2\/261\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/261p8np41tos4h2\/261\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/261p8np41tos4h2\/261\/261_large_content_viewer_ensuring_readability_for_everyone.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/261p8np41tos4h2\/261\/261_hd_large_content_viewer_ensuring_readability_for_everyone.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/261p8np41tos4h2\/261\/261_sd_large_content_viewer_ensuring_readability_for_everyone.mp4","duration":788,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]}},"wwdc2019-252":{"id":"wwdc2019-252","staticContentId":2691,"eventContentId":252,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/252","languageCode":"eng","description":"CarPlay is a smarter, safer way to use your iPhone in the car. Learn how to update your vehicle system to take advantage of new features in iOS 13. Add support for dynamically changing screen sizes, second screens such as instrument clusters, and even irregularly shaped displays. Learn how to support \"Hey Siri\" for hands-free voice activation.","title":"Advances in CarPlay Systems","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS"],"keywords":["\ud83d\ude97","\ud83d\ude99","automotive","car","map"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"BEE5848C-FCEE-480A-83AD-1C3B63950499","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/252ogueb17a2lv\/252\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/252ogueb17a2lv\/252\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/252ogueb17a2lv\/252\/252_advances_in_carplay_systems.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/252ogueb17a2lv\/252\/252_hd_advances_in_carplay_systems.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/252ogueb17a2lv\/252\/252_sd_advances_in_carplay_systems.mp4","duration":960,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2023-10150","wwdc2019-2190","wwdc2019-2370","wwdc2017-717","wwdc2016-722","wwdc2016-723"],"resources":[509]}},"wwdc2019-257":{"id":"wwdc2019-257","staticContentId":2968,"eventContentId":257,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/257","languageCode":"eng","description":"The Accessibility Inspector enables you to identify parts of your app that are not accessible. It provides feedback on how you can make them accessible, as well as simulating voice-over to help you identify what a Voice Over user would experience. Watch a live-demo of an app being fully debugged in the Accessibility Inspector, and learn how to leverage this powerful tool to make your apps better for everyone.","title":"Accessibility Inspector","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":82,"topicIds":[88,100,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4BE00715-2A20-4E8C-BB43-E82DF4A9BCF8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/257zstehah872m64ht5\/257\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/257zstehah872m64ht5\/257\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/257zstehah872m64ht5\/257\/257_accessibility_inspector.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/257zstehah872m64ht5\/257\/257_hd_accessibility_inspector.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/257zstehah872m64ht5\/257\/257_sd_accessibility_inspector.mp4","duration":614,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2020-10019","wwdc2020-10020","wwdc2020-10117","wwdc2019-201","wwdc2019-238"]}},"wwdc2019-511":{"id":"wwdc2019-511","staticContentId":2915,"eventContentId":511,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/511","languageCode":"eng","description":"With system-wide Dark Mode support in iOS and macOS, you'll want to make sure your web content is appropriately styled to reflect your users'  preference. Learn techniques to ensure your content looks its best when presented in Safari, embedded in other apps such as Mail, or when used in your apps. Discover the details and best practices for this new pillar in responsive web design.","title":"Supporting Dark Mode in Your Web Content","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2F974840-9DC3-4CB0-8B90-E33BBA34D7B8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/511e9x950grweijpm9y\/511\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/511e9x950grweijpm9y\/511\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/511e9x950grweijpm9y\/511\/511_supporting_dark_mode_in_your_web_content.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/511e9x950grweijpm9y\/511\/511_hd_supporting_dark_mode_in_your_web_content.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/511e9x950grweijpm9y\/511\/511_sd_supporting_dark_mode_in_your_web_content.mp4","duration":639,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2022-10083","wwdc2019-214","wwdc2019-504","wwdc2019-518"]}},"wwdc2019-514":{"id":"wwdc2019-514","staticContentId":2952,"eventContentId":514,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/514","languageCode":"eng","description":"Discover a new way to ensure your web content meets team coding standards and that you can deliver better code even without reliance on automated test systems. Find out how to use the Audit tool in Web Inspector to quickly and easily audit your web content during development so important compliance details don't slip by.","title":"Auditing Web Content with Web Inspector","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":98,"topicIds":[98],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6C5BD0F7-0963-4277-B183-F0A4D4933221","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/514u8cpyqzkiznkm1\/514\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/514u8cpyqzkiznkm1\/514\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/514u8cpyqzkiznkm1\/514\/514_auditing_web_content_with_web_inspector.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/514u8cpyqzkiznkm1\/514\/514_hd_auditing_web_content_with_web_inspector.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/514u8cpyqzkiznkm1\/514\/514_sd_auditing_web_content_with_web_inspector.mp4","duration":495,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2021-10031","wwdc2019-518"]}},"wwdc2019-616":{"id":"wwdc2019-616","staticContentId":2914,"eventContentId":616,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/616","languageCode":"eng","description":"With iOS 13, macOS Catalina, and tvOS 13, the Game Controller framework adds support for several well-known console game controllers. Get briefed about the newly-added controllers and understand how their inputs are delivered. Learn recommended best practices for handling optional buttons, and understand the right approach for support on macOS.","title":"Supporting New Game Controllers","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[101,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"919F0864-4C46-496C-AF1A-48B0CBA92170","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/616my96cpgv09ab5lq\/616\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/616my96cpgv09ab5lq\/616\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/616my96cpgv09ab5lq\/616\/616_supporting_new_game_controllers.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/616my96cpgv09ab5lq\/616\/616_hd_supporting_new_game_controllers.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/616my96cpgv09ab5lq\/616\/616_sd_supporting_new_game_controllers.mp4","duration":1020,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2020-10614","wwdc2019-2250","wwdc2019-2400","wwdc2019-6030"]}},"wwdc2019-254":{"id":"wwdc2019-254","staticContentId":2966,"eventContentId":254,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/254","languageCode":"eng","description":"Great accessibility labels are the difference between someone using and loving your app or someone deleting your app. Experience VoiceOver as demonstrated by an Apple Accessibility engineer as she navigates complex UI and demonstrates how descriptive labels are an easy way to ensure your app is for everyone.","title":"Writing Great Accessibility Labels","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":82,"topicIds":[100,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"23AF104C-7CFE-4F7B-AEC6-46F54121AE92","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/254fml0e526wtu2\/254\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/254fml0e526wtu2\/254\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/254fml0e526wtu2\/254\/254_writing_great_accessibility_labels.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/254fml0e526wtu2\/254\/254_hd_writing_great_accessibility_labels.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/254fml0e526wtu2\/254\/254_sd_writing_great_accessibility_labels.mp4","duration":623,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2020-10019","wwdc2020-10117","wwdc2019-201"]}},"wwdc2019-424":{"id":"wwdc2019-424","staticContentId":2955,"eventContentId":424,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:19-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/424","languageCode":"eng","description":"Custom Core ML models for Object Detection offer you an opportunity to add some real magic to your app. Learn how the Create ML app in Xcode makes it easy to train and evaluate these models. See how you can test the model performance directly within the app by taking advantage of Continuity Camera. It's never been easier to build and deploy great Object Detection models for Core ML.","title":"Training Object Detection Models in Create ML","originalPublishingDate":"2019-06-05T09:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ai","artificial intelligence","camera","classifier","core ml","core motion","create ml","images","machine learning","object detection","photos","training","vision"],"primaryTopicID":94,"topicIds":[94],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"DD45445D-260D-46D1-A518-C66D85F82C08","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/424gsffe67thwyafre\/424\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/424gsffe67thwyafre\/424\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/424gsffe67thwyafre\/424\/424_training_object_detection_models_in_create_ml.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/424gsffe67thwyafre\/424\/424_hd_training_object_detection_models_in_create_ml.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/424gsffe67thwyafre\/424\/424_sd_training_object_detection_models_in_create_ml.mp4","duration":941,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2020-10096","wwdc2019-406","wwdc2019-430","wwdc2019-7020","wwdc2019-7150","wwdc2019-7170","wwdc2019-7250","wwdc2018-717","tech-talks-10155"]}},"wwdc2019-507":{"id":"wwdc2019-507","staticContentId":3039,"eventContentId":507,"eventId":"wwdc2019","contentUpdatedAt":"2025-11-04T16:52:28-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/507","languageCode":"eng","description":"AirPlay 2 Video lets you share video from Apple devices to popular smart TVs. Learn about the special considerations for seamless delivery of high quality video to these TVs, and how to utilize the validation tools to ensure your content is ready for primetime.","title":"HLS Authoring for AirPlay 2 Video","originalPublishingDate":"2019-06-04T17:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"ED957385-1D16-41CA-A835-E59357C7F5F1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/507fk9wyls0np6piwk\/507\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/507fk9wyls0np6piwk\/507\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/507fk9wyls0np6piwk\/507\/507_hls_authoring_for_airplay_2_video.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/507fk9wyls0np6piwk\/507\/507_hd_hls_authoring_for_airplay_2_video.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/507fk9wyls0np6piwk\/507\/507_sd_hls_authoring_for_airplay_2_video.mp4","duration":416,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-501","wwdc2019-502","wwdc2019-5010","wwdc2019-5130","wwdc2019-5160","wwdc2019-5180"],"resources":[553,487,486,485,175]}},"wwdc2019-723":{"id":"wwdc2019-723","staticContentId":3188,"eventContentId":723,"eventId":"wwdc2019","contentUpdatedAt":"2024-06-07T08:53:20-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/723","languageCode":"eng","description":"The Foundation framework provides a base layer of functionality for apps and frameworks that's used throughout the macOS, iOS, watchOS, and tvOS SDKs. Hear about valuable enhancements to Foundation collections, performance, internationalization features, and Swift integration.","title":"Advances in Foundation","originalPublishingDate":"2019-06-06T10:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5963D6C8-AF31-4E5A-AA16-8FAF44B6305D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/723ijngq6f3vi97\/723\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/723ijngq6f3vi97\/723\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/723ijngq6f3vi97\/723\/723_advances_in_foundation.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/723ijngq6f3vi97\/723\/723_hd_advances_in_foundation.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/723ijngq6f3vi97\/723\/723_sd_advances_in_foundation.mp4","duration":954,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-210","wwdc2019-711","wwdc2019-719","wwdc2019-7110"]}},"wwdc2019-506":{"id":"wwdc2019-506","staticContentId":3038,"eventContentId":506,"eventId":"wwdc2019","contentUpdatedAt":"2025-11-04T16:52:28-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2019\/506","languageCode":"eng","description":"With the addition of alpha channel support for HEVC video, you can now composite video over custom backgrounds in both your apps and on the web. Learn how to author compatible media, and the best practices for playback.","title":"HEVC Video with Alpha","originalPublishingDate":"2019-06-04T18:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6B51FAA0-F02C-42BB-9AF5-7442F71061FF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/506lqy7sprpfyo800\/506\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/506lqy7sprpfyo800\/506\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/506lqy7sprpfyo800\/506\/506_hevc_video_with_alpha.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/506lqy7sprpfyo800\/506\/506_hd_hevc_video_with_alpha.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2019\/506lqy7sprpfyo800\/506\/506_sd_hevc_video_with_alpha.mp4","duration":890,"availableAudioLanguageCodes":["eng"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2019-518","wwdc2019-5050","wwdc2019-5120","wwdc2019-5170"],"resources":[559,503]}},"wwdc2018-811":{"id":"wwdc2018-811","staticContentId":2573,"eventContentId":811,"eventId":"wwdc2018","contentUpdatedAt":"2026-05-09T12:10:50-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2018\/811","languageCode":"eng","description":"Ideas can live or die by their presentation. Learn indispensable and proven techniques for presenting your design work to better communicate your objectives and receive helpful, valuable and constructive feedback.","title":"Presenting Design Work","originalPublishingDate":"2018-06-08T11:00:00-07:00","publishingExpiryDate":"2099-12-31T23:59:00-08:00","platforms":["iOS","iPadOS","macOS"],"keywords":["design","design short","design studio shorts","presentation","presentations","short","shorts"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"827A5400-C331-4211-9620-73A521286362","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2018\/811tcr2wk13t3uq\/811\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2018\/811tcr2wk13t3uq\/811\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2018\/811tcr2wk13t3uq\/811\/811_presenting_design_work.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2018\/811tcr2wk13t3uq\/811\/811_hd_presenting_design_work.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2018\/811tcr2wk13t3uq\/811\/811_sd_presenting_design_work.mp4","duration":921,"availableAudioLanguageCodes":["eng","zho"],"availableSubtitleLanguageCodes":["eng","jpn","zho"]},"related":{"activities":["wwdc2018-807","wwdc2018-808","wwdc2018-809","wwdc2018-810"]}},"wwdc2017-515":{"id":"wwdc2017-515","staticContentId":1693,"eventContentId":515,"eventId":"wwdc2017","contentUpdatedAt":"2023-05-23T07:20:39-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/515","languageCode":"eng","description":"HTTP Live Streaming (HLS) reliably delivers video to audiences around the world. Key to this reliability is a comprehensive set of tools to help you author, deliver, and validate the HLS streams you create. See what's new in these tools, learn the latest authoring recommendations, and how they apply to advances in HLS such as support for HEVC and IMSC1.","title":"HLS Authoring Update","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"00C651B0-AAD7-4363-88BD-B9F735590634","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/515vy4sl7iu70\/515\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/515vy4sl7iu70\/515\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/515vy4sl7iu70\/515\/515_hls_authoring_update.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/515vy4sl7iu70\/515\/515_hd_hls_authoring_update.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/515vy4sl7iu70\/515\/515_sd_hls_authoring_update.mp4","duration":547,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2018-502","tech-talks-501","tech-talks-503","wwdc2017-503","wwdc2017-504","wwdc2017-514"],"resources":[175]}},"wwdc2017-822":{"id":"wwdc2017-822","staticContentId":1913,"eventContentId":822,"eventId":"wwdc2017","contentUpdatedAt":"2023-03-22T21:36:22-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/822","languageCode":"eng","description":"An app icon is the face of your app on the home screen. Learn key design principles for creating simple, unique, meaningful and beautiful app icons. Gain simple but effective techniques for testing your app icon for clarity and immediate recognizability.","title":"App Icon Design","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["app","app icon","app icons","design","design best practices","designing","design studio","design studio shorts","icon","icon design","short","shorts"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"74B6B85B-5D99-48E7-B103-BE1514D8A4DA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/822qxyzd1qk9l222\/822\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/822qxyzd1qk9l222\/822\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/822qxyzd1qk9l222\/822\/822_app_icon_design.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/822qxyzd1qk9l222\/822\/822_hd_app_icon_design.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/822qxyzd1qk9l222\/822\/822_sd_app_icon_design.mp4","duration":631,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"resources":[17]}},"wwdc2017-823":{"id":"wwdc2017-823","staticContentId":1914,"eventContentId":823,"eventId":"wwdc2017","contentUpdatedAt":"2023-03-22T21:37:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/823","languageCode":"eng","description":"Glyphs are a powerful communication tool and a fundamental element of your app\u2019s design language. Learn about important considerations when conceptualizing glyphs and key design principles of crafting effective glyph sets for spaces inside and outside of your app.","title":"Designing Glyphs","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["design","design best practices","designing glyphs","design studio","design studio shorts","glyphs","icon","icon design","iconography","icons","search glyph","short","shorts","tab bar"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"597D59A1-F123-4B08-BEE1-6D79A4C22268","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/823sgu0b9ofbkip\/823\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/823sgu0b9ofbkip\/823\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/823sgu0b9ofbkip\/823\/823_designing_glyphs.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/823sgu0b9ofbkip\/823\/823_hd_designing_glyphs.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/823sgu0b9ofbkip\/823\/823_sd_designing_glyphs.mp4","duration":682,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2019-206"],"resources":[17]}},"wwdc2017-246":{"id":"wwdc2017-246","staticContentId":1704,"eventContentId":246,"eventId":"wwdc2017","contentUpdatedAt":"2023-03-22T21:38:03-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/246","languageCode":"eng","description":"Design features such as the tvOS Top Shelf and Universal Links help customers immerse themselves in your content more quickly and easily. Learn how to create seamless app launch experiences when deep linking into content of UIKit or TVMLKit apps.","title":"Deep Linking on tvOS","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["tvOS"],"keywords":["tv app","universal link"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"8513190B-769A-466F-BBEA-B0A093BC60E8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/246oh3k8zgxi921jxq\/246\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/246oh3k8zgxi921jxq\/246\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/246oh3k8zgxi921jxq\/246\/246_deep_linking_on_tvos.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/246oh3k8zgxi921jxq\/246\/246_hd_deep_linking_on_tvos.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/246oh3k8zgxi921jxq\/246\/246_sd_deep_linking_on_tvos.mp4","duration":438,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2017-202","wwdc2017-209","wwdc2017-224","wwdc2017-250"],"resources":[219]}},"wwdc2017-514":{"id":"wwdc2017-514","staticContentId":1692,"eventContentId":514,"eventId":"wwdc2017","contentUpdatedAt":"2024-09-25T14:48:08-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/514","languageCode":"eng","description":"HTTP Live Streaming (HLS) reliably delivers media content across a variety of network and bandwidth conditions. However, there are many factors that can impact stream delivery, such as server or encoder failures, caching issues, or network dropouts. Learn the best-practice behaviors that your servers should adopt to maximize reliability, and gain a practical understanding of the errors your app may encounter and how to handle them.","title":"Error Handling Best Practices for HTTP Live Streaming","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F98C033E-76F4-45CD-822E-49DB4DECA700","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/514tjrrgnguh4k\/514\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/514tjrrgnguh4k\/514\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/514tjrrgnguh4k\/514\/514_error_handling_best_practices_for_http_live_streaming.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/514tjrrgnguh4k\/514\/514_hd_error_handling_best_practices_for_http_live_streaming.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/514tjrrgnguh4k\/514\/514_sd_error_handling_best_practices_for_http_live_streaming.mp4","duration":1121,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2018-502","tech-talks-501","wwdc2017-504","wwdc2017-515"]}},"wwdc2017-719":{"id":"wwdc2017-719","staticContentId":1546,"eventContentId":719,"eventId":"wwdc2017","contentUpdatedAt":"2024-05-31T12:48:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/719","languageCode":"eng","description":"Understand how to enable your audio, messaging, VoIP calling or automaker app for CarPlay. Audio, messaging and VoIP calling apps use a consistent design that's optimized for use in the car. Automaker apps provide vehicle specific controls and displays to keep drivers connected without leaving CarPlay. Explore best practices and learn about the tools and frameworks for CarPlay apps.","title":"Enabling Your App for CarPlay","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["\ud83d\ude97","\ud83d\ude98","\ud83d\ude99","automotive","callkit","car","mediaplayer","mediaplayer framework","notifications","sirikit"],"primaryTopicID":101,"topicIds":[84,100,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5F2B6A30-4575-49B6-A047-9AE0046ECECF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/719d0c0vj588o\/719\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/719d0c0vj588o\/719\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/719d0c0vj588o\/719\/719_enabling_your_app_for_carplay.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/719d0c0vj588o\/719\/719_hd_enabling_your_app_for_carplay.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/719d0c0vj588o\/719\/719_sd_enabling_your_app_for_carplay.mp4","duration":1653,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2018-213","wwdc2017-717","wwdc2016-722","wwdc2016-723"],"resources":[15]}},"wwdc2017-812":{"id":"wwdc2017-812","staticContentId":1918,"eventContentId":812,"eventId":"wwdc2017","contentUpdatedAt":"2024-05-09T17:22:05-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/812","languageCode":"eng","description":"Designing for multiple screen sizes can seem complicated, difficult, and time-consuming. Learn how size classes, dynamic type, and UIKit elements help your app to scale elegantly, save you time, and make your app look amazing on whatever device people are using.","title":"Size Classes and Core Components","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["core components","design","design best practices","design studio","short","shorts","size classes","studio shorts"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"944F32AE-D6BE-4D06-BAD8-547B8A72671F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/812be3ra1bugc3w\/812\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/812be3ra1bugc3w\/812\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/812be3ra1bugc3w\/812\/812_size_classes_and_core_components.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/812be3ra1bugc3w\/812\/812_hd_size_classes_and_core_components.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/812be3ra1bugc3w\/812\/812_sd_size_classes_and_core_components.mp4","duration":521,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"resources":[17]}},"wwdc2017-251":{"id":"wwdc2017-251","staticContentId":1929,"eventContentId":251,"eventId":"wwdc2017","contentUpdatedAt":"2024-12-23T16:28:54-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/251","languageCode":"eng","description":"Consistent and intuitive control of media playback is key to many apps on tvOS, and proper use and configuration of MPNowPlayingInfoCenter and MPRemoteCommandCenter are critical to delivering a great user experience. Dive deeper into these frameworks and learn how to ensure a seamless experience whether your app is being controlled using Siri, the Siri Remote, or the iOS Remote app.","title":"Now Playing and Remote Commands on tvOS","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["tvOS"],"primaryTopicID":84,"topicIds":[100,84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"CE03EAC9-2EE8-48FD-B621-D1D7F81E581D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/251txgutnwpkc4740f\/251\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/251txgutnwpkc4740f\/251\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/251txgutnwpkc4740f\/251\/251_now_playing_and_remote_commands_on_tvos.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/251txgutnwpkc4740f\/251\/251_hd_now_playing_and_remote_commands_on_tvos.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/251txgutnwpkc4740f\/251\/251_sd_now_playing_and_remote_commands_on_tvos.mp4","duration":881,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2017-209","wwdc2016-206","wwdc2016-503","wwdc2016-506"],"resources":[54]}},"wwdc2017-813":{"id":"wwdc2017-813","staticContentId":1921,"eventContentId":813,"eventId":"wwdc2017","contentUpdatedAt":"2024-05-31T12:47:09-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/813","languageCode":"eng","description":"Learn how to create clear, informative, and helpful alerts that will make your app easy and enjoyable to use. Get valuable insights about the proper role for alerts, actionable guidance about writing effective alerts, and techniques for avoiding common pitfalls.","title":"Writing Great Alerts","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["alert","alerts","design","design best practices","design studio","design studio shorts","dialogue","prompt","short","shorts","writing","writing alerts"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"6EE034CA-4F87-4234-BFC0-AB2753BA58A5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/813vq78d4cyc3\/813\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/813vq78d4cyc3\/813\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/813vq78d4cyc3\/813\/813_writing_great_alerts.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/813vq78d4cyc3\/813\/813_hd_writing_great_alerts.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/813vq78d4cyc3\/813\/813_sd_writing_great_alerts.mp4","duration":669,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"resources":[176,17]}},"wwdc2017-816":{"id":"wwdc2017-816","staticContentId":1920,"eventContentId":816,"eventId":"wwdc2017","contentUpdatedAt":"2023-03-22T21:38:51-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/816","languageCode":"eng","description":"Engage people from the first moment they open your app, and keep them coming back for more. Learn tips on how to make a compelling first impression, methods for teaching new users about your app, and best practices when asking users for more information.","title":"Love at First Launch","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["design","design best practices","design short","design studio","design studio shorts","first impression","first launch","first time user experience","onboarding","on boarding","short","shorts","teaching"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2C48F507-180B-4858-BB26-488C234B067F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/816mg1phgy05k3v222\/816\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/816mg1phgy05k3v222\/816\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/816mg1phgy05k3v222\/816\/816_love_at_first_launch.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/816mg1phgy05k3v222\/816\/816_hd_love_at_first_launch.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/816mg1phgy05k3v222\/816\/816_sd_love_at_first_launch.mp4","duration":655,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2017-413"],"resources":[17]}},"wwdc2017-513":{"id":"wwdc2017-513","staticContentId":1742,"eventContentId":513,"eventId":"wwdc2017","contentUpdatedAt":"2024-05-09T17:16:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/513","languageCode":"eng","description":"Learn the essential details of the new High Efficiency Image File Format (HEIF) and discover which capabilities are used by Apple platforms. Gain deep insights into the container structure, the types of media and metadata it can handle, and the many other advantages that this new standard affords.","title":"High Efficiency Image File Format","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":95,"topicIds":[91,101,95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"4B51FE02-7192-4373-BCBA-9B01E4D88437","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/513fzgbviu23l\/513\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/513fzgbviu23l\/513\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/513fzgbviu23l\/513\/513_high_efficiency_image_file_format.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/513fzgbviu23l\/513\/513_hd_high_efficiency_image_file_format.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/513fzgbviu23l\/513\/513_sd_high_efficiency_image_file_format.mp4","duration":1745,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2018-227","wwdc2017-503","wwdc2017-507","wwdc2017-508","wwdc2017-511"]}},"wwdc2017-247":{"id":"wwdc2017-247","staticContentId":1937,"eventContentId":247,"eventId":"wwdc2017","contentUpdatedAt":"2024-05-09T17:17:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/247","languageCode":"eng","description":"Help your users share the great content in your app by using the built-in iOS sharing functionality. Learn how timing, placement and context of sharing can drive engagement and acquire new users.","title":"Extend Your App's Presence With Sharing","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E962862D-A9E3-43A3-95B0-B232855DE70C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/247yvk4zop0czpm7s6\/247\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/247yvk4zop0czpm7s6\/247\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/247yvk4zop0czpm7s6\/247\/247_extend_your_apps_presence_with_sharing.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/247yvk4zop0czpm7s6\/247\/247_hd_extend_your_apps_presence_with_sharing.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/247yvk4zop0czpm7s6\/247\/247_sd_extend_your_apps_presence_with_sharing.mp4","duration":280,"availableSubtitleLanguageCodes":["en","zh"]}},"wwdc2017-717":{"id":"wwdc2017-717","staticContentId":1544,"eventContentId":717,"eventId":"wwdc2017","contentUpdatedAt":"2024-05-31T12:48:49-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/717","languageCode":"eng","description":"Wireless CarPlay is perfect for any trip. Get in your car without taking your iPhone out of your bag or pocket, and start experiencing CarPlay effortlessly. Learn how to design your CarPlay system to connect wirelessly to iPhone. Understand hardware requirements, best practices for a great user experience, and how to optimize the pairing and reconnection process.","title":"Developing Wireless CarPlay Systems","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["\ud83d\ude97","\ud83d\ude98","\ud83d\ude99","automotive","bluetooth","car","pair","wifi"],"primaryTopicID":101,"topicIds":[83,100,101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"78399FF6-318E-4C92-B9C5-9945034475A2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/717tmz5rl6c2t2k\/717\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/717tmz5rl6c2t2k\/717\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/717tmz5rl6c2t2k\/717\/717_developing_wireless_carplay_systems.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/717tmz5rl6c2t2k\/717\/717_hd_developing_wireless_carplay_systems.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/717tmz5rl6c2t2k\/717\/717_sd_developing_wireless_carplay_systems.mp4","duration":2077,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2019-252","wwdc2017-719","wwdc2016-722","wwdc2016-723"],"resources":[15]}},"wwdc2017-718":{"id":"wwdc2017-718","staticContentId":1585,"eventContentId":718,"eventId":"wwdc2017","contentUpdatedAt":"2024-11-22T12:32:25-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/718","languageCode":"eng","description":"Core NFC is an exciting new framework that enables you to read NFC tags in your apps on iPhone 7 and iPhone 7 Plus.  Learn how to integrate Core NFC into your apps, key requirements for using this feature, and start thinking about the new kinds of apps that are enabled with NFC capabilities.","title":"Introducing Core NFC","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["nfc"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F7A19381-DEA2-4555-962E-5C3E71442FAD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/718jes6q3aac0f1a\/718\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/718jes6q3aac0f1a\/718\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/718jes6q3aac0f1a\/718\/718_introducing_core_nfc.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/718jes6q3aac0f1a\/718\/718_hd_introducing_core_nfc.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/718jes6q3aac0f1a\/718\/718_sd_introducing_core_nfc.mp4","duration":675,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2019-715","wwdc2017-714"],"resources":[191,59]}},"wwdc2017-815":{"id":"wwdc2017-815","staticContentId":1919,"eventContentId":815,"eventId":"wwdc2017","contentUpdatedAt":"2023-03-22T21:35:30-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/815","languageCode":"eng","description":"Choosing a custom font for your app can be a daunting task involving both functional and stylistic decisions. Gain a solid understanding of fundamental font design characteristics such as proportion and contrast. Learn how to apply this knowledge when deciding which font is right for your app.","title":"How to Pick a Custom Font","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["custom font","custom fonts","design best practices","design studio","design studio shorts","font","fonts","short","shorts","typography"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"74704F28-2E2D-4125-B25A-AA9E8400D636","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/815hn3cbczzv55\/815\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/815hn3cbczzv55\/815\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/815hn3cbczzv55\/815\/815_how_to_pick_a_custom_font.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/815hn3cbczzv55\/815\/815_hd_how_to_pick_a_custom_font.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/815hn3cbczzv55\/815\/815_sd_how_to_pick_a_custom_font.mp4","duration":890,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2018-201"],"resources":[254,253,252,251,250,249,17,1]}},"wwdc2017-250":{"id":"wwdc2017-250","staticContentId":1936,"eventContentId":250,"eventId":"wwdc2017","contentUpdatedAt":"2023-03-22T21:36:55-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/250","languageCode":"eng","description":"Learn about deep linking and how universal links can be used to make your app\u2019s content and functionality accessible throughout iOS.","title":"Extend Your App\u2019s Presence with Deep Linking","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"548CE3BA-432C-427D-A841-A153654948B7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/250lnw83hnjfutowrg\/250\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/250lnw83hnjfutowrg\/250\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/250lnw83hnjfutowrg\/250\/250_extend_your_apps_presence_with_deep_linking.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/250lnw83hnjfutowrg\/250\/250_hd_extend_your_apps_presence_with_deep_linking.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/250lnw83hnjfutowrg\/250\/250_sd_extend_your_apps_presence_with_deep_linking.mp4","duration":226,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2017-246"]}},"wwdc2017-809":{"id":"wwdc2017-809","staticContentId":1916,"eventContentId":809,"eventId":"wwdc2017","contentUpdatedAt":"2023-03-22T21:36:52-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/809","languageCode":"eng","description":"Good communication between designers and engineers is the key to building great products. Discover how production and specification techniques can improve communication, build trust, and help design and development teams work together to build better apps.","title":"Communication Between Designers and Engineers","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["communication","design","design best practices","designers","design studio shorts","organization","short","shorts","studio shorts","teamwork"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5829FCA0-3F4D-49DD-B557-6FCB13C84B27","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/809dxbck5y8h8e1\/809\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/809dxbck5y8h8e1\/809\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/809dxbck5y8h8e1\/809\/809_communication_between_designers_and_engineers.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/809dxbck5y8h8e1\/809\/809_hd_communication_between_designers_and_engineers.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/809dxbck5y8h8e1\/809\/809_sd_communication_between_designers_and_engineers.mp4","duration":592,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"resources":[17]}},"wwdc2017-249":{"id":"wwdc2017-249","staticContentId":1691,"eventContentId":249,"eventId":"wwdc2017","contentUpdatedAt":"2025-01-09T16:57:23-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/249","languageCode":"eng","description":"Unwanted SMS and MMS messages are a persistent, frustrating nuisance. Identity Lookup is a new framework that allows you to participate in the process of filtering incoming messages. Get the details of how to identify and prevent these unsolicited messages. Understand the options for on-device detection as well as more dynamic server-based integration in order to ensure a better user experience.","title":"Filtering Unwanted Messages with Identity Lookup","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["carrier","cellular","china","extension","identitylookup","junk","messagefilter","spam"],"primaryTopicID":96,"topicIds":[96],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5740C8AD-C195-413A-A1BF-89EDFF1D6F8D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/249alewpia5158ow5k\/249\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/249alewpia5158ow5k\/249\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/249alewpia5158ow5k\/249\/249_filtering_unwanted_messages_with_identity_lookup.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/249alewpia5158ow5k\/249\/249_hd_filtering_unwanted_messages_with_identity_lookup.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/249alewpia5158ow5k\/249\/249_sd_filtering_unwanted_messages_with_identity_lookup.mp4","duration":1054,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2017-212","wwdc2017-702"],"resources":[158]}},"wwdc2017-818":{"id":"wwdc2017-818","staticContentId":1926,"eventContentId":818,"eventId":"wwdc2017","contentUpdatedAt":"2023-10-04T17:12:16-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/818","languageCode":"eng","description":"Learn how to quickly build interactive prototypes! See how you can test new ideas and improve upon existing ones with minimal time investment and using tools you are already familiar with.","title":"60-Second Prototyping","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["60 seconds","design","design best practices","design studio","design studio shorts","interactive","interactive prototype","prototype","prototyping","short","shorts"],"primaryTopicID":87,"topicIds":[87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"3D96D3BB-CF00-4DFD-9627-D81CCC19E17F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/818xw12wzot6au\/818\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/818xw12wzot6au\/818\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/818xw12wzot6au\/818\/818_60_second_prototyping.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/818xw12wzot6au\/818\/818_hd_60_second_prototyping.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/818xw12wzot6au\/818\/818_sd_60_second_prototyping.mp4","duration":641,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"resources":[17]}},"wwdc2017-810":{"id":"wwdc2017-810","staticContentId":1917,"eventContentId":810,"eventId":"wwdc2017","contentUpdatedAt":"2024-12-03T10:52:00-08:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/810","languageCode":"eng","description":"See how the updates to UIKit controls and text styles in iOS 11 can help you design an app with a stronger visual hierarchy, clearer navigation, and a simpler interface that\u2019s easier to use.","title":"What\u2019s New in iOS 11","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["design","design best practices","design studio","design studio shorts","ios","ios 11","ios design","short","shorts","uikit","what's new"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"5F06979B-37B1-4FB5-A9E7-7AC5D8978774","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/810rf5oudq18pus\/810\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/810rf5oudq18pus\/810\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/810rf5oudq18pus\/810\/810_whats_new_in_ios_11.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/810rf5oudq18pus\/810\/810_hd_whats_new_in_ios_11.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/810rf5oudq18pus\/810\/810_sd_whats_new_in_ios_11.mp4","duration":527,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"resources":[17,3]}},"wwdc2017-811":{"id":"wwdc2017-811","staticContentId":1923,"eventContentId":811,"eventId":"wwdc2017","contentUpdatedAt":"2024-05-09T17:19:17-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/811","languageCode":"eng","description":"Great games transport us into another world where we can reign over a kingdom, fight epic battles, or become a pinball wizard. Learn on-boarding and UI design best practices that will enable everyone to lose themselves in your game and have fun.","title":"Design Tips for Great Games","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["design","design best practices","design studio","design studio shorts","game","game best practices","game design","games","game ui","game user experience","game user interface","mobile game ui","mobile gaming","short","shorts","studio"],"primaryTopicID":87,"topicIds":[91,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"F058329E-F372-489A-B30E-207D65B13972","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/811evqx1dsujdj5222\/811\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/811evqx1dsujdj5222\/811\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/811evqx1dsujdj5222\/811\/811_design_tips_for_great_games.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/811evqx1dsujdj5222\/811\/811_hd_design_tips_for_great_games.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/811evqx1dsujdj5222\/811\/811_sd_design_tips_for_great_games.mp4","duration":833,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"resources":[17]}},"wwdc2017-819":{"id":"wwdc2017-819","staticContentId":1927,"eventContentId":819,"eventId":"wwdc2017","contentUpdatedAt":"2024-05-09T17:20:10-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/819","languageCode":"eng","description":"The worldwide reach of the App Store means that your app can be enjoyed by people from around the globe. Explore ways to make your app useful and appealing to as many people as possible. And pick up simple techniques for avoiding common issues when reaching a global audience.","title":"Designing for a Global Audience","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["audience","design","design best practices","designing","design studio","design studio shorts","global","global audience","global design","internationalization","short","shorts"],"primaryTopicID":87,"topicIds":[82,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9F72F069-91FE-487F-9CD5-2C702D0CEBCD","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/819bp5li4iugvy222\/819\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/819bp5li4iugvy222\/819\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/819bp5li4iugvy222\/819\/819_designing_for_a_global_audience.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/819bp5li4iugvy222\/819\/819_hd_designing_for_a_global_audience.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/819bp5li4iugvy222\/819\/819_sd_designing_for_a_global_audience.mp4","duration":571,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"resources":[17]}},"wwdc2017-248":{"id":"wwdc2017-248","staticContentId":1928,"eventContentId":248,"eventId":"wwdc2017","contentUpdatedAt":"2024-05-09T17:18:57-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/248","languageCode":"eng","description":"Expand the reach of your apps by building them for a worldwide audience. Learn how to create localized tvOS apps that perform seamlessly regardless of country and language. Gain insights into such topics as handling server-side content, matching preferred languages, and localizing images and text direction.","title":"Localization Best Practices on tvOS","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["tvOS"],"keywords":["international","internationalization","locale","right to left","right-to-left"],"primaryTopicID":82,"topicIds":[100,82],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E6EFD9CE-580E-4642-B253-1BE118A8F8F7","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/248l3bagtus6l8jwxh\/248\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/248l3bagtus6l8jwxh\/248\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/248l3bagtus6l8jwxh\/248\/248_localization_best_practices_on_tvos.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/248l3bagtus6l8jwxh\/248\/248_hd_localization_best_practices_on_tvos.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/248l3bagtus6l8jwxh\/248\/248_sd_localization_best_practices_on_tvos.mp4","duration":837,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2017-202","wwdc2017-209","wwdc2017-401","wwdc2017-410","wwdc2016-232"],"resources":[109,61]}},"wwdc2017-817":{"id":"wwdc2017-817","staticContentId":1924,"eventContentId":817,"eventId":"wwdc2017","contentUpdatedAt":"2024-05-09T17:21:27-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/817","languageCode":"eng","description":"Discover the keys to creating informative, useful and beautiful rich notifications in iOS. Get practical and detailed guidance about how to design short looks, long looks, and quick actions that will make your app's notifications something people look forward to receiving.","title":"Rich Notifications","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["design","design best practices","design studio","design studio shorts","notifications","rich notifications","short","shorts"],"primaryTopicID":87,"topicIds":[100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"D1F1DE06-0691-4C5B-B13D-BBE1E5AC92F2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/817p12uvpl9vgt\/817\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/817p12uvpl9vgt\/817\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/817p12uvpl9vgt\/817\/817_rich_notifications.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/817p12uvpl9vgt\/817\/817_hd_rich_notifications.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/817p12uvpl9vgt\/817\/817_sd_rich_notifications.mp4","duration":609,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"resources":[3559,17]}},"wwdc2017-821":{"id":"wwdc2017-821","staticContentId":1915,"eventContentId":821,"eventId":"wwdc2017","contentUpdatedAt":"2024-05-09T17:16:34-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/821","languageCode":"eng","description":"Wide color displays allow your app to display richer, more vibrant and lifelike colors than ever before. Get a primer on color management, the Display P3 color space, and practical workflow techniques for producing more colorful images and icons.","title":"Get Started with Display P3","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["color","color management","colorspace","design","design best practices","design shorts","design studio","design studio shorts","display p3","icons","images","short"],"primaryTopicID":91,"topicIds":[87,100,91],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"09438FDD-3E8B-42A3-A364-78E1A7F2CE6B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/821kjtggolzxsv\/821\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/821kjtggolzxsv\/821\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/821kjtggolzxsv\/821\/821_get_started_with_display_p3.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/821kjtggolzxsv\/821\/821_hd_get_started_with_display_p3.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/821kjtggolzxsv\/821\/821_sd_get_started_with_display_p3.mp4","duration":606,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2017-511"],"resources":[17]}},"wwdc2017-820":{"id":"wwdc2017-820","staticContentId":1925,"eventContentId":820,"eventId":"wwdc2017","contentUpdatedAt":"2024-05-09T17:18:23-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/820","languageCode":"eng","description":"iMessage Apps help people easily create and share content, play games, and collaborate with friends without needing to leave the conversation. Explore how you can design iMessage apps and sticker packs that are perfectly suited for a deeply social context.","title":"Express Yourself!","originalPublishingDate":"2017-06-04T17:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["design","design best practices","design short","design studio","design studio shorts","short","shorts","sticker","sticker pack","stickers"],"primaryTopicID":87,"topicIds":[83,100,87],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"FC4A4C67-CCE9-46D5-9376-D071D53B4FB2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/820i9qakfac65nsp\/820\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/820i9qakfac65nsp\/820\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/820i9qakfac65nsp\/820\/820_express_yourself.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/820i9qakfac65nsp\/820\/820_hd_express_yourself.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/820i9qakfac65nsp\/820\/820_sd_express_yourself.mp4","duration":517,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"resources":[17]}},"wwdc2017-110":{"id":"wwdc2017-110","staticContentId":1800,"eventContentId":110,"eventId":"wwdc2017","contentUpdatedAt":"2025-06-10T12:43:54-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2017\/110","languageCode":"eng","description":"Why design apps with accessibility?  Meet Todd Stabelfeldt, founder of C4 Consulting, who has lived with quadriplegia since the age of 8.  Over his decades-long struggle for increased independence in both his personal and professional lives, Todd has become a noted expert in technologies for persons with disabilities, which he has found can offer not only a level of autonomy but also empowerment and dignity to the mobility impaired.  Leading by example, Todd runs a successful business but his real passion lies elsewhere.  Hear how apps designed well with accessibility in mind have changed his life as a husband, father and as owner of the \u201cQuadthedral\u201c, his family\u2019s HomeKit-enabled smart home.","title":"Convenience for You is Independence for Me","startTime":"2017-06-07T12:40:00-07:00","endTime":"2017-06-07T13:30:00-07:00","originalPublishingDate":"2017-06-07T12:40:00-07:00","publishingExpiryDate":"2030-06-05T09:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":82,"topicIds":[82],"type":"Special Event","typeSemanticID":"live-presentation-special","deliveryLanguage":"eng","roomId":63,"imagesUUID":"42B8A322-A670-4B39-91AE-47C29DBE6EEE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/110agzs7njnnjtee\/110\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/110agzs7njnnjtee\/110\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/110agzs7njnnjtee\/110\/110_convenience_for_you_is_independence_for_me.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/110agzs7njnnjtee\/110\/110_hd_convenience_for_you_is_independence_for_me.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2017\/110agzs7njnnjtee\/110\/110_sd_convenience_for_you_is_independence_for_me.mp4","duration":2508,"availableSubtitleLanguageCodes":["en","zh"]}},"wwdc2016-510":{"id":"wwdc2016-510","staticContentId":301,"eventContentId":510,"eventId":"wwdc2016","contentUpdatedAt":"2023-03-22T21:38:39-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2016\/510","languageCode":"eng","description":"HTTP Live Streaming enables the reliable delivery of media content over a wide variety of network conditions. Learn best practices in HLS authoring, see how to verify your streams using the HTTP Live Streaming tools, and apply the results to improve the performance of your streams.","title":"Validating HTTP Live Streams","originalPublishingDate":"2016-06-12T17:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["hls","hlsreport","http live streaming","mediastreamvalidator","validation"],"primaryTopicID":84,"topicIds":[84],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"9119D253-0580-4CAD-A906-3844329255B6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/510ndmh9wkcvzneegv2\/510\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/510ndmh9wkcvzneegv2\/510\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/510ndmh9wkcvzneegv2\/510\/510_validating_http_live_streams.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/510ndmh9wkcvzneegv2\/510\/510_hd_validating_http_live_streams.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/510ndmh9wkcvzneegv2\/510\/510_sd_validating_http_live_streams.mp4","duration":1341,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["tech-talks-501","wwdc2017-504","wwdc2016-503","wwdc2016-504"]}},"wwdc2016-724":{"id":"wwdc2016-724","staticContentId":207,"eventContentId":724,"eventId":"wwdc2016","contentUpdatedAt":"2023-03-22T21:36:52-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2016\/724","languageCode":"eng","description":"Starting with a review of the HTTP\/2 based provider API, you will learn about an important new feature: Token Based Authentication. Learn to connect to APNs using authentication tokens for sending pushes via the HTTP\/2 API, relieving you of the overhead associated with maintaining valid certificates.","title":"What's New in the Apple Push Notification Service","originalPublishingDate":"2016-06-12T17:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":101,"topicIds":[101],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E72E66AB-646C-4119-AB83-2D7E7580BCD4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/724x4wbpmrtkjpgfdlj\/724\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/724x4wbpmrtkjpgfdlj\/724\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/724x4wbpmrtkjpgfdlj\/724\/724_whats_new_in_the_apple_push_notification_service.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/724x4wbpmrtkjpgfdlj\/724\/724_hd_whats_new_in_the_apple_push_notification_service.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/724x4wbpmrtkjpgfdlj\/724\/724_sd_whats_new_in_the_apple_push_notification_service.mp4","duration":885,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2016-707","wwdc2016-708"]}},"wwdc2016-511":{"id":"wwdc2016-511","staticContentId":419,"eventContentId":511,"eventId":"wwdc2016","contentUpdatedAt":"2023-03-22T21:35:36-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2016\/511","languageCode":"eng","description":"Continue your learning from Session 501: Advances in iOS Photography, with some additional details on scene monitoring and resource management in AVFoundation's powerful new AVCapturePhotoOutput API.","title":"AVCapturePhotoOutput - Beyond the Basics","originalPublishingDate":"2016-06-12T17:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["camera","capture","editing","image","jpg","live photo","photo","raw"],"primaryTopicID":95,"topicIds":[95],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"2268A935-1E87-4F9A-8B81-E2EB4E5CAE3E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/511nqyciexman7sf932\/511\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/511nqyciexman7sf932\/511\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/511nqyciexman7sf932\/511\/511_avcapturephotooutput__beyond_the_basics.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/511nqyciexman7sf932\/511\/511_hd_avcapturephotooutput__beyond_the_basics.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/511nqyciexman7sf932\/511\/511_sd_avcapturephotooutput__beyond_the_basics.mp4","duration":1244,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2016-501"]}},"wwdc2016-725":{"id":"wwdc2016-725","staticContentId":208,"eventContentId":725,"eventId":"wwdc2016","contentUpdatedAt":"2023-03-22T21:37:56-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2016\/725","languageCode":"eng","description":"AirPrint works everywhere, including Enterprise environments. Learn how to deploy AirPrint in the Enterprise, how to set up an AirPrint Bluetooth Beacon which is new in iOS 10, and how to make sure your users take full advantage of AirPrint features.","title":"Deploying AirPrint in Enterprise","originalPublishingDate":"2016-06-12T17:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"E23E8226-E299-4E8B-9B89-D0F26732E2F4","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/725xk1hwmcfqkiv0jfh\/725\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/725xk1hwmcfqkiv0jfh\/725\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/725xk1hwmcfqkiv0jfh\/725\/725_deploying_airprint_in_enterprise.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/725xk1hwmcfqkiv0jfh\/725\/725_hd_deploying_airprint_in_enterprise.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/725xk1hwmcfqkiv0jfh\/725\/725_sd_deploying_airprint_in_enterprise.mp4","duration":962,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2016-303"]}},"wwdc2016-723":{"id":"wwdc2016-723","staticContentId":180,"eventContentId":723,"eventId":"wwdc2016","contentUpdatedAt":"2023-03-22T21:38:12-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2016\/723","languageCode":"eng","description":"Learn how CarPlay integrates with your car's infotainment system. Understand how CarPlay is designed to work with your car's resources including the display, speakers, microphone, user inputs, steering wheel controls, instrument cluster and sensors.","title":"Developing CarPlay Systems, Part 2","originalPublishingDate":"2016-06-12T17:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"40C5B3EC-ADEE-442F-A839-2815DAB1DC7E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/723x16j75lwkg414uxk\/723\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/723x16j75lwkg414uxk\/723\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/723x16j75lwkg414uxk\/723\/723_developing_carplay_systems_part_2.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/723x16j75lwkg414uxk\/723\/723_hd_developing_carplay_systems_part_2.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/723x16j75lwkg414uxk\/723\/723_sd_developing_carplay_systems_part_2.mp4","duration":1573,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2019-252","wwdc2017-717","wwdc2017-719","wwdc2016-722"]}},"wwdc2016-241":{"id":"wwdc2016-241","staticContentId":418,"eventContentId":241,"eventId":"wwdc2016","contentUpdatedAt":"2023-03-22T21:38:48-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2016\/241","languageCode":"eng","description":"Launched last year with iOS 9 and macOS El Capitan, the new Transit feature in Apple Maps is customized for each city where it's available. Hear about how the Apple Maps team ensures a great customer experience through a combination of transit agency data, field survey, and close attention to the unique transit culture of each city. If you're a transit agency, learn about how you can help to ensure your customers have the most reliable information in Apple Maps.","title":"Public Transit in Apple Maps","originalPublishingDate":"2016-06-12T17:00:00-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":93,"topicIds":[93],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A42346EE-EDBA-4487-A564-D25DA6A5BB7A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/241fgk9sdmxcb6c6wz2\/241\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/241fgk9sdmxcb6c6wz2\/241\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/241fgk9sdmxcb6c6wz2\/241\/241_public_transit_in_apple_maps.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/241fgk9sdmxcb6c6wz2\/241\/241_hd_public_transit_in_apple_maps.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/241fgk9sdmxcb6c6wz2\/241\/241_sd_public_transit_in_apple_maps.mp4","duration":679,"availableSubtitleLanguageCodes":["en","zh"]}},"wwdc2016-722":{"id":"wwdc2016-722","staticContentId":179,"eventContentId":722,"eventId":"wwdc2016","contentUpdatedAt":"2024-05-09T17:14:42-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2016\/722","languageCode":"eng","description":"CarPlay is a smarter, safer way to use your iPhone in the car. Learn how CarPlay works and how to design your car's infotainment system to work seamlessly with iPhone. Understand best practices for a great user experience that integrates CarPlay with the car's native system.","title":"Developing CarPlay Systems, Part 1","originalPublishingDate":"2016-06-12T17:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[101,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A7913930-12E3-4AE4-BF17-4847EF1ABE4B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/722x2eefo3u2rp8k8qs\/722\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/722x2eefo3u2rp8k8qs\/722\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/722x2eefo3u2rp8k8qs\/722\/722_developing_carplay_systems_part_1.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/722x2eefo3u2rp8k8qs\/722\/722_hd_developing_carplay_systems_part_1.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/722x2eefo3u2rp8k8qs\/722\/722_sd_developing_carplay_systems_part_1.mp4","duration":1802,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2019-252","wwdc2017-717","wwdc2017-719","wwdc2016-723"]}},"wwdc2016-509":{"id":"wwdc2016-509","staticContentId":229,"eventContentId":509,"eventId":"wwdc2016","contentUpdatedAt":"2024-05-09T17:14:24-07:00","webPermalink":"https:\/\/developer.apple.com\/videos\/play\/wwdc2016\/509","languageCode":"eng","description":"iOS 10 brings a brand new Speech Recognition API that allows you to perform rapid and contextually informed speech recognition in both file-based and realtime scenarios. In this video, you will learn all about the new API and how to bring advanced speech recognition services into your apps.","title":"Speech Recognition API","originalPublishingDate":"2016-06-12T17:00:00-07:00","platforms":["iOS","iPadOS"],"keywords":["audio stream","cloud","icloud","realtime","recognition","siri","speech"],"primaryTopicID":83,"topicIds":[84,83],"type":"Video","typeSemanticID":"on-demand-video","deliveryLanguage":"eng","imagesUUID":"A9F1DFA3-AE56-4337-9110-DCC0B578E828","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"media":{"hls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/509n1cnykqms19r9jyp\/509\/hls_vod_mvp.m3u8","tvOShls":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/509n1cnykqms19r9jyp\/509\/atv_vod_mvp.m3u8","slides":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/509n1cnykqms19r9jyp\/509\/509_speech_recognition_api.pdf","downloadHD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/509n1cnykqms19r9jyp\/509\/509_hd_speech_recognition_api.mp4","downloadSD":"https:\/\/devstreaming-cdn.apple.com\/videos\/wwdc\/2016\/509n1cnykqms19r9jyp\/509\/509_sd_speech_recognition_api.mp4","duration":697,"availableSubtitleLanguageCodes":["en","zh"]},"related":{"activities":["wwdc2019-256","wwdc2016-205","wwdc2016-217","wwdc2016-225"]}}},"officeHours":{"wwdc2026-8059":{"id":"wwdc2026-8059","staticContentId":11075,"eventContentId":8059,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:50:09-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/Q5SWWD4XSF\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Audio Q&A on the Apple Developer Forums.","title":"Audio Q&A","startTime":"2026-06-09T07:00:00-07:00","endTime":"2026-06-09T09:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-09T08:59:00-07:00","screeningEndDate":"2026-06-08T19:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/Q5SWWD4XSF\/dashboard","text":"","labTopics":[],"registrationServiceID":"Q5SWWD4XSF","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-audio-q-and-a-tuesday&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":84,"topicIds":[84],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"6BA9E245-E43B-429C-8816-42543E11E841","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8042":{"id":"wwdc2026-8042","staticContentId":11014,"eventContentId":8042,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:51:43-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/JP8ANN3X3M\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Notifications Q&A on the Apple Developer Forums.","title":"Notifications Q&A","startTime":"2026-06-11T13:00:00-07:00","endTime":"2026-06-11T15:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T14:59:00-07:00","screeningEndDate":"2026-06-11T01:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/JP8ANN3X3M\/dashboard","text":"","labTopics":[],"registrationServiceID":"JP8ANN3X3M","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-notifications-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":83,"topicIds":[101,83],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"4DE325D4-A171-4755-AAEB-EF68335113AE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8064":{"id":"wwdc2026-8064","staticContentId":11080,"eventContentId":8064,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:50:20-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/68Z23NB2GP\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the CarPlay Q&A on the Apple Developer Forums.","title":"CarPlay Q&A","startTime":"2026-06-10T10:00:00-07:00","endTime":"2026-06-10T12:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T11:59:00-07:00","screeningEndDate":"2026-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/68Z23NB2GP\/dashboard","text":"","labTopics":[],"registrationServiceID":"68Z23NB2GP","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-carplay-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS"],"primaryTopicID":101,"topicIds":[101],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"4A8A71B9-28F7-4C03-892F-7C1A50B11923","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8045":{"id":"wwdc2026-8045","staticContentId":11019,"eventContentId":8045,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:52:17-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/98VLGTQU8G\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the StoreKit, In-App Purchase, and App Store Server API Q&A on the Apple Developer Forums.","title":"StoreKit, In-App Purchase, and App Store Server API Q&A","startTime":"2026-06-09T13:00:00-07:00","endTime":"2026-06-09T15:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-09T14:59:00-07:00","screeningEndDate":"2026-06-09T01:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/98VLGTQU8G\/dashboard","text":"","labTopics":[],"registrationServiceID":"98VLGTQU8G","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-storekit-in-app-purchase-and-app-store-server-api-q-and-a-tuesday&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":86,"topicIds":[83,86],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"414EB21E-FE37-491D-9677-D750B5237ECE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8123":{"id":"wwdc2026-8123","staticContentId":11144,"eventContentId":8123,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-29T00:18:02-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/A573Y8KGWZ\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Authentication Q&A on the Apple Developer Forums.","title":"Authentication Q&A","startTime":"2026-06-09T13:00:00-07:00","endTime":"2026-06-09T15:00:00-07:00","signupInformation":{"startDate":"2026-05-29T01:00:00-07:00","endDate":"2026-06-09T14:59:00-07:00","screeningEndDate":"2026-06-09T01:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/A573Y8KGWZ\/dashboard","text":"","labTopics":[],"registrationServiceID":"A573Y8KGWZ","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-authentication-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-28T08:00:00-07:00","primaryTopicID":83,"topicIds":[96,83],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"241BB5CA-B2E4-47E7-AA4D-6E37599CDB24","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8130":{"id":"wwdc2026-8130","staticContentId":11141,"eventContentId":8130,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:50:25-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/C6J6Y689F6\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Core Bluetooth Q&A on the Apple Developer Forums.","title":"Core Bluetooth Q&A","startTime":"2026-06-11T13:00:00-07:00","endTime":"2026-06-11T15:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T14:59:00-07:00","screeningEndDate":"2026-06-11T01:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/C6J6Y689F6\/dashboard","text":"","labTopics":[],"registrationServiceID":"C6J6Y689F6","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-core-bluetooth-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","visionOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"B0E16987-5F8D-4858-B82E-8827428DE121","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8125":{"id":"wwdc2026-8125","staticContentId":11146,"eventContentId":8125,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-29T00:20:21-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/KBQ68K9FQ8\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Widgets & Live Activities Q&A on the Apple Developer Forums.","title":"Widgets & Live Activities Q&A","startTime":"2026-06-12T10:00:00-07:00","endTime":"2026-06-12T12:00:00-07:00","signupInformation":{"startDate":"2026-05-29T01:00:00-07:00","endDate":"2026-06-12T11:59:00-07:00","screeningEndDate":"2026-06-11T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/KBQ68K9FQ8\/dashboard","text":"","labTopics":[],"registrationServiceID":"KBQ68K9FQ8","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-widgets-and-live-activities-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-28T08:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"primaryTopicID":83,"topicIds":[83],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"4289109A-0D3B-4903-8E23-4DCB357EAB02","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8040":{"id":"wwdc2026-8040","staticContentId":11011,"eventContentId":8040,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:50:47-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/U3L5JD8296\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Games Technologies Q&A on the Apple Developer Forums.","title":"Games Technologies Q&A","startTime":"2026-06-09T14:00:00-07:00","endTime":"2026-06-09T16:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-09T15:59:00-07:00","screeningEndDate":"2026-06-09T02:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/U3L5JD8296\/dashboard","text":"","labTopics":[],"registrationServiceID":"U3L5JD8296","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-games-technologies-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":91,"topicIds":[91],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"B78085EE-7F52-4708-87B3-2E53CEF8AF59","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8057":{"id":"wwdc2026-8057","staticContentId":11042,"eventContentId":8057,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:51:50-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/52TB6RXM8F\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the PencilKit & PaperKit Q&A on the Apple Developer Forums.","title":"PencilKit & PaperKit Q&A","startTime":"2026-06-10T17:00:00-07:00","endTime":"2026-06-10T19:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T18:59:00-07:00","screeningEndDate":"2026-06-10T05:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/52TB6RXM8F\/dashboard","text":"","labTopics":[],"registrationServiceID":"52TB6RXM8F","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-pencilkit-and-paperkit-q-and-a-wednesday-pm&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"660DC4B7-F216-41AA-8AD2-EAB321D2AD4A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8054":{"id":"wwdc2026-8054","staticContentId":11039,"eventContentId":8054,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:51:54-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/LXYMHZ5XN6\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the PencilKit & PaperKit Q&A on the Apple Developer Forums.","title":"PencilKit & PaperKit Q&A","startTime":"2026-06-10T09:00:00-07:00","endTime":"2026-06-10T11:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T10:59:00-07:00","screeningEndDate":"2026-06-09T21:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/LXYMHZ5XN6\/dashboard","text":"","labTopics":[],"registrationServiceID":"LXYMHZ5XN6","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-pencilkit-and-paperkit-q-and-a-wednesday-am&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"FB56DB9B-A2EC-4D6B-9856-5DA6A28B3DA5","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8126":{"id":"wwdc2026-8126","staticContentId":11149,"eventContentId":8126,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-29T00:18:19-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/SG43726AK8\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Business & Education Q&A on the Apple Developer Forums.","title":"Business & Education Q&A","startTime":"2026-06-10T10:00:00-07:00","endTime":"2026-06-10T12:00:00-07:00","signupInformation":{"startDate":"2026-05-29T01:00:00-07:00","endDate":"2026-06-10T11:59:00-07:00","screeningEndDate":"2026-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/SG43726AK8\/dashboard","text":"","labTopics":[],"registrationServiceID":"SG43726AK8","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-business-and-education-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-28T08:00:00-07:00","primaryTopicID":89,"topicIds":[89],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"FE0FFD75-6245-48A3-AE68-3910D7035B1F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8081":{"id":"wwdc2026-8081","staticContentId":11103,"eventContentId":8081,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:51:13-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/Q97H9Y4KWS\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Internationalization Q&A on the Apple Developer Forums.","title":"Internationalization Q&A","startTime":"2026-06-11T10:00:00-07:00","endTime":"2026-06-11T12:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T11:59:00-07:00","screeningEndDate":"2026-06-10T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/Q97H9Y4KWS\/dashboard","text":"","labTopics":[],"registrationServiceID":"Q97H9Y4KWS","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-internationalization-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":83,"topicIds":[82,83],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"C8528342-EBA6-48D0-B9E4-409C3D3AFD18","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8122":{"id":"wwdc2026-8122","staticContentId":11143,"eventContentId":8122,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-29T00:19:17-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/UVZ8NYQ4LB\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the iCloud & CloudKit Q&A on the Apple Developer Forums.","title":"iCloud & CloudKit Q&A","startTime":"2026-06-09T13:00:00-07:00","endTime":"2026-06-09T15:00:00-07:00","signupInformation":{"startDate":"2026-05-29T01:00:00-07:00","endDate":"2026-06-09T14:59:00-07:00","screeningEndDate":"2026-06-09T01:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/UVZ8NYQ4LB\/dashboard","text":"","labTopics":[],"registrationServiceID":"UVZ8NYQ4LB","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-icloud-and-cloudkit-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-28T08:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":83,"topicIds":[83],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"0EC0A04C-918F-4E23-BD3A-E63DA08625F3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8060":{"id":"wwdc2026-8060","staticContentId":11076,"eventContentId":8060,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:50:15-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/A2K5547LPC\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Audio Q&A on the Apple Developer Forums.","title":"Audio Q&A","startTime":"2026-06-10T16:00:00-07:00","endTime":"2026-06-10T18:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T17:59:00-07:00","screeningEndDate":"2026-06-10T04:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/A2K5547LPC\/dashboard","text":"","labTopics":[],"registrationServiceID":"A2K5547LPC","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-audio-q-and-a-wednesday&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":84,"topicIds":[84],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"353C7BC2-4DE6-4040-9049-ACEF716C13A1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8052":{"id":"wwdc2026-8052","staticContentId":11033,"eventContentId":8052,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:50:05-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/BJ4T26S4X3\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Apple Pay Q&A on the Apple Developer Forums.","title":"Apple Pay Q&A","startTime":"2026-06-11T09:00:00-07:00","endTime":"2026-06-11T11:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T10:59:00-07:00","screeningEndDate":"2026-06-10T21:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/BJ4T26S4X3\/dashboard","text":"","labTopics":[],"registrationServiceID":"BJ4T26S4X3","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-apple-pay-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"primaryTopicID":83,"topicIds":[83],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"255FB036-6E70-4909-BA55-5E8F49669F36","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8051":{"id":"wwdc2026-8051","staticContentId":11032,"eventContentId":8051,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:53:03-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/5PHA7MZP6Q\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Virtualization Q&A on the Apple Developer Forums.","title":"Virtualization Q&A","startTime":"2026-06-09T10:00:00-07:00","endTime":"2026-06-09T12:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-09T11:59:00-07:00","screeningEndDate":"2026-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/5PHA7MZP6Q\/dashboard","text":"","labTopics":[],"registrationServiceID":"5PHA7MZP6Q","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-virtualization-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["macOS"],"primaryTopicID":101,"topicIds":[101],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"831FD33B-1F53-46CF-9424-52B2F5499623","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8061":{"id":"wwdc2026-8061","staticContentId":11077,"eventContentId":8061,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:51:08-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/9GU4SU86FG\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Image Processing Q&A on the Apple Developer Forums.","title":"Image Processing Q&A","startTime":"2026-06-12T13:00:00-07:00","endTime":"2026-06-12T15:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-12T14:59:00-07:00","screeningEndDate":"2026-06-12T01:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/9GU4SU86FG\/dashboard","text":"","labTopics":[],"registrationServiceID":"9GU4SU86FG","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-image-processing-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":95,"topicIds":[95],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"ADA6F708-4876-443F-8C16-C5D268F41DCB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8062":{"id":"wwdc2026-8062","staticContentId":11078,"eventContentId":8062,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:50:57-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/7SCM437FJY\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the HTTP Live Streaming Q&A on the Apple Developer Forums.","title":"HTTP Live Streaming Q&A","startTime":"2026-06-09T15:00:00-07:00","endTime":"2026-06-09T17:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-09T16:59:00-07:00","screeningEndDate":"2026-06-09T03:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/7SCM437FJY\/dashboard","text":"","labTopics":[],"registrationServiceID":"7SCM437FJY","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-http-live-streaming-q-and-a-tuesday&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":84,"topicIds":[98,84],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"2E534736-7A6E-4509-A52C-6979B229F11C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8076":{"id":"wwdc2026-8076","staticContentId":11094,"eventContentId":8076,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:52:47-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/5YNVAAQ6WN\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Video Q&A on the Apple Developer Forums.","title":"Video Q&A","startTime":"2026-06-11T15:00:00-07:00","endTime":"2026-06-11T17:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T16:59:00-07:00","screeningEndDate":"2026-06-11T03:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/5YNVAAQ6WN\/dashboard","text":"","labTopics":[],"registrationServiceID":"5YNVAAQ6WN","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-video-q-and-a-thursday&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":84,"topicIds":[84],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"B77BB17C-BFDD-46A2-9DBB-CEC79AE289B3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8083":{"id":"wwdc2026-8083","staticContentId":11104,"eventContentId":8083,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:50:52-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/D7NPH42RZ2\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the HTML, CSS & JavaScript Q&A on the Apple Developer Forums.","title":"HTML, CSS & JavaScript Q&A","startTime":"2026-06-11T15:00:00-07:00","endTime":"2026-06-11T17:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T16:59:00-07:00","screeningEndDate":"2026-06-11T03:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/D7NPH42RZ2\/dashboard","text":"","labTopics":[],"registrationServiceID":"D7NPH42RZ2","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-html-css-and-javascript-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":98,"topicIds":[87,98],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"63653DAC-342B-45D0-A9F3-761796DFA007","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8078":{"id":"wwdc2026-8078","staticContentId":11096,"eventContentId":8078,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:49:54-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/G52623JQS2\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the App Intents & Siri Q&A on the Apple Developer Forums.","title":"App Intents & Siri Q&A","startTime":"2026-06-10T14:00:00-07:00","endTime":"2026-06-10T16:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T15:59:00-07:00","screeningEndDate":"2026-06-10T02:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/G52623JQS2\/dashboard","text":"","labTopics":[],"registrationServiceID":"G52623JQS2","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-app-intents-and-siri-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":94,"topicIds":[94],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"FD60BCB2-653A-4935-9474-131B7260F541","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8073":{"id":"wwdc2026-8073","staticContentId":11090,"eventContentId":8073,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:52:41-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/2GGY6WXFLA\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the UIKit Q&A on the Apple Developer Forums.","title":"UIKit Q&A","startTime":"2026-06-11T09:00:00-07:00","endTime":"2026-06-11T11:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T10:59:00-07:00","screeningEndDate":"2026-06-10T21:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/2GGY6WXFLA\/dashboard","text":"","labTopics":[],"registrationServiceID":"2GGY6WXFLA","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-uikit-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"E45FA21E-1809-488B-8E1E-C07D9DE983EC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8072":{"id":"wwdc2026-8072","staticContentId":11089,"eventContentId":8072,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:49:59-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/VCB34XLQW8\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the AppKit Q&A on the Apple Developer Forums.","title":"AppKit Q&A","startTime":"2026-06-11T09:00:00-07:00","endTime":"2026-06-11T11:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T10:59:00-07:00","screeningEndDate":"2026-06-10T21:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/VCB34XLQW8\/dashboard","text":"","labTopics":[],"registrationServiceID":"VCB34XLQW8","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-appkit-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"0111B3E8-99F4-4787-BCF8-F5A4A8017FEE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8084":{"id":"wwdc2026-8084","staticContentId":11101,"eventContentId":8084,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-29T00:17:01-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/CBSG73TY8F\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the App Clips Q&A on the Apple Developer Forums.","title":"App Clips Q&A","startTime":"2026-06-10T13:00:00-07:00","endTime":"2026-06-10T15:00:00-07:00","signupInformation":{"startDate":"2026-05-29T01:00:00-07:00","endDate":"2026-06-10T14:59:00-07:00","screeningEndDate":"2026-06-10T01:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/CBSG73TY8F\/dashboard","text":"","labTopics":[],"registrationServiceID":"CBSG73TY8F","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-app-clips-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-28T08:00:00-07:00","platforms":["iOS"],"primaryTopicID":83,"topicIds":[101,83],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"F2396F3C-CFBA-41B6-B8BE-2F0297AAFA6B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8036":{"id":"wwdc2026-8036","staticContentId":11007,"eventContentId":8036,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:51:38-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/A6VV4ZPNLX\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Networking Q&A on the Apple Developer Forums.","title":"Networking Q&A","startTime":"2026-06-10T13:00:00-07:00","endTime":"2026-06-10T15:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T14:59:00-07:00","screeningEndDate":"2026-06-10T01:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/A6VV4ZPNLX\/dashboard","text":"","labTopics":[],"registrationServiceID":"A6VV4ZPNLX","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-networking-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":101,"topicIds":[83,101],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"7B09EF45-4635-41C6-989A-BC3AC67C043D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8128":{"id":"wwdc2026-8128","staticContentId":11148,"eventContentId":8128,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:52:36-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/F2NDWC5TKP\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the TipKit Q&A on the Apple Developer Forums.","title":"TipKit Q&A","startTime":"2026-06-11T13:00:00-07:00","endTime":"2026-06-11T15:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T14:59:00-07:00","screeningEndDate":"2026-06-11T01:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/F2NDWC5TKP\/dashboard","text":"","labTopics":[],"registrationServiceID":"F2NDWC5TKP","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-tipkit-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":83,"topicIds":[100,83],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"EFF83BFB-00F8-40BB-A583-382352963DC4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8053":{"id":"wwdc2026-8053","staticContentId":11038,"eventContentId":8053,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:53:07-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/9A33B9Y569\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Wallet Q&A on the Apple Developer Forums.","title":"Wallet Q&A","startTime":"2026-06-11T09:00:00-07:00","endTime":"2026-06-11T11:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T10:59:00-07:00","screeningEndDate":"2026-06-10T21:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/9A33B9Y569\/dashboard","text":"","labTopics":[],"registrationServiceID":"9A33B9Y569","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-wallet-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"primaryTopicID":83,"topicIds":[83],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"203206FE-07E0-4DA5-8E2D-96D189320160","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8041":{"id":"wwdc2026-8041","staticContentId":11013,"eventContentId":8041,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:52:05-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/U836L23LD6\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Power & Performance Q&A on the Apple Developer Forums.","title":"Power & Performance Q&A","startTime":"2026-06-11T10:00:00-07:00","endTime":"2026-06-11T12:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T11:59:00-07:00","screeningEndDate":"2026-06-10T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/U836L23LD6\/dashboard","text":"","labTopics":[],"registrationServiceID":"U836L23LD6","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-power-and-performance-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"21FD3374-83DD-46FA-BB24-C3FDC91A182A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8132":{"id":"wwdc2026-8132","staticContentId":11184,"eventContentId":8132,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-29T00:20:08-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/U29PZ232VU\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Web Extensions Q&A on the Apple Developer Forums.","title":"Web Extensions Q&A","startTime":"2026-06-10T14:00:00-07:00","endTime":"2026-06-10T16:00:00-07:00","signupInformation":{"startDate":"2026-05-29T01:00:00-07:00","endDate":"2026-06-10T15:59:00-07:00","screeningEndDate":"2026-06-10T02:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/U29PZ232VU\/dashboard","text":"","labTopics":[],"registrationServiceID":"U29PZ232VU","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-web-extensions-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-28T08:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"primaryTopicID":98,"topicIds":[99,100,98],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"708D50E7-667C-4BD1-9FEE-F6688CF732D2"},"wwdc2026-8131":{"id":"wwdc2026-8131","staticContentId":11142,"eventContentId":8131,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:49:42-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/5YX53N3QMN\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the AccessorySetupKit Q&A on the Apple Developer Forums.","title":"AccessorySetupKit Q&A","startTime":"2026-06-09T13:00:00-07:00","endTime":"2026-06-09T15:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-09T14:59:00-07:00","screeningEndDate":"2026-06-09T01:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/5YX53N3QMN\/dashboard","text":"","labTopics":[],"registrationServiceID":"5YX53N3QMN","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-accessorysetupkit-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":101,"topicIds":[101],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"08FABEF4-5CB0-4F6B-89D8-D1FBEA492356","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8074":{"id":"wwdc2026-8074","staticContentId":11091,"eventContentId":8074,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:52:31-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/RG584285K8\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the SwiftUI Q&A on the Apple Developer Forums.","title":"SwiftUI Q&A","startTime":"2026-06-11T09:00:00-07:00","endTime":"2026-06-11T11:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T10:59:00-07:00","screeningEndDate":"2026-06-10T21:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/RG584285K8\/dashboard","text":"","labTopics":[],"registrationServiceID":"RG584285K8","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-swiftui-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":100,"topicIds":[100],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"DAEE631D-B838-4E9E-8047-E88D347AF38B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8127":{"id":"wwdc2026-8127","staticContentId":11147,"eventContentId":8127,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-29T00:18:59-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/7RGK5S7DAN\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Health & Fitness Q&A on the Apple Developer Forums.","title":"Health & Fitness Q&A","startTime":"2026-06-11T10:00:00-07:00","endTime":"2026-06-11T12:00:00-07:00","signupInformation":{"startDate":"2026-05-29T01:00:00-07:00","endDate":"2026-06-11T11:59:00-07:00","screeningEndDate":"2026-06-10T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/7RGK5S7DAN\/dashboard","text":"","labTopics":[],"registrationServiceID":"7RGK5S7DAN","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-health-and-fitness-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-28T08:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"primaryTopicID":92,"topicIds":[92],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"17E597B7-999A-4669-A608-7891EED6B44B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8050":{"id":"wwdc2026-8050","staticContentId":11031,"eventContentId":8050,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:50:32-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/KSNZF944V3\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the File Systems Q&A on the Apple Developer Forums.","title":"File Systems Q&A","startTime":"2026-06-10T08:00:00-07:00","endTime":"2026-06-10T10:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T09:59:00-07:00","screeningEndDate":"2026-06-09T20:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/KSNZF944V3\/dashboard","text":"","labTopics":[],"registrationServiceID":"KSNZF944V3","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-file-systems-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"AE245C13-7E35-4E84-9F7B-DF35F0770620","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8063":{"id":"wwdc2026-8063","staticContentId":11079,"eventContentId":8063,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:51:03-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/V96424C39R\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the HTTP Live Streaming Q&A on the Apple Developer Forums.","title":"HTTP Live Streaming Q&A","startTime":"2026-06-12T09:00:00-07:00","endTime":"2026-06-12T11:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-12T10:59:00-07:00","screeningEndDate":"2026-06-11T21:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/V96424C39R\/dashboard","text":"","labTopics":[],"registrationServiceID":"V96424C39R","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-http-live-streaming-q-and-a-friday&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":84,"topicIds":[98,84],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"DC225D0E-7A18-4CC9-B7B1-6650D42B0741","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8065":{"id":"wwdc2026-8065","staticContentId":11081,"eventContentId":8065,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:51:22-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/PH48MZ247K\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Localization Q&A on the Apple Developer Forums.","title":"Localization Q&A","startTime":"2026-06-10T10:00:00-07:00","endTime":"2026-06-10T12:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T11:59:00-07:00","screeningEndDate":"2026-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/PH48MZ247K\/dashboard","text":"","labTopics":[],"registrationServiceID":"PH48MZ247K","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-localization-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":88,"topicIds":[82,88],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"F79458F6-68D6-412C-9CF1-A0A2F7FE64E5","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8066":{"id":"wwdc2026-8066","staticContentId":11018,"eventContentId":8066,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:52:27-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/5B433QQSPZ\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the SwiftData Q&A on the Apple Developer Forums.","title":"SwiftData Q&A","startTime":"2026-06-10T14:00:00-07:00","endTime":"2026-06-10T16:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T15:59:00-07:00","screeningEndDate":"2026-06-10T02:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/5B433QQSPZ\/dashboard","text":"","labTopics":[],"registrationServiceID":"5B433QQSPZ","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-swiftdata-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","keywords":["swiftdata"],"primaryTopicID":83,"topicIds":[99,83],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"73B1F7A9-88B9-48E1-84FA-C97BE97E5E37","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8037":{"id":"wwdc2026-8037","staticContentId":11008,"eventContentId":8037,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:51:32-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/M3RRH29DS5\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Metal Q&A on the Apple Developer Forums.","title":"Metal Q&A","startTime":"2026-06-10T10:00:00-07:00","endTime":"2026-06-10T12:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T11:59:00-07:00","screeningEndDate":"2026-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/M3RRH29DS5\/dashboard","text":"","labTopics":[],"registrationServiceID":"M3RRH29DS5","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-metal-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":91,"topicIds":[91],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"0C29767C-D987-43A0-8653-BFF21A957062","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8038":{"id":"wwdc2026-8038","staticContentId":11009,"eventContentId":8038,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:50:42-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/N933DN74WR\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Game Porting Toolkit Q&A on the Apple Developer Forums.","title":"Game Porting Toolkit Q&A","startTime":"2026-06-11T14:00:00-07:00","endTime":"2026-06-11T16:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T15:59:00-07:00","screeningEndDate":"2026-06-11T02:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/N933DN74WR\/dashboard","text":"","labTopics":[],"registrationServiceID":"N933DN74WR","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-game-porting-toolkit-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":91,"topicIds":[91],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"7275FAEE-7FBD-4374-9981-73172E905AB9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8048":{"id":"wwdc2026-8048","staticContentId":11012,"eventContentId":8048,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:49:35-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/VVDJ3P4YXU\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Accessibility & Inclusion Q&A on the Apple Developer Forums.","title":"Accessibility & Inclusion Q&A","startTime":"2026-06-10T10:00:00-07:00","endTime":"2026-06-10T12:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T11:59:00-07:00","screeningEndDate":"2026-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/VVDJ3P4YXU\/dashboard","text":"","labTopics":[],"registrationServiceID":"VVDJ3P4YXU","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-accessibility-and-inclusion-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":82,"topicIds":[100,82],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"8B951694-11B9-452A-92DF-9BFF4C75352C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8077":{"id":"wwdc2026-8077","staticContentId":11095,"eventContentId":8077,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:52:56-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/4H7X85F5HW\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Video Q&A on the Apple Developer Forums.","title":"Video Q&A","startTime":"2026-06-10T09:00:00-07:00","endTime":"2026-06-10T11:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T10:59:00-07:00","screeningEndDate":"2026-06-09T21:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/4H7X85F5HW\/dashboard","text":"","labTopics":[],"registrationServiceID":"4H7X85F5HW","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-video-q-and-a-wednesday&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":84,"topicIds":[84],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"75011F2E-5AA4-446B-B82E-FB82FF6E832D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8079":{"id":"wwdc2026-8079","staticContentId":11098,"eventContentId":8079,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:50:37-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/XRWG9B6YSG\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Foundation Models Q&A on the Apple Developer Forums.","title":"Foundation Models Q&A","startTime":"2026-06-11T14:00:00-07:00","endTime":"2026-06-11T16:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T15:59:00-07:00","screeningEndDate":"2026-06-11T02:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/XRWG9B6YSG\/dashboard","text":"","labTopics":[],"registrationServiceID":"XRWG9B6YSG","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-foundation-models-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"primaryTopicID":94,"topicIds":[94],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"974269E2-9896-435D-B643-1C75972622B7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8043":{"id":"wwdc2026-8043","staticContentId":11023,"eventContentId":8043,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-22T07:46:49-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/H6QRF53NVW\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Privacy & Security Q&A on the Apple Developer Forums.","title":"Privacy & Security Q&A","startTime":"2026-06-11T15:00:00-07:00","endTime":"2026-06-11T17:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T04:59:00-07:00","screeningEndDate":"2026-06-11T03:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/H6QRF53NVW\/dashboard","text":"","labTopics":[],"registrationServiceID":"H6QRF53NVW","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-privacy-and-security-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["memory vulnerabilities","mie","mte","nutrion label"],"primaryTopicID":96,"topicIds":[88,96],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"DD32206A-F32D-47E9-95D0-20B9A1F9A46C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8047":{"id":"wwdc2026-8047","staticContentId":11026,"eventContentId":8047,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:51:28-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/DC7XP9GJCV\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Maps & Location Q&A on the Apple Developer Forums.","title":"Maps & Location Q&A","startTime":"2026-06-11T14:00:00-07:00","endTime":"2026-06-11T16:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T15:59:00-07:00","screeningEndDate":"2026-06-11T02:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/DC7XP9GJCV\/dashboard","text":"","labTopics":[],"registrationServiceID":"DC7XP9GJCV","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-maps-and-location-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":93,"topicIds":[83,93],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"0DB41B9B-A46C-40FF-9708-0DC30F1AAD8A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8046":{"id":"wwdc2026-8046","staticContentId":11020,"eventContentId":8046,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:52:23-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/L86BP6ZPS3\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the StoreKit, In-App Purchase, and App Store Server API Q&A on the Apple Developer Forums.","title":"StoreKit, In-App Purchase, and App Store Server API Q&A","startTime":"2026-06-11T10:00:00-07:00","endTime":"2026-06-11T12:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T11:59:00-07:00","screeningEndDate":"2026-06-10T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/L86BP6ZPS3\/dashboard","text":"","labTopics":[],"registrationServiceID":"L86BP6ZPS3","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-storekit-in-app-purchase-and-app-store-server-api-q-and-a-thursday&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":86,"topicIds":[83,86],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"A8FB8A27-3E8B-40B9-8498-9B58F40AEB64","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2026-8045"]}},"wwdc2026-8049":{"id":"wwdc2026-8049","staticContentId":11030,"eventContentId":8049,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:51:18-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/93KX388NN8\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the LiveCommunicationKit and Push-To-Talk Q&A on the Apple Developer Forums.","title":"LiveCommunicationKit and Push-To-Talk Q&A","startTime":"2026-06-09T13:00:00-07:00","endTime":"2026-06-09T15:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-09T14:59:00-07:00","screeningEndDate":"2026-06-09T01:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/93KX388NN8\/dashboard","text":"","labTopics":[],"registrationServiceID":"93KX388NN8","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-livecommunicationkit-and-push-to-talk-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS"],"primaryTopicID":83,"topicIds":[83],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"0BDCD545-D1B4-4CC7-B242-48BFBA852BC8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8080":{"id":"wwdc2026-8080","staticContentId":11099,"eventContentId":8080,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:52:00-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/G399NMBB46\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Photos & Camera Q&A on the Apple Developer Forums.","title":"Photos & Camera Q&A","startTime":"2026-06-11T10:00:00-07:00","endTime":"2026-06-11T12:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-11T11:59:00-07:00","screeningEndDate":"2026-06-10T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/G399NMBB46\/dashboard","text":"","labTopics":[],"registrationServiceID":"G399NMBB46","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-photos-and-camera-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":95,"topicIds":[95],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"DC70E922-3168-4D3D-A740-BAAA7C635C15","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8056":{"id":"wwdc2026-8056","staticContentId":11041,"eventContentId":8056,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:49:47-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/QRJUS8BTUD\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the App Attest & DeviceCheck Q&A on the Apple Developer Forums.","title":"App Attest & DeviceCheck Q&A","startTime":"2026-06-10T09:00:00-07:00","endTime":"2026-06-10T11:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-10T10:59:00-07:00","screeningEndDate":"2026-06-09T21:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/QRJUS8BTUD\/dashboard","text":"","labTopics":[],"registrationServiceID":"QRJUS8BTUD","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-app-attest-and-devicecheck-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":96,"topicIds":[83,86,96],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"F9279041-E3A7-46A3-895C-906092FE80EF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8044":{"id":"wwdc2026-8044","staticContentId":11025,"eventContentId":8044,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T12:06:31-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/3NG9HJ7SQA\/dashboard","languageCode":"eng","description":"Discuss Core AI, Apple's new framework for on-device AI model deployment, including Python libraries for converting, authoring, and optimizing models, a Swift API for inference, deep Xcode integration, and ahead-of-time model compilation.","title":"Core AI Q&A","startTime":"2026-06-10T13:00:00-07:00","endTime":"2026-06-10T15:00:00-07:00","signupInformation":{"startDate":"2026-06-08T13:00:00-07:00","endDate":"2026-06-10T14:59:00-07:00","screeningEndDate":"2026-06-10T01:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/3NG9HJ7SQA\/dashboard","text":"","labTopics":[],"registrationServiceID":"3NG9HJ7SQA","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-core-ai-q-and-a&ext=true"}},"originalPublishingDate":"2026-06-08T13:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":94,"topicIds":[94],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"8D6F1A83-4453-4EC7-8767-3C236DE1C622","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8129":{"id":"wwdc2026-8129","staticContentId":11152,"eventContentId":8129,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-29T00:17:21-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/3CX5LCXTA6\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the App Store Connect & TestFlight Q&A on the Apple Developer Forums.","title":"App Store Connect & TestFlight Q&A","startTime":"2026-06-09T09:00:00-07:00","endTime":"2026-06-09T11:00:00-07:00","signupInformation":{"startDate":"2026-05-29T01:00:00-07:00","endDate":"2026-06-09T10:59:00-07:00","screeningEndDate":"2026-06-08T21:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/3CX5LCXTA6\/dashboard","text":"","labTopics":[],"registrationServiceID":"3CX5LCXTA6","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-app-store-connect-and-testflight-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-28T08:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":86,"topicIds":[83,86],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"C4C817E3-E58D-4F2F-BDE0-6F0664A0985E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8069":{"id":"wwdc2026-8069","staticContentId":11086,"eventContentId":8069,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-29T00:16:18-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/26AP4A7A4Q\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the 3D Content Q&A on the Apple Developer Forums.","title":"3D Content Q&A","startTime":"2026-06-11T10:00:00-07:00","endTime":"2026-06-11T12:00:00-07:00","signupInformation":{"startDate":"2026-05-29T01:00:00-07:00","endDate":"2026-06-11T11:59:00-07:00","screeningEndDate":"2026-06-10T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/26AP4A7A4Q\/dashboard","text":"","labTopics":[],"registrationServiceID":"26AP4A7A4Q","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-3d-content-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-28T08:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":85,"topicIds":[91,85],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"A59E4BAD-1B8F-429D-B4DE-4BDF8F6DE2B4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8082":{"id":"wwdc2026-8082","staticContentId":11105,"eventContentId":8082,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-18T07:53:13-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/CUS4XAABT3\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the WebViews Q&A on the Apple Developer Forums.","title":"WebViews Q&A","startTime":"2026-06-09T10:00:00-07:00","endTime":"2026-06-09T12:00:00-07:00","signupInformation":{"startDate":"2026-05-18T09:45:00-07:00","endDate":"2026-06-09T11:59:00-07:00","screeningEndDate":"2026-06-08T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/CUS4XAABT3\/dashboard","text":"","labTopics":[],"registrationServiceID":"CUS4XAABT3","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-webviews-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-17T20:00:00-07:00","primaryTopicID":98,"topicIds":[100,98],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"EA829384-CB59-40F8-A04B-3689AE498818","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8070":{"id":"wwdc2026-8070","staticContentId":11087,"eventContentId":8070,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-29T00:17:46-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/872T2UDRG5\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the ARKit Q&A on the Apple Developer Forums.","title":"ARKit Q&A","startTime":"2026-06-10T10:00:00-07:00","endTime":"2026-06-10T12:00:00-07:00","signupInformation":{"startDate":"2026-05-29T01:00:00-07:00","endDate":"2026-06-10T11:59:00-07:00","screeningEndDate":"2026-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/872T2UDRG5\/dashboard","text":"","labTopics":[],"registrationServiceID":"872T2UDRG5","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-arkit-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-28T08:00:00-07:00","platforms":["iOS","iPadOS","visionOS"],"primaryTopicID":85,"topicIds":[91,85],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"F1A7519A-6956-4D7A-A84A-8A8AD6ACF10A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8071":{"id":"wwdc2026-8071","staticContentId":11088,"eventContentId":8071,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-29T00:18:39-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/MJ9M6RU9A7\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Foveated Streaming & Spatial Tracking Q&A on the Apple Developer Forums.","title":"Foveated Streaming & Spatial Tracking Q&A","startTime":"2026-06-11T10:00:00-07:00","endTime":"2026-06-11T12:00:00-07:00","signupInformation":{"startDate":"2026-05-29T01:00:00-07:00","endDate":"2026-06-11T11:59:00-07:00","screeningEndDate":"2026-06-10T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/MJ9M6RU9A7\/dashboard","text":"","labTopics":[],"registrationServiceID":"MJ9M6RU9A7","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-foveated-streaming-and-spatial-tracking-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-28T08:00:00-07:00","platforms":["iOS","visionOS"],"primaryTopicID":85,"topicIds":[91,85],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"E8EB9C5E-B58D-470B-86BF-A097D553C946","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8068":{"id":"wwdc2026-8068","staticContentId":11085,"eventContentId":8068,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-29T00:19:36-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/BH9N5X88NF\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the RealityKit & Reality Composer Pro Q&A on the Apple Developer Forums.","title":"RealityKit & Reality Composer Pro Q&A","startTime":"2026-06-10T10:00:00-07:00","endTime":"2026-06-10T12:00:00-07:00","signupInformation":{"startDate":"2026-05-29T01:00:00-07:00","endDate":"2026-06-10T11:59:00-07:00","screeningEndDate":"2026-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/BH9N5X88NF\/dashboard","text":"","labTopics":[],"registrationServiceID":"BH9N5X88NF","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-realitykit-and-reality-composer-pro-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-28T08:00:00-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":85,"topicIds":[91,85],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"1EC680DF-9504-466F-8685-F9D9B560AF1C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8124":{"id":"wwdc2026-8124","staticContentId":11145,"eventContentId":8124,"eventId":"wwdc2026","contentUpdatedAt":"2026-05-29T00:19:51-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/3MQPVFWC8R\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the watchOS Q&A on the Apple Developer Forums.","title":"watchOS Q&A","startTime":"2026-06-10T10:00:00-07:00","endTime":"2026-06-10T12:00:00-07:00","signupInformation":{"startDate":"2026-05-29T01:00:00-07:00","endDate":"2026-06-10T11:59:00-07:00","screeningEndDate":"2026-06-09T22:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/3MQPVFWC8R\/dashboard","text":"","labTopics":[],"registrationServiceID":"3MQPVFWC8R","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-watchos-q-and-a&ext=true"}},"originalPublishingDate":"2026-05-28T08:00:00-07:00","platforms":["watchOS"],"primaryTopicID":100,"topicIds":[83,92,100],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"1CDFD38F-4B9F-4B98-ABA0-7BE6F250CC87","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-8133":{"id":"wwdc2026-8133","staticContentId":11217,"eventContentId":8133,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T12:05:55-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/96R27M86VP\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Spatial Web Q&A on the Apple Developer Forums.","title":"Spatial Web Q&A","startTime":"2026-06-10T09:00:00-07:00","endTime":"2026-06-10T11:00:00-07:00","signupInformation":{"startDate":"2026-06-08T13:00:00-07:00","endDate":"2026-06-10T10:59:00-07:00","screeningEndDate":"2026-06-09T21:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/96R27M86VP\/dashboard","text":"","labTopics":[],"registrationServiceID":"96R27M86VP","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-spatial-web-q-and-a&ext=true"}},"originalPublishingDate":"2026-06-08T13:00:00-07:00","publishingExpiryDate":"2036-06-08T01:00:00-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"keywords":["html","immersive website environments","model element"],"primaryTopicID":98,"topicIds":[85,98],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"4DBD1D32-D393-4FAD-90A5-EDA00EE68F8A"},"wwdc2026-8075":{"id":"wwdc2026-8075","staticContentId":11092,"eventContentId":8075,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T12:06:08-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/schedule\/K8X2F2C3YC\/dashboard","languageCode":"eng","description":"Connect with Apple engineers in the Evaluations Q&A on the Apple Developer Forums.","title":"Evaluations Q&A","startTime":"2026-06-11T14:00:00-07:00","endTime":"2026-06-11T16:00:00-07:00","signupInformation":{"startDate":"2026-06-08T13:00:00-07:00","endDate":"2026-06-11T15:59:00-07:00","screeningEndDate":"2026-06-11T02:00:00-07:00","url":"https:\/\/developer.apple.com\/wwdc26\/schedule\/K8X2F2C3YC\/dashboard","text":"","labTopics":[],"registrationServiceID":"K8X2F2C3YC","ruleSet":{"id":"technology"},"openActivityPrompt":{"text":"Join the Discussion","overrideURL":"https:\/\/developer.apple.com\/go\/?id=wwdc26-evaluations-q-and-a&ext=true"}},"originalPublishingDate":"2026-06-08T13:00:00-07:00","primaryTopicID":94,"topicIds":[94],"type":"Office Hours","typeSemanticID":"async-consultation","deliveryLanguage":"eng","roomId":137,"imagesUUID":"0D34BA6D-F08D-4F42-AB7F-39A34C67DEE2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]}},"articles":{"wwdc2026-403":{"id":"wwdc2026-403","staticContentId":11189,"eventContentId":403,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-07T08:37:21-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=w53ezvjk","languageCode":"eng","description":"Catch the reveal of the latest Apple software and technologies.","title":"Stream the WWDC26 Keynote","articleID":"2ffea2cd-4ef1-4e1a-ad6b-429373ac4f43","pageID":"2ffea2cd-4ef1-4e1a-ad6b-429373ac4f43","articlePermalinkKey":"w53ezvjk","pagePermalinkKey":"w53ezvjk","originalPublishingDate":"2026-06-07T12:00:53-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["keynote","keynote 2026","wwdc"],"primaryTopicID":90,"topicIds":[90],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"069A2FAE-A740-4CAF-B0F5-259E96912A6C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-1102":{"id":"wwdc2026-1102","staticContentId":11234,"eventContentId":1102,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-07T08:46:11-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=geyh0ylz","languageCode":"eng","description":"Dive deeper into the newest advancements for your apps and games.","title":"Stream the WWDC26 Platforms State of the Union","articleID":"adfa40cb-979e-4e26-b2cb-212f8fe9908a","pageID":"adfa40cb-979e-4e26-b2cb-212f8fe9908a","articlePermalinkKey":"geyh0ylz","pagePermalinkKey":"geyh0ylz","originalPublishingDate":"2026-06-07T11:59:51-07:00","keywords":["sotu","sotu2026"],"primaryTopicID":90,"topicIds":[90],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"8A71DE0C-8DBC-4B30-958B-45ED3F1DD5FA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111633":{"id":"articles-111633","staticContentId":9185,"eventContentId":111633,"eventId":"articles","contentUpdatedAt":"2024-02-08T10:00:28-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=8b8sp9s5","languageCode":"eng","description":"In this edition: International Women\u2019s Day activities, Fantastical on visionOS, UX writing tips, and more.","title":"Hello Developer: February 2024","articleID":"ac203451-fcaa-4828-9e40-7c2e22dfc2b8","pageID":"ac203451-fcaa-4828-9e40-7c2e22dfc2b8","articlePermalinkKey":"8b8sp9s5","pagePermalinkKey":"8b8sp9s5","originalPublishingDate":"2024-02-08T08:00:34-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"6BD08F15-7E5E-4556-BEEE-A5D8DB68F814","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111614":{"id":"articles-111614","staticContentId":9102,"eventContentId":111614,"eventId":"articles","contentUpdatedAt":"2023-11-09T02:04:33-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=erssmso6","languageCode":"eng","description":"Apple Vision Pro offers PTC an opportunity to bring together components of the engineering and manufacturing process like never before.","title":"PTC is uniting the makers","articleID":"8057fbfa-a959-45b0-9116-51d49985c65d","pageID":"8057fbfa-a959-45b0-9116-51d49985c65d","articlePermalinkKey":"erssmso6","pagePermalinkKey":"erssmso6","originalPublishingDate":"2023-11-09T02:00:53-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"682BC3EB-0B10-4AE0-ADCC-BC533E38DB5E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111629":{"id":"articles-111629","staticContentId":9147,"eventContentId":111629,"eventId":"articles","contentUpdatedAt":"2024-02-09T09:41:57-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=455tez3y","languageCode":"eng","description":"Learn how Halfbrick Studios reimagined Fruit Ninja for the infinite canvas.","title":"\u201cThe full impact of fruit destruction\u201d: How Halfbrick cultivated Super Fruit Ninja on Apple Vision Pro","articleID":"7df44fe6-ffa4-48d1-b070-d5c16669552c","pageID":"7df44fe6-ffa4-48d1-b070-d5c16669552c","articlePermalinkKey":"455tez3y","pagePermalinkKey":"455tez3y","originalPublishingDate":"2024-01-18T08:00:10-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F73D40CD-3F56-4DEB-9176-1E883823F764","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111623":{"id":"articles-111623","staticContentId":9132,"eventContentId":111623,"eventId":"articles","contentUpdatedAt":"2024-04-04T11:26:24-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ti9czxni","languageCode":"eng","description":"Learn how longtime design partners Zach Gage and Jack Schlesinger rebooted the crossword puzzle.","title":"Knotwords: Gage and Schlesinger at the crossroads","articleID":"4914a38a-197b-4a51-aa06-0b35ebe1caed","pageID":"4914a38a-197b-4a51-aa06-0b35ebe1caed","articlePermalinkKey":"ti9czxni","pagePermalinkKey":"ti9czxni","originalPublishingDate":"2024-04-04T11:00:55-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4042D3A2-3454-4597-94E4-E34258C9F006","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110776":{"id":"articles-110776","staticContentId":7482,"eventContentId":110776,"eventId":"articles","contentUpdatedAt":"2022-08-01T09:42:16-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=xkezgxfu","languageCode":"eng","description":"Discover how this app conjures up its 3D soundscapes.","title":"Behind the Design: Odio","articleID":"8e9f8021-2f20-4e54-8012-914cfe54efb0","pageID":"8e9f8021-2f20-4e54-8012-914cfe54efb0","articlePermalinkKey":"xkezgxfu","pagePermalinkKey":"xkezgxfu","originalPublishingDate":"2022-08-01T09:00:40-07:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"899DD130-2C9E-4017-AAD6-52EE3DD85B0F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111059":{"id":"articles-111059","staticContentId":8093,"eventContentId":111059,"eventId":"articles","contentUpdatedAt":"2026-03-16T11:09:37-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=2get4mfw","languageCode":"eng","description":"Some musicians rage against machines. Indian classical singer Sandeep Ranade has found a groundbreaking way to work much more closely with them.","title":"Behind the Design: NaadSadhana","articleID":"5a69a192-d215-49eb-af15-aa52d8dae48f","pageID":"5a69a192-d215-49eb-af15-aa52d8dae48f","articlePermalinkKey":"2get4mfw","pagePermalinkKey":"2get4mfw","originalPublishingDate":"2023-02-17T11:46:22-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":94,"topicIds":[84,94],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"540119F0-8960-4925-BB49-B2E1C27DAA1E"},"articles-112090":{"id":"articles-112090","staticContentId":10924,"eventContentId":112090,"eventId":"articles","contentUpdatedAt":"2026-04-24T14:48:55-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=5t9gew40","languageCode":"eng","description":"The delightful game puffies. combines the satisfying snap of a jigsaw puzzle with the nostalgic delight of a sticker book.","title":"Lykke Studios: In pursuit of puffy perfection","articleID":"f8471691-b96c-43a6-8679-9d3f785be089","pageID":"f8471691-b96c-43a6-8679-9d3f785be089","articlePermalinkKey":"5t9gew40","pagePermalinkKey":"5t9gew40","originalPublishingDate":"2026-04-24T06:00:15-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[87,91],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"57FDF5A5-D541-4C4B-8843-5478E98A74D5","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111067":{"id":"articles-111067","staticContentId":8582,"eventContentId":111067,"eventId":"articles","contentUpdatedAt":"2025-04-24T13:03:47-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=21mnmxow","languageCode":"eng","description":"Get answers from the passkeys team about adoption, account recovery, multiple devices, and more.","title":"Q&A with the passkeys team","articleID":"a1c9688d-d3c9-473a-89e2-9665fd1ba2d7","pageID":"a1c9688d-d3c9-473a-89e2-9665fd1ba2d7","articlePermalinkKey":"21mnmxow","pagePermalinkKey":"21mnmxow","originalPublishingDate":"2023-05-15T07:02:00-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"00EF7DA7-A285-445C-BDE6-BE8A634F5C2E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111086":{"id":"articles-111086","staticContentId":8917,"eventContentId":111086,"eventId":"articles","contentUpdatedAt":"2023-06-05T12:29:03-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=57gsb3bt","languageCode":"eng","description":"","title":"WWDC23 Overview","articleID":"2a6f1ff0-d3ca-41a5-9008-edacba8136ce","pageID":"2a6f1ff0-d3ca-41a5-9008-edacba8136ce","articlePermalinkKey":"57gsb3bt","pagePermalinkKey":"57gsb3bt","originalPublishingDate":"2023-06-05T12:00:27-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7BD881A0-5F1D-486E-9BD0-42096484765E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10200":{"id":"articles-10200","staticContentId":3550,"eventContentId":10200,"eventId":"articles","contentUpdatedAt":"2025-08-28T10:04:42-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=nxnjx66e","languageCode":"eng","description":"Learn design best practices through interviews and artifacts and uncover what it takes to design an award winning app.","title":"Behind the Design: Darkroom","articleID":"af1b576d-10c5-491c-8415-8b5bdd075d7f","pageID":"af1b576d-10c5-491c-8415-8b5bdd075d7f","articlePermalinkKey":"nxnjx66e","pagePermalinkKey":"nxnjx66e","originalPublishingDate":"2020-08-14T08:40:20-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["ada","adas","apple design awards","apple design awards 2020"],"primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"824C66F0-E9C5-47A4-884C-51B89720F2E8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112104":{"id":"articles-112104","staticContentId":11015,"eventContentId":112104,"eventId":"articles","contentUpdatedAt":"2026-05-12T10:24:47-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9lhp8vcj","languageCode":"eng","description":"Meet some of the inspiring people who are making a difference in the Apple developer community through technical contributions, thoughtful mentorship, and a commitment to helping others succeed.","title":"To those who build community","articleID":"cf97b71d-7ed7-4234-b708-78a685b120f0","pageID":"cf97b71d-7ed7-4234-b708-78a685b120f0","articlePermalinkKey":"9lhp8vcj","pagePermalinkKey":"9lhp8vcj","originalPublishingDate":"2026-05-04T17:31:09-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"66909AA0-89B7-4DF6-AA09-78A600091207","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111625":{"id":"articles-111625","staticContentId":9138,"eventContentId":111625,"eventId":"articles","contentUpdatedAt":"2024-01-11T09:06:12-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=prl6dp5r","languageCode":"eng","description":"","title":"Q&A: Building apps for visionOS","articleID":"63e59197-e592-42b8-aa69-278a97fda506","pageID":"63e59197-e592-42b8-aa69-278a97fda506","articlePermalinkKey":"prl6dp5r","pagePermalinkKey":"prl6dp5r","originalPublishingDate":"2024-01-11T08:00:27-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9D52BAC5-4C06-410E-ADF9-5293631586C6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111644":{"id":"articles-111644","staticContentId":9535,"eventContentId":111644,"eventId":"articles","contentUpdatedAt":"2024-05-09T09:21:51-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=1gm9hdcx","languageCode":"eng","description":"In this edition: Meet Pathways, Swift Student Challenge winners, and the rising developer of Tide\u00a0Guide.","title":"Hello Developer: May\u00a02024","articleID":"36896c9e-5247-43e9-a9ca-62036d72a598","pageID":"36896c9e-5247-43e9-a9ca-62036d72a598","articlePermalinkKey":"1gm9hdcx","pagePermalinkKey":"1gm9hdcx","originalPublishingDate":"2024-05-09T08:01:13-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B74375D4-C95E-43D9-9742-9FDD7686D8E4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112141":{"id":"articles-112141","staticContentId":11286,"eventContentId":112141,"eventId":"articles","contentUpdatedAt":"2026-10-05T09:04:49-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=to37r18t","languageCode":"eng","description":"When Apple introduced the new design and Liquid\u00a0Glass, Zoho moved fast. They had to.","title":"\u201cAdopt early, but adopt responsibly\u201d: How Zoho brought the new design to over 100 apps","articleID":"12362ea2-927f-4ced-82d8-d3a7fece5e08","pageID":"12362ea2-927f-4ced-82d8-d3a7fece5e08","articlePermalinkKey":"to37r18t","pagePermalinkKey":"to37r18t","originalPublishingDate":"2026-10-05T09:05:01-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["design","developer stories","india","liquid glass","zoho"],"primaryTopicID":87,"topicIds":[89,99,100,87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1E2A1955-9AA0-4CD7-B103-331E797DE384","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"articles-110162":{"id":"articles-110162","staticContentId":6356,"eventContentId":110162,"eventId":"articles","contentUpdatedAt":"2021-11-15T07:31:28-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4dfpkx6o","languageCode":"eng","description":"It\u2019s time once again for the Tech Talks Digest. We\u2019ve got new sessions and office hours for you to explore, recaps for the events you missed, and a few tips on making the most out of your office hours appointment.","title":"Tech Talks Digest: November 15","articleID":"fb4f06e8-068b-48ac-a2d0-c1e84b939c9a","pageID":"fb4f06e8-068b-48ac-a2d0-c1e84b939c9a","articlePermalinkKey":"4dfpkx6o","pagePermalinkKey":"4dfpkx6o","originalPublishingDate":"2021-11-15T00:00:55-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0E3740B5-850F-4C6B-80B4-467210F930AB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110163":{"id":"articles-110163","staticContentId":6357,"eventContentId":110163,"eventId":"articles","contentUpdatedAt":"2021-11-29T08:34:49-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=64t1doqz","languageCode":"eng","description":"It\u2019s time for our fourth and final Tech Talks digest, and we\u2019ve got one last round of sessions and office hours for you to peruse and enjoy.","title":"Tech Talks Digest: November 29","articleID":"d8331633-599e-46ea-a5e7-8127498d3e54","pageID":"d8331633-599e-46ea-a5e7-8127498d3e54","articlePermalinkKey":"64t1doqz","pagePermalinkKey":"64t1doqz","originalPublishingDate":"2021-11-29T08:30:03-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5C9C12E5-D3A2-4F59-8C4C-A24F119E0C38","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110171":{"id":"articles-110171","staticContentId":6419,"eventContentId":110171,"eventId":"articles","contentUpdatedAt":"2022-01-19T07:31:11-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=c63z27o8","languageCode":"eng","description":"Discover how you can add support for in-app events, develop for Apple Watch, learn about Metal for A15, and more. ","title":"Explore the latest videos","articleID":"a240071d-4d74-437f-b409-706eb144f66c","pageID":"a240071d-4d74-437f-b409-706eb144f66c","articlePermalinkKey":"c63z27o8","pagePermalinkKey":"c63z27o8","originalPublishingDate":"2022-01-19T07:00:24-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A083993F-3E2E-4D78-989E-30D387956D6D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112106":{"id":"articles-112106","staticContentId":11037,"eventContentId":112106,"eventId":"articles","contentUpdatedAt":"2026-05-12T10:40:21-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=qtzr82f0","languageCode":"eng","description":"In this edition: Meet inspiring developers, advocates, and educators, check out a video about Accessibility Nutrition Labels, and meet the team behind the stylish open-world adventure Infinity Nikki.","title":"Hello Developer: May 2026","articleID":"f344113f-ff7a-4f07-bc53-3d298f6ff931","pageID":"f344113f-ff7a-4f07-bc53-3d298f6ff931","articlePermalinkKey":"qtzr82f0","pagePermalinkKey":"qtzr82f0","originalPublishingDate":"2026-05-12T09:00:16-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":90,"topicIds":[82,86,88,91,90],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"ABC3468E-9617-4D9F-B1E3-E4F077A779E6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110936":{"id":"articles-110936","staticContentId":7633,"eventContentId":110936,"eventId":"articles","contentUpdatedAt":"2022-11-03T11:21:37-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=fkelkwzq","languageCode":"eng","description":"How Inkle built an upside-down whodunit in just 100 days.","title":"Behind the Design: Overboard!","articleID":"fbb7522e-2f72-4883-a1c8-d0677ed40c0a","pageID":"fbb7522e-2f72-4883-a1c8-d0677ed40c0a","articlePermalinkKey":"fkelkwzq","pagePermalinkKey":"fkelkwzq","originalPublishingDate":"2022-09-12T07:00:57-07:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"6184736F-4EAB-4D75-BE29-BFBD29729903","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110775":{"id":"articles-110775","staticContentId":7475,"eventContentId":110775,"eventId":"articles","contentUpdatedAt":"2024-02-09T09:42:47-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=din5adp5","languageCode":"eng","description":"Discover how Studio Drydock created this charming Apple Design Award-winning game.","title":"Behind the Design: Wylde Flowers","articleID":"08895610-3ab6-41f8-8a7b-52dbe1b97ebb","pageID":"08895610-3ab6-41f8-8a7b-52dbe1b97ebb","articlePermalinkKey":"din5adp5","pagePermalinkKey":"din5adp5","originalPublishingDate":"2022-07-25T09:00:48-07:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2D2B3066-3846-4089-9BA2-181AF6D09338","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10002":{"id":"articles-10002","staticContentId":3468,"eventContentId":10002,"eventId":"articles","contentUpdatedAt":"2025-06-24T15:50:55-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3xpv8r2m","languageCode":"eng","description":"Apple devices have multiple encryption features to safeguard the system and people\u2019s data. Some capabilities are enabled by default, and developers only need to be aware of them in rare cases. Other features, such as Data Protection, can benefit from explicit design decisions to select the best option for protecting people\u2019s data.","title":"Protecting data at multiple layers","articleID":"4ad517c3-c44a-4742-a0d6-fd2b1ea87a19","pageID":"4ad517c3-c44a-4742-a0d6-fd2b1ea87a19","articlePermalinkKey":"3xpv8r2m","pagePermalinkKey":"3xpv8r2m","originalPublishingDate":"2020-06-22T12:00:37-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS"],"topicIds":[96,101],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"6023A522-8D24-49EB-949F-315096992C99","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2016-719"],"resources":[1347,1345,1344,481]}},"articles-111626":{"id":"articles-111626","staticContentId":9141,"eventContentId":111626,"eventId":"articles","contentUpdatedAt":"2024-01-11T09:04:11-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=8fppguuh","languageCode":"eng","description":"The first edition of 2024 is all about Apple Vision Pro.","title":"Hello Developer: January 2024","articleID":"8ac7ef73-862d-40d6-a140-4385d1aca2b9","pageID":"8ac7ef73-862d-40d6-a140-4385d1aca2b9","articlePermalinkKey":"8fppguuh","pagePermalinkKey":"8fppguuh","originalPublishingDate":"2024-01-11T08:00:29-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BE42FE0B-80F0-40F9-AFAD-F728566768B4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111621":{"id":"articles-111621","staticContentId":9120,"eventContentId":111621,"eventId":"articles","contentUpdatedAt":"2023-12-07T09:21:12-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=20mviasl","languageCode":"eng","description":"Discover how the title blends the new and the (very) old.","title":"With Ancient Board Game Collection, Klemens Strasser goes back in time","articleID":"d63affa3-2e6d-44b8-b039-cd4f068af205","pageID":"d63affa3-2e6d-44b8-b039-cd4f068af205","articlePermalinkKey":"20mviasl","pagePermalinkKey":"20mviasl","originalPublishingDate":"2023-12-07T09:00:03-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0F1E33D0-5745-498C-8365-4F5C8A76065C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-100080":{"id":"articles-100080","staticContentId":5214,"eventContentId":100080,"eventId":"articles","contentUpdatedAt":"2026-04-13T11:18:43-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ffcgpl5d","languageCode":"eng","description":"Making sense of the news is more challenging than ever these days. *Curio* can help.","title":"Developer Spotlight: Tempo for Runners","articleID":"9abb9d73-cf4a-4938-92e6-3b858d4f8ef8","pageID":"9abb9d73-cf4a-4938-92e6-3b858d4f8ef8","articlePermalinkKey":"ffcgpl5d","pagePermalinkKey":"ffcgpl5d","originalPublishingDate":"2021-04-09T05:00:00-07:00","publishingExpiryDate":"2031-04-09T05:00:00-07:00","primaryTopicID":86,"topicIds":[86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A609BF70-FD06-470F-AA88-5E4B8A92EABD","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111984":{"id":"articles-111984","staticContentId":9958,"eventContentId":111984,"eventId":"articles","contentUpdatedAt":"2025-03-04T09:33:14-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=cmmcvnec","languageCode":"eng","description":"In this edition: An incredible AAA game comes to Mac. Plus, the latest on International Women\u2019s Day activities, WeChat, and more.","title":"Hello Developer: March 2025","articleID":"4b57cb95-4d2d-497e-a90b-2c3655c497dd","pageID":"4b57cb95-4d2d-497e-a90b-2c3655c497dd","articlePermalinkKey":"cmmcvnec","pagePermalinkKey":"cmmcvnec","originalPublishingDate":"2025-03-04T08:00:52-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9024D138-A969-4498-9D43-E4F56364A344","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110189":{"id":"articles-110189","staticContentId":6498,"eventContentId":110189,"eventId":"articles","contentUpdatedAt":"2024-11-22T13:32:54-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ccfi12bg","languageCode":"eng","description":"You\u2019ve made a great app and published it on the App Store. Now, it\u2019s time to help people find out about it. We\u2019ll review how you can use the App Store\u2019s existing tools, promotional offers, and more to drive downloads, in-app purchases, and subscriptions for your app. ","title":"Promote your apps","articleID":"0b3fc08e-d4ed-4cf1-be05-16de375872e0","pageID":"0b3fc08e-d4ed-4cf1-be05-16de375872e0","articlePermalinkKey":"ccfi12bg","pagePermalinkKey":"ccfi12bg","originalPublishingDate":"2022-03-30T07:00:19-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"912134A9-F508-433B-B897-E785C5FD8B8E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111647":{"id":"articles-111647","staticContentId":9726,"eventContentId":111647,"eventId":"articles","contentUpdatedAt":"2024-06-10T07:43:09-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=001uc63q","languageCode":"eng","description":"Tune in at 1 p.m. PT on June 10 to dive deep into the newest advancements on Apple platforms. ","title":"Watch the WWDC24 Platforms State of the Union","articleID":"06c970cf-104c-47fa-897e-72e1fb382560","pageID":"06c970cf-104c-47fa-897e-72e1fb382560","articlePermalinkKey":"001uc63q","pagePermalinkKey":"001uc63q","originalPublishingDate":"2024-06-06T06:58:11-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"09536203-86C2-47AF-AD9E-4E12E3F398BA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10238":{"id":"articles-10238","staticContentId":3791,"eventContentId":10238,"eventId":"articles","contentUpdatedAt":"2026-01-22T13:24:09-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=g9ejcf8y","languageCode":"eng","description":"When you establish a secure network connection using the Transport Layer Security (TLS) protocol, the server provides a certificate or certificate chain to establish its identity. On Apple platforms, certificates are evaluated to ensure they are valid and have been issued by a trustworthy certification authority (CA). You can further limit the set of trusted CA certificates or even server certificates by pinning their public-key identities in your app.","title":"Identity Pinning: How to configure server certificates for your app","articleID":"7f502eab-d346-4f52-8e85-46b1e62fa289","pageID":"7f502eab-d346-4f52-8e85-46b1e62fa289","articlePermalinkKey":"g9ejcf8y","pagePermalinkKey":"g9ejcf8y","originalPublishingDate":"2021-01-14T16:29:00-08:00","publishingExpiryDate":"2031-01-19T10:22:31-08:00","platforms":["iOS","iPadOS"],"topicIds":[96,98],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4CCAEC23-1808-401E-90F2-EFAD93AF0BE5","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111066":{"id":"articles-111066","staticContentId":8579,"eventContentId":111066,"eventId":"articles","contentUpdatedAt":"2025-04-24T13:03:47-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=mgdnfp8w","languageCode":"eng","description":"Find out how Instacart, Robinhood, and Kayak are helping unlock a password-free future.","title":"Spotlight on: Passkeys","articleID":"c63e5c12-0633-4b3a-abef-7debb042d9e2","pageID":"c63e5c12-0633-4b3a-abef-7debb042d9e2","articlePermalinkKey":"mgdnfp8w","pagePermalinkKey":"mgdnfp8w","originalPublishingDate":"2023-05-15T07:00:23-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BA01D2E0-14E5-4FA9-86AD-3CBCC24F403F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111612":{"id":"articles-111612","staticContentId":9100,"eventContentId":111612,"eventId":"articles","contentUpdatedAt":"2024-02-08T15:50:18-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=mjvi0bc2","languageCode":"eng","description":"The company is leaning on the new platform to create avenues of creativity and collaboration never before possible.","title":"JigSpace is in the driver\u2019s seat","articleID":"c41128f0-414c-400f-bc7f-a3c01352a250","pageID":"c41128f0-414c-400f-bc7f-a3c01352a250","articlePermalinkKey":"mjvi0bc2","pagePermalinkKey":"mjvi0bc2","originalPublishingDate":"2023-11-09T02:00:13-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"418BF39D-B3C0-4264-9683-DE2ACE1E7AA8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112088":{"id":"articles-112088","staticContentId":10923,"eventContentId":112088,"eventId":"articles","contentUpdatedAt":"2026-06-23T10:51:12-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=dbunm29q","languageCode":"eng","description":"This charming spin on tower defense games summons a floating storybook island into the player\u2019s physical space on Apple Vision Pro.","title":"The gelatinous grandeur of Gears & Goo","articleID":"97232f6a-29e9-4f0e-93f2-03a9253fc7e8","pageID":"97232f6a-29e9-4f0e-93f2-03a9253fc7e8","articlePermalinkKey":"dbunm29q","pagePermalinkKey":"dbunm29q","originalPublishingDate":"2026-05-16T10:05:00-07:00","platforms":["visionOS"],"keywords":["apple design awards","apple vision pro","games","graphics &amp; games","visionos"],"primaryTopicID":85,"topicIds":[87,91,85],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"149A2717-E0EC-4BF7-A7C0-F3E2B907765A","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"articles-111982":{"id":"articles-111982","staticContentId":9875,"eventContentId":111982,"eventId":"articles","contentUpdatedAt":"2025-02-04T09:09:22-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=oo637fda","languageCode":"eng","description":"In this edition: The latest on developer activities, the Swift Student Challenge, the team behind Bears Gratitude, and more.","title":"Hello Developer: February 2025","articleID":"ad887484-0265-4235-856c-f28a3eb421f8","pageID":"ad887484-0265-4235-856c-f28a3eb421f8","articlePermalinkKey":"oo637fda","pagePermalinkKey":"oo637fda","originalPublishingDate":"2025-02-04T08:01:10-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A7A94043-493E-45D1-80A0-6C6F39503EF8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111627":{"id":"articles-111627","staticContentId":9142,"eventContentId":111627,"eventId":"articles","contentUpdatedAt":"2024-02-08T14:58:57-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=q0cq9dv9","languageCode":"eng","description":"The team behind djay reveals why Apple Vision Pro represents \u201cthe culmination of everything\u201d for their app.","title":"Realizing their vision: How djay designed for visionOS","articleID":"1c18d715-8797-4fc4-baf6-58fbe984eed9","pageID":"1c18d715-8797-4fc4-baf6-58fbe984eed9","articlePermalinkKey":"q0cq9dv9","pagePermalinkKey":"q0cq9dv9","originalPublishingDate":"2024-01-11T08:00:42-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"CBE2A248-D63F-4C83-A6EC-C22989D4D7FB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111974":{"id":"articles-111974","staticContentId":9820,"eventContentId":111974,"eventId":"articles","contentUpdatedAt":"2024-10-11T09:57:03-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=jimo1g6z","languageCode":"eng","description":"Meet the team behind this Apple Design Award-winning game.","title":"Masters of puppets: How ROUND8 Studio carved out a niche for Lies of P","articleID":"66e44941-5d97-48c6-ab86-dacc8ad9bf26","pageID":"66e44941-5d97-48c6-ab86-dacc8ad9bf26","articlePermalinkKey":"jimo1g6z","pagePermalinkKey":"jimo1g6z","originalPublishingDate":"2024-10-10T08:00:50-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BBC5672E-57AF-4936-BB39-51DC456F466A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110123":{"id":"articles-110123","staticContentId":5893,"eventContentId":110123,"eventId":"articles","contentUpdatedAt":"2026-07-23T09:13:14-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=vvruahyb","languageCode":"eng","description":"","title":"Developer Spotlight: Noted","articleID":"2d8bfe52-0b4d-494f-8753-b91cd5584180","pageID":"2d8bfe52-0b4d-494f-8753-b91cd5584180","articlePermalinkKey":"vvruahyb","pagePermalinkKey":"vvruahyb","originalPublishingDate":"2021-07-23T08:00:58-07:00","primaryTopicID":86,"topicIds":[86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E8F7FEB2-860E-4CB6-903D-3E59942AB5E8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112030":{"id":"articles-112030","staticContentId":10568,"eventContentId":112030,"eventId":"articles","contentUpdatedAt":"2025-06-12T08:48:50-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=8kawba5a","languageCode":"eng","description":"Day 4 is all about Apple Intelligence. Join us in today\u2019s group labs to find out more about making machine learning and Apple\u00a0Intelligence work for your app. And dive into video sessions to learn all about the latest tools and technologies.","title":"Today @ WWDC25: Day 4","articleID":"f507952d-f24a-4876-ba43-ad02c631331c","pageID":"f507952d-f24a-4876-ba43-ad02c631331c","articlePermalinkKey":"8kawba5a","pagePermalinkKey":"8kawba5a","originalPublishingDate":"2025-06-12T08:00:56-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"48B8AA18-2C9C-416C-8C5B-B4F16D9BEA54","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111635":{"id":"articles-111635","staticContentId":9217,"eventContentId":111635,"eventId":"articles","contentUpdatedAt":"2024-08-20T13:50:47-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=s8eigiyj","languageCode":"eng","description":"Get tips on Mac app distribution and account security.","title":"Q&A with the Mac notary service team","articleID":"6001db97-d370-4db3-bea4-06dce67c7a47","pageID":"6001db97-d370-4db3-bea4-06dce67c7a47","articlePermalinkKey":"s8eigiyj","pagePermalinkKey":"s8eigiyj","originalPublishingDate":"2024-03-07T08:00:43-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"EBAA48B9-1DF2-4229-AE92-48C97899775C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111083":{"id":"articles-111083","staticContentId":8912,"eventContentId":111083,"eventId":"articles","contentUpdatedAt":"2023-11-07T17:31:38-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=mc4d1ufa","languageCode":"eng","description":"Find out how Lykke Studios sewed up its embroidery-themed puzzle game.","title":"Behind the Design: stitch.","articleID":"f3f1570f-bbda-4783-8afc-533d29a6c545","pageID":"f3f1570f-bbda-4783-8afc-533d29a6c545","articlePermalinkKey":"mc4d1ufa","pagePermalinkKey":"mc4d1ufa","originalPublishingDate":"2023-06-05T18:00:18-07:00","topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"22603279-2FDD-40AE-BFF8-B164079900E2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111081":{"id":"articles-111081","staticContentId":8910,"eventContentId":111081,"eventId":"articles","contentUpdatedAt":"2023-08-31T14:15:53-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=sosm2p7q","languageCode":"eng","description":"Find out how the SNAP team rebooted the entire collectible-card game universe.","title":"Behind the Design: MARVEL SNAP","articleID":"fab293cf-e97c-4abc-b1e4-ea0a2da058fa","pageID":"fab293cf-e97c-4abc-b1e4-ea0a2da058fa","articlePermalinkKey":"sosm2p7q","pagePermalinkKey":"sosm2p7q","originalPublishingDate":"2023-06-05T18:00:46-07:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"92264381-BA5B-444A-8121-058F79833ADE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111592":{"id":"articles-111592","staticContentId":9007,"eventContentId":111592,"eventId":"articles","contentUpdatedAt":"2023-06-21T13:27:31-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=765ce4l3","languageCode":"eng","description":"Learn how developers are using Xcode, Reality Composer Pro, and the visionOS simulator to start building apps for Apple Vision Pro.","title":"Spotlight on: Developer tools for visionOS","articleID":"19e9f4c8-847d-4c82-8e26-176a29c0f4ea","pageID":"19e9f4c8-847d-4c82-8e26-176a29c0f4ea","articlePermalinkKey":"765ce4l3","pagePermalinkKey":"765ce4l3","originalPublishingDate":"2023-06-21T13:00:07-07:00","primaryTopicID":85,"topicIds":[85],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4F855A35-8965-455C-88F4-5FBE99E4AAEE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111605":{"id":"articles-111605","staticContentId":9083,"eventContentId":111605,"eventId":"articles","contentUpdatedAt":"2023-10-03T13:12:33-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=l1ama3mw","languageCode":"eng","description":"Find out how the team behind Plex serves its global community.","title":"\u201cSmall but mighty\u201d: How Plex serves its global community","articleID":"824542af-bfd2-455d-a3e5-121a876ec723","pageID":"824542af-bfd2-455d-a3e5-121a876ec723","articlePermalinkKey":"l1ama3mw","pagePermalinkKey":"l1ama3mw","originalPublishingDate":"2023-10-03T13:00:46-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"34289BD8-8219-4192-AA04-D9E64E8C2AC4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111594":{"id":"articles-111594","staticContentId":9028,"eventContentId":111594,"eventId":"articles","contentUpdatedAt":"2023-10-03T13:12:54-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=goqmr9xs","languageCode":"eng","description":"Discover the wild inspirations behind Steffan Glynn\u2019s perfectly perplexing puzzler.","title":"The gorgeous gadgets of Automatoys","articleID":"0572c684-ae36-4065-8dda-41f987c1a547","pageID":"0572c684-ae36-4065-8dda-41f987c1a547","articlePermalinkKey":"goqmr9xs","pagePermalinkKey":"goqmr9xs","originalPublishingDate":"2023-10-03T13:00:35-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4F41936A-AF1E-4CF4-9E96-360571ADD7B7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112006":{"id":"articles-112006","staticContentId":10497,"eventContentId":112006,"eventId":"articles","contentUpdatedAt":"2025-06-10T08:40:09-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=wobdp2bq","languageCode":"eng","description":"Welcome to Day 2 at WWDC25! Watch the Platforms State of the Union recap, then dive into all the updates to Swift, SwiftUI, and Xcode through group labs and video sessions.","title":"Today @ WWDC25: Day 2","articleID":"1164dce9-2cde-44e9-9c3d-67760df48b3b","pageID":"1164dce9-2cde-44e9-9c3d-67760df48b3b","articlePermalinkKey":"wobdp2bq","pagePermalinkKey":"wobdp2bq","originalPublishingDate":"2025-06-10T01:00:45-07:00","publishingExpiryDate":"2030-06-14T00:00:00-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"11AC2F33-7977-4A6D-A7C6-C5C8B901A8B6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111642":{"id":"articles-111642","staticContentId":9463,"eventContentId":111642,"eventId":"articles","contentUpdatedAt":"2026-06-02T08:54:07-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4r9b23wx","languageCode":"eng","description":"Lots of apps have great origin stories, but the tale of Tucker MacDonald and Tide Guide seems tailor-made for the Hollywood treatment.","title":"\u2018I taught myself\u2019: Tucker MacDonald and the rise of Tide Guide","articleID":"f7d3a049-9ff7-47fc-abf5-4656ec3dd8a3","pageID":"f7d3a049-9ff7-47fc-abf5-4656ec3dd8a3","articlePermalinkKey":"4r9b23wx","pagePermalinkKey":"4r9b23wx","originalPublishingDate":"2024-05-09T08:00:41-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["ada","apple design awards","design","visuals and graphics"],"primaryTopicID":87,"topicIds":[93,100,87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"ED605B65-E769-43ED-8A3C-5FBD0987173E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111075":{"id":"articles-111075","staticContentId":8904,"eventContentId":111075,"eventId":"articles","contentUpdatedAt":"2023-11-07T16:39:20-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3exkgv43","languageCode":"eng","description":"Find out how Evan Kice created the throwback pixelated adventure game Afterplace.","title":"Behind the Design: Afterplace","articleID":"ae6a514c-8af8-4d3e-b32a-e56a2d475d7f","pageID":"ae6a514c-8af8-4d3e-b32a-e56a2d475d7f","articlePermalinkKey":"3exkgv43","pagePermalinkKey":"3exkgv43","originalPublishingDate":"2023-06-05T18:00:42-07:00","topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F349C4C6-B274-4857-ACDE-B315EB32DE7F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111604":{"id":"articles-111604","staticContentId":9069,"eventContentId":111604,"eventId":"articles","contentUpdatedAt":"2023-12-07T09:20:28-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=vpxs1abn","languageCode":"eng","description":"In this edition: New videos on Game Center and the journaling API, a Q&A with the spatial design team, a look at Ancient Board Game Collection, and more.","title":"Hello Developer: December 2023","articleID":"da8642f0-d253-4bdf-b6a1-16fd59aaa3ff","pageID":"da8642f0-d253-4bdf-b6a1-16fd59aaa3ff","articlePermalinkKey":"vpxs1abn","pagePermalinkKey":"vpxs1abn","originalPublishingDate":"2023-12-07T09:10:39-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E0AE2031-1BFC-4FF0-9CDD-F8D82C8BE54E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110126":{"id":"articles-110126","staticContentId":5906,"eventContentId":110126,"eventId":"articles","contentUpdatedAt":"2025-08-28T10:04:42-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=kf623ldf","languageCode":"eng","description":"Generally speaking, weather apps don\u2019t threaten your life. They don\u2019t insult your life choices. And they rarely, if ever, try to conquer the world. Carrot Weather does all three.","title":"Behind the Design: Carrot Weather","articleID":"13147c0d-528a-4675-8cda-a5a496e03eff","pageID":"13147c0d-528a-4675-8cda-a5a496e03eff","articlePermalinkKey":"kf623ldf","pagePermalinkKey":"kf623ldf","originalPublishingDate":"2021-07-30T08:00:00-07:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C51B0309-967B-4200-862A-48E30E8B21A7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111964":{"id":"articles-111964","staticContentId":9781,"eventContentId":111964,"eventId":"articles","contentUpdatedAt":"2024-09-03T14:39:02-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3m0ht22s","languageCode":"eng","description":"Find out why the team behind this Apple Design Award-winning lifestyle app believes success is about more than stats.","title":"Behind the Design: How Gentler Streak approaches fitness with \u201chumanity\u201c","articleID":"e73ccd26-9606-4dc6-9eb8-2ea27aaf9a97","pageID":"e73ccd26-9606-4dc6-9eb8-2ea27aaf9a97","articlePermalinkKey":"3m0ht22s","pagePermalinkKey":"3m0ht22s","originalPublishingDate":"2024-07-11T07:59:27-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"01DA2AAB-F5D4-4407-8353-07627E5E78C4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10726":{"id":"articles-10726","staticContentId":4152,"eventContentId":10726,"eventId":"articles","contentUpdatedAt":"2022-06-01T12:03:20-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=2o2p68bq","languageCode":"eng","description":"When you file bug reports through Apple\u2019s Feedback Assistant, you\u2019re helping flag issues, improve our platforms, and make the experience better for developers and customers alike. ","title":"Enhance bug reports with debug profiles and logging","articleID":"42860945-ca21-4ee0-a174-4034737e8a19","pageID":"42860945-ca21-4ee0-a174-4034737e8a19","articlePermalinkKey":"2o2p68bq","pagePermalinkKey":"2o2p68bq","originalPublishingDate":"2022-06-02T09:00:29-07:00","primaryTopicID":88,"topicIds":[88],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4A15A1FF-C0CE-4C16-BD8F-4A7BFB882B84","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111628":{"id":"articles-111628","staticContentId":9144,"eventContentId":111628,"eventId":"articles","contentUpdatedAt":"2024-02-08T15:07:47-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=gvesi4wr","languageCode":"eng","description":"The incredible puzzler comes to the infinite canvas.","title":"Blackbox: Rebooting an inventive puzzle game for visionOS","articleID":"304e5193-32eb-4eb8-ba91-e84d746175b9","pageID":"304e5193-32eb-4eb8-ba91-e84d746175b9","articlePermalinkKey":"gvesi4wr","pagePermalinkKey":"gvesi4wr","originalPublishingDate":"2024-01-30T09:00:51-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BB42C576-0C65-4FC3-9796-07630897E123","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111967":{"id":"articles-111967","staticContentId":9792,"eventContentId":111967,"eventId":"articles","contentUpdatedAt":"2024-08-06T09:23:35-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=2keszuqr","languageCode":"eng","description":"In this edition: Bring your app to new markets, go behind the design with Lost in Play, and more.","title":"Hello Developer: August 2024","articleID":"51d91b03-ea20-48ec-a744-efb766a6e3ee","pageID":"51d91b03-ea20-48ec-a744-efb766a6e3ee","articlePermalinkKey":"2keszuqr","pagePermalinkKey":"2keszuqr","originalPublishingDate":"2024-08-06T08:01:16-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4F07856A-EF59-4654-BC94-49777D064582","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111606":{"id":"articles-111606","staticContentId":9088,"eventContentId":111606,"eventId":"articles","contentUpdatedAt":"2023-10-27T10:08:44-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=iusc5sb1","languageCode":"eng","description":"Watch the special Apple Event","title":"Scary fast.","articleID":"4d2a64dc-6960-487d-b4a2-b31673843098","pageID":"4d2a64dc-6960-487d-b4a2-b31673843098","articlePermalinkKey":"iusc5sb1","pagePermalinkKey":"iusc5sb1","originalPublishingDate":"2023-10-24T07:00:29-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2DC39EDA-731F-4265-BE74-CFD56C994086","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10717":{"id":"articles-10717","staticContentId":4143,"eventContentId":10717,"eventId":"articles","contentUpdatedAt":"2026-09-22T08:22:19-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=kdeag05s","languageCode":"eng","description":"Apple regularly provides platform updates to add new features, fix bugs, and continue to improve the experience for everyone who uses our products. As part of that process, we offer beta software for developers as well as a Public Beta Software Program. This lets developers test apps on upcoming software, address pesky bugs, and provide information to engineering teams around upcoming software changes and improvements.","title":"How to test your app on beta software","articleID":"ac13d84c-2aa1-4870-828f-d8da63568d66","pageID":"ac13d84c-2aa1-4870-828f-d8da63568d66","articlePermalinkKey":"kdeag05s","pagePermalinkKey":"kdeag05s","originalPublishingDate":"2022-06-02T09:00:00-07:00","publishingExpiryDate":"2099-06-02T08:00:03-08:00","topicIds":[88,90],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9177AE7E-3097-4CBB-8BEB-B1F0FAEF9485","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110938":{"id":"articles-110938","staticContentId":7678,"eventContentId":110938,"eventId":"articles","contentUpdatedAt":"2024-02-13T19:37:59-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=56pb0goq","languageCode":"eng","description":"Find out how the groundbreaking book became an ADA-winning app.","title":"Behind the Design: Rebel Girls","articleID":"3de83a85-3b9b-4323-9aa4-855b03843dc5","pageID":"3de83a85-3b9b-4323-9aa4-855b03843dc5","articlePermalinkKey":"56pb0goq","pagePermalinkKey":"56pb0goq","originalPublishingDate":"2022-09-19T07:00:55-07:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2CA4221A-17BA-481A-9D7C-5B7FD49856CE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111583":{"id":"articles-111583","staticContentId":8938,"eventContentId":111583,"eventId":"articles","contentUpdatedAt":"2023-06-05T15:06:53-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9ziv4zr7","languageCode":"eng","description":"Get ready to design and build an entirely new universe of apps and games for Apple Vision Pro. ","title":"Meet visionOS","articleID":"81fd261f-f7d8-4728-b808-a22fa33f55ba","pageID":"81fd261f-f7d8-4728-b808-a22fa33f55ba","articlePermalinkKey":"9ziv4zr7","pagePermalinkKey":"9ziv4zr7","originalPublishingDate":"2023-06-05T14:00:00-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"229610C2-998A-4346-AC05-4A352B950186","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10838":{"id":"articles-10838","staticContentId":4453,"eventContentId":10838,"eventId":"articles","contentUpdatedAt":"2025-06-24T15:50:55-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=aprhkd7d","languageCode":"eng","description":"","title":"Changing the world, one Swift playground at a time","articleID":"80400d3e-ba8f-46aa-8c7c-255c484bdaf5","pageID":"80400d3e-ba8f-46aa-8c7c-255c484bdaf5","articlePermalinkKey":"aprhkd7d","pagePermalinkKey":"aprhkd7d","originalPublishingDate":"2020-06-25T11:00:02-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","topicIds":[87,90],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1E4FA484-D0B9-4094-A5DF-253F2EB702F4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-11057":{"id":"articles-11057","staticContentId":4774,"eventContentId":11057,"eventId":"articles","contentUpdatedAt":"2026-06-08T12:29:44-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=dopmcbjk","languageCode":"eng","description":"You can now create and distribute subscription offer codes for your apps, giving you new ways to market your subscription. These one-time use, alphanumeric codes can be redeemed on the App Store or within your app. You can also create unique URLs associated with an offer code and distribute these using your choice of channels.","title":"Market your subscriptions with offer codes","articleID":"8dbdc7e4-9935-4343-a6ab-c5546a4f3065","pageID":"8dbdc7e4-9935-4343-a6ab-c5546a4f3065","articlePermalinkKey":"dopmcbjk","pagePermalinkKey":"dopmcbjk","originalPublishingDate":"2020-11-19T08:45:12-08:00","publishingExpiryDate":"2030-11-19T11:24:35-08:00","primaryTopicID":86,"topicIds":[86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"6ED4128B-6D3B-4A8D-9AB5-FDDBA33FB946","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["tech-talks-10868"]}},"articles-111996":{"id":"articles-111996","staticContentId":10456,"eventContentId":111996,"eventId":"articles","contentUpdatedAt":"2025-06-03T09:29:13-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4hac2w7l","languageCode":"eng","description":"WWDC25 is just a few days away! Here\u2019s everything you need to get ready \u2014 and a big announcement to start things off.","title":"Hello Developer: June 2025","articleID":"72c31c87-a9b7-4d71-b7fb-be4e9c0dde52","pageID":"72c31c87-a9b7-4d71-b7fb-be4e9c0dde52","articlePermalinkKey":"4hac2w7l","pagePermalinkKey":"4hac2w7l","originalPublishingDate":"2025-06-03T08:00:16-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"29B42F58-0B40-4E97-A0DA-DA7B961A0090","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-100081":{"id":"articles-100081","staticContentId":5219,"eventContentId":100081,"eventId":"articles","contentUpdatedAt":"2026-05-01T17:05:56-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=zawi5f1g","languageCode":"eng","description":"An action classifier is a machine learning model that identifies a person\u2019s body movements in a video. When you integrate a custom action classifier into your app, it can recognize and understand movement in real time from videos or through a camera. ","title":"Documentation Spotlight: Dynamically display timely data in your widgets","articleID":"573b03cc-e01c-4a35-9d0b-c34cd78a4018","pageID":"573b03cc-e01c-4a35-9d0b-c34cd78a4018","articlePermalinkKey":"zawi5f1g","pagePermalinkKey":"zawi5f1g","originalPublishingDate":"2021-04-28T05:00:05-07:00","primaryTopicID":83,"topicIds":[83],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"AD080D1A-6E58-448C-97DA-D7363ED5CE1D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111040":{"id":"articles-111040","staticContentId":7809,"eventContentId":111040,"eventId":"articles","contentUpdatedAt":"2023-11-07T17:37:10-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=mis6swzt","languageCode":"eng","description":"Discover how five developers are exploring Live Activities.","title":"Spotlight on: The Dynamic Island","articleID":"1f1e0d29-f8b2-44da-8474-2636ca8d50fc","pageID":"1f1e0d29-f8b2-44da-8474-2636ca8d50fc","articlePermalinkKey":"mis6swzt","pagePermalinkKey":"mis6swzt","originalPublishingDate":"2022-10-28T09:00:42-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"50910DE0-F951-42A5-BAE4-670206A4C312","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-100062":{"id":"articles-100062","staticContentId":4925,"eventContentId":100062,"eventId":"articles","contentUpdatedAt":"2026-04-13T10:42:34-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3nu5yfka","languageCode":"eng","description":"People deserve to have a convenient and secure experience when using their favorite apps or online websites. You can help improve the safety of your online account offerings with improved password management tools and security recommendations, two-factor authentication improvements, and more. Here\u2019s how you can use the latest tools and frameworks on Apple platforms to provide a better sign-in and account management workflow for people who use your apps and websites.","title":"Improve the sign-in experience and security in your app","articleID":"6b46fa69-16b5-40fc-b773-c161455ffffc","pageID":"6b46fa69-16b5-40fc-b773-c161455ffffc","articlePermalinkKey":"3nu5yfka","pagePermalinkKey":"3nu5yfka","originalPublishingDate":"2021-04-12T05:00:42-07:00","publishingExpiryDate":"2034-06-14T00:00:00-07:00","topicIds":[96,98],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"247DEFF0-01B1-4F2B-8837-1AA1EA3A92D2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110777":{"id":"articles-110777","staticContentId":7490,"eventContentId":110777,"eventId":"articles","contentUpdatedAt":"2023-02-16T15:17:58-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=wq48r7mj","languageCode":"eng","description":"Learn how Curtis Herbert built his ADA-winning ski tracking app.","title":"Behind the Design: Slopes","articleID":"4bae8b8c-17f9-4d9b-bf2a-a778d84e6b20","pageID":"4bae8b8c-17f9-4d9b-bf2a-a778d84e6b20","articlePermalinkKey":"wq48r7mj","pagePermalinkKey":"wq48r7mj","originalPublishingDate":"2022-08-15T07:00:10-07:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FBCF7BE8-C078-48CC-BC35-A233DF8C7DA2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112078":{"id":"articles-112078","staticContentId":10802,"eventContentId":112078,"eventId":"articles","contentUpdatedAt":"2026-07-21T13:34:28-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=u6sj76ew","languageCode":"eng","description":"The Xcode\u00a0Cloud team provides five workflows that can help you make your workday much more efficient.","title":"Supercharge your builds with Xcode\u00a0Cloud workflows","articleID":"69de4956-34c9-4a1c-ad19-c7e14090aa4a","pageID":"69de4956-34c9-4a1c-ad19-c7e14090aa4a","articlePermalinkKey":"u6sj76ew","pagePermalinkKey":"u6sj76ew","originalPublishingDate":"2026-07-21T09:00:32-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["best practices","workflows","xcode","xcode cloud"],"primaryTopicID":88,"topicIds":[88],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D41B76AA-4CD4-475B-9A31-98444F19C60F","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"articles-111985":{"id":"articles-111985","staticContentId":10022,"eventContentId":111985,"eventId":"articles","contentUpdatedAt":"2025-04-08T09:19:43-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=sqd5xv4n","languageCode":"eng","description":"Ask Jason Toff whether his Apple Design Award winner is a game or an app, and his answer is yes.","title":"Rooms at the top: How this ADA-winning team built a title that defies description","articleID":"0c1d4637-794a-4e87-b29b-0cb0136bacb5","pageID":"0c1d4637-794a-4e87-b29b-0cb0136bacb5","articlePermalinkKey":"sqd5xv4n","pagePermalinkKey":"sqd5xv4n","originalPublishingDate":"2025-04-08T06:00:03-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0FE57873-646A-49D6-8083-EA4293B157BE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112157":{"id":"articles-112157","staticContentId":11319,"eventContentId":112157,"eventId":"articles","contentUpdatedAt":"2026-08-05T10:38:46-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=vrvvlonn","languageCode":"eng","description":"In this edition: Watch a new video to dive deeper into the biggest updates from WWDC26, start building App Store assets for iOS 27, supercharge your Xcode Cloud workflows, and more.","title":"Hello Developer: August 2026","articleID":"7163d072-4de1-440e-90ed-77e8a5aab605","pageID":"7163d072-4de1-440e-90ed-77e8a5aab605","articlePermalinkKey":"vrvvlonn","pagePermalinkKey":"vrvvlonn","originalPublishingDate":"2026-08-05T08:00:51-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["apple design awards","apple intelligence","app store","app store connect","documentation","games","hello","hello developer","visual intelligence","wwdc26","xcode","xcodecloud"],"primaryTopicID":90,"topicIds":[94,88,90],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F1152357-ED48-4C31-9350-1EC632EE98BC","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"articles-112130":{"id":"articles-112130","staticContentId":11222,"eventContentId":112130,"eventId":"articles","contentUpdatedAt":"2026-06-06T08:29:03-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4f5vrddh","languageCode":"eng","description":"Private Access Tokens are powerful tools that prove when HTTP requests are coming from legitimate devices without disclosing someone's identity. ","title":"Private Access Tokens","articleID":"d7396fb7-d97c-44b0-a8a9-0bbe274d48ac","pageID":"d7396fb7-d97c-44b0-a8a9-0bbe274d48ac","articlePermalinkKey":"4f5vrddh","pagePermalinkKey":"4f5vrddh","originalPublishingDate":"2022-06-09T09:41:16-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"81210BE6-76B1-42EC-94D2-398F388D327C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-11061":{"id":"articles-11061","staticContentId":4841,"eventContentId":11061,"eventId":"articles","contentUpdatedAt":"2026-08-03T13:52:01-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=tn8w5jha","languageCode":"eng","description":"","title":"How to choose the right table style for your content","articleID":"77036f17-40cd-4331-93cc-ad53f9aa60b9","pageID":"77036f17-40cd-4331-93cc-ad53f9aa60b9","articlePermalinkKey":"tn8w5jha","pagePermalinkKey":"tn8w5jha","originalPublishingDate":"2021-01-20T15:33:57-08:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2A30FB3F-EFBF-4A75-93C7-EF32D3E9B050","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111041":{"id":"articles-111041","staticContentId":7919,"eventContentId":111041,"eventId":"articles","contentUpdatedAt":"2024-05-31T11:45:14-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=s8sl4tpa","languageCode":"eng","description":"For the inaugural edition of Ask Apple, members of our Design Evangelism team got together to answer your Slack questions about design philosophy, color guidelines, keyboard shortcuts, and much more.","title":"Q&A: 10 Questions with Design Evangelism","articleID":"35f364fc-c534-49ff-91cf-0a1fc07cfc8b","pageID":"35f364fc-c534-49ff-91cf-0a1fc07cfc8b","articlePermalinkKey":"s8sl4tpa","pagePermalinkKey":"s8sl4tpa","originalPublishingDate":"2022-11-18T23:00:19-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"686CB5C0-FAC7-4B0D-A45D-B00A86F7DFAB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110767":{"id":"articles-110767","staticContentId":7439,"eventContentId":110767,"eventId":"articles","contentUpdatedAt":"2023-06-02T16:22:05-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=g69kon6z","languageCode":"eng","description":"Let's get you up to speed on Day 1 and get ready for Day 2.","title":"WWDC22 Daily Digest: Tuesday","articleID":"86d59d5e-a370-4a41-8570-b0cd036569a4","pageID":"86d59d5e-a370-4a41-8570-b0cd036569a4","articlePermalinkKey":"g69kon6z","pagePermalinkKey":"g69kon6z","originalPublishingDate":"2022-06-07T07:00:18-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C3FFCCE7-4D29-440F-AF2B-4095A7A19214","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111649":{"id":"articles-111649","staticContentId":9748,"eventContentId":111649,"eventId":"articles","contentUpdatedAt":"2024-06-10T10:29:04-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=mxvjyow1","languageCode":"eng","description":"Browse new and updated documentation and sample code to learn about the latest technologies, frameworks, and APIs introduced at WWDC24.","title":"Explore new documentation and sample code from WWDC24","articleID":"6385677a-fd20-486c-aac1-f83f3d34490c","pageID":"6385677a-fd20-486c-aac1-f83f3d34490c","articlePermalinkKey":"mxvjyow1","pagePermalinkKey":"mxvjyow1","originalPublishingDate":"2024-06-10T08:00:39-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"CAEB584C-F704-4FD4-A7CE-BD19B0F3B90A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112110":{"id":"articles-112110","staticContentId":11190,"eventContentId":112110,"eventId":"articles","contentUpdatedAt":"2026-06-02T10:33:16-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ux44ymcr","languageCode":"eng","description":"The playful grug delivers daily wisdom in Neolithic grunts, and looks good doing it.","title":"ADA Q&A: grug team make app good","articleID":"180c7464-9eeb-4204-8cc1-7578d80b7818","pageID":"180c7464-9eeb-4204-8cc1-7578d80b7818","articlePermalinkKey":"ux44ymcr","pagePermalinkKey":"ux44ymcr","originalPublishingDate":"2026-05-16T09:50:01-07:00","platforms":["iOS"],"keywords":["ada","apple design awards","delight and fun"],"primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"37A57282-8C6A-49DB-A201-FBF289CE50D9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111634":{"id":"articles-111634","staticContentId":9216,"eventContentId":111634,"eventId":"articles","contentUpdatedAt":"2024-03-07T09:23:47-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=p09o9fxd","languageCode":"eng","description":"Learn how Fein Games created a hidden object game with big aspirations.","title":"Uncovering the hidden joys of Finding Hannah","articleID":"ff75881d-2852-4978-a11f-d8204cb5ca97","pageID":"ff75881d-2852-4978-a11f-d8204cb5ca97","articlePermalinkKey":"p09o9fxd","pagePermalinkKey":"p09o9fxd","originalPublishingDate":"2024-03-07T08:00:44-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"ECC295F9-2B2A-47D4-B6E9-415A2E91A92C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111636":{"id":"articles-111636","staticContentId":9218,"eventContentId":111636,"eventId":"articles","contentUpdatedAt":"2024-03-07T09:23:19-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=x4g6c2ao","languageCode":"eng","description":"Step inside the Apple Developer Centers, meet the team behind Finding Hannah, and get macOS security tips.","title":"Hello Developer: March 2024","articleID":"74423c22-002c-4b91-b73f-f19677d7a3d3","pageID":"74423c22-002c-4b91-b73f-f19677d7a3d3","articlePermalinkKey":"x4g6c2ao","pagePermalinkKey":"x4g6c2ao","originalPublishingDate":"2024-03-07T08:00:32-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3937DD57-C54F-4DB4-9FFC-217D5B0F5C8C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111582":{"id":"articles-111582","staticContentId":8932,"eventContentId":111582,"eventId":"articles","contentUpdatedAt":"2023-06-12T15:06:04-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ngi52ptu","languageCode":"eng","description":"Learn how the stunningly beautiful horror adventure came to life on Mac. ","title":"Behind the Design: Resident Evil Village","articleID":"ccf6cfcf-28ac-4346-9e92-20d4c5297791","pageID":"ccf6cfcf-28ac-4346-9e92-20d4c5297791","articlePermalinkKey":"ngi52ptu","pagePermalinkKey":"ngi52ptu","originalPublishingDate":"2023-06-05T18:00:10-07:00","topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"04D20236-6D45-4A91-ABB4-B5C2E07214F9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111077":{"id":"articles-111077","staticContentId":8906,"eventContentId":111077,"eventId":"articles","contentUpdatedAt":"2023-11-07T16:40:17-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=jhkvppla","languageCode":"eng","description":"Learn the design strategies behind the language app's incredible success.","title":"Behind the Design: Duolingo","articleID":"465dfca1-7bbf-4901-b9cf-006e93874136","pageID":"465dfca1-7bbf-4901-b9cf-006e93874136","articlePermalinkKey":"jhkvppla","pagePermalinkKey":"jhkvppla","originalPublishingDate":"2023-06-05T18:00:46-07:00","topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"481F413E-C3EE-4DF9-BCD5-9BCA3F624489","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112116":{"id":"articles-112116","staticContentId":11193,"eventContentId":112116,"eventId":"articles","contentUpdatedAt":"2026-06-02T10:32:52-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3t6o5jec","languageCode":"eng","description":"Sago Mini Jinja\u2019s Garden is remarkable for what it doesn\u2019t include.","title":"ADA Q&A: Seeding imagination in Sago Mini Jinja\u2019s Garden","articleID":"78a5e4fb-f3ce-4573-9ef0-312774d6e346","pageID":"78a5e4fb-f3ce-4573-9ef0-312774d6e346","articlePermalinkKey":"3t6o5jec","pagePermalinkKey":"3t6o5jec","originalPublishingDate":"2026-05-16T09:50:01-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["accessibility","ada","apple design awards","game","kids category"],"primaryTopicID":87,"topicIds":[82,91,87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7F92CA19-F6F4-4E23-8595-83D2C9A5648C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111085":{"id":"articles-111085","staticContentId":8914,"eventContentId":111085,"eventId":"articles","contentUpdatedAt":"2023-06-12T14:16:21-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=nzd48pl9","languageCode":"eng","description":"Discover how Universe makes creating a website as easy as building with blocks.","title":"Behind the Design: Universe","articleID":"77a865ae-7f48-4780-9636-24e3b33e9bb3","pageID":"77a865ae-7f48-4780-9636-24e3b33e9bb3","articlePermalinkKey":"nzd48pl9","pagePermalinkKey":"nzd48pl9","originalPublishingDate":"2023-06-05T18:00:52-07:00","topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"32ACC2AF-7C9F-435D-A8AD-9F3C3804975C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112118":{"id":"articles-112118","staticContentId":11194,"eventContentId":112118,"eventId":"articles","contentUpdatedAt":"2026-06-02T10:32:46-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=n7uhd8gz","languageCode":"eng","description":"Primary: News in Depth, a spatial news app for Apple Vision Pro, was founded by journalist Maura Axelrod and immersive filmmaker Sam Baumel, and is powered by a team of contributors around the globe.","title":"ADA Q&A: Primary sources","articleID":"cfc10c07-548c-4198-ba96-5fc9f64714cf","pageID":"cfc10c07-548c-4198-ba96-5fc9f64714cf","articlePermalinkKey":"n7uhd8gz","pagePermalinkKey":"n7uhd8gz","originalPublishingDate":"2026-05-16T09:50:01-07:00","platforms":["visionOS"],"keywords":["ada","apple design awards","social impact","spatial audio","spatial photos and videos","visionos"],"primaryTopicID":87,"topicIds":[85,87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"876CFAE5-FF75-466E-9BEA-FC99EF8904CE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112120":{"id":"articles-112120","staticContentId":11195,"eventContentId":112120,"eventId":"articles","contentUpdatedAt":"2026-06-02T10:32:39-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=y46hd2sn","languageCode":"eng","description":"A deeply personal and autobiographical experience that deftly \u2014 and playfully \u2014 addresses themes of mental health, body image, and self-worth.","title":"ADA Q&A: Consume Me","articleID":"72101de8-173e-407f-a7d4-9655b43779f2","pageID":"72101de8-173e-407f-a7d4-9655b43779f2","articlePermalinkKey":"y46hd2sn","pagePermalinkKey":"y46hd2sn","originalPublishingDate":"2026-05-16T09:50:01-07:00","platforms":["macOS"],"keywords":["ada","apple design awards","game","social impact"],"primaryTopicID":87,"topicIds":[91,87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"CADCE9CC-EAB3-4E0F-A7EE-BEE89F2CDCDF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112042":{"id":"articles-112042","staticContentId":10625,"eventContentId":112042,"eventId":"articles","contentUpdatedAt":"2025-11-06T07:28:23-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=38c9vryd","languageCode":"eng","description":"Catch the new design in the wild, and let Apple experts show you how to quickly and easily bring it to your apps. Plus, the latest on the Swift Student Challenge 2026, and new developer videos available on demand.","title":"Hello Developer: November 2025","articleID":"577b6a6f-3093-43bf-af2c-db17fa3a954e","pageID":"577b6a6f-3093-43bf-af2c-db17fa3a954e","articlePermalinkKey":"38c9vryd","pagePermalinkKey":"38c9vryd","originalPublishingDate":"2025-11-06T05:00:16-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"18716E24-B534-413F-BA69-0A267CAFEAC6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112092":{"id":"articles-112092","staticContentId":10933,"eventContentId":112092,"eventId":"articles","contentUpdatedAt":"2026-04-07T11:14:00-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=e1ssia6m","languageCode":"eng","description":"In this edition: Join us on bilibili and LinkedIn, catch up on essentials before WWDC26, and build a travel app with sample code.","title":"Hello Developer: April 2026","articleID":"f21fcbf7-8ae0-4ff1-a32a-76d067aaf6fc","pageID":"f21fcbf7-8ae0-4ff1-a32a-76d067aaf6fc","articlePermalinkKey":"e1ssia6m","pagePermalinkKey":"e1ssia6m","originalPublishingDate":"2026-04-07T06:00:16-07:00","primaryTopicID":91,"topicIds":[96,100,91],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0DF46B76-13F7-4118-985E-3DA7B86C7364","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111968":{"id":"articles-111968","staticContentId":9795,"eventContentId":111968,"eventId":"articles","contentUpdatedAt":"2024-09-03T10:09:33-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=34m9vbvv","languageCode":"eng","description":"Find out how Floppy Club built an Apple Design Award winner that sounds as good as it looks.","title":"Behind the Design: The rhythms of Rytmos","articleID":"1b1bea52-caea-4aae-b1bb-e298b4d988d0","pageID":"1b1bea52-caea-4aae-b1bb-e298b4d988d0","articlePermalinkKey":"34m9vbvv","pagePermalinkKey":"34m9vbvv","originalPublishingDate":"2024-09-03T06:59:53-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3978282B-73B8-49FA-A118-AF72B466A635","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110127":{"id":"articles-110127","staticContentId":5907,"eventContentId":110127,"eventId":"articles","contentUpdatedAt":"2026-07-28T11:38:17-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=arg8zngm","languageCode":"eng","description":"","title":"Developer Spotlight: Ladder","articleID":"77333b6f-835b-41f2-a5b3-43db4b58affc","pageID":"77333b6f-835b-41f2-a5b3-43db4b58affc","articlePermalinkKey":"arg8zngm","pagePermalinkKey":"arg8zngm","originalPublishingDate":"2021-07-28T11:00:15-07:00","primaryTopicID":86,"topicIds":[86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"568BE554-0CD6-4A2A-8EF5-ABFC56C34E75","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112147":{"id":"articles-112147","staticContentId":11294,"eventContentId":112147,"eventId":"articles","contentUpdatedAt":"2026-10-05T09:04:55-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=1q3azf1j","languageCode":"eng","description":"More than 16 million people rely on *Monzo*, the UK\u2019s largest digital bank, to manage their money.","title":"\u201cIt was super validating\u201d: Why Monzo adopted Liquid Glass on day one","articleID":"3fd1b7bb-fec0-4f8e-845a-dfab6783bc09","pageID":"3fd1b7bb-fec0-4f8e-845a-dfab6783bc09","articlePermalinkKey":"1q3azf1j","pagePermalinkKey":"1q3azf1j","originalPublishingDate":"2026-10-05T09:00:33-07:00","platforms":["iOS"],"keywords":["design","developer stories","liquid glass","monzo"],"primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"65FB1E42-7BDA-4656-AC77-4AB28899B82A","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"articles-111983":{"id":"articles-111983","staticContentId":9913,"eventContentId":111983,"eventId":"articles","contentUpdatedAt":"2025-07-17T09:02:15-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=q2zte70j","languageCode":"eng","description":"With new characters, incredible environments, and incredible technical power, Assassin\u2019s Creed Shadows, the 14th main entry in the series, is an evolution for the franchise in nearly every detail.","title":"Assassin\u2019s Creed Shadows comes to Mac","articleID":"7ca81c0c-90ba-438d-ae94-fbe47aaf2dc0","pageID":"7ca81c0c-90ba-438d-ae94-fbe47aaf2dc0","articlePermalinkKey":"q2zte70j","pagePermalinkKey":"q2zte70j","originalPublishingDate":"2025-03-04T09:00:11-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"90D36AE2-CC4B-484C-A305-82686F7BEBE2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111959":{"id":"articles-111959","staticContentId":9721,"eventContentId":111959,"eventId":"articles","contentUpdatedAt":"2024-06-24T13:58:37-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=20mtt804","languageCode":"eng","description":"Your introduction to the first full day of excitement at WWDC24.","title":"Today @ WWDC24: Day 1","articleID":"b1235ef7-87a3-4418-966b-6b7ef5be7bf4","pageID":"b1235ef7-87a3-4418-966b-6b7ef5be7bf4","articlePermalinkKey":"20mtt804","pagePermalinkKey":"20mtt804","originalPublishingDate":"2024-06-10T07:00:31-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"93CACF29-1CE9-460A-A73D-59A7E5A2897C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111986":{"id":"articles-111986","staticContentId":10086,"eventContentId":111986,"eventId":"articles","contentUpdatedAt":"2025-04-08T09:38:13-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ytujvuu3","languageCode":"eng","description":"Revisit foundational sessions, join us to dive into SwiftUI, and meet an Apple Design Award winner that defies description.","title":"Hello Developer: April 2025","articleID":"4baad735-c19c-474c-be9f-7bc30e2cee02","pageID":"4baad735-c19c-474c-be9f-7bc30e2cee02","articlePermalinkKey":"ytujvuu3","pagePermalinkKey":"ytujvuu3","originalPublishingDate":"2025-04-08T07:55:43-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0B8A5A59-8487-4661-AAE6-16F94C352BD6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111632":{"id":"articles-111632","staticContentId":9184,"eventContentId":111632,"eventId":"articles","contentUpdatedAt":"2024-02-08T14:58:03-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=you1yc2h","languageCode":"eng","description":"Flexibits CEO Michael Simmons discusses bringing the calendar app to visionOS.","title":"\u201cThe best version we\u2019ve ever made\u201d: Fantastical comes to Apple Vision Pro ","articleID":"c28b7141-2c8a-42d7-8816-97d3789abef0","pageID":"c28b7141-2c8a-42d7-8816-97d3789abef0","articlePermalinkKey":"you1yc2h","pagePermalinkKey":"you1yc2h","originalPublishingDate":"2024-02-08T08:00:06-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2400B216-3C72-44AC-AB4D-CEF66E6CEADA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111622":{"id":"articles-111622","staticContentId":9124,"eventContentId":111622,"eventId":"articles","contentUpdatedAt":"2023-12-08T15:07:03-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=d7d9t55v","languageCode":"eng","description":"Read the stories behind Finding Hannah, Photomator, and Unpacking.","title":"\u201cWe\u2019re trying to drive change\": Meet three App Store Award-winning teams","articleID":"a521f002-b17c-4e35-bf41-070907f9c4a8","pageID":"a521f002-b17c-4e35-bf41-070907f9c4a8","articlePermalinkKey":"d7d9t55v","pagePermalinkKey":"d7d9t55v","originalPublishingDate":"2023-12-07T09:00:22-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E45EF815-87B1-463B-A909-4706BDDF6ED8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110151":{"id":"articles-110151","staticContentId":6334,"eventContentId":110151,"eventId":"articles","contentUpdatedAt":"2021-10-25T14:06:33-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=mh3n9up0","languageCode":"eng","description":"","title":"Developer Spotlight: OK Play","articleID":"85dc6429-7616-4b1f-91b9-b3e858d444fe","pageID":"85dc6429-7616-4b1f-91b9-b3e858d444fe","articlePermalinkKey":"mh3n9up0","pagePermalinkKey":"mh3n9up0","originalPublishingDate":"2021-10-26T06:00:30-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"475099F0-9DD1-4DBC-9A7D-5A34BAB57E05","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111078":{"id":"articles-111078","staticContentId":8907,"eventContentId":111078,"eventId":"articles","contentUpdatedAt":"2023-11-07T17:46:25-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=c8l2zi89","languageCode":"eng","description":"How the HandyGames team created this powerful mix of medium and message. ","title":"Behind the Design: Endling","articleID":"8e1fbcb3-6ced-4d49-bbcb-58738f9ca0ed","pageID":"8e1fbcb3-6ced-4d49-bbcb-58738f9ca0ed","articlePermalinkKey":"c8l2zi89","pagePermalinkKey":"c8l2zi89","originalPublishingDate":"2023-06-05T18:00:00-07:00","topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A6074E7D-66FD-4DDE-AD50-C9005C79C2E5","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-11042":{"id":"articles-11042","staticContentId":4733,"eventContentId":11042,"eventId":"articles","contentUpdatedAt":"2021-09-13T07:25:21-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=e2e1faj4","languageCode":"eng","description":"","title":"The evolution of the Duolingo owl","articleID":"f9e9f6c2-0548-4469-b8e4-ea8243eea441","pageID":"f9e9f6c2-0548-4469-b8e4-ea8243eea441","articlePermalinkKey":"e2e1faj4","pagePermalinkKey":"e2e1faj4","originalPublishingDate":"2020-10-26T08:35:20-07:00","primaryTopicID":86,"topicIds":[86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"217D443C-448E-45E2-8BF9-DB2DB7144A43","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-100094":{"id":"articles-100094","staticContentId":5617,"eventContentId":100094,"eventId":"articles","contentUpdatedAt":"2023-05-29T14:55:09-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=nmvtcltj","languageCode":"eng","description":"When Christian Selig took to Reddit four years ago to request user feedback for his app *Apollo for Reddit* (\u201cI had a very alpha version\u2014maybe that\u2019s generous,\u201d he says), little did he know where it would lead.","title":"Developer Spotlight: SwingVision","articleID":"28ab0898-20c2-4300-bb14-8754141e4acc","pageID":"28ab0898-20c2-4300-bb14-8754141e4acc","articlePermalinkKey":"nmvtcltj","pagePermalinkKey":"nmvtcltj","originalPublishingDate":"2021-05-21T05:00:48-07:00","primaryTopicID":86,"topicIds":[86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4A6F1356-4BD2-4ECC-ADE2-FF7002843E98","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111960":{"id":"articles-111960","staticContentId":9722,"eventContentId":111960,"eventId":"articles","contentUpdatedAt":"2024-06-24T14:07:17-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3dhu16d6","languageCode":"eng","description":"Get ready for Day 2 at WWDC24.","title":"Today @ WWDC24: Day 2","articleID":"626a5183-54c8-4b69-ad55-eda0caff1276","pageID":"626a5183-54c8-4b69-ad55-eda0caff1276","articlePermalinkKey":"3dhu16d6","pagePermalinkKey":"3dhu16d6","originalPublishingDate":"2024-06-11T07:00:34-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"887CDB66-CC76-4D64-9E6C-1A46BE096892","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111048":{"id":"articles-111048","staticContentId":8067,"eventContentId":111048,"eventId":"articles","contentUpdatedAt":"2024-02-13T19:37:59-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=d47ujaui","languageCode":"eng","description":"This Women\u2019s History Month, meet the female founders, creators, developers, and designers behind some of our favorite apps and games.","title":"Celebrate women in app development","articleID":"762e0122-62bf-4bd0-8bae-6144bf6fac6e","pageID":"762e0122-62bf-4bd0-8bae-6144bf6fac6e","articlePermalinkKey":"d47ujaui","pagePermalinkKey":"d47ujaui","originalPublishingDate":"2023-03-08T08:00:34-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C1A37556-13F0-4B2B-BF97-311F7F60DFF8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111050":{"id":"articles-111050","staticContentId":8073,"eventContentId":111050,"eventId":"articles","contentUpdatedAt":"2025-06-09T13:32:13-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=qpqf1gru","languageCode":"eng","description":"Learn about sizing and styling, when to dismiss a Live Activity, and the crucial differences between widgets and Live Activities.","title":"10 questions with the Live Activities team","articleID":"690ea5df-b211-4043-8ec1-ed57215a3efb","pageID":"690ea5df-b211-4043-8ec1-ed57215a3efb","articlePermalinkKey":"qpqf1gru","pagePermalinkKey":"qpqf1gru","originalPublishingDate":"2023-03-20T07:00:28-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"65FDE095-E67F-4780-9B12-CB9C01CCEBB0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10722":{"id":"articles-10722","staticContentId":4148,"eventContentId":10722,"eventId":"articles","contentUpdatedAt":"2026-09-22T08:22:25-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=vvrgkboh","languageCode":"eng","description":"Bugs are an inevitable part of the development process. Though they can be frustrating to bump up against, you can help squash these sorts of problems quickly by identifying the issue you\u2019re running into, reproducing it, and filing a bug report. Here are some of our top tips for making sure your bug report is clear, actionable, and \u2014 most importantly \u2014 fixable.","title":"How to file great bug reports","articleID":"8f8cde52-69bb-41d4-aa52-d20ae278468d","pageID":"8f8cde52-69bb-41d4-aa52-d20ae278468d","articlePermalinkKey":"vvrgkboh","pagePermalinkKey":"vvrgkboh","originalPublishingDate":"2022-06-02T09:00:00-07:00","publishingExpiryDate":"2099-06-09T15:47:53-08:00","primaryTopicID":88,"topicIds":[88],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"863C6246-65F7-49C1-B706-A0E8826B974A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112102":{"id":"articles-112102","staticContentId":11006,"eventContentId":112102,"eventId":"articles","contentUpdatedAt":"2026-05-12T17:44:47-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=sw8ldfjk","languageCode":"eng","description":"A free Apple Developer account provides access to the tools, resources, and support you need to build and test apps and games.","title":"Get the most out of your Apple Developer account","articleID":"4e245fd0-2dc6-4970-9b41-321b57a230d2","pageID":"4e245fd0-2dc6-4970-9b41-321b57a230d2","articlePermalinkKey":"sw8ldfjk","pagePermalinkKey":"sw8ldfjk","originalPublishingDate":"2026-05-12T06:00:26-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["account","appstoreconnect","developer"],"primaryTopicID":88,"topicIds":[86,88],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5FD5457C-33E5-499F-9C87-F5031CAFEF3A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110768":{"id":"articles-110768","staticContentId":7440,"eventContentId":110768,"eventId":"articles","contentUpdatedAt":"2022-09-22T13:21:09-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=v8a3aetj","languageCode":"eng","description":"Apple\u2019s Human Interface Guidelines (HIG) is a comprehensive resource for designers and developers looking to create great experiences across Apple platforms. Now, it\u2019s been fully redesigned and refreshed to meet your needs \u2014 from your first sketch to the final pixel.","title":"Meet the new Human Interface Guidelines","articleID":"1558140a-b01d-4b5e-94c4-5ee4aef0771d","pageID":"1558140a-b01d-4b5e-94c4-5ee4aef0771d","articlePermalinkKey":"v8a3aetj","pagePermalinkKey":"v8a3aetj","originalPublishingDate":"2022-06-07T11:00:04-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1D864C74-1D96-426F-89C5-2AEBDE4B47A8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111054":{"id":"articles-111054","staticContentId":8077,"eventContentId":111054,"eventId":"articles","contentUpdatedAt":"2023-03-08T08:10:15-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=61fx898j","languageCode":"eng","description":"Talk about an impressive r\u00e9sum\u00e9.","title":"Developer Spotlight: Rootd","articleID":"1cf57fe2-7eb9-4d21-b1bd-68461401d00a","pageID":"1cf57fe2-7eb9-4d21-b1bd-68461401d00a","articlePermalinkKey":"61fx898j","pagePermalinkKey":"61fx898j","originalPublishingDate":"2021-11-16T10:00:18-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"8D6B0226-36DC-41C5-953D-772167136DA5","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-11064":{"id":"articles-11064","staticContentId":4858,"eventContentId":11064,"eventId":"articles","contentUpdatedAt":"2026-02-16T10:39:29-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4ts1nucs","languageCode":"eng","description":"Staying hydrated is like eating your vegetables: You know it\u2019s a good idea, and you probably don\u2019t do it enough. ","title":"Developer Spotlight: WaterMinder","articleID":"8117a10a-2e80-4acd-9492-2b9aef10cc5d","pageID":"8117a10a-2e80-4acd-9492-2b9aef10cc5d","articlePermalinkKey":"4ts1nucs","pagePermalinkKey":"4ts1nucs","originalPublishingDate":"2021-02-12T05:00:00-08:00","publishingExpiryDate":"2031-02-12T07:10:00-08:00","primaryTopicID":86,"topicIds":[86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"169D5577-2DF5-40F8-BDF6-A625D88AF176","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111603":{"id":"articles-111603","staticContentId":9067,"eventContentId":111603,"eventId":"articles","contentUpdatedAt":"2023-10-03T15:57:51-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=gv83byb2","languageCode":"eng","description":"Explore developer activities, go behind the scenes with Plex, catch up on the latest news, and more.","title":"Hello Developer: October 2023","articleID":"c5e84910-5c53-4ddf-bb80-636879454b8b","pageID":"c5e84910-5c53-4ddf-bb80-636879454b8b","articlePermalinkKey":"gv83byb2","pagePermalinkKey":"gv83byb2","originalPublishingDate":"2023-10-03T13:00:00-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"39CA3E64-C136-499E-AF0B-37BE40A7F120","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111961":{"id":"articles-111961","staticContentId":9723,"eventContentId":111961,"eventId":"articles","contentUpdatedAt":"2024-06-24T14:08:45-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ro5xk7qg","languageCode":"eng","description":"Here\u2019s what you need to know for Day 3 at WWDC24.","title":"Today @ WWDC24: Day 3","articleID":"a13bb48c-eee1-49a6-9cf7-8ede2f7c86ee","pageID":"a13bb48c-eee1-49a6-9cf7-8ede2f7c86ee","articlePermalinkKey":"ro5xk7qg","pagePermalinkKey":"ro5xk7qg","originalPublishingDate":"2024-06-12T07:00:17-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A3BA55F5-2808-446E-B6F2-7ACDE1B847DE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111586":{"id":"articles-111586","staticContentId":8949,"eventContentId":111586,"eventId":"articles","contentUpdatedAt":"2023-06-29T10:27:36-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=h3qjwosp","languageCode":"eng","description":"Learn how the developers behind djay, Blackbox, JigSpace, and XRHealth started designing and building apps for Apple Vision Pro.","title":"Spotlight on: Developing for visionOS","articleID":"216187e3-ef6a-4378-bab3-3d474d245596","pageID":"216187e3-ef6a-4378-bab3-3d474d245596","articlePermalinkKey":"h3qjwosp","pagePermalinkKey":"h3qjwosp","originalPublishingDate":"2023-06-05T14:00:39-07:00","primaryTopicID":85,"topicIds":[85],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"8892A5BD-AA24-489E-A7DA-6B13697B40DA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-11027":{"id":"articles-11027","staticContentId":4656,"eventContentId":11027,"eventId":"articles","contentUpdatedAt":"2024-12-03T11:51:30-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=0kzm2cc0","languageCode":"eng","description":"","title":"Use SF Symbols to enhance your interface design","articleID":"f7778e95-4e85-4c98-8010-00ded4b85de2","pageID":"f7778e95-4e85-4c98-8010-00ded4b85de2","articlePermalinkKey":"0kzm2cc0","pagePermalinkKey":"0kzm2cc0","originalPublishingDate":"2020-10-29T07:00:41-07:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A88B6C61-19ED-4B3E-8D20-72745A87B5DF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-11060":{"id":"articles-11060","staticContentId":4830,"eventContentId":11060,"eventId":"articles","contentUpdatedAt":"2026-01-15T08:42:07-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=g9qbtdvu","languageCode":"eng","description":"","title":"Meet App Clip Codes","articleID":"c4246f6e-034f-48ce-b77a-9e80ee5bbb2f","pageID":"c4246f6e-034f-48ce-b77a-9e80ee5bbb2f","articlePermalinkKey":"g9qbtdvu","pagePermalinkKey":"g9qbtdvu","originalPublishingDate":"2021-01-13T09:00:00-08:00","publishingExpiryDate":"2031-01-13T21:16:45-08:00","primaryTopicID":83,"topicIds":[83],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"664F5166-7955-4234-A426-420373703350","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110117":{"id":"articles-110117","staticContentId":5857,"eventContentId":110117,"eventId":"articles","contentUpdatedAt":"2026-07-02T12:18:59-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=1al00dn0","languageCode":"eng","description":"","title":"Developer Spotlight: Cone","articleID":"3d35c2ef-6d41-40f0-bffe-90b28b6ea1c6","pageID":"3d35c2ef-6d41-40f0-bffe-90b28b6ea1c6","articlePermalinkKey":"1al00dn0","pagePermalinkKey":"1al00dn0","originalPublishingDate":"2021-07-01T13:46:55-07:00","primaryTopicID":86,"topicIds":[86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D9A3DD83-18D1-4A90-AA04-5F804D3465E1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111587":{"id":"articles-111587","staticContentId":8951,"eventContentId":111587,"eventId":"articles","contentUpdatedAt":"2023-06-07T07:16:05-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=nn11s3en","languageCode":"eng","description":"Welcome to day three of WWDC!","title":"Wednesday @ WWDC23","articleID":"132fc485-6ac8-4726-9368-d4e515a89fc1","pageID":"132fc485-6ac8-4726-9368-d4e515a89fc1","articlePermalinkKey":"nn11s3en","pagePermalinkKey":"nn11s3en","originalPublishingDate":"2023-06-07T07:00:48-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"DD8DF422-0DA2-403D-A803-24B0286D544A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110772":{"id":"articles-110772","staticContentId":7461,"eventContentId":110772,"eventId":"articles","contentUpdatedAt":"2024-02-09T09:43:00-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=0yia4yw7","languageCode":"eng","description":"Why design games? For Apple Design Award winner Felix Bohatsch, it\u2019s about more than creating delightful diversions or telling a great story.","title":"Behind the Design: Gibbon: Beyond the Trees","articleID":"054bb288-7ef8-4966-9bca-5f1c763f7020","pageID":"054bb288-7ef8-4966-9bca-5f1c763f7020","articlePermalinkKey":"0yia4yw7","pagePermalinkKey":"0yia4yw7","originalPublishingDate":"2022-06-27T00:00:10-07:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9D3B8447-EA80-41D0-BD52-18170DCE548B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110156":{"id":"articles-110156","staticContentId":6343,"eventContentId":110156,"eventId":"articles","contentUpdatedAt":"2021-10-27T11:30:23-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=q6mej749","languageCode":"eng","description":"","title":"Developer Spotlight: Watch Face by Facer","articleID":"547246cb-f0d3-4c06-9d6f-db38d3f36b33","pageID":"547246cb-f0d3-4c06-9d6f-db38d3f36b33","articlePermalinkKey":"q6mej749","pagePermalinkKey":"q6mej749","originalPublishingDate":"2021-11-30T06:00:06-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"6C76760C-093D-49E4-ACEC-5EDC2BCBFA4C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111600":{"id":"articles-111600","staticContentId":9044,"eventContentId":111600,"eventId":"articles","contentUpdatedAt":"2023-11-09T02:26:54-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=13imnrkj","languageCode":"eng","description":"In this edition: the Swift Student Challenge 2024, Apple Vision Pro apps for enterprise, new games videos, and much more.","title":"Hello Developer: November 2023","articleID":"055e9c20-c343-4b93-84de-05513b44fb1e","pageID":"055e9c20-c343-4b93-84de-05513b44fb1e","articlePermalinkKey":"13imnrkj","pagePermalinkKey":"13imnrkj","originalPublishingDate":"2023-11-09T02:01:17-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4A3DDBB1-AC0B-4A6F-ABF5-037B05B07851","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110770":{"id":"articles-110770","staticContentId":7459,"eventContentId":110770,"eventId":"articles","contentUpdatedAt":"2022-06-21T02:10:42-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=97dgimaa","languageCode":"eng","description":"Apple's prototyping team share their approaches to creating useful prototypes, the value of outside feedback, bringing that special sparkle to early experiences, and design best practices.","title":"Meet the prototypers","articleID":"78c8af77-b38a-47e1-95f4-31a66f5c63ae","pageID":"78c8af77-b38a-47e1-95f4-31a66f5c63ae","articlePermalinkKey":"97dgimaa","pagePermalinkKey":"97dgimaa","originalPublishingDate":"2022-06-20T15:00:09-07:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BEA596C0-7A11-4363-9E07-7810B54F98E2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110147":{"id":"articles-110147","staticContentId":6195,"eventContentId":110147,"eventId":"articles","contentUpdatedAt":"2022-09-07T11:55:03-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=tepzkvmv","languageCode":"eng","description":"Join us for a special Apple Event on October 18 at 10 a.m. PDT. Watch it live at apple.com.","title":"Watch the special Apple Event","articleID":"052d945e-1b8f-4114-b2e7-487ac4035946","pageID":"052d945e-1b8f-4114-b2e7-487ac4035946","articlePermalinkKey":"tepzkvmv","pagePermalinkKey":"tepzkvmv","originalPublishingDate":"2021-10-12T08:00:26-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"61C495A6-5246-4842-9667-E6F7F99BED73","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10199":{"id":"articles-10199","staticContentId":3549,"eventContentId":10199,"eventId":"articles","contentUpdatedAt":"2025-08-28T10:04:43-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=33kvkagk","languageCode":"eng","description":"Learn design best practices through interviews and artifacts and uncover what it takes to design an award winning app.","title":"Behind the Design: Sayonara Wild Hearts","articleID":"e577680b-d956-4799-9eb1-7004f2686a4d","pageID":"e577680b-d956-4799-9eb1-7004f2686a4d","articlePermalinkKey":"33kvkagk","pagePermalinkKey":"33kvkagk","originalPublishingDate":"2020-08-07T08:40:07-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["ada","adas","apple design awards","apple design awards 2020"],"primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"811F23EF-7909-4DBE-AA7C-D920AA7F6D6D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112108":{"id":"articles-112108","staticContentId":11186,"eventContentId":112108,"eventId":"articles","contentUpdatedAt":"2026-06-07T13:55:40-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=kg5fknhq","languageCode":"eng","description":"Discover local meetups, online groups, and activities to connect with fellow\u00a0developers.","title":"Explore community events","articleID":"b0e14e18-ece4-45f2-bdb1-85ab269ef9f4","pageID":"b0e14e18-ece4-45f2-bdb1-85ab269ef9f4","articlePermalinkKey":"kg5fknhq","pagePermalinkKey":"kg5fknhq","originalPublishingDate":"2026-05-18T07:00:09-07:00","keywords":["community"],"topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"45B16D5C-F741-4C13-968B-8AD51AA11D6F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110145":{"id":"articles-110145","staticContentId":6190,"eventContentId":110145,"eventId":"articles","contentUpdatedAt":"2021-10-20T08:51:46-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=pxmrhflz","languageCode":"eng","description":"Welcome to the Tech Talks Digest, where you can find everything you might want to know about our latest developer event.","title":"Tech Talks Digest: October 20","articleID":"8b5e11ef-566f-4694-b6c1-2d96dcf17b08","pageID":"8b5e11ef-566f-4694-b6c1-2d96dcf17b08","articlePermalinkKey":"pxmrhflz","pagePermalinkKey":"pxmrhflz","originalPublishingDate":"2021-10-20T08:51:33-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"DD3C3574-4485-4B29-A87D-6AA8D04C25FE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10196":{"id":"articles-10196","staticContentId":3546,"eventContentId":10196,"eventId":"articles","contentUpdatedAt":"2025-08-28T10:04:43-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=fy6rx06s","languageCode":"eng","description":"Learn design best practices through interviews and artifacts and uncover what it takes to design an award winning app.","title":"Behind the Design: Where Cards Fall","articleID":"e8bfd77c-d9cc-4ba7-8b6d-566979bf2b37","pageID":"e8bfd77c-d9cc-4ba7-8b6d-566979bf2b37","articlePermalinkKey":"fy6rx06s","pagePermalinkKey":"fy6rx06s","originalPublishingDate":"2020-07-10T06:30:18-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["ada","adas","apple design awards","apple design awards 2020"],"primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BC8241E7-7C59-43BE-B1A6-4CCBF6C26676","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112080":{"id":"articles-112080","staticContentId":10815,"eventContentId":112080,"eventId":"articles","contentUpdatedAt":"2026-03-03T10:00:25-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=zmqipz05","languageCode":"eng","description":"In this edition: Join Apple at GDC, get tips on privacy and security, dive deep on coding intelligence in Xcode 26, and learn how the Speechify team is going all in on AI.","title":"Hello Developer: March 2026","articleID":"21e09c87-f838-4208-91c1-511f615471f2","pageID":"21e09c87-f838-4208-91c1-511f615471f2","articlePermalinkKey":"zmqipz05","pagePermalinkKey":"zmqipz05","originalPublishingDate":"2026-03-03T06:00:16-08:00","primaryTopicID":91,"topicIds":[96,100,91],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"90D764A8-0A34-47E1-8188-E4DBCAF14C2E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111639":{"id":"articles-111639","staticContentId":9364,"eventContentId":111639,"eventId":"articles","contentUpdatedAt":"2024-04-23T09:28:21-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=2xslnwof","languageCode":"eng","description":"Apple Search Ads helps you drive discovery of your app or game on the App&nbsp;Store. We caught up with the Apple&nbsp;Search&nbsp;Ads team to learn more about successfully using the service, including signing up for the free online Apple&nbsp;Search&nbsp;Ads Certification course.","title":"Q&A: Promoting your app or game with Apple\u00a0Search\u00a0Ads","articleID":"9c9c0212-f7ff-4164-b13f-93c7f38f6753","pageID":"9c9c0212-f7ff-4164-b13f-93c7f38f6753","articlePermalinkKey":"2xslnwof","pagePermalinkKey":"2xslnwof","originalPublishingDate":"2024-04-23T09:00:52-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"76D4DCF3-224B-482B-BE23-A8D8582CE7AD","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110774":{"id":"articles-110774","staticContentId":7474,"eventContentId":110774,"eventId":"articles","contentUpdatedAt":"2022-08-23T16:35:13-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=e409h6ja","languageCode":"eng","description":"The design app's ADA is driven by the Procreate team's guiding principle: Art is for everyone.","title":"Behind the Design: Procreate","articleID":"c03ed6da-235c-49a8-be18-0c77c14d2bc6","pageID":"c03ed6da-235c-49a8-be18-0c77c14d2bc6","articlePermalinkKey":"e409h6ja","pagePermalinkKey":"e409h6ja","originalPublishingDate":"2022-07-18T09:00:47-07:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F037C6FF-81D2-4A80-ACA7-F5E320F5A615","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111581":{"id":"articles-111581","staticContentId":8920,"eventContentId":111581,"eventId":"articles","contentUpdatedAt":"2023-06-20T13:29:13-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=cicpaiqw","languageCode":"eng","description":"Meet 12 incredible teams from around the world and learn how they brought their winning ideas to life. ","title":"Behind the Design: 2023 Apple Design Awards","articleID":"50d06d23-3ce0-47c5-b111-de3d20a5dd13","pageID":"50d06d23-3ce0-47c5-b111-de3d20a5dd13","articlePermalinkKey":"cicpaiqw","pagePermalinkKey":"cicpaiqw","originalPublishingDate":"2023-06-05T18:00:59-07:00","topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"67B99FA8-9421-479A-AF57-714B04BB9405","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111087":{"id":"articles-111087","staticContentId":8919,"eventContentId":111087,"eventId":"articles","contentUpdatedAt":"2023-06-08T11:13:57-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=sju1ehda","languageCode":"eng","description":"Every year, the Swift Student Challenge recognizes young people from all over the world who\u2019ve created something remarkable with Swift Playgrounds.","title":"Meet three winners of the 2023 Swift Student Challenge","articleID":"c523e3e5-4bff-46b3-9690-049fc7097965","pageID":"c523e3e5-4bff-46b3-9690-049fc7097965","articlePermalinkKey":"sju1ehda","pagePermalinkKey":"sju1ehda","originalPublishingDate":"2023-06-08T11:00:18-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1C8AA6C9-8584-419B-BA90-1882DF01F015","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111966":{"id":"articles-111966","staticContentId":9785,"eventContentId":111966,"eventId":"articles","contentUpdatedAt":"2024-09-03T14:38:44-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=n4w6zydm","languageCode":"eng","description":"This Apple Design Award winner is a game created by and for people who love to play make-believe.","title":"Behind the Design: Creating the make-believe magic of Lost in Play","articleID":"c3c22c41-1d8b-4432-b0e3-55302a715847","pageID":"c3c22c41-1d8b-4432-b0e3-55302a715847","articlePermalinkKey":"n4w6zydm","pagePermalinkKey":"n4w6zydm","originalPublishingDate":"2024-08-06T08:00:48-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A69712D4-5274-4ED2-899A-A9D2E7E58361","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111589":{"id":"articles-111589","staticContentId":8972,"eventContentId":111589,"eventId":"articles","contentUpdatedAt":"2023-06-09T08:04:09-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=66zljoz0","languageCode":"eng","description":"Welcome to day five of WWDC!","title":"Friday @ WWDC23","articleID":"138ac1fd-e6aa-4e62-8d56-41aaa3cdc4fd","pageID":"138ac1fd-e6aa-4e62-8d56-41aaa3cdc4fd","articlePermalinkKey":"66zljoz0","pagePermalinkKey":"66zljoz0","originalPublishingDate":"2023-06-09T07:00:37-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2AF1675F-32A3-4DC7-89E7-6446CAFA86E1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110778":{"id":"articles-110778","staticContentId":7494,"eventContentId":110778,"eventId":"articles","contentUpdatedAt":"2023-02-16T15:18:07-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=oytkda24","languageCode":"eng","description":"The origin story of the biggest MMORPG in the multiverse.","title":"Behind the Design: Marvel Future Revolution","articleID":"1ab12e18-5ac2-4b55-b453-420829dcaa33","pageID":"1ab12e18-5ac2-4b55-b453-420829dcaa33","articlePermalinkKey":"oytkda24","pagePermalinkKey":"oytkda24","originalPublishingDate":"2022-08-08T07:00:48-07:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E80D08F2-07E9-4692-87E8-883D81AC7263","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111992":{"id":"articles-111992","staticContentId":10098,"eventContentId":111992,"eventId":"articles","contentUpdatedAt":"2025-05-05T23:19:20-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=wt9blabn","languageCode":"eng","description":"Go behind the design with this Apple Design Award winner from Paris-based studio The Pixel Hunt.","title":"Random access memories: Inside the time-shifting narrative of The Wreck","articleID":"bab77802-d9f4-4dc9-981e-97c5eb98fa2b","pageID":"bab77802-d9f4-4dc9-981e-97c5eb98fa2b","articlePermalinkKey":"wt9blabn","pagePermalinkKey":"wt9blabn","originalPublishingDate":"2025-05-06T08:00:31-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C5199E90-289D-49D9-8779-8AEF977D9A4C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110100":{"id":"articles-110100","staticContentId":5724,"eventContentId":110100,"eventId":"articles","contentUpdatedAt":"2022-12-08T21:03:21-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6k6dy6z7","languageCode":"eng","description":"Want to learn more about implementing WidgetKit or exploring SwfitUI? Apple Developer Documentation offers resources, sample code, and articles that support the latest frameworks and technologies.","title":"Find the right documentation","articleID":"77374e8f-3f6d-4491-bc5f-97353df6c135","pageID":"77374e8f-3f6d-4491-bc5f-97353df6c135","articlePermalinkKey":"6k6dy6z7","pagePermalinkKey":"6k6dy6z7","originalPublishingDate":"2022-06-06T11:00:16-07:00","topicIds":[88,90],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"CCC234FB-BE82-4292-9180-7BB5F8CD5C5A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111599":{"id":"articles-111599","staticContentId":9043,"eventContentId":111599,"eventId":"articles","contentUpdatedAt":"2023-08-31T14:15:13-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=5nn2hddv","languageCode":"eng","description":"Developers share their experiences going hands-on with Apple Vision Pro.","title":"Inside the Apple Vision Pro labs","articleID":"2a0b50d6-5ac7-4d77-bcc7-06b0c273e7a0","pageID":"2a0b50d6-5ac7-4d77-bcc7-06b0c273e7a0","articlePermalinkKey":"5nn2hddv","pagePermalinkKey":"5nn2hddv","originalPublishingDate":"2023-08-23T07:00:39-07:00","primaryTopicID":85,"topicIds":[85],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"650DF628-BDA3-42D4-8B63-6BC232965F7D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111965":{"id":"articles-111965","staticContentId":9782,"eventContentId":111965,"eventId":"articles","contentUpdatedAt":"2024-07-11T09:20:15-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=v9l8j3j9","languageCode":"eng","description":"In this edition: Dive deep into the big announcements from WWDC24, check out the first installment of the 2024 Behind the Design series, and more.","title":"Hello Developer: July 2024","articleID":"39912834-9dea-4557-a143-9ff46d4a9251","pageID":"39912834-9dea-4557-a143-9ff46d4a9251","articlePermalinkKey":"v9l8j3j9","pagePermalinkKey":"v9l8j3j9","originalPublishingDate":"2024-07-11T08:00:13-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B99C4414-13BD-4B07-A7F2-EF8F9632DA0C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-100070":{"id":"articles-100070","staticContentId":5182,"eventContentId":100070,"eventId":"articles","contentUpdatedAt":"2026-03-30T14:52:11-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=q6ajgys6","languageCode":"eng","description":"Say hello to the latest version of the Apple Developer app. Whether you\u2019re a computer science student in China or a veteran UI designer in Germany, the Developer app can help you make truly great apps for Mac, iPhone, iPad, Apple Watch, and Apple TV.","title":"Welcome to the Apple Developer app","articleID":"d0b9e45f-c80f-47fc-98d8-c982585f4cb6","pageID":"d0b9e45f-c80f-47fc-98d8-c982585f4cb6","articlePermalinkKey":"q6ajgys6","pagePermalinkKey":"q6ajgys6","originalPublishingDate":"2021-03-30T06:00:00-07:00","publishingExpiryDate":"2031-03-29T14:42:06-07:00","primaryTopicID":90,"topicIds":[90],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F8981E85-D0AF-4203-B86C-3E1DBA335DF3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111638":{"id":"articles-111638","staticContentId":9348,"eventContentId":111638,"eventId":"articles","contentUpdatedAt":"2024-04-04T11:35:29-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=c5gcbgrz","languageCode":"eng","description":"WWDC season has arrived. Plus: The new Develop in Swift Tutorials and Knotwords.","title":"Hello Developer: April 2024","articleID":"f00a7f7b-effb-482e-a506-78f254f0978d","pageID":"f00a7f7b-effb-482e-a506-78f254f0978d","articlePermalinkKey":"c5gcbgrz","pagePermalinkKey":"c5gcbgrz","originalPublishingDate":"2024-04-04T11:02:26-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C13D0C94-C52E-4A51-AFFB-F0CBD23F0467","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-11062":{"id":"articles-11062","staticContentId":4854,"eventContentId":11062,"eventId":"articles","contentUpdatedAt":"2026-01-29T14:47:48-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=kzbg2f2x","languageCode":"eng","description":"Sometimes a good idea hits you like a splash of cold water.","title":"Developer Spotlight: MySwimPro","articleID":"36e4e9da-3539-4982-a964-2dfcfb67e7cf","pageID":"36e4e9da-3539-4982-a964-2dfcfb67e7cf","articlePermalinkKey":"kzbg2f2x","pagePermalinkKey":"kzbg2f2x","originalPublishingDate":"2021-01-29T04:00:00-08:00","publishingExpiryDate":"2031-01-29T14:00:00-08:00","primaryTopicID":86,"topicIds":[86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"88D66965-873C-479A-AC35-03A346AB13C3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-100087":{"id":"articles-100087","staticContentId":5310,"eventContentId":100087,"eventId":"articles","contentUpdatedAt":"2026-04-24T09:45:00-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=liezmfy5","languageCode":"eng","description":"The developers behind Fiftytwo are having a whale of a time. ","title":"Developer Spotlight: Learn Math Facts","articleID":"7e4c2e67-7994-4cac-ab7c-67d1b81372df","pageID":"7e4c2e67-7994-4cac-ab7c-67d1b81372df","articlePermalinkKey":"liezmfy5","pagePermalinkKey":"liezmfy5","originalPublishingDate":"2021-04-23T05:00:36-07:00","primaryTopicID":86,"topicIds":[86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C01206E6-201A-4C88-BC14-0B5F9D946CB3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111976":{"id":"articles-111976","staticContentId":9838,"eventContentId":111976,"eventId":"articles","contentUpdatedAt":"2024-11-04T09:43:07-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=rh8a0x7r","languageCode":"eng","description":"In this edition: The Swift Pathway, new developer activities around the world, and an interview with the creator of recipe app *Crouton*.","title":"Hello Developer: November 2024","articleID":"8f42dc62-a18f-4fcc-a4c0-ea8150617567","pageID":"8f42dc62-a18f-4fcc-a4c0-ea8150617567","articlePermalinkKey":"rh8a0x7r","pagePermalinkKey":"rh8a0x7r","originalPublishingDate":"2024-11-04T08:00:07-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"95B52042-378D-4C53-BB6A-D3A823837925","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110159":{"id":"articles-110159","staticContentId":6347,"eventContentId":110159,"eventId":"articles","contentUpdatedAt":"2021-11-01T09:21:12-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=cl44858t","languageCode":"eng","description":"Welcome to the November 1 Tech Talks Digest. After a fantastic start last week, we\u2019re adding more sessions, more office hours, and \u2014 you asked for it! \u2014 more capacity.","title":"Tech Talks Digest: November 1","articleID":"d8614106-8af8-4f98-85c3-584591602411","pageID":"d8614106-8af8-4f98-85c3-584591602411","articlePermalinkKey":"cl44858t","pagePermalinkKey":"cl44858t","originalPublishingDate":"2021-11-01T09:00:47-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E1A6B002-2C4C-414C-9F14-948F8C65EDCA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110937":{"id":"articles-110937","staticContentId":7677,"eventContentId":110937,"eventId":"articles","contentUpdatedAt":"2022-09-07T11:55:03-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=o5cryh1p","languageCode":"eng","description":"Watch the replay from September 7 at apple.com.","title":"Apple Event: September 7","articleID":"33831213-0fbe-42d6-aad9-a2d46df5c33a","pageID":"33831213-0fbe-42d6-aad9-a2d46df5c33a","articlePermalinkKey":"o5cryh1p","pagePermalinkKey":"o5cryh1p","originalPublishingDate":"2022-08-24T07:00:41-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"AF572E81-5F21-4B84-B34B-7D3846055C97","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111043":{"id":"articles-111043","staticContentId":7947,"eventContentId":111043,"eventId":"articles","contentUpdatedAt":"2022-12-16T09:05:34-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=23ksaoks","languageCode":"eng","description":"Discover how Procreate brought a new dimension of creativity to their canvas.","title":"Spotlight on: Apple Pencil hover","articleID":"41eb2e6c-ba28-4f1c-a049-d1eb1b95d2f2","pageID":"41eb2e6c-ba28-4f1c-a049-d1eb1b95d2f2","articlePermalinkKey":"23ksaoks","pagePermalinkKey":"23ksaoks","originalPublishingDate":"2022-12-16T09:00:00-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9B6AD8DD-C8C5-499F-A898-4E9AAD94FF0D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110154":{"id":"articles-110154","staticContentId":6341,"eventContentId":110154,"eventId":"articles","contentUpdatedAt":"2022-08-24T10:26:01-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=wezczlc6","languageCode":"eng","description":"","title":"Developer Spotlight: Halide Mark II","articleID":"54fb629c-e9f1-41f0-8165-0ad585ab4b68","pageID":"54fb629c-e9f1-41f0-8165-0ad585ab4b68","articlePermalinkKey":"wezczlc6","pagePermalinkKey":"wezczlc6","originalPublishingDate":"2021-11-16T06:00:34-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2320314F-1FDF-422E-A41F-46F7AAFBDA6A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111975":{"id":"articles-111975","staticContentId":9828,"eventContentId":111975,"eventId":"articles","contentUpdatedAt":"2024-11-04T10:05:23-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9x75y43e","languageCode":"eng","description":"Find out how Davies went from Swift newbie to seasoned developer.","title":"Coding in the kitchen: How Devin Davies whipped up the tasty recipe app Crouton","articleID":"8f903d30-cc2f-4bf5-8de1-98623684b442","pageID":"8f903d30-cc2f-4bf5-8de1-98623684b442","articlePermalinkKey":"9x75y43e","pagePermalinkKey":"9x75y43e","originalPublishingDate":"2024-11-04T08:00:36-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"43050FA4-284E-4B18-BA43-CCDBB5445F8C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111588":{"id":"articles-111588","staticContentId":8954,"eventContentId":111588,"eventId":"articles","contentUpdatedAt":"2023-06-08T07:17:05-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=iz1mzom9","languageCode":"eng","description":"Welcome to day four of WWDC!","title":"Thursday @ WWDC23","articleID":"c111a928-77c7-4977-bece-76cc096650b7","pageID":"c111a928-77c7-4977-bece-76cc096650b7","articlePermalinkKey":"iz1mzom9","pagePermalinkKey":"iz1mzom9","originalPublishingDate":"2023-06-08T07:00:31-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D3B64C42-55B3-49C7-8753-06A3EC4B4F54","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112084":{"id":"articles-112084","staticContentId":10832,"eventContentId":112084,"eventId":"articles","contentUpdatedAt":"2026-04-03T09:02:46-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=cmd9p4g7","languageCode":"eng","description":"Plane Finder is a sparkling example of what happens when a small team grows with a platform.","title":"Q&A: How Plane Finder set itself up for the long haul","articleID":"14a1b7d3-bd49-4258-bf34-93f0eaa79c9d","pageID":"14a1b7d3-bd49-4258-bf34-93f0eaa79c9d","articlePermalinkKey":"cmd9p4g7","pagePermalinkKey":"cmd9p4g7","originalPublishingDate":"2026-04-03T09:00:01-07:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["ios","ipados","mapkit","metal","storekit 2","watchos"],"primaryTopicID":93,"topicIds":[91,93],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5DE5EA9F-6A46-4B44-B8BB-1556CC9F7779","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10837":{"id":"articles-10837","staticContentId":4452,"eventContentId":10837,"eventId":"articles","contentUpdatedAt":"2025-06-24T15:50:55-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=09pr41a8","languageCode":"eng","description":"","title":"The music of WWDC","articleID":"b4467151-9d67-4c49-abb7-29752cd3cab3","pageID":"b4467151-9d67-4c49-abb7-29752cd3cab3","articlePermalinkKey":"09pr41a8","pagePermalinkKey":"09pr41a8","originalPublishingDate":"2020-06-23T11:00:51-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"6FDCB6C6-5039-4A26-B820-6C4A89B1F88F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110193":{"id":"articles-110193","staticContentId":7061,"eventContentId":110193,"eventId":"articles","contentUpdatedAt":"2022-05-17T08:26:07-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=p32fw714","languageCode":"eng","description":"Check out some of our recent App Store resources to learn about the latest features your app or game can use.","title":"Check out the latest App Store feature videos","articleID":"6a80f06e-3d92-4da1-9d77-1f77755ca671","pageID":"6a80f06e-3d92-4da1-9d77-1f77755ca671","articlePermalinkKey":"p32fw714","pagePermalinkKey":"p32fw714","originalPublishingDate":"2022-05-17T06:00:10-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9A6462E2-104D-4C72-A57E-173D5DCE3396","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111963":{"id":"articles-111963","staticContentId":9725,"eventContentId":111963,"eventId":"articles","contentUpdatedAt":"2024-06-24T14:09:21-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=tc8qyt2t","languageCode":"eng","description":"Catch all the highlights from an incredible week at WWDC24.","title":"Today @ WWDC24: Day 5","articleID":"840d7b2f-ac1e-4138-b819-0bcf94900763","pageID":"840d7b2f-ac1e-4138-b819-0bcf94900763","articlePermalinkKey":"tc8qyt2t","pagePermalinkKey":"tc8qyt2t","originalPublishingDate":"2024-06-14T07:00:05-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"72584F71-B984-4CCF-BF88-C99316360C13","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111596":{"id":"articles-111596","staticContentId":9030,"eventContentId":111596,"eventId":"articles","contentUpdatedAt":"2024-02-08T18:17:11-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=5mcfho5g","languageCode":"eng","description":"Get tips on writing clear onboarding flows, uplifting content, and effective notifications.","title":"Q&A with the Apple UX writing team","articleID":"313c929c-7b24-4459-9d40-28cb72ca9b46","pageID":"313c929c-7b24-4459-9d40-28cb72ca9b46","articlePermalinkKey":"5mcfho5g","pagePermalinkKey":"5mcfho5g","originalPublishingDate":"2024-02-08T08:00:51-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"69F87533-F623-44CC-9C1C-8A2BAA1EA357","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111595":{"id":"articles-111595","staticContentId":9029,"eventContentId":111595,"eventId":"articles","contentUpdatedAt":"2023-12-07T10:13:42-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=fi8ne6ji","languageCode":"eng","description":"Get expert advice from the Apple design team on creating experiences for Apple Vision Pro.","title":"Q&A: Spatial design for visionOS","articleID":"24cf93d1-3e62-41a8-b49f-19517287f411","pageID":"24cf93d1-3e62-41a8-b49f-19517287f411","articlePermalinkKey":"fi8ne6ji","pagePermalinkKey":"fi8ne6ji","originalPublishingDate":"2023-12-07T09:10:04-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F9E085B7-C2DB-451E-9DF0-84F0EBB9D93D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110197":{"id":"articles-110197","staticContentId":7312,"eventContentId":110197,"eventId":"articles","contentUpdatedAt":"2022-05-26T15:21:45-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=k2vuowbi","languageCode":"eng","description":"Welcome to the latest version of the Apple Developer app \u2014 your resource to help you create great apps for Mac, iPhone, iPad, Apple Watch, and Apple TV, and the best way to experience WWDC.","title":"Welcome to the Apple Developer app","articleID":"b39b5b35-b233-4482-ba24-a5119e0611d8","pageID":"b39b5b35-b233-4482-ba24-a5119e0611d8","articlePermalinkKey":"k2vuowbi","pagePermalinkKey":"k2vuowbi","originalPublishingDate":"2022-05-26T07:00:58-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0415FD60-C37F-4FA5-A775-0403D1DC4C91","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111590":{"id":"articles-111590","staticContentId":8993,"eventContentId":111590,"eventId":"articles","contentUpdatedAt":"2023-06-26T15:53:30-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=702kakwv","languageCode":"eng","description":"Learn about the latest technologies, frameworks, and APIs introduced at WWDC23.","title":"Discover documentation and sample code","articleID":"ffd154c7-d8dc-49ce-9732-625eaa15129b","pageID":"ffd154c7-d8dc-49ce-9732-625eaa15129b","articlePermalinkKey":"702kakwv","pagePermalinkKey":"702kakwv","originalPublishingDate":"2023-06-07T11:00:42-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"30337536-F3F2-46AF-95D4-71B6837BFFB2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111962":{"id":"articles-111962","staticContentId":9724,"eventContentId":111962,"eventId":"articles","contentUpdatedAt":"2024-06-24T14:09:01-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=rfucqnzd","languageCode":"eng","description":"Get ready for a big Day 4 at WWDC24.","title":"Today @ WWDC24: Day 4","articleID":"add1c452-b7a7-4c43-9205-e616f9d20702","pageID":"add1c452-b7a7-4c43-9205-e616f9d20702","articlePermalinkKey":"rfucqnzd","pagePermalinkKey":"rfucqnzd","originalPublishingDate":"2024-06-13T07:00:00-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F774882B-F94A-45CC-B53D-9B4DBD42E6F4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110941":{"id":"articles-110941","staticContentId":7763,"eventContentId":110941,"eventId":"articles","contentUpdatedAt":"2022-10-05T15:44:22-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ye4ua5t0","languageCode":"eng","description":"Start the development process using customized planning guides for each Apple platform.","title":"Plan your app","articleID":"e2b0b487-b861-4f86-a888-7ee1e208becd","pageID":"e2b0b487-b861-4f86-a888-7ee1e208becd","articlePermalinkKey":"ye4ua5t0","pagePermalinkKey":"ye4ua5t0","originalPublishingDate":"2022-10-05T12:00:23-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"CA5F8CFC-53A6-4EE4-8C6A-00A6EE9257C4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10712":{"id":"articles-10712","staticContentId":3984,"eventContentId":10712,"eventId":"articles","contentUpdatedAt":"2026-09-22T08:22:00-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ywd3upss","languageCode":"eng","description":"Explore this collection for some of our top tips for making sure your bug report is clear, actionable, and - most importantly \u2014 fixable.","title":"File effective bug reports","articleID":"20ccd383-afcd-4f3f-8cc1-9ad85d67d657","pageID":"20ccd383-afcd-4f3f-8cc1-9ad85d67d657","articlePermalinkKey":"ywd3upss","pagePermalinkKey":"ywd3upss","originalPublishingDate":"2022-06-02T08:05:00-07:00","publishingExpiryDate":"2099-06-02T08:00:00-08:00","topicIds":[88,90],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BB321C2F-E013-437E-95E6-D0B12BFAFB28","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112167":{"id":"articles-112167","staticContentId":11393,"eventContentId":112167,"eventId":"articles","contentUpdatedAt":"2026-10-06T10:12:43-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=gv788oj6","languageCode":"eng","description":"In this edition: Get tips on submitting your iPhone Duo app, sign up for new iPhone Duo Group Labs, browse new activities, explore localized documentation, and much more.","title":"Hello Developer: October 2026","articleID":"9903f67f-846a-4560-9e35-52ea64f0702b","pageID":"9903f67f-846a-4560-9e35-52ea64f0702b","articlePermalinkKey":"gv788oj6","pagePermalinkKey":"gv788oj6","originalPublishingDate":"2026-10-06T08:00:23-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"keywords":["app store","documentation","hello","hello developer","iphone duo","meet with apple"],"primaryTopicID":87,"topicIds":[86,88,99,100,87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F74590F2-B4B4-45D0-9478-D88396FB7731","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"articles-111073":{"id":"articles-111073","staticContentId":8893,"eventContentId":111073,"eventId":"articles","contentUpdatedAt":"2023-06-05T10:03:46-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=djsoqvsa","languageCode":"eng","description":"Kick off an exhilarating week with exciting reveals of the latest Apple software and technologies.","title":"Rewatch the Keynote","articleID":"7c02cb9e-8da7-471c-bece-59283b2c6131","pageID":"7c02cb9e-8da7-471c-bece-59283b2c6131","articlePermalinkKey":"djsoqvsa","pagePermalinkKey":"djsoqvsa","originalPublishingDate":"2023-06-01T09:00:31-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B6720B0C-6699-4F41-A654-7EF7950941F0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110771":{"id":"articles-110771","staticContentId":7460,"eventContentId":110771,"eventId":"articles","contentUpdatedAt":"2022-08-24T10:26:01-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=x6bv1a36","languageCode":"eng","description":"Discover how this Apple Design Award winner created a minimalist camera with (lens) flair.","title":"Behind the Design: Halide Mark II","articleID":"03386cf1-5154-4571-bd15-7f82f9348251","pageID":"03386cf1-5154-4571-bd15-7f82f9348251","articlePermalinkKey":"x6bv1a36","pagePermalinkKey":"x6bv1a36","originalPublishingDate":"2022-07-05T07:00:58-07:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FD3ECF6E-83F6-4DDE-90D6-BD3746B5F5EF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111645":{"id":"articles-111645","staticContentId":9716,"eventContentId":111645,"eventId":"articles","contentUpdatedAt":"2024-06-06T11:30:42-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=bmjpmt24","languageCode":"eng","description":"Tune in at 10 a.m. PT on June 10 to catch the exciting reveal of the latest Apple software and technologies.","title":"Watch the WWDC24 Keynote","articleID":"28a59fc9-b424-4d54-92d3-49c77a8756af","pageID":"28a59fc9-b424-4d54-92d3-49c77a8756af","articlePermalinkKey":"bmjpmt24","pagePermalinkKey":"bmjpmt24","originalPublishingDate":"2024-06-06T07:00:04-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2D88AA9A-BFD0-42A1-9FE7-7D56A1C7D72D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111585":{"id":"articles-111585","staticContentId":8948,"eventContentId":111585,"eventId":"articles","contentUpdatedAt":"2024-06-25T17:42:36-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=t1l0kbff","languageCode":"eng","description":"Welcome to day two of WWDC!","title":"Tuesday @ WWDC23","articleID":"9124f790-84a2-4a57-8d96-7a91d0c7f366","pageID":"9124f790-84a2-4a57-8d96-7a91d0c7f366","articlePermalinkKey":"t1l0kbff","pagePermalinkKey":"t1l0kbff","originalPublishingDate":"2023-06-06T07:00:14-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D7D42E3A-DA18-43AB-A2B8-6F6201B8553A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111082":{"id":"articles-111082","staticContentId":8911,"eventContentId":111082,"eventId":"articles","contentUpdatedAt":"2023-06-12T15:02:12-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=0x08hncy","languageCode":"eng","description":"Learn how the Afterburn game studio created this tricky track puzzler.","title":"Behind the Design: Railbound","articleID":"d14d4997-1f5b-4c80-bf81-7241213d8555","pageID":"d14d4997-1f5b-4c80-bf81-7241213d8555","articlePermalinkKey":"0x08hncy","pagePermalinkKey":"0x08hncy","originalPublishingDate":"2023-06-05T18:00:09-07:00","topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C24D4581-286B-46F7-95E7-F529AA9ADBCB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111065":{"id":"articles-111065","staticContentId":8430,"eventContentId":111065,"eventId":"articles","contentUpdatedAt":"2023-05-17T00:11:17-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=kjhe3604","languageCode":"eng","description":"Discover how you can make sure your bug report is clear, actionable, and \u2014 most importantly \u2014 fixable.","title":"Report bugs effectively","articleID":"70a3422d-f8aa-48f3-939d-c31541e13d05","pageID":"70a3422d-f8aa-48f3-939d-c31541e13d05","articlePermalinkKey":"kjhe3604","pagePermalinkKey":"kjhe3604","originalPublishingDate":"2023-05-17T07:00:58-07:00","primaryTopicID":88,"topicIds":[90,88],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"EB917616-DC7E-4F34-B50D-9F88226CD1C2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111080":{"id":"articles-111080","staticContentId":8909,"eventContentId":111080,"eventId":"articles","contentUpdatedAt":"2023-06-12T15:00:24-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=fkfnhq8u","languageCode":"eng","description":"Find out how the Headspace team made its app \"approachable and friendly.\"","title":"Behind the Design: Headspace","articleID":"e499c127-bfda-4da9-b48e-cee8dd533134","pageID":"e499c127-bfda-4da9-b48e-cee8dd533134","articlePermalinkKey":"fkfnhq8u","pagePermalinkKey":"fkfnhq8u","originalPublishingDate":"2023-06-05T18:00:30-07:00","topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D8E98884-1721-41DD-B1F1-735D68FF8314","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111079":{"id":"articles-111079","staticContentId":8908,"eventContentId":111079,"eventId":"articles","contentUpdatedAt":"2023-06-12T14:21:33-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=970ncww4","languageCode":"eng","description":"Find out how Ryan Jones created this best-in-class travel app.","title":"Behind the Design: Flighty","articleID":"94349071-186b-4c56-b77e-af54d19250e4","pageID":"94349071-186b-4c56-b77e-af54d19250e4","articlePermalinkKey":"970ncww4","pagePermalinkKey":"970ncww4","originalPublishingDate":"2023-06-05T18:00:14-07:00","topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7B29F5A7-6805-4CF1-BB59-69756D1E5BC6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110129":{"id":"articles-110129","staticContentId":5920,"eventContentId":110129,"eventId":"articles","contentUpdatedAt":"2026-08-04T16:09:25-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ihj57oie","languageCode":"eng","description":"","title":"Developer Spotlight: SmartGym","articleID":"86c08af6-bb34-4705-b0a9-6c91461a5885","pageID":"86c08af6-bb34-4705-b0a9-6c91461a5885","articlePermalinkKey":"ihj57oie","pagePermalinkKey":"ihj57oie","originalPublishingDate":"2021-08-04T11:06:18-07:00","primaryTopicID":86,"topicIds":[86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0A6FC812-0219-4F5E-8402-5326FB417608","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110935":{"id":"articles-110935","staticContentId":7579,"eventContentId":110935,"eventId":"articles","contentUpdatedAt":"2022-11-03T11:22:33-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9ab1g4r3","languageCode":"eng","description":"(Not Boring) Habits reboots a traditional app category with spiffy aesthetics, zingy haptics, and plenty of fun.","title":"Behind the Design: (Not Boring) Habits","articleID":"dca0a8d5-a292-4b2b-8597-256dcc740445","pageID":"dca0a8d5-a292-4b2b-8597-256dcc740445","articlePermalinkKey":"9ab1g4r3","pagePermalinkKey":"9ab1g4r3","originalPublishingDate":"2022-08-29T07:00:32-07:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"6CE88C63-89CC-4246-955F-91BC46D415A5","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111084":{"id":"articles-111084","staticContentId":8913,"eventContentId":111084,"eventId":"articles","contentUpdatedAt":"2023-06-12T15:09:50-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=0pg4dthn","languageCode":"eng","description":"Discover how the SwingVision team served up the definitive tennis app.","title":"Behind the Design: SwingVision","articleID":"94b65523-ceaa-4376-b0b6-15119577add9","pageID":"94b65523-ceaa-4376-b0b6-15119577add9","articlePermalinkKey":"0pg4dthn","pagePermalinkKey":"0pg4dthn","originalPublishingDate":"2023-06-05T18:00:37-07:00","topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9BC67343-8478-421D-835E-7DBCBD4C2621","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110152":{"id":"articles-110152","staticContentId":6335,"eventContentId":110152,"eventId":"articles","contentUpdatedAt":"2021-10-25T14:06:49-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=m1mmw99d","languageCode":"eng","description":"","title":"Developer Spotlight: Copilot","articleID":"471468f4-4462-4aeb-9dde-1bdec30139f1","pageID":"471468f4-4462-4aeb-9dde-1bdec30139f1","articlePermalinkKey":"m1mmw99d","pagePermalinkKey":"m1mmw99d","originalPublishingDate":"2021-11-02T06:00:15-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E4169547-64C7-4524-B3BA-969A6F831D09","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10716":{"id":"articles-10716","staticContentId":4142,"eventContentId":10716,"eventId":"articles","contentUpdatedAt":"2025-06-24T15:50:56-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=q78sq5rv","languageCode":"eng","description":"If you\u2019ve ever used Wi-Fi on an airplane, in a cafe, or at a hotel, you're probably familiar with the experience of navigating through a set of agreements, watching an advertisement, or purchasing a plan to get on the Internet. These \u201ccaptive\u201d networks are important ways to get online, but all too often they lead to headaches. \u201cHow do I get to the login page? How much time do I have left before my plan runs out?\u201d","title":"How to modernize your captive network","articleID":"d4a45723-4d67-425a-8770-f786315e248e","pageID":"d4a45723-4d67-425a-8770-f786315e248e","articlePermalinkKey":"q78sq5rv","pagePermalinkKey":"q78sq5rv","originalPublishingDate":"2020-06-22T10:00:53-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","topicIds":[96,101],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E57654FB-9FD1-4D4A-B96D-4339EBA82B33","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112004":{"id":"articles-112004","staticContentId":10496,"eventContentId":112004,"eventId":"articles","contentUpdatedAt":"2025-06-09T13:33:55-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9q6q24m5","languageCode":"eng","description":"WWDC25 is here! Watch a quick welcome video to help you get started, then dive into sessions and sign up for tomorrow\u2019s group labs.","title":"Today @ WWDC25: Day 1","articleID":"04e26d64-cde0-4626-a275-c510f690af0e","pageID":"04e26d64-cde0-4626-a275-c510f690af0e","articlePermalinkKey":"9q6q24m5","pagePermalinkKey":"9q6q24m5","originalPublishingDate":"2025-06-04T16:59:40-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5DE634B2-78F2-4F86-8343-A767A3E161D9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-100088":{"id":"articles-100088","staticContentId":5471,"eventContentId":100088,"eventId":"articles","contentUpdatedAt":"2026-05-01T17:06:23-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=m2dgav2r","languageCode":"eng","description":"When Ran Flasterstein and Jody McLain started developing together, apps weren\u2019t called apps yet.","title":"Developer Spotlight: Tangerine","articleID":"11efb83f-16f4-456f-a27b-1a8d3141cdb5","pageID":"11efb83f-16f4-456f-a27b-1a8d3141cdb5","articlePermalinkKey":"m2dgav2r","pagePermalinkKey":"m2dgav2r","originalPublishingDate":"2021-04-30T05:00:33-07:00","primaryTopicID":86,"topicIds":[86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"927A455C-090B-4226-924C-B9E565355792","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111074":{"id":"articles-111074","staticContentId":8894,"eventContentId":111074,"eventId":"articles","contentUpdatedAt":"2023-06-09T14:35:43-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=gxtoci7w","languageCode":"eng","description":"Get an in-depth look at the future of Apple platforms and the advances that empower you to create even better apps.","title":"Rewatch the Platforms State of the Union","articleID":"292d1488-750e-47de-a78d-42c21ccab156","pageID":"292d1488-750e-47de-a78d-42c21ccab156","articlePermalinkKey":"gxtoci7w","pagePermalinkKey":"gxtoci7w","originalPublishingDate":"2023-06-02T09:01:27-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"70728836-8A32-4EAD-91BC-2D7237264B33","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111042":{"id":"articles-111042","staticContentId":7921,"eventContentId":111042,"eventId":"articles","contentUpdatedAt":"2024-02-09T09:42:47-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=c6jwep5j","languageCode":"eng","description":"","title":"App Store Awards 2022","articleID":"398a9ab4-cfe1-4b84-8ccf-330bb239d57b","pageID":"398a9ab4-cfe1-4b84-8ccf-330bb239d57b","articlePermalinkKey":"c6jwep5j","pagePermalinkKey":"c6jwep5j","originalPublishingDate":"2022-11-28T20:00:29-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"71278328-CC0D-4F06-BD52-DF793297B4C8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110155":{"id":"articles-110155","staticContentId":6342,"eventContentId":110155,"eventId":"articles","contentUpdatedAt":"2021-10-27T10:56:20-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=j336txrn","languageCode":"eng","description":"","title":"Developer Spotlight: Coral","articleID":"1645ab7a-e5f1-46b2-8246-972701208d65","pageID":"1645ab7a-e5f1-46b2-8246-972701208d65","articlePermalinkKey":"j336txrn","pagePermalinkKey":"j336txrn","originalPublishingDate":"2021-11-23T06:00:08-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FAA259F0-02B5-4964-9B53-E17F2A5AA3A6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112082":{"id":"articles-112082","staticContentId":10831,"eventContentId":112082,"eventId":"articles","contentUpdatedAt":"2026-04-03T10:33:47-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9mgkwjnm","languageCode":"eng","description":"Infinity Nikki is a literally glowing example of what video game graphics can be.","title":"How Infold Games fashioned an open world for Infinity Nikki","articleID":"1c5cfa14-eb4d-4645-b839-ef6ecaf7df45","pageID":"1c5cfa14-eb4d-4645-b839-ef6ecaf7df45","articlePermalinkKey":"9mgkwjnm","pagePermalinkKey":"9mgkwjnm","originalPublishingDate":"2026-04-03T09:02:01-07:00","platforms":["iOS","iPadOS"],"keywords":["games","graphics","ios","ipados"],"primaryTopicID":91,"topicIds":[87,91],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"00F35674-1F8B-44CA-8E5B-1E33A942152D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10234":{"id":"articles-10234","staticContentId":3776,"eventContentId":10234,"eventId":"articles","contentUpdatedAt":"2025-06-24T15:50:56-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=vk3m204o","languageCode":"eng","description":"Recent Apple Silicon like A13 Bionic has both high-performance cores (P cores) and high-efficiency cores (E cores). These different core types allow you to deliver apps that have both great performance and great battery life. To take full advantage of their performance and efficiency, you can provide the operating system (OS) with information about how to execute your app in the most optimal way. From there, the OS uses semantic information to make better scheduling and performance control decisions.","title":"Optimize for Apple Silicon with performance and efficiency cores","articleID":"55fc5c20-2509-4cc8-950b-c5b348065a63","pageID":"55fc5c20-2509-4cc8-950b-c5b348065a63","articlePermalinkKey":"vk3m204o","pagePermalinkKey":"vk3m204o","originalPublishingDate":"2020-06-22T12:00:09-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["macOS"],"primaryTopicID":88,"topicIds":[88],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5CA6A13E-1D23-4336-997F-A7C5467FA8A5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10686","wwdc2017-706","wwdc2016-411","wwdc2015-718"],"resources":[160,159]}},"articles-10201":{"id":"articles-10201","staticContentId":3551,"eventContentId":10201,"eventId":"articles","contentUpdatedAt":"2025-08-28T10:04:42-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=q9fq8jkq","languageCode":"eng","description":"Learn design best practices through interviews and artifacts and uncover what it takes to design an award winning app.","title":"Behind the Design: Song of Bloom","articleID":"2a008b71-5be9-4b7c-b754-66eb86aded9e","pageID":"2a008b71-5be9-4b7c-b754-66eb86aded9e","articlePermalinkKey":"q9fq8jkq","pagePermalinkKey":"q9fq8jkq","originalPublishingDate":"2020-08-21T08:40:22-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["ada","adas","apple design awards","apple design awards 2020"],"primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D251A66C-335D-487A-8577-8A30682403E1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111598":{"id":"articles-111598","staticContentId":9034,"eventContentId":111598,"eventId":"articles","contentUpdatedAt":"2024-02-09T09:42:12-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=g0x5mvvz","languageCode":"eng","description":"How Greg Johnson and team created a cute cartoon adventure.","title":"The \u201csweet, creative\u201d world of Kimono Cats","articleID":"50f3b0aa-3974-4e4c-b8c0-3971c371b0d6","pageID":"50f3b0aa-3974-4e4c-b8c0-3971c371b0d6","articlePermalinkKey":"g0x5mvvz","pagePermalinkKey":"g0x5mvvz","originalPublishingDate":"2023-11-09T01:59:28-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"666B6CB0-E5A0-4DF5-A269-07F911CBD7BF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112076":{"id":"articles-112076","staticContentId":10751,"eventContentId":112076,"eventId":"articles","contentUpdatedAt":"2026-03-03T09:34:58-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=xjifig9f","languageCode":"eng","description":"With features like voice AI chat, text-to-speech, and voice typing, Speechify aims to be a full-time AI assistant \u2014 one that doesn\u2019t require a keyboard at all.","title":"How Speechify is evolving into a hands-free AI assistant","articleID":"8c5943da-1b56-4c3b-a989-96ab656b4fc0","pageID":"8c5943da-1b56-4c3b-a989-96ab656b4fc0","articlePermalinkKey":"xjifig9f","pagePermalinkKey":"xjifig9f","originalPublishingDate":"2026-03-03T06:00:15-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A7C0D701-D7DB-441B-99F7-EC92F7EF5D6D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-11047":{"id":"articles-11047","staticContentId":4743,"eventContentId":11047,"eventId":"articles","contentUpdatedAt":"2025-10-15T15:17:50-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=8wfd42ni","languageCode":"eng","description":"","title":"Build AR experiences for iPhone and iPad","articleID":"7202c539-20ed-46f3-b711-5af7f3225a87","pageID":"7202c539-20ed-46f3-b711-5af7f3225a87","articlePermalinkKey":"8wfd42ni","pagePermalinkKey":"8wfd42ni","originalPublishingDate":"2020-10-13T08:00:37-07:00","publishingExpiryDate":"2030-10-13T11:19:00-07:00","primaryTopicID":85,"topicIds":[85],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FB4AAE21-17FC-4678-934E-3DEC3D94B1E6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110939":{"id":"articles-110939","staticContentId":7698,"eventContentId":110939,"eventId":"articles","contentUpdatedAt":"2025-06-05T11:45:33-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3ne3586t","languageCode":"eng","description":"Now that you\u2019ve watched September's Apple Event, get ready for the release of iOS 16, tvOS 16, and watchOS 9. ","title":"Get ready for iOS 16, tvOS 16, and watchOS 9","articleID":"0724b708-986b-4f0f-a4ba-84ea6f8c9992","pageID":"0724b708-986b-4f0f-a4ba-84ea6f8c9992","articlePermalinkKey":"3ne3586t","pagePermalinkKey":"3ne3586t","originalPublishingDate":"2022-09-08T07:00:06-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2A5CF25C-7C08-4D4D-A016-32D74194006F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111076":{"id":"articles-111076","staticContentId":8905,"eventContentId":111076,"eventId":"articles","contentUpdatedAt":"2023-06-12T14:20:03-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=uiiopcl8","languageCode":"eng","description":"Learn how Luke Beard and Daniel Kuntz created the design-forward fitness tracker Any Distance. ","title":"Behind the Design: Any Distance","articleID":"0387824a-2fe9-4bf7-8924-eb68703cb0e2","pageID":"0387824a-2fe9-4bf7-8924-eb68703cb0e2","articlePermalinkKey":"uiiopcl8","pagePermalinkKey":"uiiopcl8","originalPublishingDate":"2023-06-05T18:00:29-07:00","topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"DD2E16EF-0A22-4189-BDBA-591C0552782D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111601":{"id":"articles-111601","staticContentId":9060,"eventContentId":111601,"eventId":"articles","contentUpdatedAt":"2023-08-29T13:27:05-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=29c7dtwk","languageCode":"eng","description":"Join us for a special Apple Event on September 12 at 10 a.m. PT.","title":"Watch the special Apple Event","articleID":"e4bb06e8-8df9-4c06-ae18-a583e9f95daf","pageID":"e4bb06e8-8df9-4c06-ae18-a583e9f95daf","articlePermalinkKey":"29c7dtwk","pagePermalinkKey":"29c7dtwk","originalPublishingDate":"2023-08-29T07:00:44-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"AC275255-EDD9-4888-B454-7DC3C7EE8F7F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110099":{"id":"articles-110099","staticContentId":5723,"eventContentId":110099,"eventId":"articles","contentUpdatedAt":"2022-06-05T01:05:30-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9njsyaod","languageCode":"eng","description":"Whether you have a question about a new API, want design guidance, have a question for the App Store Review team, or simply want to understand a bit more about a technology, WWDC developer labs are a great opportunity to connect one-on-one with Apple engineers, designers, and specialists.","title":"Explore developer labs at WWDC22","articleID":"90d6ad67-bd92-4138-a855-8caf500fedc8","pageID":"90d6ad67-bd92-4138-a855-8caf500fedc8","articlePermalinkKey":"9njsyaod","pagePermalinkKey":"9njsyaod","originalPublishingDate":"2022-06-04T08:00:07-07:00","topicIds":[88,90],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3D0E99BE-D9D8-4C6B-B0AF-E2E87D3B99B0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10102":{"id":"articles-10102","staticContentId":3717,"eventContentId":10102,"eventId":"articles","contentUpdatedAt":"2024-08-08T17:30:16-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=0oi77447","languageCode":"eng","description":"Apps use multicast networking to see and talk to other devices on their local networks. For example, an app might discover smart lightbulbs connected to a person\u2019s Wi-Fi network and send them messages to turn on or off the lights. ","title":"How to use multicast networking in your app","articleID":"ce2b47f3-c5be-4054-90fc-217f79aaeda4","pageID":"ce2b47f3-c5be-4054-90fc-217f79aaeda4","articlePermalinkKey":"0oi77447","pagePermalinkKey":"0oi77447","originalPublishingDate":"2020-06-22T11:55:41-07:00","platforms":["iOS","iPadOS","macOS"],"topicIds":[96,101],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9859983D-DD08-4F94-AFA0-91B01CAF62A8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10110","wwdc2020-10702","wwdc2020-10856","wwdc2020-10857","wwdc2020-10858"]}},"articles-112159":{"id":"articles-112159","staticContentId":11335,"eventContentId":112159,"eventId":"articles","contentUpdatedAt":"2026-09-02T10:46:32-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ote61lrx","languageCode":"eng","description":"In this edition: Get ready for a special Apple\u00a0Event, take advantage of Analytics in App\u00a0Store\u00a0Connect, and sign up for new developer events in\u00a0Cupertino.","title":"Hello Developer: September 2026","articleID":"a24a0b05-2279-4a6d-8d8d-89532f30cdd8","pageID":"a24a0b05-2279-4a6d-8d8d-89532f30cdd8","articlePermalinkKey":"ote61lrx","pagePermalinkKey":"ote61lrx","originalPublishingDate":"2026-09-02T08:00:02-07:00","keywords":["apple intelligence","app store","app store connect","hello","hello developer"],"primaryTopicID":86,"topicIds":[82,94,84,87,88,91,99,100,86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FBF6600A-02E4-4E70-80F2-343771CC3767","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"articles-112143":{"id":"articles-112143","staticContentId":11289,"eventContentId":112143,"eventId":"articles","contentUpdatedAt":"2026-07-07T09:41:21-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=grx7lcto","languageCode":"eng","description":"In this edition: Try an all-new search tool on the Apple Developer website, download design kits for Figma and Sketch, and more.","title":"Hello Developer: July 2026","articleID":"33ff4f24-aace-4565-84af-14d7936c8437","pageID":"33ff4f24-aace-4565-84af-14d7936c8437","articlePermalinkKey":"grx7lcto","pagePermalinkKey":"grx7lcto","originalPublishingDate":"2026-07-07T09:00:15-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":90,"topicIds":[94,87,88,91,99,100,90],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A467CD8F-E289-43A4-AC82-EA93BF777D51","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"articles-10720":{"id":"articles-10720","staticContentId":4146,"eventContentId":10720,"eventId":"articles","contentUpdatedAt":"2021-09-13T07:13:15-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=cit41bl3","languageCode":"eng","description":"Say hello to the latest version of the Apple Developer app. Whether you\u2019re a computer science student in China or a veteran UI designer in Germany, the Developer app can help you make truly great apps for Mac, iPhone, iPad, Apple Watch, and Apple TV.","title":"Welcome to the Apple Developer app","articleID":"a81410b3-f6cf-4a90-81c9-2393e190a36f","pageID":"a81410b3-f6cf-4a90-81c9-2393e190a36f","articlePermalinkKey":"cit41bl3","pagePermalinkKey":"cit41bl3","originalPublishingDate":"2020-06-15T07:00:19-07:00","publishingExpiryDate":"2080-06-15T11:07:10-08:00","primaryTopicID":90,"topicIds":[90],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"86A38E62-BD11-4A67-81B6-C04F61314FCA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110170":{"id":"articles-110170","staticContentId":6406,"eventContentId":110170,"eventId":"articles","contentUpdatedAt":"2024-12-02T15:50:40-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ksfkdwpr","languageCode":"eng","description":"Learn how you can enable Family Sharing for your subscriptions to grow your subscription business, encourage paid memberships, and improve subscriber retention.","title":"Enable Family Sharing for your subscriptions","articleID":"24ef01b9-9cbc-4b6e-b863-6992a9d1fe14","pageID":"24ef01b9-9cbc-4b6e-b863-6992a9d1fe14","articlePermalinkKey":"ksfkdwpr","pagePermalinkKey":"ksfkdwpr","originalPublishingDate":"2022-02-15T10:00:46-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E70ADE4F-74E5-4AAD-862C-4D4DE952EF58","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10839":{"id":"articles-10839","staticContentId":4462,"eventContentId":10839,"eventId":"articles","contentUpdatedAt":"2025-06-24T15:50:55-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=znjsso0m","languageCode":"eng","description":"","title":"Conversations at WWDC","articleID":"1e2d4c39-f9ff-456c-b186-57bdde54f8ce","pageID":"1e2d4c39-f9ff-456c-b186-57bdde54f8ce","articlePermalinkKey":"znjsso0m","pagePermalinkKey":"znjsso0m","originalPublishingDate":"2020-06-21T18:05:37-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","primaryTopicID":90,"topicIds":[90],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"6F72A810-7B62-43B9-B9C3-C1C96D5ACDF8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-100086":{"id":"articles-100086","staticContentId":5246,"eventContentId":100086,"eventId":"articles","contentUpdatedAt":"2026-04-20T11:07:55-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ov89key7","languageCode":"eng","description":"Runners are all about pace\u2014and Rahul Matta\u2019s has really been picking up.","title":"Developer Spotlight: Three is a Magic Number","articleID":"9d28ecfd-61f5-409b-ae95-832e43e64363","pageID":"9d28ecfd-61f5-409b-ae95-832e43e64363","articlePermalinkKey":"ov89key7","pagePermalinkKey":"ov89key7","originalPublishingDate":"2021-04-16T05:00:33-07:00","publishingExpiryDate":"2035-04-15T13:29:33-07:00","primaryTopicID":86,"topicIds":[86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2BF0E3DE-E576-496E-943D-761B16820143","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-11065":{"id":"articles-11065","staticContentId":4859,"eventContentId":11065,"eventId":"articles","contentUpdatedAt":"2026-01-29T11:42:58-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=67dti69d","languageCode":"eng","description":"If you\u2019re a productivity-minded person, there\u2019s only one thing better than crossing something off your to-do list: Crossing everything off your to-do list.","title":"Developer Spotlight: Streaks","articleID":"735be117-4f69-4c9e-8f22-44dcfef74bd7","pageID":"735be117-4f69-4c9e-8f22-44dcfef74bd7","articlePermalinkKey":"67dti69d","pagePermalinkKey":"67dti69d","originalPublishingDate":"2021-02-05T05:00:00-08:00","publishingExpiryDate":"2031-01-26T07:38:51-08:00","primaryTopicID":86,"topicIds":[86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"CD2646C3-589F-493A-8BD4-180E37985589","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110194":{"id":"articles-110194","staticContentId":7062,"eventContentId":110194,"eventId":"articles","contentUpdatedAt":"2022-05-09T08:24:05-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9387rygg","languageCode":"eng","description":"","title":"HQ is calling.","articleID":"562fc052-115f-46a4-b089-6785d25b9aee","pageID":"562fc052-115f-46a4-b089-6785d25b9aee","articlePermalinkKey":"9387rygg","pagePermalinkKey":"9387rygg","originalPublishingDate":"2022-05-03T09:00:52-07:00","publishingExpiryDate":"2027-05-09T08:00:56-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F89655DF-4A15-42A5-9BD3-2C5A38916A46","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-100093":{"id":"articles-100093","staticContentId":5583,"eventContentId":100093,"eventId":"articles","contentUpdatedAt":"2026-05-14T13:32:31-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=49kujfn1","languageCode":"eng","description":"When Adam Debreczeni, cofounder of *Primer: AR Home Design*, wanted to pick a new color for his office walls, he had an elegant solution. In fact, he\u2019d invented it.","title":"Developer Spotlight: Apollo for Reddit","articleID":"431039b1-2214-4f8f-891d-7d5c3cc56d44","pageID":"431039b1-2214-4f8f-891d-7d5c3cc56d44","articlePermalinkKey":"49kujfn1","pagePermalinkKey":"49kujfn1","originalPublishingDate":"2021-05-14T05:00:10-07:00","primaryTopicID":86,"topicIds":[86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E0B44232-D6FE-42FE-B1AA-E8890AD6161F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110153":{"id":"articles-110153","staticContentId":6336,"eventContentId":110153,"eventId":"articles","contentUpdatedAt":"2021-10-27T09:58:10-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=h8wvx2p9","languageCode":"eng","description":"","title":"Developer Spotlight: S\u2019moresUp","articleID":"620a4809-7b33-4018-a1db-32afeef2b8b1","pageID":"620a4809-7b33-4018-a1db-32afeef2b8b1","articlePermalinkKey":"h8wvx2p9","pagePermalinkKey":"h8wvx2p9","originalPublishingDate":"2021-11-09T06:00:46-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7794DE35-6D84-42BF-B2F5-233042D6682E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110134":{"id":"articles-110134","staticContentId":5942,"eventContentId":110134,"eventId":"articles","contentUpdatedAt":"2025-11-18T01:16:17-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ftkfxb8m","languageCode":"eng","description":"Maps Web Snapshots let you visually share important points of interest and details including business locations, geographic boundaries, and routes \u2014 simply by loading a URL. ","title":"Add a Maps Web Snapshot to your online content","articleID":"1947ca33-20ee-4185-9e33-b9302ef7dced","pageID":"1947ca33-20ee-4185-9e33-b9302ef7dced","articlePermalinkKey":"ftkfxb8m","pagePermalinkKey":"ftkfxb8m","originalPublishingDate":"2022-01-04T01:00:19-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0FDB983D-D78B-4294-B049-34D0E7A38954","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112036":{"id":"articles-112036","staticContentId":10593,"eventContentId":112036,"eventId":"articles","contentUpdatedAt":"2025-08-05T09:40:24-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4qkavrhc","languageCode":"eng","description":"Sign up for new Apple developer workshops all over the world. Plus, download Apple UI design kits for Figma and Sketch, meet the Italy-based team behind Sunlitt, and more.","title":"Hello Developer: August 2025","articleID":"6e5b81f6-04e2-4e5b-9e0e-4e60cd8e6d11","pageID":"6e5b81f6-04e2-4e5b-9e0e-4e60cd8e6d11","articlePermalinkKey":"4qkavrhc","pagePermalinkKey":"4qkavrhc","originalPublishingDate":"2025-08-05T05:00:16-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"002523C9-3FE4-482A-A442-F28C3C71801F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10776":{"id":"articles-10776","staticContentId":4202,"eventContentId":10776,"eventId":"articles","contentUpdatedAt":"2021-09-13T07:32:15-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=1jtr1i20","languageCode":"eng","description":"","title":"Ratings, Reviews, and Responses","articleID":"41b7cf94-d51e-43e2-b6fa-c8438a4f5d0f","pageID":"41b7cf94-d51e-43e2-b6fa-c8438a4f5d0f","articlePermalinkKey":"1jtr1i20","pagePermalinkKey":"1jtr1i20","originalPublishingDate":"2020-03-05T10:00:25-08:00","primaryTopicID":86,"topicIds":[86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A2199606-A0AE-49FC-905E-A7D51FEC1576","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112100":{"id":"articles-112100","staticContentId":10991,"eventContentId":112100,"eventId":"articles","contentUpdatedAt":"2026-06-02T10:40:32-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=cpt08xv8","languageCode":"eng","description":"With gorgeous graphics, 3D combat action, and large-scale linear environments, the latest game from Shanghai-based developer HyperGryph pushes the boundaries of what's possible on iPhone and iPad.","title":"The rise of Arknights: Endfield","articleID":"f855b69c-4ad0-48da-851e-0f82da37e41e","pageID":"f855b69c-4ad0-48da-851e-0f82da37e41e","articlePermalinkKey":"cpt08xv8","pagePermalinkKey":"cpt08xv8","originalPublishingDate":"2026-05-15T07:00:28-07:00","platforms":["iOS","iPadOS"],"keywords":["games","graphics","graphics &amp; games","ios","ipados"],"primaryTopicID":91,"topicIds":[87,91],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D4B96C48-282E-42BE-84CF-93EF1350D7EB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-100090":{"id":"articles-100090","staticContentId":5547,"eventContentId":100090,"eventId":"articles","contentUpdatedAt":"2026-05-11T09:04:21-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=33cpm46r","languageCode":"eng","description":"In addition to the Siri Remote, tvOS provides support for a variety of hardware and software remotes with touch or button interfaces. When your app uses standard frameworks \u2014 like UIKit and AVKit \u2014 tvOS will automatically handle remote interactions to provide a consistent and familiar experience. If you have an app that includes custom interface elements or media players, you can still easily support navigation and content-based features for hardware and software remotes with both touch and button interfaces. Here\u2019s how.","title":"Support directional remotes in your tvOS app","articleID":"0e4d433e-be09-4c38-b184-9eef60bd3885","pageID":"0e4d433e-be09-4c38-b184-9eef60bd3885","articlePermalinkKey":"33cpm46r","pagePermalinkKey":"33cpm46r","originalPublishingDate":"2021-05-10T05:00:00-07:00","publishingExpiryDate":"2036-05-10T14:26:49-07:00","platforms":["tvOS"],"topicIds":[84,101],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FB206B27-6F32-473F-8679-CE2C4C301EC8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10198":{"id":"articles-10198","staticContentId":3548,"eventContentId":10198,"eventId":"articles","contentUpdatedAt":"2025-07-18T10:56:36-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=zm47it7t","languageCode":"eng","description":"Learn design best practices through interviews and artifacts and uncover what it takes to design an award winning app.","title":"Behind the Design: Sky: Children of the Light","articleID":"952104fd-0622-4919-a64f-1594965ac4a4","pageID":"952104fd-0622-4919-a64f-1594965ac4a4","articlePermalinkKey":"zm47it7t","pagePermalinkKey":"zm47it7t","originalPublishingDate":"2020-07-17T07:55:56-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["ada","adas","apple design awards","apple design awards 2020"],"primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7507DA9E-59CB-46C1-B7A4-34F1F78EF351","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110169":{"id":"articles-110169","staticContentId":6390,"eventContentId":110169,"eventId":"articles","contentUpdatedAt":"2022-08-24T10:58:40-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=10y39zv4","languageCode":"eng","description":"For over a decade, the App Store Editorial team has taken a moment at the end of the year to celebrate the very best apps and games on the App Store. These are the 15 best apps and games in 2021.","title":"Announcing the App Store Award winners","articleID":"5668beaf-6d3e-47f7-bc2f-2f868df9678d","pageID":"5668beaf-6d3e-47f7-bc2f-2f868df9678d","articlePermalinkKey":"10y39zv4","pagePermalinkKey":"10y39zv4","originalPublishingDate":"2021-12-02T08:00:57-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"50DBBB86-26FA-4AD2-B2ED-D9B3CBE86A05","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110773":{"id":"articles-110773","staticContentId":7471,"eventContentId":110773,"eventId":"articles","contentUpdatedAt":"2022-08-24T13:43:10-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=k4gkh1dx","languageCode":"eng","description":"A harmonious mix of songs, narrative, art, and novel gameplay.","title":"Behind the Design: A Musical Story","articleID":"ca0de323-6910-43cb-95eb-1486dde1a103","pageID":"ca0de323-6910-43cb-95eb-1486dde1a103","articlePermalinkKey":"k4gkh1dx","pagePermalinkKey":"k4gkh1dx","originalPublishingDate":"2022-07-11T07:00:53-07:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9996D36F-8AE8-497D-B37E-214C4B87D90B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112021":{"id":"articles-112021","staticContentId":10509,"eventContentId":112021,"eventId":"articles","contentUpdatedAt":"2025-06-06T22:08:30-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=zjpafj4y","languageCode":"eng","description":"","title":"Introducing the 2025 Apple Design Award winners and finalists","articleID":"a7c00285-673f-4693-af05-5b42e6007415","pageID":"a7c00285-673f-4693-af05-5b42e6007415","articlePermalinkKey":"zjpafj4y","pagePermalinkKey":"zjpafj4y","originalPublishingDate":"2025-06-03T08:00:56-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C9353E60-2FE9-46EB-8A9D-DDE27902B1EC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111045":{"id":"articles-111045","staticContentId":8026,"eventContentId":111045,"eventId":"articles","contentUpdatedAt":"2023-03-13T09:21:57-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=0vz78ua8","languageCode":"eng","description":"Learn how developers are creating immersive surround-sound experiences.","title":"Spotlight on: Spatial Audio","articleID":"3aec6eab-7ff6-4e8a-9001-9746fb00acae","pageID":"3aec6eab-7ff6-4e8a-9001-9746fb00acae","articlePermalinkKey":"0vz78ua8","pagePermalinkKey":"0vz78ua8","originalPublishingDate":"2023-03-13T07:30:44-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4C006565-3B56-46F6-AF5D-52F0A8EC1C19","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111969":{"id":"articles-111969","staticContentId":9807,"eventContentId":111969,"eventId":"articles","contentUpdatedAt":"2024-09-04T09:16:47-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=myu3gpem","languageCode":"eng","description":"Get ready for Apple\u00a0Intelligence.","title":"Hello Developer: September 2024","articleID":"4eea432d-d7b1-4a62-a66d-e7cee0c71564","pageID":"4eea432d-d7b1-4a62-a66d-e7cee0c71564","articlePermalinkKey":"myu3gpem","pagePermalinkKey":"myu3gpem","originalPublishingDate":"2024-09-03T07:00:47-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3F17FEED-9165-41C8-B0E1-EE3F49851AD9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112038":{"id":"articles-112038","staticContentId":10601,"eventContentId":112038,"eventId":"articles","contentUpdatedAt":"2025-09-02T10:09:24-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6zd7a3al","languageCode":"eng","description":"Get ready for the new design, sign up for one-on-one appointments on machine learning and AI, and meet the team behind the wholesome open-world game Hello Kitty Island Adventure.","title":"Hello Developer: September 2025","articleID":"587ce87c-9d94-415e-bfe3-586ae555912a","pageID":"587ce87c-9d94-415e-bfe3-586ae555912a","articlePermalinkKey":"6zd7a3al","pagePermalinkKey":"6zd7a3al","originalPublishingDate":"2025-09-02T05:00:16-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E5E50768-9F0A-4A9E-8CB2-E7351BED23C2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111646":{"id":"articles-111646","staticContentId":9718,"eventContentId":111646,"eventId":"articles","contentUpdatedAt":"2024-06-06T07:59:55-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=z72iiacc","languageCode":"eng","description":"In this edition: Meet the 2024 Apple\u00a0Design\u00a0Award winners and get ready for WWDC24.","title":"Hello Developer: June 2024","articleID":"ba9171bf-3bda-42cd-bef5-db9903588f68","pageID":"ba9171bf-3bda-42cd-bef5-db9903588f68","articlePermalinkKey":"z72iiacc","pagePermalinkKey":"z72iiacc","originalPublishingDate":"2024-06-06T07:30:21-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4BC133DD-F4F2-4CDB-8D41-5E688F26261B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112122":{"id":"articles-112122","staticContentId":11214,"eventContentId":112122,"eventId":"articles","contentUpdatedAt":"2026-06-02T10:32:33-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=5zi5a25j","languageCode":"eng","description":"Guitar Wiz is an all-in-one toolkit for guitarists \u2014 built with SwiftUI by solo developer Bijoy Thangaraj \u2014 that offers an impressive array of inclusivity features.","title":"ADA Q&A: Off to see the Guitar Wiz","articleID":"f322f33d-0016-4b08-b526-80c19d30111b","pageID":"f322f33d-0016-4b08-b526-80c19d30111b","articlePermalinkKey":"5zi5a25j","pagePermalinkKey":"5zi5a25j","originalPublishingDate":"2026-05-16T09:50:01-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["accessibility","ada","apple design awards","design","music","swiftui"],"primaryTopicID":87,"topicIds":[82,100,87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D99F93B4-05A1-4188-A768-C2D74ADEF4C9","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"articles-111643":{"id":"articles-111643","staticContentId":9534,"eventContentId":111643,"eventId":"articles","contentUpdatedAt":"2024-05-09T09:22:05-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=94dxn2w2","languageCode":"eng","description":"SharePlay is all about creating meaningful shared experiences in your app. By taking advantage of SharePlay, your app can provide a real-time connection that synchronizes everything from media playback to 3D models to collaborative tools across iPhone, iPad, Mac, Apple\u00a0TV, and Apple\u00a0Vision\u00a0Pro. We caught up with the SharePlay team to ask about creating great SharePlay experiences, spatial Personas, that magic \u201cshockwave\u201d effect, and more.","title":"Q&A with the SharePlay team","articleID":"14f48db9-5717-49a4-ade9-5d2393be2f60","pageID":"14f48db9-5717-49a4-ade9-5d2393be2f60","articlePermalinkKey":"94dxn2w2","pagePermalinkKey":"94dxn2w2","originalPublishingDate":"2024-05-09T08:00:46-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"85D4AB92-D014-4294-B0E5-C602BF7EB9AD","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111994":{"id":"articles-111994","staticContentId":10334,"eventContentId":111994,"eventId":"articles","contentUpdatedAt":"2025-05-06T09:25:21-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=p2nk9tnh","languageCode":"eng","description":"Join us to learn how to make your apps more accessible to everyone. Plus, check out our new and refreshed Pathways, and uncover the time-traveling secrets of the Apple Design Award-winning game The Wreck.","title":"Hello Developer: May 2025","articleID":"74494c56-0f29-4921-9d21-d006f6fac6f4","pageID":"74494c56-0f29-4921-9d21-d006f6fac6f4","articlePermalinkKey":"p2nk9tnh","pagePermalinkKey":"p2nk9tnh","originalPublishingDate":"2025-05-06T09:00:59-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3E1BA2EF-57B4-4125-9C08-3070C576A8CA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112139":{"id":"articles-112139","staticContentId":11285,"eventContentId":112139,"eventId":"articles","contentUpdatedAt":"2026-09-01T11:12:33-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=o5spbekm","languageCode":"eng","description":"Swiggy is India\u2019s leading on-demand convenience platform, and since 2024, it\u2019s been powered by native tools that create seamless mobile experiences for an audience that numbers in the millions.","title":"\u201cThe impact was the biggest surprise\u201c: Swiggy\u2019s transition to native pays off","articleID":"40bc1033-5b76-4a4a-b122-b4b7b49a4c8c","pageID":"40bc1033-5b76-4a4a-b122-b4b7b49a4c8c","articlePermalinkKey":"o5spbekm","pagePermalinkKey":"o5spbekm","originalPublishingDate":"2026-09-01T06:00:01-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["developer stories","india","native","swift","swiftui","swiggy"],"primaryTopicID":100,"topicIds":[88,99,100],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4DA56784-D653-49ED-85E7-52D8800BC8EA","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"articles-112032":{"id":"articles-112032","staticContentId":10570,"eventContentId":112032,"eventId":"articles","contentUpdatedAt":"2025-06-13T07:55:15-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=k2rqp041","languageCode":"eng","description":"It's the final day of WWDC25. Revisit the week's highlights, and dive into group labs on live streaming, immersive video, and spatial audio.","title":"Today @ WWDC25: Day 5","articleID":"a900a12a-1111-49f2-9405-fec7bc88f54f","pageID":"a900a12a-1111-49f2-9405-fec7bc88f54f","articlePermalinkKey":"k2rqp041","pagePermalinkKey":"k2rqp041","originalPublishingDate":"2025-06-13T07:00:56-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C1DD7B33-6599-4238-A0D3-20E3719D98AC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111973":{"id":"articles-111973","staticContentId":9818,"eventContentId":111973,"eventId":"articles","contentUpdatedAt":"2024-10-10T10:17:35-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=tdh8tuh0","languageCode":"eng","description":"Get your app up to speed, meet the team behind Lies of P, explore new student resources, and more.","title":"Hello Developer: October 2024","articleID":"14d92eee-25c2-4555-a028-a448efafcd1c","pageID":"14d92eee-25c2-4555-a028-a448efafcd1c","articlePermalinkKey":"tdh8tuh0","pagePermalinkKey":"tdh8tuh0","originalPublishingDate":"2024-10-10T08:01:36-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FC78F886-7C89-447D-BB8B-C02B82568F6D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110779":{"id":"articles-110779","staticContentId":7495,"eventContentId":110779,"eventId":"articles","contentUpdatedAt":"2024-02-09T09:42:31-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=fmu9m6xp","languageCode":"eng","description":"Discover how Gameloft made this ADA-winning game \u201cLego legit.\u201d","title":"Behind the Design: Lego Star Wars: Castaways","articleID":"59d5830e-6e19-44a3-bca0-a6bc2bbf8b40","pageID":"59d5830e-6e19-44a3-bca0-a6bc2bbf8b40","articlePermalinkKey":"fmu9m6xp","pagePermalinkKey":"fmu9m6xp","originalPublishingDate":"2022-08-22T07:00:36-07:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B5913B8F-7F9B-46B0-B53E-69C526FB5B99","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110149":{"id":"articles-110149","staticContentId":6323,"eventContentId":110149,"eventId":"articles","contentUpdatedAt":"2023-02-13T13:27:29-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=h1oxzv00","languageCode":"eng","description":"","title":"Developer Spotlight: Caribu","articleID":"a01b5dd4-c27f-4d3a-a74e-bcc3d262a5fb","pageID":"a01b5dd4-c27f-4d3a-a74e-bcc3d262a5fb","articlePermalinkKey":"h1oxzv00","pagePermalinkKey":"h1oxzv00","originalPublishingDate":"2021-10-19T11:09:36-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F530B5BD-651D-4085-A927-1EE1E5CBECE0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112044":{"id":"articles-112044","staticContentId":10675,"eventContentId":112044,"eventId":"articles","contentUpdatedAt":"2025-12-04T09:45:03-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=mu3kfca2","languageCode":"eng","description":"This month: Meet the 2025 App Store Award winners, sign up for new design and Liquid Glass activities, meet the team behind the sticker-centric language-learning app CapWords, and more.","title":"Hello Developer: December 2025","articleID":"8fab2d69-aae8-48a6-b311-8bd351bc3768","pageID":"8fab2d69-aae8-48a6-b311-8bd351bc3768","articlePermalinkKey":"mu3kfca2","pagePermalinkKey":"mu3kfca2","originalPublishingDate":"2025-12-04T09:00:16-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D8DD7EEE-6213-428B-ADA5-A7930DE16177","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112114":{"id":"articles-112114","staticContentId":11192,"eventContentId":112114,"eventId":"articles","contentUpdatedAt":"2026-06-02T10:33:02-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=v1nphz91","languageCode":"eng","description":"It\u2019s been a big couple of months for the moon, and if this spring\u2019s Artemis mission piqued your interest in all things lunar, this brilliantly conceived app can keep it going.","title":"ADA Q&A: What a little Moonlitt can do","articleID":"e7457be6-1054-4711-85cc-8c788dd4634a","pageID":"e7457be6-1054-4711-85cc-8c788dd4634a","articlePermalinkKey":"v1nphz91","pagePermalinkKey":"v1nphz91","originalPublishingDate":"2026-05-16T09:50:01-07:00","platforms":["iOS","iPadOS","macOS","visionOS","watchOS"],"keywords":["ada","apple design awards","swiftui","visionos"],"primaryTopicID":87,"topicIds":[100,87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D41A7D47-FFBB-4F03-8EE5-D85BF4688CF0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112135":{"id":"articles-112135","staticContentId":11281,"eventContentId":112135,"eventId":"articles","contentUpdatedAt":"2026-06-23T10:50:29-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=butwix3f","languageCode":"eng","description":"Watching five games at once in the *NBA* app \u2014 or pairing your marquee game with player and team stats the size of a wall \u2014 is a revolution for sports fans on Apple Vision Pro. ","title":"ADA Q&A: How the NBA is courting viewers on Apple Vision Pro","articleID":"287153a6-c332-4d06-a915-8a668f31c58e","pageID":"287153a6-c332-4d06-a915-8a668f31c58e","articlePermalinkKey":"butwix3f","pagePermalinkKey":"butwix3f","originalPublishingDate":"2026-05-16T10:00:21-07:00","platforms":["visionOS"],"primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1917D695-D85A-4C08-8B73-4649117ED0B8","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"articles-111977":{"id":"articles-111977","staticContentId":9844,"eventContentId":111977,"eventId":"articles","contentUpdatedAt":"2024-12-03T09:33:11-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=vhtdb937","languageCode":"eng","description":"In this edition: The year in sessions, activities, apps, and games.","title":"Hello Developer: December 2024","articleID":"bea9fbe8-6415-4d53-b2dc-cb46238ae41e","pageID":"bea9fbe8-6415-4d53-b2dc-cb46238ae41e","articlePermalinkKey":"vhtdb937","pagePermalinkKey":"vhtdb937","originalPublishingDate":"2024-12-03T08:00:42-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5ED4E93D-1BF2-41D3-9D76-CB8F08F57BC9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111978":{"id":"articles-111978","staticContentId":9849,"eventContentId":111978,"eventId":"articles","contentUpdatedAt":"2025-01-07T10:31:11-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=58c4urmu","languageCode":"eng","description":"Find out how this Apple Design Award-winning app leverages AI to make street crossings more accessible.","title":"Walk this way: How Oko leverages AI to make street crossings more accessible","articleID":"34bb1a99-6513-4acd-b0e5-e597d205c966","pageID":"34bb1a99-6513-4acd-b0e5-e597d205c966","articlePermalinkKey":"58c4urmu","pagePermalinkKey":"58c4urmu","originalPublishingDate":"2025-01-07T08:00:06-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"525BA2EE-EBE3-462C-80F9-1001E7F7AD29","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111979":{"id":"articles-111979","staticContentId":9851,"eventContentId":111979,"eventId":"articles","contentUpdatedAt":"2025-01-07T09:27:46-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=yijdyfo4","languageCode":"eng","description":"In this edition: Bring SwiftUI to your app in Cupertino, get ready for the Swift Student Challenge, meet the team behind Oko, and more.","title":"Hello Developer: January 2025","articleID":"f820abee-96e5-4fb1-9968-c24e66e8ab02","pageID":"f820abee-96e5-4fb1-9968-c24e66e8ab02","articlePermalinkKey":"yijdyfo4","pagePermalinkKey":"yijdyfo4","originalPublishingDate":"2025-01-07T08:00:19-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2198FA4B-DDE2-4E6E-97CB-81F41F4C31DB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112086":{"id":"articles-112086","staticContentId":10922,"eventContentId":112086,"eventId":"articles","contentUpdatedAt":"2026-06-23T10:50:52-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=7qd3hzay","languageCode":"eng","description":"Created for students and casual science lovers alike, the 2025 Apple Design Award finalist provides up-close images of life\u2019s molecular masterworks, which are rendered in full color and accompanied by easy-to-understand explanations.","title":"CellWalk: The beauty of biology on visionOS","articleID":"4303dd55-c78b-4047-b663-11f30057711e","pageID":"4303dd55-c78b-4047-b663-11f30057711e","articlePermalinkKey":"7qd3hzay","pagePermalinkKey":"7qd3hzay","originalPublishingDate":"2026-05-16T10:05:27-07:00","platforms":["visionOS"],"primaryTopicID":85,"topicIds":[87,85],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"6D4C1627-250B-4E9F-A917-45E3D21920A2","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"articles-112137":{"id":"articles-112137","staticContentId":11284,"eventContentId":112137,"eventId":"articles","contentUpdatedAt":"2026-07-23T11:46:50-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=u8qjidrk","languageCode":"eng","description":"Rama Krishna\u2019s path to the App Store began in the stationery shops of Tokyo.","title":"How a love of Japanese stationery shaped Noteshelf","articleID":"0c5b8272-82eb-4548-8b3c-62ac7dc5dfc3","pageID":"0c5b8272-82eb-4548-8b3c-62ac7dc5dfc3","articlePermalinkKey":"u8qjidrk","pagePermalinkKey":"u8qjidrk","originalPublishingDate":"2026-07-21T09:00:01-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["articles","india","ipad","ipados","noteshelf"],"primaryTopicID":87,"topicIds":[94,87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1E74AB25-4140-419D-BDF7-13A9038BAEF6","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"articles-112124":{"id":"articles-112124","staticContentId":11218,"eventContentId":112124,"eventId":"articles","contentUpdatedAt":"2026-06-02T10:32:28-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=p9gxlwd0","languageCode":"eng","description":"Good deeds are rewarded in the wholesome, hopeful world of Pine Hearts. ","title":"ADA Q&A: Loss and love in the world of Pine Hearts","articleID":"faef0442-f4af-40f6-9438-5da6f97848be","pageID":"faef0442-f4af-40f6-9438-5da6f97848be","articlePermalinkKey":"p9gxlwd0","pagePermalinkKey":"p9gxlwd0","originalPublishingDate":"2026-05-16T09:50:01-07:00","platforms":["iOS","iPadOS"],"keywords":["ada","apple design awards","design","graphics &amp; games","inclusivity"],"primaryTopicID":87,"topicIds":[82,91,87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"02A13CBA-97AF-4C56-80C2-624D1D43073E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112034":{"id":"articles-112034","staticContentId":10578,"eventContentId":112034,"eventId":"articles","contentUpdatedAt":"2025-06-23T10:25:28-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=n42or6v8","languageCode":"eng","description":"Join us around the world to keep digging into the biggest announcements from WWDC25. Plus, watch snack-sized videos about the latest tools and technologies, and meet the math-and-music-loving team behind Moises.","title":"Hello Developer: July 2025","articleID":"a079256e-e0fa-4d90-ad33-913093e7f1e4","pageID":"a079256e-e0fa-4d90-ad33-913093e7f1e4","articlePermalinkKey":"n42or6v8","pagePermalinkKey":"n42or6v8","originalPublishingDate":"2025-07-01T00:00:16-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3770CCF1-08A3-4862-A877-A2BFE0F8F903","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112027":{"id":"articles-112027","staticContentId":10561,"eventContentId":112027,"eventId":"articles","contentUpdatedAt":"2025-06-11T23:15:35-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=m43490d3","languageCode":"eng","description":"Day 3 at WWDC25 is all about the new design across Apple platforms.","title":"Today @ WWDC25: Day 3","articleID":"5501dfa4-dd5e-4e68-8b72-e07fa781dde1","pageID":"5501dfa4-dd5e-4e68-8b72-e07fa781dde1","articlePermalinkKey":"m43490d3","pagePermalinkKey":"m43490d3","originalPublishingDate":"2025-06-11T07:00:56-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BD5D65A9-BCB1-4AF7-A298-4FD055BC26AC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111980":{"id":"articles-111980","staticContentId":9857,"eventContentId":111980,"eventId":"articles","contentUpdatedAt":"2025-02-04T08:47:29-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=i74v3f4r","languageCode":"eng","description":"Here\u2019s the story of how a few little bears led the husband-and-wife team of Isuru Wanasinghe and Nayomi Hettiarachchi right to an Apple\u00a0Design\u00a0Award.","title":"The good news bears: Inside the adorably unorthodox design of Bears Gratitude","articleID":"b2610844-b497-45e0-b143-7179fbf1deba","pageID":"b2610844-b497-45e0-b143-7179fbf1deba","articlePermalinkKey":"i74v3f4r","pagePermalinkKey":"i74v3f4r","originalPublishingDate":"2025-02-04T08:00:26-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3AF44A2F-2C6F-4ECC-9147-3EFE4FB24580","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112126":{"id":"articles-112126","staticContentId":11219,"eventContentId":112126,"eventId":"articles","contentUpdatedAt":"2026-06-02T10:32:21-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=eb0rfgn9","languageCode":"eng","description":"One of the most technically demanding and visually ambitious games on Mac, Cyberpunk 2077 delivers a breathtakingly detailed dystopian world.","title":"ADA Q&A: Inside the world of Cyberpunk 2077","articleID":"a0ce268b-50b7-4287-91e8-5af81a4d2864","pageID":"a0ce268b-50b7-4287-91e8-5af81a4d2864","articlePermalinkKey":"eb0rfgn9","pagePermalinkKey":"eb0rfgn9","originalPublishingDate":"2026-05-16T09:50:01-07:00","platforms":["macOS"],"keywords":["ada","apple design awards","game","graphics &amp; games","mac","metal"],"primaryTopicID":87,"topicIds":[91,87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F1CBD959-953D-450B-ADA8-E28AB5305B23","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112048":{"id":"articles-112048","staticContentId":10709,"eventContentId":112048,"eventId":"articles","contentUpdatedAt":"2026-02-03T09:58:13-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6iajkgmp","languageCode":"eng","description":"We\u2019ve got big news about agentic coding in Xcode. Plus, join us for a code-along about coding intelligence, browse new developer activities, and catch up on the latest updates.","title":"Hello Developer: February 2026","articleID":"1e5fd742-3b67-4ba6-8da0-cfdfb80378ee","pageID":"1e5fd742-3b67-4ba6-8da0-cfdfb80378ee","articlePermalinkKey":"6iajkgmp","pagePermalinkKey":"6iajkgmp","originalPublishingDate":"2026-02-03T09:00:16-08:00","primaryTopicID":94,"topicIds":[96,100,94],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B0908E5C-7FB4-49D6-B723-4C45A8141BD0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110158":{"id":"articles-110158","staticContentId":5873,"eventContentId":110158,"eventId":"articles","contentUpdatedAt":"2025-08-28T10:04:42-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=wg07z90y","languageCode":"eng","description":"Andrew Yanchurevich\u2019s inspiration for Lo\u00f3na came, appropriately enough, at night-night time.","title":"Behind the Design: Lo\u00f3na","articleID":"7c3e3b2b-b9bc-4035-bd50-4c86db12542e","pageID":"7c3e3b2b-b9bc-4035-bd50-4c86db12542e","articlePermalinkKey":"wg07z90y","pagePermalinkKey":"wg07z90y","originalPublishingDate":"2021-07-20T08:30:52-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"EAF1DC17-CA14-4BAB-A98B-1CE23A421B28","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110133":{"id":"articles-110133","staticContentId":5930,"eventContentId":110133,"eventId":"articles","contentUpdatedAt":"2025-08-28T10:04:42-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=5bcex7xf","languageCode":"eng","description":"Pok Pok Playroom is a quiet feast for little senses. There are switches to flip, gears to grind, blobs to plop together, and bells to ring \u2014 and those are just a handful of the animations designed to make the app feel like a tactile, handmade toy.","title":"Behind the Design: Pok Pok Playroom","articleID":"89627ba0-17d3-4364-81c3-fb3aeb0c5add","pageID":"89627ba0-17d3-4364-81c3-fb3aeb0c5add","articlePermalinkKey":"5bcex7xf","pagePermalinkKey":"5bcex7xf","originalPublishingDate":"2021-08-09T09:00:12-07:00","primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9AFE0DEE-F70B-46AE-BD8A-DC7A3F548BD9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10197":{"id":"articles-10197","staticContentId":3547,"eventContentId":10197,"eventId":"articles","contentUpdatedAt":"2025-08-28T10:04:42-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=5z97xxqw","languageCode":"eng","description":"Learn design best practices through interviews and artifacts and uncover what it takes to design an award winning app.","title":"Behind the Design: StaffPad","articleID":"3fd72645-116b-4c40-aa96-295e2edbe593","pageID":"3fd72645-116b-4c40-aa96-295e2edbe593","articlePermalinkKey":"5z97xxqw","pagePermalinkKey":"5z97xxqw","originalPublishingDate":"2020-07-24T06:00:33-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["ada","adas","apple design awards","apple design awards 2020"],"primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"6C8931D7-393E-466C-BFAB-D2BBA7254695","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10195":{"id":"articles-10195","staticContentId":3545,"eventContentId":10195,"eventId":"articles","contentUpdatedAt":"2025-08-28T10:04:42-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=s26ze13m","languageCode":"eng","description":"Learn design best practices through interviews and artifacts and uncover what it takes to design an award winning app.","title":"Behind the Design: Looom","articleID":"79c5a75f-6a0d-460e-9674-f433af11cc4b","pageID":"79c5a75f-6a0d-460e-9674-f433af11cc4b","articlePermalinkKey":"s26ze13m","pagePermalinkKey":"s26ze13m","originalPublishingDate":"2020-07-03T09:30:05-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["ada","adas","apple design awards","apple design awards 2020"],"primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9299353F-FA8F-431C-8168-AF92EFECDB02","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10202":{"id":"articles-10202","staticContentId":3552,"eventContentId":10202,"eventId":"articles","contentUpdatedAt":"2025-08-28T10:04:43-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=i6qdbzn9","languageCode":"eng","description":"Learn design best practices through interviews and artifacts and uncover what it takes to design an award winning app.","title":"Behind the Design: Shapr 3D","articleID":"c0ceca3b-d038-4b9b-8f71-70daaa7d0f2c","pageID":"c0ceca3b-d038-4b9b-8f71-70daaa7d0f2c","articlePermalinkKey":"i6qdbzn9","pagePermalinkKey":"i6qdbzn9","originalPublishingDate":"2020-07-31T08:35:08-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["ada","adas","apple design awards","apple design awards 2020"],"primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2410482C-E0CA-4647-AB51-5E4D60A20931","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112046":{"id":"articles-112046","staticContentId":10690,"eventContentId":112046,"eventId":"articles","contentUpdatedAt":"2026-01-06T09:49:30-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=zni5qkkl","languageCode":"eng","description":"We\u2018re hitting the ground running in 2026 with a special SwiftUI activity in Cupertino, more ways to connect with us about Liquid Glass, and a snappy video recap of Apple design resources. ","title":"Hello Developer: January 2026","articleID":"14c2bbef-003e-4526-a5f4-c0ab1e00ac09","pageID":"14c2bbef-003e-4526-a5f4-c0ab1e00ac09","articlePermalinkKey":"zni5qkkl","pagePermalinkKey":"zni5qkkl","originalPublishingDate":"2026-01-06T09:00:16-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D9F38981-3F46-4874-87C3-C63BCDB37254","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112112":{"id":"articles-112112","staticContentId":11191,"eventContentId":112112,"eventId":"articles","contentUpdatedAt":"2026-06-02T10:33:08-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=z12xq8fa","languageCode":"eng","description":"A tricky puzzler dressed up as a Saturday morning cartoon, this delightful logic game hides its puzzles in a fun narrative about the perils of sitting near others on buses, in restaurants, and in other familiar places.","title":"ADA Q&A: Is This Seat Taken?","articleID":"e2f385cb-508c-497e-9dda-4f543af3ea29","pageID":"e2f385cb-508c-497e-9dda-4f543af3ea29","articlePermalinkKey":"z12xq8fa","pagePermalinkKey":"z12xq8fa","originalPublishingDate":"2026-05-16T09:50:01-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["ada","apple design awards","delight and fun","games"],"primaryTopicID":87,"topicIds":[91,87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1199D354-D980-46F9-9A3D-369A0FD13A59","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112155":{"id":"articles-112155","staticContentId":11311,"eventContentId":112155,"eventId":"articles","contentUpdatedAt":"2026-09-01T09:39:02-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=dgmr27r7","languageCode":"eng","description":"More than a decade into his career as a developer, Strasser earned a second Apple\u00a0Design\u00a0Award\u00a0\u2014 this time in the Inclusivity category.","title":"How Klemens Strasser prioritized inclusivity with Art of Fauna","articleID":"68e876e1-44ef-46e9-8680-b82ae2494cc8","pageID":"68e876e1-44ef-46e9-8680-b82ae2494cc8","articlePermalinkKey":"dgmr27r7","pagePermalinkKey":"dgmr27r7","originalPublishingDate":"2026-09-01T08:01:21-07:00","platforms":["iOS","iPadOS"],"keywords":["accessibilty","ada","apple design awards","games","inclusivity","klemens strasser"],"primaryTopicID":87,"topicIds":[82,94,91,87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5965F6DC-0D22-4B3F-82CB-F396BB8EB230","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"articles-112040":{"id":"articles-112040","staticContentId":10616,"eventContentId":112040,"eventId":"articles","contentUpdatedAt":"2025-10-07T09:33:44-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=glqa1owr","languageCode":"eng","description":"Watch a new code-along video about the Foundation Models framework, dive into new games offerings, explore new App Store Connect features, and more.","title":"Hello Developer: October 2025","articleID":"b564e299-9d02-4a40-acdb-13ebdba0bb1d","pageID":"b564e299-9d02-4a40-acdb-13ebdba0bb1d","articlePermalinkKey":"glqa1owr","pagePermalinkKey":"glqa1owr","originalPublishingDate":"2025-10-07T05:00:16-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4893F4BC-E4B5-4C03-9F60-C4D3117CABFB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112131":{"id":"articles-112131","staticContentId":11220,"eventContentId":112131,"eventId":"articles","contentUpdatedAt":"2026-06-08T14:16:10-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=lvart8mq","languageCode":"eng","description":"Catch up on the biggest announcements from the WWDC26 Platforms State of the Union.","title":"5 takeaways from the Platforms State of the Union","articleID":"ce85f8a5-0e9d-4f02-b632-94e16c4eb145","pageID":"ce85f8a5-0e9d-4f02-b632-94e16c4eb145","articlePermalinkKey":"lvart8mq","pagePermalinkKey":"lvart8mq","originalPublishingDate":"2026-06-08T13:00:52-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"529FB3A0-B89A-4FB9-B080-F05EB41F869E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111971":{"id":"news-111971","staticContentId":9865,"eventContentId":111971,"eventId":"news","contentUpdatedAt":"2025-02-06T14:18:27-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=bdl07n0d","languageCode":"eng","description":"The App Store is designed to make it easy to sell your digital goods and services globally, with support for 44 currencies across 175 storefronts. From time to time, we may need to adjust prices or your proceeds due to changes in tax regulations or foreign exchange rates.","title":"Tax and price updates for apps, In-App Purchases, and subscriptions","articleID":"9f68009d-3a2c-4404-81f6-43b3ef55f75f","pageID":"9f68009d-3a2c-4404-81f6-43b3ef55f75f","articlePermalinkKey":"bdl07n0d","pagePermalinkKey":"bdl07n0d","originalPublishingDate":"2025-02-06T07:00:51-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"67B89B7A-7A30-42BC-9956-8BB43B0DD2EB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111972":{"id":"news-111972","staticContentId":9868,"eventContentId":111972,"eventId":"news","contentUpdatedAt":"2025-02-06T14:54:18-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=06h4gf33","languageCode":"eng","description":"The Vietnamese Ministry of Information and Communications (MIC) requires games to be licensed to remain available on the App\u00a0Store in Vietnam.","title":"Game distribution on the App\u00a0Store in Vietnam","articleID":"73aa561a-76de-4e59-8ab4-17810d68453a","pageID":"73aa561a-76de-4e59-8ab4-17810d68453a","articlePermalinkKey":"06h4gf33","pagePermalinkKey":"06h4gf33","originalPublishingDate":"2025-02-04T12:00:38-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B91A98FA-A1F5-4977-AF92-023D68890CC2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111934":{"id":"news-111934","staticContentId":9777,"eventContentId":111934,"eventId":"news","contentUpdatedAt":"2024-06-24T10:10:23-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=vbmd38t5","languageCode":"eng","description":"The changes for apps in the European Union (EU), currently available to iOS users in the 27 EU member countries, can now be tested in iPadOS\u00a018 beta\u00a02 with Xcode\u00a016 beta\u00a02.","title":"Changes for apps in the EU now available in iPadOS\u00a018 beta\u00a02","articleID":"f0c7d855-946c-4487-9933-04cb720a0622","pageID":"f0c7d855-946c-4487-9933-04cb720a0622","articlePermalinkKey":"vbmd38t5","pagePermalinkKey":"vbmd38t5","originalPublishingDate":"2024-06-24T08:00:12-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"593844E8-7125-47DD-8D20-E76FEFFD8276","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111948":{"id":"news-111948","staticContentId":9821,"eventContentId":111948,"eventId":"news","contentUpdatedAt":"2024-10-08T05:42:40-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=hu2iq38q","languageCode":"eng","description":"We\u2019re thrilled to announce the Swift Student Challenge 2025. The Challenge provides the next generation of student developers the opportunity to showcase their creativity and coding skills by building app playgrounds with\u00a0Swift.","title":"Announcing the Swift Student Challenge 2025","articleID":"a84cf0f2-33ee-4119-b7bf-e04ea0ef95cb","pageID":"a84cf0f2-33ee-4119-b7bf-e04ea0ef95cb","articlePermalinkKey":"hu2iq38q","pagePermalinkKey":"hu2iq38q","originalPublishingDate":"2024-10-08T05:01:37-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2DD99A6A-21E1-4525-86D7-BF76E84D1CA1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110180":{"id":"news-110180","staticContentId":7456,"eventContentId":110180,"eventId":"news","contentUpdatedAt":"2022-06-10T13:30:19-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3bttqj0z","languageCode":"eng","description":"Following productive conversations with the Netherlands Authority for Consumers and Markets (ACM), today we\u2019re introducing additional adjustments to Apple\u2019s plan to comply with the regulator\u2019s order pertaining to dating apps on the App Store in the Netherlands.","title":"Further updates on StoreKit External Entitlement for dating apps in the Netherlands storefront","articleID":"315836a0-92ac-4c44-b0a9-462924d3b05f","pageID":"315836a0-92ac-4c44-b0a9-462924d3b05f","articlePermalinkKey":"3bttqj0z","pagePermalinkKey":"3bttqj0z","originalPublishingDate":"2022-06-10T13:28:26-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"55E6D0C7-5AD9-4B83-8149-61B3E3DBE123","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111932":{"id":"news-111932","staticContentId":9775,"eventContentId":111932,"eventId":"news","contentUpdatedAt":"2024-06-18T09:34:39-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=is9ltg6s","languageCode":"eng","description":"Apple Vision Pro will launch in China mainland, Hong Kong, Japan, and Singapore on June\u00a028 and in Australia, Canada, France, Germany, and the United Kingdom on July\u00a012. Your apps and games will be automatically available on the App\u00a0Store in regions you\u2019ve selected in App\u00a0Store\u00a0Connect.","title":"The App Store on Apple Vision Pro expands to new markets","articleID":"880d5901-3fbb-409b-8f8c-b27e0a0f01e1","pageID":"880d5901-3fbb-409b-8f8c-b27e0a0f01e1","articlePermalinkKey":"is9ltg6s","pagePermalinkKey":"is9ltg6s","originalPublishingDate":"2024-06-18T03:00:46-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"EFA48876-2A17-424A-A438-A2A231B43054","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111977":{"id":"news-111977","staticContentId":9905,"eventContentId":111977,"eventId":"news","contentUpdatedAt":"2025-02-14T08:48:08-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=bo1b122z","languageCode":"eng","description":"Starting February 14, 2025, new regulatory requirements in South\u00a0Korea will apply to all apps with offers and trials for auto-renewing subscriptions.","title":"Upcoming changes to offers and trials for subscriptions in South Korea","articleID":"501d87be-64e8-44e9-a841-6976b319362a","pageID":"501d87be-64e8-44e9-a841-6976b319362a","articlePermalinkKey":"bo1b122z","pagePermalinkKey":"bo1b122z","originalPublishingDate":"2025-02-14T08:00:06-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BB50259D-9D86-47B4-9A90-2A7D45603633","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110224":{"id":"news-110224","staticContentId":8348,"eventContentId":110224,"eventId":"news","contentUpdatedAt":"2023-03-28T21:24:41-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=w2pqpg97","languageCode":"eng","description":"Mark your calendars June\u00a05 through 9 for an exhilarating week of technology and community. Be among the first to learn the latest about Apple platforms, technologies, and tools. You\u2019ll also have the opportunity to engage with Apple experts and other developers. All online and at no\u00a0cost.","title":"WWDC23 is coming June 5","articleID":"83f805cf-1a9f-4a4f-943c-731c32f0124d","pageID":"83f805cf-1a9f-4a4f-943c-731c32f0124d","articlePermalinkKey":"w2pqpg97","pagePermalinkKey":"w2pqpg97","originalPublishingDate":"2023-03-29T05:00:08-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"8CF8D80C-006F-4EA5-8600-916E6A0C19D3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110303":{"id":"news-110303","staticContentId":9342,"eventContentId":110303,"eventId":"news","contentUpdatedAt":"2024-05-27T15:38:42-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=omf4tekg","languageCode":"eng","description":"Join the worldwide developer community online for a week of technology and creativity.","title":"WWDC24: June 10-14","articleID":"5d445c60-108e-4925-8b81-cdb2e837d27d","pageID":"5d445c60-108e-4925-8b81-cdb2e837d27d","articlePermalinkKey":"omf4tekg","pagePermalinkKey":"omf4tekg","originalPublishingDate":"2024-03-26T01:00:05-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2A45C3A2-198B-4741-AB60-92ADB9E43AAB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110248":{"id":"news-110248","staticContentId":9009,"eventContentId":110248,"eventId":"news","contentUpdatedAt":"2023-06-26T09:36:49-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=jrx6vndj","languageCode":"eng","description":"Now it\u2019s even easier to design your apps quickly and accurately with new and updated design resources for creating apps on Apple platforms.","title":"New design resources now available","articleID":"0e415e4f-518d-4be0-b82e-7b5dc2bb84aa","pageID":"0e415e4f-518d-4be0-b82e-7b5dc2bb84aa","articlePermalinkKey":"jrx6vndj","pagePermalinkKey":"jrx6vndj","originalPublishingDate":"2023-06-26T08:00:13-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"18095EF8-6BDC-4A81-8F9E-C750FBA1619C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110241":{"id":"news-110241","staticContentId":8968,"eventContentId":110241,"eventId":"news","contentUpdatedAt":"2023-06-09T14:08:12-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=o0heb4h4","languageCode":"eng","description":"Thank you to everyone who joined us for an amazing week. We hope you found value, connection, and fun.","title":"WWDC23 resources and survey","articleID":"0b5ceab7-ce01-4419-a2e3-17cc2282a2d6","pageID":"0b5ceab7-ce01-4419-a2e3-17cc2282a2d6","articlePermalinkKey":"o0heb4h4","pagePermalinkKey":"o0heb4h4","originalPublishingDate":"2023-06-09T14:00:41-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D727BB0D-A216-4AA9-BDAB-15CFFE924D8C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10006":{"id":"news-10006","staticContentId":3990,"eventContentId":10006,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:59-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=04202020a","languageCode":"eng","description":"HealthKit allows your app to provide valuable health-related insights to users by working with the Apple Health app. The updated HealthKit Human Interface Guidelines include guidance on using the Apple Health icon in your app, enhanced editorial guidance on using Apple Health-related terms, and clarified privacy and data-usage guidelines.","title":"Updated Guidelines for HealthKit","articleID":"ca8be10b-5527-405d-82c1-5e317a447588","pageID":"ca8be10b-5527-405d-82c1-5e317a447588","articlePermalinkKey":"04202020a","pagePermalinkKey":"04202020a","originalPublishingDate":"2020-04-20T11:00:43-07:00","publishingExpiryDate":"2040-04-20T22:08:01-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0AD64FEE-7125-4C99-807E-B6FAD580F924","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10286":{"id":"news-10286","staticContentId":6185,"eventContentId":10286,"eventId":"news","contentUpdatedAt":"2021-10-07T17:16:46-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=mlbmt3m7","languageCode":"eng","description":"App Analytics in App Store Connect helps you see how people discover and engage with your app. Now you can view powerful new transaction metrics, including redownloads, total downloads, proceeds, pre-orders, and updates. Each metric can be displayed by territory, source type, device, and more, helping you understand what drives your app's growth and success.","title":"New metrics now available in App Analytics","articleID":"4c776ed8-94f4-47bd-af71-c230ee051a8d","pageID":"4c776ed8-94f4-47bd-af71-c230ee051a8d","articlePermalinkKey":"mlbmt3m7","pagePermalinkKey":"mlbmt3m7","originalPublishingDate":"2021-10-07T09:40:00-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9CDEC282-B251-4D0F-AB73-54D3F8F74907","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112075":{"id":"news-112075","staticContentId":10927,"eventContentId":112075,"eventId":"news","contentUpdatedAt":"2026-03-30T14:48:28-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=z8vzrgzx","languageCode":"eng","description":"The beta versions of iOS\u00a026.5, iPadOS\u00a026.5, macOS\u00a026.5, tvOS\u00a026.5, visionOS\u00a026.5, and watchOS\u00a026.5 are now available. Get your apps ready by confirming they work as expected on these releases. And make sure to build and test with Xcode\u00a026.5 beta to take advantage of the advancements in the latest SDKs.","title":"Get ready with the latest beta releases","articleID":"aa9df976-9e7c-4710-98ad-d1d5982f6ed6","pageID":"aa9df976-9e7c-4710-98ad-d1d5982f6ed6","articlePermalinkKey":"z8vzrgzx","pagePermalinkKey":"z8vzrgzx","originalPublishingDate":"2026-03-30T07:00:14-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"AC70446F-DF51-4BDC-9ECE-3FC6BFF52CA1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112077":{"id":"news-112077","staticContentId":10928,"eventContentId":112077,"eventId":"news","contentUpdatedAt":"2026-03-30T18:02:09-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=fwswmjcn","languageCode":"eng","description":"The Apple Developer Program License Agreement has been revised to support new features, updated policies, and clarifications. Please review the changes and sign in to your account to accept the updated terms.","title":"Updated Apple Developer Program License Agreement now available","articleID":"a80e6eda-7980-4100-bd6c-ae1faa23eb42","pageID":"a80e6eda-7980-4100-bd6c-ae1faa23eb42","articlePermalinkKey":"fwswmjcn","pagePermalinkKey":"fwswmjcn","originalPublishingDate":"2026-03-30T18:00:15-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9DB10807-E531-4923-8867-439CB0DEBB99","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111930":{"id":"news-111930","staticContentId":9762,"eventContentId":111930,"eventId":"news","contentUpdatedAt":"2024-06-10T11:49:28-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=70yxbkf7","languageCode":"eng","description":"Discover the latest advancements across Apple platforms, including the all-new Apple Intelligence, that can help you create even more powerful, intuitive, and unique experiences.","title":"Find out what\u2019s new and download beta releases","articleID":"c13e1910-1890-4541-a7a0-baf0e6896bf8","pageID":"c13e1910-1890-4541-a7a0-baf0e6896bf8","articlePermalinkKey":"70yxbkf7","pagePermalinkKey":"70yxbkf7","originalPublishingDate":"2024-06-10T10:30:09-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"87716F4F-574F-47F4-97A7-FBA033C1E3F1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10255":{"id":"news-10255","staticContentId":5753,"eventContentId":10255,"eventId":"news","contentUpdatedAt":"2021-09-13T07:32:41-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=17wez039","languageCode":"eng","description":"You can now connect with over 1,000 Apple engineers on the Apple Developer Forums through WWDC21 tags specific to sessions and topics.","title":"WWDC21 session and topic tags now available","articleID":"4c8be0ce-83a0-456c-bc2e-ebc0f2c5809f","pageID":"4c8be0ce-83a0-456c-bc2e-ebc0f2c5809f","articlePermalinkKey":"17wez039","pagePermalinkKey":"17wez039","originalPublishingDate":"2021-06-07T12:10:14-07:00","publishingExpiryDate":"2075-06-05T22:20:24-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"61928A5C-1468-444E-A825-D8BDD2B5D3E2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10211":{"id":"news-10211","staticContentId":4791,"eventContentId":10211,"eventId":"news","contentUpdatedAt":"2021-09-13T07:30:02-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4zbvn7u9","languageCode":"eng","description":"You can now enable Family Sharing for auto-renewable subscriptions and non-consumable in-app purchases, allowing users to share their purchases with up to five family members. Family Sharing provides a streamlined, convenient user experience and can help you attract subscribers, encourage paid subscriptions, increase user engagement, and improve retention. Sales and Trends reports will be updated soon to help you understand the performance of family subscriptions.","title":"Family Sharing for in-app purchases now available","articleID":"d7bd2251-f7c4-4d7f-8a33-8b27d46c720b","pageID":"d7bd2251-f7c4-4d7f-8a33-8b27d46c720b","articlePermalinkKey":"4zbvn7u9","pagePermalinkKey":"4zbvn7u9","originalPublishingDate":"2020-12-04T08:26:16-08:00","publishingExpiryDate":"2075-12-04T09:17:56-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"82F8C60C-F7A9-40EF-BEC5-218E873F15C6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111993":{"id":"news-111993","staticContentId":10363,"eventContentId":111993,"eventId":"news","contentUpdatedAt":"2025-05-20T09:11:09-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=wafsmat3","languageCode":"eng","description":"Join us online from June 9 to 13 for a week of technology and creativity.","title":"On the horizon.","articleID":"42e8c239-93d9-4475-9933-168185e21bc6","pageID":"42e8c239-93d9-4475-9933-168185e21bc6","articlePermalinkKey":"wafsmat3","pagePermalinkKey":"wafsmat3","originalPublishingDate":"2025-05-20T07:00:22-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5F7787AF-50A4-4935-9B01-FB8595C87753","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110309":{"id":"news-110309","staticContentId":9369,"eventContentId":110309,"eventId":"news","contentUpdatedAt":"2024-04-23T06:24:24-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=48bfiihn","languageCode":"eng","description":"Join us for a special Apple\u00a0Event on May\u00a07 at\u00a07\u00a0a.m.\u00a0PT.","title":"Let loose.","articleID":"b0bbf8e3-bd56-49cf-ae33-13413891f9f6","pageID":"b0bbf8e3-bd56-49cf-ae33-13413891f9f6","articlePermalinkKey":"48bfiihn","pagePermalinkKey":"48bfiihn","originalPublishingDate":"2024-04-23T06:00:46-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"54131E82-6150-4855-8FCA-E2370F78728D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10297":{"id":"news-10297","staticContentId":6345,"eventContentId":10297,"eventId":"news","contentUpdatedAt":"2021-11-01T10:09:38-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ptuzjp7s","languageCode":"eng","description":"Tech Talks 2021 features live online sessions and office hours through December 17, so you can connect with Apple experts to learn how to create best-in-class apps. We\u2019ve updated the schedule with new content, and will post more every two weeks.","title":"New Tech Talks sessions and office hours now available","articleID":"2cf1f02a-cbc7-48a1-b284-00882a4f4d3a","pageID":"2cf1f02a-cbc7-48a1-b284-00882a4f4d3a","articlePermalinkKey":"ptuzjp7s","pagePermalinkKey":"ptuzjp7s","originalPublishingDate":"2021-11-01T10:00:03-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5A71D03F-34DB-4E77-A9A0-4A4FB8F9BC1C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112148":{"id":"news-112148","staticContentId":11366,"eventContentId":112148,"eventId":"news","contentUpdatedAt":"2026-09-09T16:04:08-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=k1mtkt1k","languageCode":"eng","description":"iOS\u00a027, iPadOS\u00a027, macOS\u00a027, tvOS\u00a027, visionOS\u00a027, and watchOS\u00a027 will soon be available to customers worldwide, which means you can now submit apps and games that take advantage of the latest Apple technologies and innovations like Apple\u00a0Intelligence, Foundation Models Framework, design updates, new App\u00a0Store features, and more. ","title":"App\u00a0Store submissions now open for the latest OS\u00a0releases","articleID":"ab682589-f121-42bf-8903-a5eb174f8563","pageID":"ab682589-f121-42bf-8903-a5eb174f8563","articlePermalinkKey":"k1mtkt1k","pagePermalinkKey":"k1mtkt1k","originalPublishingDate":"2026-09-09T16:00:38-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0E85176F-AEF2-4C8B-91E7-A0FE61A958BE","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-112097":{"id":"news-112097","staticContentId":11188,"eventContentId":112097,"eventId":"news","contentUpdatedAt":"2026-05-27T17:17:44-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=yrrb45pw","languageCode":"eng","description":"Starting June 18, 2026, age ratings on the App\u00a0Store will be updated in Australia and Vietnam.","title":"Upcoming changes to age ratings in Australia and Vietnam","articleID":"a365f72f-3984-4043-9d49-c5bee8d300c8","pageID":"a365f72f-3984-4043-9d49-c5bee8d300c8","articlePermalinkKey":"yrrb45pw","pagePermalinkKey":"yrrb45pw","originalPublishingDate":"2026-05-21T13:01:22-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BBB37751-A3D6-4BA3-90CB-318450FFB967","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112001":{"id":"news-112001","staticContentId":10495,"eventContentId":112001,"eventId":"news","contentUpdatedAt":"2025-06-09T13:52:02-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=r9dcmrvs","languageCode":"eng","description":"The Apple Developer Program License Agreement and App Review Guidelines have been revised to support new features and updated policies, and to provide clarification. ","title":"Updated agreements and guidelines now available","articleID":"7c8dc829-e93d-4171-91e9-dae30f00944e","pageID":"7c8dc829-e93d-4171-91e9-dae30f00944e","articlePermalinkKey":"r9dcmrvs","pagePermalinkKey":"r9dcmrvs","originalPublishingDate":"2025-06-09T06:00:12-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F99CC5A9-6F1A-462C-B144-50369E2DC285","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10214":{"id":"news-10214","staticContentId":4794,"eventContentId":10214,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:49-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=l83x4b65","languageCode":"eng","description":"As a reminder, new apps and app updates will not be accepted December 23 through 27 (Pacific Time). Please ensure time for your releases to be scheduled, submitted, and approved in advance so you\u2019ll be ready for the busiest season on the App Store. Other App Store Connect and developer account features will remain available.","title":"App Store Connect holiday schedule","articleID":"c7624fdd-31c0-4d63-b54a-36492830a463","pageID":"c7624fdd-31c0-4d63-b54a-36492830a463","articlePermalinkKey":"l83x4b65","pagePermalinkKey":"l83x4b65","originalPublishingDate":"2020-12-09T11:30:37-08:00","publishingExpiryDate":"2075-12-09T13:03:14-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B8E72180-CA14-4CC5-B6C9-174A6D402FDC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111974":{"id":"news-111974","staticContentId":9882,"eventContentId":111974,"eventId":"news","contentUpdatedAt":"2025-02-17T10:09:40-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=wy4tb0uo","languageCode":"eng","description":"You can now take advantage of upgraded security options when creating new token authentication keys for the Apple Push Notification service (APNs).","title":"New features for APNs token authentication are now available","articleID":"85f72b4f-2db3-49b1-8996-f3e6380f67cd","pageID":"85f72b4f-2db3-49b1-8996-f3e6380f67cd","articlePermalinkKey":"wy4tb0uo","pagePermalinkKey":"wy4tb0uo","originalPublishingDate":"2025-02-17T07:00:16-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C8472009-7CE2-4988-A0E9-3E41CA780F4D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110212":{"id":"news-110212","staticContentId":7939,"eventContentId":110212,"eventId":"news","contentUpdatedAt":"2022-11-28T20:18:26-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=o7zyvtwn","languageCode":"eng","description":"Every year, the App\u00a0Store editorial team celebrates exceptional apps that improve people\u2019s lives while showcasing the highest levels of technical innovation, user experience, design, and positive cultural impact. Join us in celebrating the work of outstanding developers from around\u00a0the\u00a0world.","title":"Congratulations to the App Store Award winners","articleID":"ed7fe32f-ab17-45b5-893e-86ba9a4d90a0","pageID":"ed7fe32f-ab17-45b5-893e-86ba9a4d90a0","articlePermalinkKey":"o7zyvtwn","pagePermalinkKey":"o7zyvtwn","originalPublishingDate":"2022-11-28T19:00:49-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D883DBE2-5410-4EFE-8C6B-31BD021CEAE1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112170":{"id":"news-112170","staticContentId":11399,"eventContentId":112170,"eventId":"news","contentUpdatedAt":"2026-10-16T14:01:37-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=92th7e5i","languageCode":"eng","description":"The App Review Guidelines have been revised to support new features and updated policies, and to provide clarification.","title":"Updated App Review Guidelines are now available","articleID":"93d6e3c4-2919-4229-b1de-e3517a2b4906","pageID":"93d6e3c4-2919-4229-b1de-e3517a2b4906","articlePermalinkKey":"92th7e5i","pagePermalinkKey":"92th7e5i","originalPublishingDate":"2026-10-16T13:05:42-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"398CF8FB-290B-4420-BDFA-18CB1097393A","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-112172":{"id":"news-112172","staticContentId":11400,"eventContentId":112172,"eventId":"news","contentUpdatedAt":"2026-10-16T14:01:45-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=vvzx6cul","languageCode":"eng","description":"The App Review Guidelines are a core part of the safe and trusted experience that the App Store strives to offer users around the world \u2014 and the foundation of that trust is built on clear standards that are consistently enforced. ","title":"Strengthening App\u00a0Review\u00a0Guidelines against nonconsensual intimate imagery and bait-and-switch apps","articleID":"d319655b-0951-44ad-a531-9ec68244b6b3","pageID":"d319655b-0951-44ad-a531-9ec68244b6b3","articlePermalinkKey":"vvzx6cul","pagePermalinkKey":"vvzx6cul","originalPublishingDate":"2026-10-16T13:00:56-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"EEE8422D-B635-436D-A8EB-5D05DC8D26AF","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-10158":{"id":"news-10158","staticContentId":4519,"eventContentId":10158,"eventId":"news","contentUpdatedAt":"2021-09-13T07:17:23-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=yv8tlk66","languageCode":"eng","description":"Create seamless, intelligent, and engaging experiences with the latest exciting advancements in iOS 14, iPadOS 14, watchOS 7, tvOS 14, and macOS Big Sur. Get the Xcode 12 beta, which includes the SDKs for Apple platforms.","title":"See what\u2019s new on Apple platforms","articleID":"ab62fd3b-a578-418c-bf5a-5d66007da09d","pageID":"ab62fd3b-a578-418c-bf5a-5d66007da09d","articlePermalinkKey":"yv8tlk66","pagePermalinkKey":"yv8tlk66","originalPublishingDate":"2020-06-21T21:25:23-07:00","publishingExpiryDate":"2040-06-22T18:36:56-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"AAAE29CE-F916-4F82-B3EE-8AB53A84B1D4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110247":{"id":"news-110247","staticContentId":9006,"eventContentId":110247,"eventId":"news","contentUpdatedAt":"2023-06-21T13:39:15-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=8sntwknb","languageCode":"eng","description":"You can now start creating cutting-edge spatial computing apps for the infinite canvas of Apple\u00a0Vision\u00a0Pro. Download Xcode\u00a015 beta\u00a02, which includes the visionOS SDK and Reality Composer Pro (a new tool that makes it easy to preview and prepare 3D content for visionOS). Add a visionOS target to your existing project or build an entirely new app, then iterate on your app in Xcode Previews. You can interact with your app in the all-new visionOS simulator, explore various room layouts and lighting conditions, and create tests and visualizations. New documentation and sample code are also available to help you through the development process.","title":"visionOS SDK now available","articleID":"d2d0715e-9d0a-4c52-a4c7-76850893e466","pageID":"d2d0715e-9d0a-4c52-a4c7-76850893e466","articlePermalinkKey":"8sntwknb","pagePermalinkKey":"8sntwknb","originalPublishingDate":"2023-06-21T13:30:36-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"142AC444-670B-40BB-92E2-2E6F1269FBFE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112037":{"id":"news-112037","staticContentId":10653,"eventContentId":112037,"eventId":"news","contentUpdatedAt":"2025-11-13T07:26:29-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=xcz1s7cz","languageCode":"eng","description":"Today, we\u2019re introducing the Mini\u00a0Apps\u00a0Partner Program, which expands on the App\u00a0Store\u2019s ongoing support for apps that offer mini apps. Mini apps are self-contained experiences that are built using web technologies like HTML5 and JavaScript. This program is designed to help developers who host mini apps grow their business and further the availability of mini apps on the App\u00a0Store\u00a0\u2014 all while providing a great customer experience.","title":"Introducing the App Store Mini Apps Partner Program","articleID":"282765a9-42c7-4993-9b2a-9bb3dcd8b91a","pageID":"282765a9-42c7-4993-9b2a-9bb3dcd8b91a","articlePermalinkKey":"xcz1s7cz","pagePermalinkKey":"xcz1s7cz","originalPublishingDate":"2025-11-13T07:20:24-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A45FA46F-170F-4870-92F5-EACF995212A2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10237":{"id":"news-10237","staticContentId":5218,"eventContentId":10237,"eventId":"news","contentUpdatedAt":"2021-09-13T07:26:44-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=8h0btjq7","languageCode":"eng","description":"Make sure your apps are ready for iOS 14.5, iPadOS 14.5, and tvOS 14.5. With the upcoming public release, all apps must use the AppTrackingTransparency framework to request the user's permission to track them or to access their device's advertising identifier. Unless you receive permission from the user to enable tracking, the device's advertising identifier value will be all zeros and you may not track them.","title":"Get ready for AppTrackingTransparency ","articleID":"8909d86a-5336-4fad-b83a-7ef6effe2dd0","pageID":"8909d86a-5336-4fad-b83a-7ef6effe2dd0","articlePermalinkKey":"8h0btjq7","pagePermalinkKey":"8h0btjq7","originalPublishingDate":"2021-04-05T13:00:20-07:00","publishingExpiryDate":"2075-04-05T14:37:20-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BA5A5BF1-2937-4487-A535-4D149687FAAE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111956":{"id":"news-111956","staticContentId":9834,"eventContentId":111956,"eventId":"news","contentUpdatedAt":"2024-11-14T14:10:36-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=onjo01rj","languageCode":"eng","description":"The App\u00a0Store is designed to make it easy to sell your digital goods and services globally, with support for 44 currencies across 175 storefronts.","title":"Price and tax updates for apps, In-App Purchases, and subscriptions","articleID":"d3741125-abf4-4487-8794-a57cbf494361","pageID":"d3741125-abf4-4487-8794-a57cbf494361","articlePermalinkKey":"onjo01rj","pagePermalinkKey":"onjo01rj","originalPublishingDate":"2024-11-14T14:00:47-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"029D15B4-F0A4-4E10-9A9F-EFA1A2F95740","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110213":{"id":"news-110213","staticContentId":8003,"eventContentId":110213,"eventId":"news","contentUpdatedAt":"2022-12-20T08:44:57-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=boedv89w","languageCode":"eng","description":"Thank you to everyone who joined us during three great weeks of Ask\u00a0Apple in October, November, and December. Q&As remain available in Slack for Ask\u00a0Apple participants to review as\u00a0needed.","title":"Ask Apple Q&As and survey","articleID":"65831b64-baf0-4c2b-b94a-af69f3bf590b","pageID":"65831b64-baf0-4c2b-b94a-af69f3bf590b","articlePermalinkKey":"boedv89w","pagePermalinkKey":"boedv89w","originalPublishingDate":"2022-12-20T08:10:38-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"44779FDE-2702-43DE-96C1-17C32C71EA56","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110197":{"id":"news-110197","staticContentId":7810,"eventContentId":110197,"eventId":"news","contentUpdatedAt":"2022-10-13T11:32:06-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9j2k8f8w","languageCode":"eng","description":"Apple Entrepreneur Camp supports underrepresented founders and developers with app-driven organizations as they build the next generation of cutting-edge apps and helps form a global network that encourages the pipeline and longevity of these entrepreneurs in technology.","title":"Apple Entrepreneur Camp applications now open","articleID":"3734f847-ce42-4b61-9fa4-7fed97d4cb95","pageID":"3734f847-ce42-4b61-9fa4-7fed97d4cb95","articlePermalinkKey":"9j2k8f8w","pagePermalinkKey":"9j2k8f8w","originalPublishingDate":"2022-10-13T11:30:47-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5E87A51D-4F08-4FD0-9CE2-16FB6BD1FA0C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110263":{"id":"news-110263","staticContentId":9082,"eventContentId":110263,"eventId":"news","contentUpdatedAt":"2023-09-26T10:13:48-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4ns05zkh","languageCode":"eng","description":"Join us around the world for a variety of sessions, consultations, labs, and more \u2014 tailored for you.","title":"Meet with Apple\u00a0Experts","articleID":"0d144f4f-026e-4c5b-82f1-62f2757aff2d","pageID":"0d144f4f-026e-4c5b-82f1-62f2757aff2d","articlePermalinkKey":"4ns05zkh","pagePermalinkKey":"4ns05zkh","originalPublishingDate":"2023-09-26T08:00:31-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4AFCC22A-253F-47EA-94CA-757F42A2D7F8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110216":{"id":"news-110216","staticContentId":8006,"eventContentId":110216,"eventId":"news","contentUpdatedAt":"2022-12-20T08:45:07-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ytb7qj0x","languageCode":"eng","description":"Starting January 18, 2023, the App\u00a0Store receipt signing certificate will use a new WWDR intermediate certificate. The existing intermediate certificate expires on February 7, 2023. In most cases, this certificate change won\u2019t require changes to apps. However, we recommend reviewing how you verify the sale of your apps and in-app purchases from the App\u00a0Store to make sure your apps aren\u2019t impacted.","title":"Upcoming changes to the App\u00a0Store receipt signing certificate","articleID":"3fe19bf6-896b-4b82-896e-a4bb74e7d661","pageID":"3fe19bf6-896b-4b82-896e-a4bb74e7d661","articlePermalinkKey":"ytb7qj0x","pagePermalinkKey":"ytb7qj0x","originalPublishingDate":"2022-12-20T08:05:07-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"312B4241-A96F-4D83-B218-7FFDD5C1F501","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10010":{"id":"news-10010","staticContentId":3994,"eventContentId":10010,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:47-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=03262020a","languageCode":"eng","description":"The Apple Developer app delivers in-depth information from Apple experts all year round with the latest developer news, informative videos, and more. This new version lets you watch videos at multiple playback speeds, interact with the full video transcripts, and share stories from the Discover tab. It also includes accessibility improvements and other enhancements.","title":"Apple Developer App Update Now Available","articleID":"49da0b8f-7d42-432c-8b16-44d780586dc0","pageID":"49da0b8f-7d42-432c-8b16-44d780586dc0","articlePermalinkKey":"03262020a","pagePermalinkKey":"03262020a","originalPublishingDate":"2020-03-26T15:05:31-07:00","publishingExpiryDate":"2040-03-26T14:25:17-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"CF33E298-6A69-4800-9A46-0073CC17B6C8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10243":{"id":"news-10243","staticContentId":5264,"eventContentId":10243,"eventId":"news","contentUpdatedAt":"2021-09-13T07:26:56-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ecvrtzt2","languageCode":"eng","description":"With the upcoming public release of iOS 14.5, iPadOS 14.5, and tvOS 14.5, all apps must use the AppTrackingTransparency framework to request the user\u2019s permission to track them or to access their device's advertising identifier. Unless you receive permission from the user to enable tracking, the device's advertising identifier value will be all zeros and you may not track them.","title":"Upcoming AppTrackingTransparency requirements","articleID":"b59c5d1a-4126-44ea-ba67-067cd6c88907","pageID":"b59c5d1a-4126-44ea-ba67-067cd6c88907","articlePermalinkKey":"ecvrtzt2","pagePermalinkKey":"ecvrtzt2","originalPublishingDate":"2021-04-20T12:45:51-07:00","publishingExpiryDate":"2075-04-20T18:22:51-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"08C8CCCE-E1B0-44A6-97ED-277198C20DF7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10269":{"id":"news-10269","staticContentId":5891,"eventContentId":10269,"eventId":"news","contentUpdatedAt":"2021-09-16T10:51:50-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=8hlhzuj7","languageCode":"eng","description":"You can now easily create custom marketing assets \u2014 such as banners and images \u2014 to promote your apps on social media and more. Simply select your app, choose a template, customize your design, and add preset messages in multiple languages. Your assets will be available instantly in all the right sizes, making sharing easier than ever. You can also continue to use these App Store marketing tools to create short links or embeddable code that lead to your App Store product page and display your app icon, a QR code, or an App Store badge.","title":"New App Store marketing tools now available","articleID":"acd21131-e9dc-4206-a9be-527cfbf8f942","pageID":"acd21131-e9dc-4206-a9be-527cfbf8f942","articlePermalinkKey":"8hlhzuj7","pagePermalinkKey":"8hlhzuj7","originalPublishingDate":"2021-09-16T10:45:13-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"451C6F33-0E3D-4F08-8263-8987F6E8DF19","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110174":{"id":"news-110174","staticContentId":7402,"eventContentId":110174,"eventId":"news","contentUpdatedAt":"2022-06-06T14:16:38-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=x404q63o","languageCode":"eng","description":"You can now connect on the Apple Developer Forums through WWDC22 tags specific to sessions and topics.","title":"WWDC22 session and topic tags now available","articleID":"f0624bca-1f17-48a5-96ee-b0a6c5c01103","pageID":"f0624bca-1f17-48a5-96ee-b0a6c5c01103","articlePermalinkKey":"x404q63o","pagePermalinkKey":"x404q63o","originalPublishingDate":"2022-06-06T12:27:54-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E8A7F91E-F480-4F2E-8CB3-54497947625C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10222":{"id":"news-10222","staticContentId":4863,"eventContentId":10222,"eventId":"news","contentUpdatedAt":"2021-09-13T07:37:31-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3ozbk628","languageCode":"eng","description":"The App Store is a safe and trusted place for customers to discover and download\napps, and a great opportunity for developers. The App Store Review Guideline changes\nand clarifications support new features in upcoming OS releases, better protect\ncustomers, and help your apps go through the review process as smoothly as possible.","title":"App Store Review Guideline updates now available","articleID":"a3ed6cfe-5cae-4004-a7f7-e0590f6ecd4e","pageID":"a3ed6cfe-5cae-4004-a7f7-e0590f6ecd4e","articlePermalinkKey":"3ozbk628","pagePermalinkKey":"3ozbk628","originalPublishingDate":"2021-02-01T15:39:03-08:00","publishingExpiryDate":"2075-02-01T13:31:53-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C561DC25-0894-4B25-A1E9-43838CAB1438","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10244":{"id":"news-10244","staticContentId":5265,"eventContentId":10244,"eventId":"news","contentUpdatedAt":"2021-09-13T07:27:08-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ib31uj1j","languageCode":"eng","description":"Make sure your apps make the most of iOS 14, iPadOS 14, and watchOS 7. Build your apps with the Xcode 12.5 Release Candidate, update your product pages, and submit them for review.","title":"App Store submission update","articleID":"e31793bc-feb9-4c86-a479-bfd53bcee62b","pageID":"e31793bc-feb9-4c86-a479-bfd53bcee62b","articlePermalinkKey":"ib31uj1j","pagePermalinkKey":"ib31uj1j","originalPublishingDate":"2021-04-20T12:44:27-07:00","publishingExpiryDate":"2075-04-20T18:31:27-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"02EEA42C-E1E0-4240-89A3-C0AC33F601F1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110275":{"id":"news-110275","staticContentId":9128,"eventContentId":110275,"eventId":"news","contentUpdatedAt":"2023-12-05T09:10:53-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=tngt30f4","languageCode":"eng","description":"With new activities added through January, you can schedule a one-on-one consultation with an Apple expert to get personalized help, no matter where you are on your development journey. ","title":"New design and technology consultations now available","articleID":"cdde6ce6-497d-4698-88f8-668fa8bb588b","pageID":"cdde6ce6-497d-4698-88f8-668fa8bb588b","articlePermalinkKey":"tngt30f4","pagePermalinkKey":"tngt30f4","originalPublishingDate":"2023-12-05T07:00:09-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1491945C-F369-4F00-92BE-4FD95D6B5EF2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110171":{"id":"news-110171","staticContentId":7399,"eventContentId":110171,"eventId":"news","contentUpdatedAt":"2022-06-06T12:56:15-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=7b8w4nkr","languageCode":"eng","description":"The latest exciting advancements in iOS 16, iPadOS 16, macOS 13, tvOS 16, and watchOS 9 help you create powerful new experiences. Your apps can deliver information in new ways, make it easier for people to share your content, offer more intelligent features, improve productivity, and so much&nbsp;more.","title":"Find out what\u2019s new for Apple developers","articleID":"64910dda-47da-4b24-9ea5-3e444c5c0a78","pageID":"64910dda-47da-4b24-9ea5-3e444c5c0a78","articlePermalinkKey":"7b8w4nkr","pagePermalinkKey":"7b8w4nkr","originalPublishingDate":"2022-06-06T11:58:34-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A2707E69-286B-46C0-8554-443FFDA182AF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10262":{"id":"news-10262","staticContentId":5760,"eventContentId":10262,"eventId":"news","contentUpdatedAt":"2021-09-13T07:38:44-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6ndf2448","languageCode":"eng","description":"Take advantage of the latest capabilities to improve the discovery of your app on the App Store, and deliver high-quality app and in-app purchase experiences.","title":"What\u2019s new for apps on the App Store","articleID":"e2432d68-57ec-4225-a658-b2813b62656c","pageID":"e2432d68-57ec-4225-a658-b2813b62656c","articlePermalinkKey":"6ndf2448","pagePermalinkKey":"6ndf2448","originalPublishingDate":"2021-06-07T12:02:40-07:00","publishingExpiryDate":"2075-06-05T22:37:49-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1E9E4214-1449-405B-9616-0E00F2A19F38","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10181":{"id":"news-10181","staticContentId":4717,"eventContentId":10181,"eventId":"news","contentUpdatedAt":"2021-09-13T07:27:47-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=xqk627qu","languageCode":"eng","description":"The App Store is a safe and trusted place for customers to discover and download apps, and a great opportunity for developers. These guideline changes and clarifications support new features in upcoming OS releases, better protect customers, and help your apps go through the review process as smoothly as possible.","title":"App Store Review Guideline updates now available","articleID":"6ad780f0-05ec-4638-ac02-f7541ec8ebb0","pageID":"6ad780f0-05ec-4638-ac02-f7541ec8ebb0","articlePermalinkKey":"xqk627qu","pagePermalinkKey":"xqk627qu","originalPublishingDate":"2020-09-11T10:00:00-07:00","publishingExpiryDate":"2075-09-11T13:04:33-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C08755E3-E4EE-41E0-912E-7933A4D7C774","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112150":{"id":"news-112150","staticContentId":11377,"eventContentId":112150,"eventId":"news","contentUpdatedAt":"2026-09-09T16:03:52-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=vn8abkxx","languageCode":"eng","description":"Start getting ready for iPhone\u00a0Duo today. Watch new videos, sign up for Group\u00a0Labs, and take part in Q&As on the Apple\u00a0Developer\u00a0Forums.","title":"Get ready for iPhone\u00a0Duo","articleID":"66c181af-7dc7-4362-a9b3-b5641ffc28f0","pageID":"66c181af-7dc7-4362-a9b3-b5641ffc28f0","articlePermalinkKey":"vn8abkxx","pagePermalinkKey":"vn8abkxx","originalPublishingDate":"2026-09-09T16:05:23-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3D702737-6CCC-4066-AAD1-DB9826AA1EDE","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-112132":{"id":"news-112132","staticContentId":11332,"eventContentId":112132,"eventId":"news","contentUpdatedAt":"2026-08-18T10:19:32-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=gmws0jgp","languageCode":"eng","description":"Apple is making changes to its business terms for apps in the European Union, following close collaboration with the European Commission. The changes reduce complexity by moving every developer that distributes apps in the EU to a single set of business terms.","title":"Changes for apps in the European Union","articleID":"a381425a-dc23-482b-867e-670e81afb71e","pageID":"a381425a-dc23-482b-867e-670e81afb71e","articlePermalinkKey":"gmws0jgp","pagePermalinkKey":"gmws0jgp","originalPublishingDate":"2026-08-18T08:00:38-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9ACCCD41-8128-4FE5-9340-25A85DD26E8C","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-112134":{"id":"news-112134","staticContentId":11333,"eventContentId":112134,"eventId":"news","contentUpdatedAt":"2026-08-24T11:25:02-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=1ptvdtcm","languageCode":"eng","description":"Starting later this year, new Sign in with Apple addresses, previously issued on `privaterelay.appleid.com`, will be issued on `private.icloud.com`.","title":"Update: New domain for Sign\u00a0in\u00a0with\u00a0Apple","articleID":"882d6acb-ca02-4232-9644-071b960b8ec3","pageID":"882d6acb-ca02-4232-9644-071b960b8ec3","articlePermalinkKey":"1ptvdtcm","pagePermalinkKey":"1ptvdtcm","originalPublishingDate":"2026-08-24T11:00:46-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E6D8D5DF-921B-4495-8357-3CE4D85F9A45","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-10173":{"id":"news-10173","staticContentId":4700,"eventContentId":10173,"eventId":"news","contentUpdatedAt":"2021-09-13T07:16:45-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=kuswih5l","languageCode":"eng","description":"Safari Web Extensions can add custom functionality to Safari 14 beta using the same WebExtensions API used in other browsers, such as Chrome, Firefox, and Edge. And with a new conversion tool in Xcode 12 beta, you can quickly bring your existing extensions to Safari and make them available on the Mac App Store this fall.\n\nLearn more about the WebExtensions API","title":"Easily create web extensions for Safari","articleID":"8ef60c3f-599e-4911-a265-6d14972e38eb","pageID":"8ef60c3f-599e-4911-a265-6d14972e38eb","articlePermalinkKey":"kuswih5l","pagePermalinkKey":"kuswih5l","originalPublishingDate":"2020-08-27T10:40:44-07:00","publishingExpiryDate":"2075-08-27T13:35:02-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"DE863AF4-0E51-4C3B-9712-59AA946C6F71","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112136":{"id":"news-112136","staticContentId":11334,"eventContentId":112136,"eventId":"news","contentUpdatedAt":"2026-08-18T09:03:40-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=0cgo95n6","languageCode":"eng","description":"Attachment 14 of the Apple\u00a0Developer Program License Agreement has been added to specify updated terms for apps in the European\u00a0Union, including alternative distribution, alternative payments, and business terms.","title":"Updated Apple\u00a0Developer Program License Agreement now\u00a0available","articleID":"a689e86a-ff31-4ce8-8327-e6f0b3d7b2f3","pageID":"a689e86a-ff31-4ce8-8327-e6f0b3d7b2f3","articlePermalinkKey":"0cgo95n6","pagePermalinkKey":"0cgo95n6","originalPublishingDate":"2026-08-18T08:00:32-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"56CE5514-CA34-45E5-BA89-492F9AB030D8","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-10208":{"id":"news-10208","staticContentId":4786,"eventContentId":10208,"eventId":"news","contentUpdatedAt":"2021-09-13T07:19:22-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=11i21ytl","languageCode":"eng","description":"Every year, the App Store celebrates exceptional apps that improve people\u2019s lives while showcasing the highest levels of quality and impact. These award-winning apps and games, created by innovative developers, helped us connect, stay well, and find joy in 2020.","title":"Congratulations to the Best of 2020 winners","articleID":"300de13d-f4b2-431c-a1e5-122629de975d","pageID":"300de13d-f4b2-431c-a1e5-122629de975d","articlePermalinkKey":"11i21ytl","pagePermalinkKey":"11i21ytl","originalPublishingDate":"2020-12-01T20:30:39-08:00","publishingExpiryDate":"2075-12-01T08:39:08-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"08BFCA2B-0099-4521-A441-400AE6093B4F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10260":{"id":"news-10260","staticContentId":5758,"eventContentId":10260,"eventId":"news","contentUpdatedAt":"2021-09-13T07:38:24-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=hv2ck7op","languageCode":"eng","description":"SharePlay gives people the ability to share experiences right inside FaceTime in an entirely new way. Use the Group Activities API to bring movies, TV, music, and more from your app into a space where people are already connecting with each other.","title":"Introducing SharePlay","articleID":"a98618ff-455a-43b3-9d5f-747a5dfbec29","pageID":"a98618ff-455a-43b3-9d5f-747a5dfbec29","articlePermalinkKey":"hv2ck7op","pagePermalinkKey":"hv2ck7op","originalPublishingDate":"2021-06-07T12:04:14-07:00","publishingExpiryDate":"2075-06-05T22:34:44-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"49BA7587-3A7B-44E2-8C63-53277DB8F1CC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10236":{"id":"news-10236","staticContentId":5179,"eventContentId":10236,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:25-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=t5jm3yaz","languageCode":"eng","description":"The Apple Worldwide Developers Conference is coming to a screen near you, June 7 to 11. Join the worldwide developer community for a jam-packed, all-online program with announcements, sessions, and labs, where you\u2019ll get a first look at Apple\u2019s latest platforms and technologies. ","title":"Announcing WWDC21","articleID":"f0a64a3f-2963-4b5c-821a-6cfaf9d30949","pageID":"f0a64a3f-2963-4b5c-821a-6cfaf9d30949","articlePermalinkKey":"t5jm3yaz","pagePermalinkKey":"t5jm3yaz","originalPublishingDate":"2021-03-30T04:00:56-07:00","publishingExpiryDate":"2075-03-30T15:28:56-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"62FEB693-71CB-49FA-9DB9-30FE00E72E2A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110277":{"id":"news-110277","staticContentId":9131,"eventContentId":110277,"eventId":"news","contentUpdatedAt":"2023-12-07T08:51:39-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=r1henawx","languageCode":"eng","description":"Third-party software development kits (SDKs) provide great functionality for apps, and they also have the potential to provide capabilities that impact user privacy that aren\u2019t obvious to developers and users. As a reminder, when you use a third-party SDK with your app, you\u2019re also responsible for all the code the SDK includes in your app, and should be aware of its data collection and use practices. ","title":"Privacy updates for App Store submissions","articleID":"3571ae7c-51a2-409a-a065-982cfcaf5fc3","pageID":"3571ae7c-51a2-409a-a065-982cfcaf5fc3","articlePermalinkKey":"r1henawx","pagePermalinkKey":"r1henawx","originalPublishingDate":"2023-12-07T07:50:36-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BA68630A-81E0-426A-9810-B93381C120B9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111991":{"id":"news-111991","staticContentId":10300,"eventContentId":111991,"eventId":"news","contentUpdatedAt":"2025-05-01T17:13:49-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9txfddzf","languageCode":"eng","description":"The App Review Guidelines have been updated for compliance with a United States court decision regarding buttons, external links, and other calls to action in apps. These changes affect apps distributed on the United States storefront of the App Store, and are reflected in updates to Guidelines 3.1.1, 3.1.1(a), 3.1.3, and 3.1.3(a).","title":"Updated guidelines now available","articleID":"09732cdb-f6b7-4671-be8c-4007af0b849b","pageID":"09732cdb-f6b7-4671-be8c-4007af0b849b","articlePermalinkKey":"9txfddzf","pagePermalinkKey":"9txfddzf","originalPublishingDate":"2025-05-01T08:33:58-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FF30519A-E88D-41A0-B8DC-B80E58B8F51F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110187":{"id":"news-110187","staticContentId":7496,"eventContentId":110187,"eventId":"news","contentUpdatedAt":"2022-08-01T10:28:33-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=g2414inv","languageCode":"eng","description":"Apple Entrepreneur Camp supports underrepresented founders and developers of app-driven organizations as they build the next generation of cutting-edge apps and helps form a global network that encourages the pipeline and longevity of these entrepreneurs in technology.","title":"Apple Entrepreneur Camp applications open for female, Black, and Hispanic\/Latinx founders","articleID":"30c06ca1-25ee-4c6d-b95f-b0fff253b03e","pageID":"30c06ca1-25ee-4c6d-b95f-b0fff253b03e","articlePermalinkKey":"g2414inv","pagePermalinkKey":"g2414inv","originalPublishingDate":"2022-08-01T10:28:45-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"EE42F100-5756-4686-A93D-4E8B25D0295A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110202":{"id":"news-110202","staticContentId":7825,"eventContentId":110202,"eventId":"news","contentUpdatedAt":"2022-10-25T10:57:56-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=zj4stkq7","languageCode":"eng","description":"Apple Search Ads makes it easy to promote your app on the App\u00a0Store. And now with new Today tab and product page ad placements, you can drive discovery of your app in more moments across the App\u00a0Store\u00a0\u2014 when customers first arrive, search for something specific, and browse apps to download.","title":"New ad placements from Apple Search Ads now available on the App Store","articleID":"d7309ec4-6829-4fb0-ad2f-fe91cd8134d4","pageID":"d7309ec4-6829-4fb0-ad2f-fe91cd8134d4","articlePermalinkKey":"zj4stkq7","pagePermalinkKey":"zj4stkq7","originalPublishingDate":"2022-10-25T10:55:54-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C0C416B2-9D75-431C-BF91-1600086CD255","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112103":{"id":"news-112103","staticContentId":11221,"eventContentId":112103,"eventId":"news","contentUpdatedAt":"2026-06-03T10:11:45-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=sg176nne","languageCode":"eng","description":"New Apple Accounts in Texas are now subject to the Texas law SB 2420, which introduced age assurance requirements for app marketplaces and developers.","title":"Update for Apps Distributed in Texas","articleID":"42d478b9-186f-48a2-bb2a-d53408214e06","pageID":"42d478b9-186f-48a2-bb2a-d53408214e06","articlePermalinkKey":"sg176nne","pagePermalinkKey":"sg176nne","originalPublishingDate":"2026-06-03T10:00:22-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"88C028D1-6C7E-4157-A05C-5A280068B9D2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112126":{"id":"news-112126","staticContentId":11324,"eventContentId":112126,"eventId":"news","contentUpdatedAt":"2026-08-05T10:14:42-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=kug6m2ea","languageCode":"eng","description":"Apple is introducing new ways to market your apps and games on the App Store","title":"Get ready for new creative assets on the App Store","articleID":"f176de58-1dec-418d-88b9-351bb510203e","pageID":"f176de58-1dec-418d-88b9-351bb510203e","articlePermalinkKey":"kug6m2ea","pagePermalinkKey":"kug6m2ea","originalPublishingDate":"2026-08-05T08:00:58-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":86,"topicIds":[87,88,86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B42473A0-F080-4A75-9D36-3C0C4FB1D37A","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-112128":{"id":"news-112128","staticContentId":11325,"eventContentId":112128,"eventId":"news","contentUpdatedAt":"2026-09-16T13:47:40-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=likeohx4","languageCode":"eng","description":"Discover how you can expand the reach of your subscriptions with new features in iOS\u00a027.","title":"Get your subscriptions ready for iOS 27","articleID":"c04cd2ef-4972-4315-ad3e-e29f907ca32b","pageID":"c04cd2ef-4972-4315-ad3e-e29f907ca32b","articlePermalinkKey":"likeohx4","pagePermalinkKey":"likeohx4","originalPublishingDate":"2026-09-16T10:02:58-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E87233DD-D0B4-4A6A-82FE-C2D321EF3A91","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-10314":{"id":"news-10314","staticContentId":6405,"eventContentId":10314,"eventId":"news","contentUpdatedAt":"2021-12-08T09:29:01-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=2xnhx92t","languageCode":"eng","description":"You can now take advantage of two exciting new features that help you build more effective App Store product pages.","title":"New features for App Store product pages now available","articleID":"c3b26153-6983-461d-9b5a-ffa441705c31","pageID":"c3b26153-6983-461d-9b5a-ffa441705c31","articlePermalinkKey":"2xnhx92t","pagePermalinkKey":"2xnhx92t","originalPublishingDate":"2021-12-08T09:28:08-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"CBB004D1-0A1F-4AB7-B672-1968753BB4F1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110301":{"id":"news-110301","staticContentId":9294,"eventContentId":110301,"eventId":"news","contentUpdatedAt":"2024-03-12T04:28:55-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=8c1m8hqt","languageCode":"eng","description":"We\u2019re providing more flexibility for developers who distribute apps in the European Union (EU), including introducing a new way to distribute apps directly from a developer\u2019s website.","title":"More options for apps distributed in the European Union","articleID":"3bf9418b-c9cc-4c7c-bdf7-17d7464d1218","pageID":"3bf9418b-c9cc-4c7c-bdf7-17d7464d1218","articlePermalinkKey":"8c1m8hqt","pagePermalinkKey":"8c1m8hqt","originalPublishingDate":"2024-03-12T01:00:27-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"15634A99-6C82-4542-872B-03633F15C3D3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110284":{"id":"news-110284","staticContentId":9176,"eventContentId":110284,"eventId":"news","contentUpdatedAt":"2024-01-23T09:41:23-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4610zxw8","languageCode":"eng","description":"We\u2019re so excited applications for the Swift Student Challenge 2024 will open on February\u00a05.","title":"Swift Student Challenge applications open February 5","articleID":"0d9ad970-683b-402d-86c7-f75e679468ae","pageID":"0d9ad970-683b-402d-86c7-f75e679468ae","articlePermalinkKey":"4610zxw8","pagePermalinkKey":"4610zxw8","originalPublishingDate":"2024-01-23T08:00:40-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1EEE0B04-AF28-4154-8C44-1E017000DBE2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110288":{"id":"news-110288","staticContentId":9187,"eventContentId":110288,"eventId":"news","contentUpdatedAt":"2024-01-29T14:12:39-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=73iijfon","languageCode":"eng","description":"The beta versions of iOS 17.4, iPadOS 17.4, macOS 14.4, tvOS 17.4, and watchOS 10.4 are now available. Get your apps ready by confirming they work as expected on these releases. And to take advantage of the advancements in the latest SDKs, make sure to build and test with Xcode 15.3 beta.","title":"Get ready with the latest beta releases","articleID":"3e926065-ff74-4943-8ba5-19de7bcd5524","pageID":"3e926065-ff74-4943-8ba5-19de7bcd5524","articlePermalinkKey":"73iijfon","pagePermalinkKey":"73iijfon","originalPublishingDate":"2024-01-30T07:00:10-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A3D2B785-22E0-400A-8686-EE0F3D5EFD21","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110239":{"id":"news-110239","staticContentId":8966,"eventContentId":110239,"eventId":"news","contentUpdatedAt":"2023-06-05T18:08:08-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=65uux97z","languageCode":"eng","description":"The Apple Design Awards celebrate apps and games that excel in the categories of Inclusivity, Delight and Fun, Interaction, Social Impact, Visuals and Graphics, and Innovation. Learn about the 2023 winning apps and the talented developers behind them.","title":"Apple Design Award winners announced","articleID":"a835bc04-f67f-40b4-a750-47ff6a7fd957","pageID":"a835bc04-f67f-40b4-a750-47ff6a7fd957","articlePermalinkKey":"65uux97z","pagePermalinkKey":"65uux97z","originalPublishingDate":"2023-06-05T18:00:22-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9B3E4B17-1B94-446B-BA6C-3F67BEE76FF6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110168":{"id":"news-110168","staticContentId":7344,"eventContentId":110168,"eventId":"news","contentUpdatedAt":"2022-05-31T11:52:14-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=h1s5yoz4","languageCode":"eng","description":"The Apple Design Awards celebrate apps and games that excel in the categories of Inclusivity, Delight and Fun, Interaction, Social Impact, Visuals and Graphics, and Innovation. Discover this year\u2019s finalists, then tune in June 6 at 5 p.m. PT to watch the event as part of WWDC22.","title":"Apple Design Award finalists announced","articleID":"79c15e50-269f-4ed2-8429-ff6dbb2563af","pageID":"79c15e50-269f-4ed2-8429-ff6dbb2563af","articlePermalinkKey":"h1s5yoz4","pagePermalinkKey":"h1s5yoz4","originalPublishingDate":"2022-05-31T06:58:23-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"50380986-57D7-45B2-B04E-4E9C47A34751","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10161":{"id":"news-10161","staticContentId":4522,"eventContentId":10161,"eventId":"news","contentUpdatedAt":"2021-09-13T07:17:17-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=zyzt827p","languageCode":"eng","description":"Get your apps ready for Apple Silicon Macs. Create next-generation Universal apps that take full advantage of the capabilities the new architecture has to offer. As a Universal App Quick Start Program member, you can access all the tools, resources, and support you need.","title":"The new Universal App Quick Start Program is here.","articleID":"44a2eccc-3e14-4915-a700-0df4b05d98b3","pageID":"44a2eccc-3e14-4915-a700-0df4b05d98b3","articlePermalinkKey":"zyzt827p","pagePermalinkKey":"zyzt827p","originalPublishingDate":"2020-06-21T21:00:59-07:00","publishingExpiryDate":"2040-06-22T21:35:25-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7684D83E-5B86-4B16-91E4-55AB35249DDE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110254":{"id":"news-110254","staticContentId":9039,"eventContentId":110254,"eventId":"news","contentUpdatedAt":"2023-07-27T13:38:04-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=z6fu1dcu","languageCode":"eng","description":"Apple is committed to protecting user privacy on our platforms. We know that there are a small set of APIs that can be misused to collect data about users\u2019 devices through fingerprinting, which is prohibited by our Developer Program License Agreement. To prevent the misuse of these APIs, we announced at WWDC23 that developers will need to declare the reasons for using these APIs in their app's privacy manifest. This will help ensure that apps only use these APIs for their intended purpose. As part of this process, you\u2019ll need to select one or more approved reasons that accurately reflect how your app uses the API, and your app can only use the API for the reasons you\u2019ve selected.","title":"List of APIs that require declared reasons now available","articleID":"0159c564-6123-453c-ab2f-8fb3275749ba","pageID":"0159c564-6123-453c-ab2f-8fb3275749ba","articlePermalinkKey":"z6fu1dcu","pagePermalinkKey":"z6fu1dcu","originalPublishingDate":"2023-07-27T13:35:54-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"46FAC582-A153-4ECB-8086-A2B05E8C9BAA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112029":{"id":"news-112029","staticContentId":10624,"eventContentId":112029,"eventId":"news","contentUpdatedAt":"2025-10-30T15:35:52-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=nomqoqfm","languageCode":"eng","description":"The App\u00a0Store is designed to make it easy to sell your digital goods and services globally, with support for 44 currencies across 175 storefronts. From time to time, we may need to adjust prices or your proceeds due to changes in tax regulations or foreign exchange rates. These adjustments are made using publicly available exchange rate information from financial data providers to help make sure prices for apps and In-App Purchases stay consistent across all storefronts.","title":"Price updates for apps, In-App Purchases, and subscriptions","articleID":"3fffec0c-803d-44f5-ae87-80480c18e570","pageID":"3fffec0c-803d-44f5-ae87-80480c18e570","articlePermalinkKey":"nomqoqfm","pagePermalinkKey":"nomqoqfm","originalPublishingDate":"2025-10-30T06:00:46-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2C7C5B44-D6DA-4580-809F-9E60EDFD68BA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111937":{"id":"news-111937","staticContentId":9794,"eventContentId":111937,"eventId":"news","contentUpdatedAt":"2024-08-01T10:18:58-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ty0avr2s","languageCode":"eng","description":"The App Review Guidelines have been revised to support updated policies and upcoming features, and to provide clarification.","title":"Updated guidelines now available","articleID":"bbe2cfe4-0ba3-498d-aeb0-fc72e890323a","pageID":"bbe2cfe4-0ba3-498d-aeb0-fc72e890323a","articlePermalinkKey":"ty0avr2s","pagePermalinkKey":"ty0avr2s","originalPublishingDate":"2024-08-01T08:00:32-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"303E9573-127B-465B-9863-02397C2B722D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110152":{"id":"news-110152","staticContentId":6466,"eventContentId":110152,"eventId":"news","contentUpdatedAt":"2022-02-03T22:39:25-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=uub8j2f1","languageCode":"eng","description":"Throughout its history, Apple\u2019s App Store has helped drive innovation in the Netherlands. Today, the iOS app economy supports over 184,000 Dutch jobs, and we have helped Dutch developers access markets and customers in 175 regions around the world through the App Store. ","title":"Additional details available for dating apps in the Netherlands","articleID":"3c9dbe2a-a274-4c2b-9eec-5f80bf386478","pageID":"3c9dbe2a-a274-4c2b-9eec-5f80bf386478","articlePermalinkKey":"uub8j2f1","pagePermalinkKey":"uub8j2f1","originalPublishingDate":"2022-02-03T22:35:55-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5F5FB7B0-4861-4065-81FD-77C379BA62C3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10275":{"id":"news-10275","staticContentId":5959,"eventContentId":10275,"eventId":"news","contentUpdatedAt":"2021-09-13T07:37:31-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=k6kk0gnr","languageCode":"eng","description":"Enrollment is now open for the News Partner Program, designed for subscription news publications that provide their content to Apple News in Apple News Format. Publishers that work with Apple News may qualify for a commission rate of 15% on qualifying in-app purchase subscriptions from day one. The program is available to Apple Developer Program members globally.","title":"Introducing the News Partner Program","articleID":"72eb8255-a66b-4f68-aeb5-816c37823d50","pageID":"72eb8255-a66b-4f68-aeb5-816c37823d50","articlePermalinkKey":"k6kk0gnr","pagePermalinkKey":"k6kk0gnr","originalPublishingDate":"2021-08-26T13:05:21-07:00","publishingExpiryDate":"2075-08-26T09:28:44-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D69DC65B-4F0E-45B9-A66D-398B06F0ED40","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112031":{"id":"news-112031","staticContentId":10626,"eventContentId":112031,"eventId":"news","contentUpdatedAt":"2025-11-03T12:36:54-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=gf6mgrs6","languageCode":"eng","description":"As part of our ongoing commitment to helping developers succeed on the App\u00a0Store, we\u2019re introducing new options for submitting content and updates while your app is in review, double the number of custom product pages, and offer codes for all In-App Purchase types.","title":"Enhancements to help you submit and market your apps and games","articleID":"a31d323c-3d83-457e-99ee-6d220d0d9bf0","pageID":"a31d323c-3d83-457e-99ee-6d220d0d9bf0","articlePermalinkKey":"gf6mgrs6","pagePermalinkKey":"gf6mgrs6","originalPublishingDate":"2025-10-29T06:00:28-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5417FA92-B041-4792-8895-F4B07E999A6F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111986":{"id":"news-111986","staticContentId":10043,"eventContentId":111986,"eventId":"news","contentUpdatedAt":"2025-03-25T09:05:32-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=a425w48j","languageCode":"eng","description":"Join the worldwide developer community online for a week of technology and creativity.","title":"WWDC25: June 9-13, 2025","articleID":"cd58e0fb-9a98-4f10-a32b-c1a89880988d","pageID":"cd58e0fb-9a98-4f10-a32b-c1a89880988d","articlePermalinkKey":"a425w48j","pagePermalinkKey":"a425w48j","originalPublishingDate":"2025-03-25T07:00:37-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A78A94FA-F664-46D2-AD16-832D273787F5","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110190":{"id":"news-110190","staticContentId":7557,"eventContentId":110190,"eventId":"news","contentUpdatedAt":"2022-08-26T07:43:35-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=lw8dnr3l","languageCode":"eng","description":"You can now watch the Keynote, Platforms State\u00a0of\u00a0the\u00a0Union, and nearly 200 sessions from this year\u2019s Apple Worldwide Developers Conference with Japanese, Korean, and Simplified Chinese subtitles. Available on the web or the Apple\u00a0Developer\u00a0app for iPhone, iPad, Mac, and Apple\u00a0TV.","title":"WWDC22 video subtitles now in more languages","articleID":"22c7b0e5-4986-4886-8ce6-412297509060","pageID":"22c7b0e5-4986-4886-8ce6-412297509060","articlePermalinkKey":"lw8dnr3l","pagePermalinkKey":"lw8dnr3l","originalPublishingDate":"2022-08-26T07:42:47-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D72FB717-F0D2-4A6E-9A4A-FDF5DD4E11DE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110154":{"id":"news-110154","staticContentId":6475,"eventContentId":110154,"eventId":"news","contentUpdatedAt":"2022-03-15T15:57:59-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=bz0o2ngf","languageCode":"eng","description":"There\u2019s still time to connect with Apple experts through online sessions where you can learn about the latest App Store features and get your questions answered. Find out how to create product pages that resonate best with the people you\u2019d like to reach, provide great subscription experiences, distribute custom offer codes, and promote your in-app events. Register today if you\u2019re a member of the Apple Developer Program.","title":"App Store sessions available through March 29","articleID":"39a8a2cb-9d17-4aeb-b01c-a78bb7a2cbaa","pageID":"39a8a2cb-9d17-4aeb-b01c-a78bb7a2cbaa","articlePermalinkKey":"bz0o2ngf","pagePermalinkKey":"bz0o2ngf","originalPublishingDate":"2022-03-15T15:56:38-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9AFCEB1B-1F05-4DB3-A61F-FAD0805C44B2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10240":{"id":"news-10240","staticContentId":5251,"eventContentId":10240,"eventId":"news","contentUpdatedAt":"2026-04-20T11:10:26-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ur72zu9c","languageCode":"eng","description":"Watch the replay from April 20 at apple.com.","title":"Watch the April 20 Apple Event","articleID":"bd48e1b1-12dc-4fea-9d9b-65b54d757cbe","pageID":"bd48e1b1-12dc-4fea-9d9b-65b54d757cbe","articlePermalinkKey":"ur72zu9c","pagePermalinkKey":"ur72zu9c","originalPublishingDate":"2021-04-19T05:00:33-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D37AE459-4067-45A3-B8FC-DD488E514E7D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110228":{"id":"news-110228","staticContentId":8395,"eventContentId":110228,"eventId":"news","contentUpdatedAt":"2023-04-19T11:21:12-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=74739es1","languageCode":"eng","description":"The App\u00a0Store\u2019s world-class commerce and payments system provides a convenient and effective way to set equalized prices across international markets, adapt to foreign exchange rate or tax changes, and manage prices per storefront. Last month, we introduced major pricing upgrades, including enhanced global pricing, across all purchase types. Now more customer friendly, the new price points follow the most common conventions in each country or region, and are globally equalized to your selected base country or region using publicly available exchange rate information from financial data providers.","title":"Preparing for the enhanced global pricing update on May\u00a09","articleID":"8f6464af-bcc4-486a-8d0e-8fcdc882635c","pageID":"8f6464af-bcc4-486a-8d0e-8fcdc882635c","articlePermalinkKey":"74739es1","pagePermalinkKey":"74739es1","originalPublishingDate":"2023-04-19T11:20:16-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"39762512-72B0-4D7A-A800-9DFA425B30E5","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110203":{"id":"news-110203","staticContentId":7826,"eventContentId":110203,"eventId":"news","contentUpdatedAt":"2022-10-24T11:01:37-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=jhywps1u","languageCode":"eng","description":"Get ready to connect with experts online to learn how to make the most of App\u00a0Store features. Discover how to attract new customers, test marketing strategies, add subscriptions, and so much more. Live presentations with Q&A will be held this November and December in multiple time zones and languages. Register today if you\u2019re a member of the Apple\u00a0Developer\u00a0Program.","title":"Meet with App Store experts","articleID":"4972784a-5144-4ec7-bc75-77edb196081f","pageID":"4972784a-5144-4ec7-bc75-77edb196081f","articlePermalinkKey":"jhywps1u","pagePermalinkKey":"jhywps1u","originalPublishingDate":"2022-10-24T11:00:51-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A5B23C3E-D7D5-4A40-99C5-9CA0A7994061","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110179":{"id":"news-110179","staticContentId":7449,"eventContentId":110179,"eventId":"news","contentUpdatedAt":"2022-06-08T09:03:09-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=kvwb7ph4","languageCode":"eng","description":"Register for labs and Digital Lounges to connect with Apple engineers, designers, and experts online all week long.","title":"Sign up now for WWDC22 labs and lounges","articleID":"946d2415-3d6c-4d4c-88bd-8ff27c509ee9","pageID":"946d2415-3d6c-4d4c-88bd-8ff27c509ee9","articlePermalinkKey":"kvwb7ph4","pagePermalinkKey":"kvwb7ph4","originalPublishingDate":"2022-06-08T08:48:26-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5870DDA2-0462-4953-A3AC-F73112588DC7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112158":{"id":"news-112158","staticContentId":11388,"eventContentId":112158,"eventId":"news","contentUpdatedAt":"2026-10-01T10:45:54-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=w4atic4c","languageCode":"eng","description":"The original Developer ID Certification Authority (Sub-CA) expires on February 1, 2027. Certificates issued by this authority will stop working on that date.","title":"Upcoming expiration of Developer ID Certification Authority (Sub-CA)","articleID":"48beeeda-0af9-44cf-ac1c-ef981c9af5a7","pageID":"48beeeda-0af9-44cf-ac1c-ef981c9af5a7","articlePermalinkKey":"w4atic4c","pagePermalinkKey":"w4atic4c","originalPublishingDate":"2026-10-01T10:00:11-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B8CB7484-35EE-4503-BAA0-8DCAF356CC51","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-112091":{"id":"news-112091","staticContentId":11182,"eventContentId":112091,"eventId":"news","contentUpdatedAt":"2026-06-02T10:10:33-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=vbvsocwh","languageCode":"eng","description":"Join us in celebrating these extraordinary apps and games.","title":"Introducing the 2026 Apple Design Award winners","articleID":"8df3ae08-259b-47b3-b715-692c1da4f06a","pageID":"8df3ae08-259b-47b3-b715-692c1da4f06a","articlePermalinkKey":"vbvsocwh","pagePermalinkKey":"vbvsocwh","originalPublishingDate":"2026-06-02T08:50:09-07:00","keywords":["ada","ada apps","ada games","apple design awards"],"primaryTopicID":87,"topicIds":[90,87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"42582F54-A4A3-4E58-9954-EDF23C001E58","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112112":{"id":"news-112112","staticContentId":11267,"eventContentId":112112,"eventId":"news","contentUpdatedAt":"2026-06-11T07:05:45-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=15wishue","languageCode":"eng","description":"Thank you to everyone who joined us for an amazing week.","title":"WWDC26 survey","articleID":"d149e8f6-c640-401e-908b-bba1008f002d","pageID":"d149e8f6-c640-401e-908b-bba1008f002d","articlePermalinkKey":"15wishue","pagePermalinkKey":"15wishue","originalPublishingDate":"2026-06-11T07:00:32-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D17E2C75-AA06-47DE-871F-96E5F91B6769","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-112093":{"id":"news-112093","staticContentId":11183,"eventContentId":112093,"eventId":"news","contentUpdatedAt":"2026-06-01T07:31:12-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=q7tgn1rr","languageCode":"eng","description":"WWDC26 is just one week away. Get ready for five days of technology, creativity, and community \u2014 all online and free.","title":"All systems glow","articleID":"8012143c-aa0c-4059-8b1f-191a612abd78","pageID":"8012143c-aa0c-4059-8b1f-191a612abd78","articlePermalinkKey":"q7tgn1rr","pagePermalinkKey":"q7tgn1rr","originalPublishingDate":"2026-06-01T07:00:22-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"AD174244-C015-4CC6-8031-1CDF27010162","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112160":{"id":"news-112160","staticContentId":11389,"eventContentId":112160,"eventId":"news","contentUpdatedAt":"2026-10-02T09:25:39-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=p6zjojqw","languageCode":"eng","description":"We give developers powerful APIs to build incredible capabilities into their apps for Apple products, backed by a set of controls designed to protect users\u2019 private data. Full Disk Access largely sidesteps these controls in order to allow backup apps to function properly on the Mac. Some developers are using Full Disk Access in ways that could put users at risk, exposing everything on their systems\u2014including files, mail, messages, and even browsing history\u2014without users\u2019 full knowledge and understanding. For communication apps, this can also compromise the privacy of the people users are communicating with.","title":"Updates to Full Disk Access in macOS","articleID":"ed266891-be48-43da-a7d4-fa69ac281e04","pageID":"ed266891-be48-43da-a7d4-fa69ac281e04","articlePermalinkKey":"p6zjojqw","pagePermalinkKey":"p6zjojqw","originalPublishingDate":"2026-10-02T09:00:19-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"39DC0F0C-A079-4DEC-8D18-14B7F48552CA","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-112130":{"id":"news-112130","staticContentId":11327,"eventContentId":112130,"eventId":"news","contentUpdatedAt":"2026-08-12T14:53:13-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=oj3r9pvw","languageCode":"eng","description":"You can now override your app\u2019s age rating for the App\u00a0Store in Korea to all available region-specific age ratings (All, 12+, 15+, or 19+) in App\u00a0Store\u00a0Connect.","title":"Updates to age ratings for the Republic of Korea","articleID":"d4dc2b43-4917-4941-b9fe-1b295c9e93cb","pageID":"d4dc2b43-4917-4941-b9fe-1b295c9e93cb","articlePermalinkKey":"oj3r9pvw","pagePermalinkKey":"oj3r9pvw","originalPublishingDate":"2026-08-12T08:00:03-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0E9870E2-5ECF-4276-8797-FF6DEE14B997","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-112033":{"id":"news-112033","staticContentId":10628,"eventContentId":112033,"eventId":"news","contentUpdatedAt":"2025-11-04T15:13:27-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=8atty4sp","languageCode":"eng","description":"The beta versions of iOS\u00a026.2, iPadOS\u00a026.2, macOS\u00a026.2, tvOS\u00a026.2, visionOS\u00a026.2, and watchOS\u00a026.2 are now available. Get your apps ready by confirming they work as expected on these releases. And to take advantage of the advancements in the latest SDKs, make sure to build and test with Xcode\u00a026.2\u00a0beta.","title":"Get ready with the latest beta releases","articleID":"1b914051-4d05-4fe0-86b6-34b02a52a1ea","pageID":"1b914051-4d05-4fe0-86b6-34b02a52a1ea","articlePermalinkKey":"8atty4sp","pagePermalinkKey":"8atty4sp","originalPublishingDate":"2025-11-04T07:00:14-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1106CF9E-FF77-4695-8B26-5ECCFB3783BE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112162":{"id":"news-112162","staticContentId":11391,"eventContentId":112162,"eventId":"news","contentUpdatedAt":"2026-10-05T15:38:27-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ljpl7kyn","languageCode":"eng","description":"Make your apps and games stand out with new creative assets on the App\u00a0Store and asset management tools in App\u00a0Store\u00a0Connect.","title":"Showcase your apps with new assets on the App\u00a0Store","articleID":"a786c79c-de5f-4580-a343-a63bbc2da396","pageID":"a786c79c-de5f-4580-a343-a63bbc2da396","articlePermalinkKey":"ljpl7kyn","pagePermalinkKey":"ljpl7kyn","originalPublishingDate":"2026-10-05T13:00:27-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"270C1911-9AA6-4FF1-A993-C8F323603095","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-111938":{"id":"news-111938","staticContentId":9797,"eventContentId":111938,"eventId":"news","contentUpdatedAt":"2024-08-08T08:50:58-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=szrqxadx","languageCode":"eng","description":"In response to the announcement by the European Commission in June, we\u2019re making the following changes to Apple\u2019s Digital Markets Act compliance plan.  We\u2019re introducing updated terms that will apply this fall for developers with apps in the European Union storefronts of the App\u00a0Store that use the StoreKit External Purchase Link Entitlement.","title":"Updates to the StoreKit External Purchase Link Entitlement","articleID":"06af88b6-8dbf-4d4a-a312-be1bb817e136","pageID":"06af88b6-8dbf-4d4a-a312-be1bb817e136","articlePermalinkKey":"szrqxadx","pagePermalinkKey":"szrqxadx","originalPublishingDate":"2024-08-08T07:00:20-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"AE7E17F9-D17D-480D-99A3-CB5131344DBD","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112099":{"id":"news-112099","staticContentId":11197,"eventContentId":112099,"eventId":"news","contentUpdatedAt":"2026-05-26T17:52:15-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=tu7pk9oy","languageCode":"eng","description":"The beta versions of iOS\u00a026.6, iPadOS\u00a026.6, macOS\u00a026.6, tvOS\u00a026.6, visionOS\u00a026.6, and watchOS\u00a026.6 are now available. Get your apps ready by confirming they work as expected on these releases. And make sure to build and test with Xcode\u00a026.5 to take advantage of the advancements in the latest SDKs.","title":"Get ready with the latest beta releases","articleID":"17d8a3c3-cbae-419f-83b4-f6c2a4255122","pageID":"17d8a3c3-cbae-419f-83b4-f6c2a4255122","articlePermalinkKey":"tu7pk9oy","pagePermalinkKey":"tu7pk9oy","originalPublishingDate":"2026-05-26T11:00:14-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"78A9C3C2-5F7C-41FE-BEFD-2352B4F6E65C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112164":{"id":"news-112164","staticContentId":11392,"eventContentId":112164,"eventId":"news","contentUpdatedAt":"2026-10-05T17:12:56-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=kkphp5qo","languageCode":"eng","description":"iPhone\u00a0Duo will be available to customers starting October\u00a023, 2026.","title":"Prepare and submit your apps for iPhone\u00a0Duo","articleID":"d7319b41-6865-4ec6-8459-988306684d77","pageID":"d7319b41-6865-4ec6-8459-988306684d77","articlePermalinkKey":"kkphp5qo","pagePermalinkKey":"kkphp5qo","originalPublishingDate":"2026-10-05T17:05:33-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"889FFC82-46BF-4D41-B01A-CC417C4592CD","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-112035":{"id":"news-112035","staticContentId":10630,"eventContentId":112035,"eventId":"news","contentUpdatedAt":"2025-11-06T13:15:36-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=2ezb6jhj","languageCode":"eng","description":"Today we\u2019re releasing more details about the tools we\u2019re making available for developers to help them meet their compliance obligations under upcoming U.S. state laws, including SB2420 in Texas. While we're providing these tools to help developers navigate the evolving legal landscape, Apple remains concerned about the potential implications of laws like SB2420 in Texas. Specifically, we worry they could undermine the privacy of all users by requiring the collection of sensitive personal information just to download an app \u2013 even those that simply provide weather forecasts or sports scores.","title":"Next steps for apps distributed in Texas","articleID":"232494db-04e3-4ddd-912e-639cec443671","pageID":"232494db-04e3-4ddd-912e-639cec443671","articlePermalinkKey":"2ezb6jhj","pagePermalinkKey":"2ezb6jhj","originalPublishingDate":"2025-11-04T08:00:48-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BA49ECBB-F4CD-48C9-9A81-53D7EDF22D90","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112067":{"id":"news-112067","staticContentId":10812,"eventContentId":112067,"eventId":"news","contentUpdatedAt":"2026-03-23T09:51:17-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=yi8qj25k","languageCode":"eng","description":"Join the worldwide developer community online for a week of technology and creativity.","title":"WWDC26: June 8-12, 2026","articleID":"edcfb21c-5865-48ff-9473-e0e08cb56458","pageID":"edcfb21c-5865-48ff-9473-e0e08cb56458","articlePermalinkKey":"yi8qj25k","pagePermalinkKey":"yi8qj25k","originalPublishingDate":"2026-03-23T09:45:37-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9CF92A47-7EF4-4E92-8ED8-B787404AFA68","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10160":{"id":"news-10160","staticContentId":4521,"eventContentId":10160,"eventId":"news","contentUpdatedAt":"2021-09-13T07:17:20-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ou1gpq68","languageCode":"eng","description":"Widgets deliver a small amount of timely, useful information or app-specific functionality. And now, they\u2019re even easier to build and make available across iOS, iPadOS, and macOS with the new WidgetKit framework, widget API for SwiftUI, widget gallery, and Smart Stacks.\n\nLearn more about WidgetKit","title":"Introducing WidgetKit","articleID":"8c5bfd71-2764-44ad-8c83-3296315a1b78","pageID":"8c5bfd71-2764-44ad-8c83-3296315a1b78","articlePermalinkKey":"ou1gpq68","pagePermalinkKey":"ou1gpq68","originalPublishingDate":"2020-06-21T21:15:09-07:00","publishingExpiryDate":"2040-06-22T18:38:34-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"218D8B25-4023-4487-995F-68145255B3BA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10234":{"id":"news-10234","staticContentId":5040,"eventContentId":10234,"eventId":"news","contentUpdatedAt":"2021-09-13T07:39:00-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=cjhooqcq","languageCode":"eng","description":"If you support Family Sharing, you can now receive new App Store server notifications for real-time updates on family member statuses.","title":"Updates to App Store server notifications","articleID":"f308fb6c-7d97-46b4-a442-d26e33e11b7d","pageID":"f308fb6c-7d97-46b4-a442-d26e33e11b7d","articlePermalinkKey":"cjhooqcq","pagePermalinkKey":"cjhooqcq","originalPublishingDate":"2021-03-10T15:30:34-08:00","publishingExpiryDate":"2075-03-10T08:32:34-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E21B2555-6531-426E-B0C1-5EB90FCE9385","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110175":{"id":"news-110175","staticContentId":7403,"eventContentId":110175,"eventId":"news","contentUpdatedAt":"2022-06-06T12:55:43-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=npbbcwsx","languageCode":"eng","description":"The Apple Developer Program License Agreement and the App Store Review Guidelines have been updated to support new features in upcoming OS releases, better protect users, and help your apps go through the review process as smoothly as possible.","title":"Updated agreements and guidelines now available","articleID":"a8f8e9c7-5369-4038-89e9-31c53ead7339","pageID":"a8f8e9c7-5369-4038-89e9-31c53ead7339","articlePermalinkKey":"npbbcwsx","pagePermalinkKey":"npbbcwsx","originalPublishingDate":"2022-06-06T11:54:24-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4F2AD7BB-C99C-4603-A3E3-C17566942701","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110177":{"id":"news-110177","staticContentId":7405,"eventContentId":110177,"eventId":"news","contentUpdatedAt":"2022-06-06T16:57:45-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9t542fct","languageCode":"eng","description":"The Apple Design Awards celebrate apps and games that excel in the categories of Inclusivity, Delight and Fun, Interaction, Social Impact, Visuals and Graphics, and Innovation. Learn about the winning apps and the talented developers behind them.","title":"Apple Design Award winners announced","articleID":"02009dd7-4317-41a0-a60d-709c3371fd6e","pageID":"02009dd7-4317-41a0-a60d-709c3371fd6e","articlePermalinkKey":"9t542fct","pagePermalinkKey":"9t542fct","originalPublishingDate":"2022-06-06T16:00:50-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2EC94AFE-0718-49E8-A925-BA1BD8267160","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112168":{"id":"news-112168","staticContentId":11398,"eventContentId":112168,"eventId":"news","contentUpdatedAt":"2026-10-13T16:58:45-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=17mwd36z","languageCode":"eng","description":"The Apple\u00a0Developer Program License Agreement has been revised to support new features and updated policies, and to provide clarification.","title":"Updated Apple\u00a0Developer Program License Agreement now\u00a0available","articleID":"5fa30f71-6dc6-48b0-b0e1-13d9ade92d0a","pageID":"5fa30f71-6dc6-48b0-b0e1-13d9ade92d0a","articlePermalinkKey":"17mwd36z","pagePermalinkKey":"17mwd36z","originalPublishingDate":"2026-10-13T15:00:09-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FC477174-6BE2-44F4-979B-04EE1FA7825D","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-112104":{"id":"news-112104","staticContentId":11227,"eventContentId":112104,"eventId":"news","contentUpdatedAt":"2026-06-08T12:20:14-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=8rgqj83s","languageCode":"eng","description":"Discover the latest advancements on all Apple platforms and create even more unique, intelligent experiences in your apps and games.","title":"Find out what's new for Apple developers","articleID":"5b97aa9a-c960-40f1-aa4b-8215e610c183","pageID":"5b97aa9a-c960-40f1-aa4b-8215e610c183","articlePermalinkKey":"8rgqj83s","pagePermalinkKey":"8rgqj83s","originalPublishingDate":"2026-06-08T11:20:01-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"66C12333-A2F8-4C29-9F4D-F88096F69A70","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111942":{"id":"news-111942","staticContentId":9806,"eventContentId":111942,"eventId":"news","contentUpdatedAt":"2024-08-22T08:32:30-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=zglax7gc","languageCode":"eng","description":"By the end of this year, we\u2019ll make changes to the browser choice screen, default apps, and app deletion for iOS and iPadOS for users in the EU. These updates come from our ongoing and continuing dialogue with the European Commission about compliance with the Digital Market Act\u2019s requirements in these areas.","title":"Upcoming changes to the browser choice screen, default apps, and app deletion for EU users","articleID":"fff282f6-9528-489f-a8c0-b5b1244cfc13","pageID":"fff282f6-9528-489f-a8c0-b5b1244cfc13","articlePermalinkKey":"zglax7gc","pagePermalinkKey":"zglax7gc","originalPublishingDate":"2024-08-22T07:00:36-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"65C519B4-6DF7-48FD-A51C-82EB1FD244C6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110297":{"id":"news-110297","staticContentId":9233,"eventContentId":110297,"eventId":"news","contentUpdatedAt":"2024-03-05T10:22:10-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=0yrn1puh","languageCode":"eng","description":"Over the past several weeks, we\u2019ve communicated with thousands of developers to discuss DMA-related changes to iOS, Safari, and the App\u00a0Store impacting apps in the European\u00a0Union. As a result of the valuable feedback received, we\u2019ve revised the Alternative Terms Addendum for Apps in the EU to update the following policies and provide developers more flexibility.","title":"Updates to app distribution in the European Union","articleID":"0d0518fb-4ed9-4f42-9083-87939c0a2f1e","pageID":"0d0518fb-4ed9-4f42-9083-87939c0a2f1e","articlePermalinkKey":"0yrn1puh","pagePermalinkKey":"0yrn1puh","originalPublishingDate":"2024-03-05T08:00:57-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"8C312C74-9725-4597-BFA4-44D8BE585A7F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110299":{"id":"news-110299","staticContentId":9235,"eventContentId":110299,"eventId":"news","contentUpdatedAt":"2024-03-21T09:28:31-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=en9v7jtv","languageCode":"eng","description":"We\u2019re expanding the analytics available for your apps to help you get even more insight into your business and apps\u2019 performance.","title":"New App Store and iOS data analytics now available","articleID":"7d0386c6-be4f-403f-90cc-b8a88d5342bd","pageID":"7d0386c6-be4f-403f-90cc-b8a88d5342bd","articlePermalinkKey":"en9v7jtv","pagePermalinkKey":"en9v7jtv","originalPublishingDate":"2024-03-05T12:30:33-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"49461602-3059-40A4-B4F3-A98D2208F221","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111995":{"id":"news-111995","staticContentId":10438,"eventContentId":111995,"eventId":"news","contentUpdatedAt":"2025-05-16T08:30:15-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=wim4cztw","languageCode":"eng","description":"The App Store is designed to make it easy to sell your digital goods and services globally, with support for 44 currencies across 175 storefronts.","title":"Tax and Price updates for Apps, In-App Purchases, and Subscriptions","articleID":"a4ab0fa9-1127-49a0-a33b-7e07f6db3226","pageID":"a4ab0fa9-1127-49a0-a33b-7e07f6db3226","articlePermalinkKey":"wim4cztw","pagePermalinkKey":"wim4cztw","originalPublishingDate":"2025-05-16T07:00:46-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"044C2141-11C1-4583-8E46-C923642CDC65","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10239":{"id":"news-10239","staticContentId":5240,"eventContentId":10239,"eventId":"news","contentUpdatedAt":"2021-09-13T07:41:02-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ep8chzr8","languageCode":"eng","description":"Due to changes in local regulations, the bank account holder\u2019s address is now required if you have bank account information in App Store Connect. Account Holders, Admins, and Finance roles can now provide a valid address in the Agreements, Tax, and Banking section. Please provide this information by October 22, 2021, in order to avoid a potential interruption of your payments.","title":"Additional banking information required in App Store Connect","articleID":"eb49503e-6939-4b11-8447-53d8fd9d6108","pageID":"eb49503e-6939-4b11-8447-53d8fd9d6108","articlePermalinkKey":"ep8chzr8","pagePermalinkKey":"ep8chzr8","originalPublishingDate":"2021-08-23T10:00:42-07:00","publishingExpiryDate":"2075-08-23T17:22:42-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C69288C7-162E-44FF-9256-7E01D545C7A9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111975":{"id":"news-111975","staticContentId":9884,"eventContentId":111975,"eventId":"news","contentUpdatedAt":"2025-02-21T09:45:42-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9s0rgdy9","languageCode":"eng","description":"The beta versions of iOS\u00a018.4, iPadOS\u00a018.4, macOS\u00a015.4, tvOS\u00a018.4, visionOS\u00a02.4, and watchOS\u00a011.4 are now available. Get your apps ready by confirming they work as expected on these releases. And to take advantage of the advancements in the latest SDKs, make sure to build and test with Xcode\u00a016.3.","title":"Get ready with the latest beta releases","articleID":"461f70c6-baa5-450e-9cbe-777ec0da8773","pageID":"461f70c6-baa5-450e-9cbe-777ec0da8773","articlePermalinkKey":"9s0rgdy9","pagePermalinkKey":"9s0rgdy9","originalPublishingDate":"2025-02-21T07:00:14-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"15E09860-DBED-41DE-A495-E6B5CE32726F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10320":{"id":"news-10320","staticContentId":6414,"eventContentId":10320,"eventId":"news","contentUpdatedAt":"2022-01-26T13:33:33-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ay7673lx","languageCode":"eng","description":"With custom product pages, you can create up to 35 additional versions of your App Store product page to showcase different app features, content, or promotions. And now, new seamless integration with Apple Search Ads lets you easily use these pages to create tailored ad variations on the App Store.","title":"Apple Search Ads now supports custom product pages","articleID":"eb4d57a6-a936-4fb3-8c01-e8be3358b971","pageID":"eb4d57a6-a936-4fb3-8c01-e8be3358b971","articlePermalinkKey":"ay7673lx","pagePermalinkKey":"ay7673lx","originalPublishingDate":"2022-01-26T13:32:49-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"22C171F2-8408-47D8-8C47-1EACE5CD485C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112101":{"id":"news-112101","staticContentId":11198,"eventContentId":112101,"eventId":"news","contentUpdatedAt":"2026-06-03T05:05:10-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=f0jfy9py","languageCode":"eng","description":"Apple Developer Centers are dedicated spaces designed for in-person developer sessions, labs, workshops, and appointments across a wide range of Apple technologies and platforms.","title":"Apple Developer Centers are expanding to Berlin","articleID":"dfcff63d-5cd0-4741-8358-8ce0797a67ee","pageID":"dfcff63d-5cd0-4741-8358-8ce0797a67ee","articlePermalinkKey":"f0jfy9py","pagePermalinkKey":"f0jfy9py","originalPublishingDate":"2026-06-03T05:00:13-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A6AE36E1-9585-4F18-8F56-DE9076EBF2D2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110166":{"id":"news-110166","staticContentId":7308,"eventContentId":110166,"eventId":"news","contentUpdatedAt":"2022-05-24T14:16:40-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=12m75xbj","languageCode":"eng","description":"As a reminder, apps that support account creation must let users initiate deletion of their account within the app starting June 30, 2022, as described in App Store Review Guideline 5.1.1(v). This deadline was extended to provide additional time for implementation of this requirement.","title":"Account deletion requirement starts June 30","articleID":"f5a08bac-97db-4418-98d3-0b8e3560070a","pageID":"f5a08bac-97db-4418-98d3-0b8e3560070a","articlePermalinkKey":"12m75xbj","pagePermalinkKey":"12m75xbj","originalPublishingDate":"2022-05-24T14:10:27-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"84AEF265-6BB9-430C-938B-5942D317A01F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110265":{"id":"news-110265","staticContentId":9090,"eventContentId":110265,"eventId":"news","contentUpdatedAt":"2023-10-18T08:53:23-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=wztdeypy","languageCode":"eng","description":"We\u2019re thrilled with the excitement and enthusiasm from developers around the world at the Apple\u00a0Vision\u00a0Pro developer labs, and we\u2019re pleased to announce new labs in New York City and Sydney. Join us to test directly on the device and connect with Apple experts for help with taking your visionOS, iPadOS, and iOS apps even further on this exciting new platform. Labs also take place in Cupertino, London, Munich, Shanghai, Singapore, and Tokyo.","title":"Apple Vision Pro developer labs expand to New York City and Sydney","articleID":"b24d6ac8-a6e4-4a9f-a6a9-66b45568502c","pageID":"b24d6ac8-a6e4-4a9f-a6a9-66b45568502c","articlePermalinkKey":"wztdeypy","pagePermalinkKey":"wztdeypy","originalPublishingDate":"2023-10-17T10:20:50-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B18B2817-5CB9-49C1-9C09-CBDAC0727503","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10009":{"id":"news-10009","staticContentId":3993,"eventContentId":10009,"eventId":"news","contentUpdatedAt":"2021-09-13T07:32:15-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=04012020a","languageCode":"eng","description":"Starting April 2020, you can get more details on the final proceeds of your apps and in-app purchases, including the transaction and settlement dates for purchases, as well as the state or province for transactions in the United States and Canada. Simply download the \u201cAll Countries or Regions (Detailed)\u201d report in App Store Connect.","title":"New Financial Report Coming to App Store Connect","articleID":"94389246-2193-4a3a-8a6d-d39b669f99cb","pageID":"94389246-2193-4a3a-8a6d-d39b669f99cb","articlePermalinkKey":"04012020a","pagePermalinkKey":"04012020a","originalPublishingDate":"2020-04-01T11:15:34-07:00","publishingExpiryDate":"2040-04-01T14:04:39-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A7C7478E-157B-4747-B2E8-BD1668D8DB32","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110276":{"id":"news-110276","staticContentId":9130,"eventContentId":110276,"eventId":"news","contentUpdatedAt":"2023-12-07T08:49:15-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ik9z4ll6","languageCode":"eng","description":"Xcode Cloud, the continuous integration and delivery service built into Xcode, accelerates the development and delivery of high-quality apps. It brings together cloud-based tools that help you build apps, run automated tests in parallel, deliver apps to testers, and view and manage user feedback.","title":"25 hours of Xcode Cloud now included with the Apple Developer Program","articleID":"6ac1081c-18fa-4f0f-9575-60502db8ed8b","pageID":"6ac1081c-18fa-4f0f-9575-60502db8ed8b","articlePermalinkKey":"ik9z4ll6","pagePermalinkKey":"ik9z4ll6","originalPublishingDate":"2023-12-07T08:00:09-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2B6A5AA6-D6BB-4A40-86E6-F21561964633","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10177":{"id":"news-10177","staticContentId":4707,"eventContentId":10177,"eventId":"news","contentUpdatedAt":"2021-09-13T07:36:45-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=hx9s63c5","languageCode":"eng","description":"At Apple, we believe that privacy is a fundamental human right. As announced at WWDC20, App Store product pages will feature a new privacy information section to help users understand an app\u2019s privacy practices. Today we are publishing more details for developers on what will be covered in this new privacy section. By the end of next month, you will be able to submit your information via App Store Connect to prepare for this feature rolling out to users by the end of the year.\n\nLearn more about providing app privacy information\n\nIn addition, on iOS 14, iPadOS 14, and tvOS 14, apps will be required to receive user permission to track users across apps or websites owned by other companies, or to access the device\u2019s advertising identifier. We are committed to ensuring users can choose whether or not they allow an app to track them. To give developers time to make necessary changes, apps will be required to obtain permission to track users starting early next year. More information, including an update to the App Store Review Guidelines, will follow this fall.\n\nLearn more about asking permission to track","title":"Details for app privacy questions now available","articleID":"091083ce-39d0-48f9-acd0-16318909f59f","pageID":"091083ce-39d0-48f9-acd0-16318909f59f","articlePermalinkKey":"hx9s63c5","pagePermalinkKey":"hx9s63c5","originalPublishingDate":"2020-09-03T09:15:39-07:00","publishingExpiryDate":"2075-09-03T19:00:41-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"AD5FF2FA-43B8-4E21-95A8-F65366CF52AC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10163":{"id":"news-10163","staticContentId":4524,"eventContentId":10163,"eventId":"news","contentUpdatedAt":"2021-09-13T07:17:17-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=qbomldbb","languageCode":"eng","description":"With an all-new design that looks great on macOS Big Sur, Xcode 12 has customizable font sizes for the navigator, streamlined code completion, new document tabs, and more. And it builds Universal apps by default to support Apple Silicon Macs, without changing a single line of code.","title":"Xcode 12 is now available","articleID":"f52ad452-4687-488f-bbdf-f4510e502364","pageID":"f52ad452-4687-488f-bbdf-f4510e502364","articlePermalinkKey":"qbomldbb","pagePermalinkKey":"qbomldbb","originalPublishingDate":"2020-06-21T21:10:15-07:00","publishingExpiryDate":"2040-06-22T18:38:07-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"726D5353-D9C4-4F39-AF15-23F13BEC266D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10002":{"id":"news-10002","staticContentId":3986,"eventContentId":10002,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:59-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=06112020","languageCode":"eng","description":"WWDC20 will bring together millions of Apple developers around the world to gain early access to the future of Apple platforms and engage with Apple engineers, from June 22 to 26.","title":"Here\u2019s the lineup.","articleID":"173a6e05-f960-4446-8788-e8aa9ad2be7c","pageID":"173a6e05-f960-4446-8788-e8aa9ad2be7c","articlePermalinkKey":"06112020","pagePermalinkKey":"06112020","originalPublishingDate":"2020-06-11T07:00:19-07:00","publishingExpiryDate":"2030-06-11T18:18:27-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E6989C74-F034-48F0-A93B-14B0F325776B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10235":{"id":"news-10235","staticContentId":5148,"eventContentId":10235,"eventId":"news","contentUpdatedAt":"2021-09-13T07:30:45-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=fwpxy9kw","languageCode":"eng","description":"To help you provide more precise descriptions of your app\u2019s content, we\u2019re refining the age rating settings in App Store Connect. Starting in May 2021, the Gambling and Contests setting will be split into two settings, allowing you to indicate these content types separately. They\u2019ll also be indicated separately on the App Store.","title":"Updates to age rating settings in App Store Connect","articleID":"ed6c1514-e711-4899-9d2c-2f37dc7a0ecf","pageID":"ed6c1514-e711-4899-9d2c-2f37dc7a0ecf","articlePermalinkKey":"fwpxy9kw","pagePermalinkKey":"fwpxy9kw","originalPublishingDate":"2021-05-20T17:40:54-07:00","publishingExpiryDate":"2075-05-20T11:16:54-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"EE80B77D-3A17-4F40-AEA1-76ADB1FEA6A7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110231":{"id":"news-110231","staticContentId":8576,"eventContentId":110231,"eventId":"news","contentUpdatedAt":"2023-05-26T11:19:22-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=smofnyhj","languageCode":"eng","description":"As part of ongoing efforts to improve security and privacy on Apple platforms, the App\u00a0Store receipt signing intermediate certificate that\u2019s used to verify the sale of apps and associated in-app purchases is being updated to use the SHA-256 cryptographic algorithm. This update will be completed in multiple phases and new apps and app updates may be impacted, depending on how they verify receipts.","title":"Upcoming changes to the App\u00a0Store receipt signing intermediate certificate","articleID":"804aeea9-74ea-42a3-854c-9c97dc417a29","pageID":"804aeea9-74ea-42a3-854c-9c97dc417a29","articlePermalinkKey":"smofnyhj","pagePermalinkKey":"smofnyhj","originalPublishingDate":"2023-05-26T10:58:30-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E338A48B-F54A-4D3F-BA3D-FF4ED17A233B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110232":{"id":"news-110232","staticContentId":8811,"eventContentId":110232,"eventId":"news","contentUpdatedAt":"2023-05-26T11:18:41-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=y5mjxqmn","languageCode":"eng","description":"As announced last year at WWDC, if you notarize your Mac software with the Apple notary service using the altool command-line utility or Xcode\u00a013 or earlier, you\u2019ll need to transition to the notarytool command-line utility or upgrade to Xcode\u00a014 or later. Starting November 1, 2023, the Apple notary service will no longer accept uploads from altool or Xcode\u00a013 or earlier. Existing notarized software will continue to function properly.","title":"Apple notary service update","articleID":"338a93b6-642e-48b7-8f9e-0a027a45d33f","pageID":"338a93b6-642e-48b7-8f9e-0a027a45d33f","articlePermalinkKey":"y5mjxqmn","pagePermalinkKey":"y5mjxqmn","originalPublishingDate":"2023-05-26T08:58:41-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"20804D65-94D7-4CF7-9B15-53A85F574E6F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112079":{"id":"news-112079","staticContentId":10930,"eventContentId":112079,"eventId":"news","contentUpdatedAt":"2026-03-31T10:05:18-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=97t4mt64","languageCode":"eng","description":"To help your apps and games reach more people worldwide \u2014 especially in India \u2014 App\u00a0Store\u00a0Connect now supports localized metadata for 11 new languages, bringing the total number of supported localizations to 50. The new languages include Bangla, Gujarati, Kannada, Malayalam, Marathi, Odia, Punjabi, Slovenian, Tamil, Telugu, and Urdu.","title":"App Store expands support to 11 new languages","articleID":"ec2e8886-b280-43fb-8818-4355042009b8","pageID":"ec2e8886-b280-43fb-8818-4355042009b8","articlePermalinkKey":"97t4mt64","pagePermalinkKey":"97t4mt64","originalPublishingDate":"2026-03-31T06:00:33-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1A774BC1-7C85-4856-95C2-7BA3697AA7B8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10017":{"id":"news-10017","staticContentId":4001,"eventContentId":10017,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:47-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=04272020a","languageCode":"eng","description":"Promote your apps to customers on the App Store in Russia with Apple Search Ads \u2014 an efficient and easy way for people to discover your app the very moment they\u2019re searching for apps like yours. If you sign up for a new Apple Search Ads account, you can take advantage of a 100 USD credit to reach customers in 60 countries and regions. ","title":"Apple Search Ads Now Available in Russia","articleID":"75fe5afd-f747-445f-b67c-b3b55937cfe6","pageID":"75fe5afd-f747-445f-b67c-b3b55937cfe6","articlePermalinkKey":"04272020a","pagePermalinkKey":"04272020a","originalPublishingDate":"2020-04-27T08:50:26-07:00","publishingExpiryDate":"2040-04-27T17:00:26-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7D19D9E1-4AD3-4EED-AF98-3279081F0A7C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10312":{"id":"news-10312","staticContentId":6399,"eventContentId":10312,"eventId":"news","contentUpdatedAt":"2021-12-02T00:05:12-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=p2vfywde","languageCode":"eng","description":"Every year, the App Store celebrates exceptional apps that improve people\u2019s lives while showcasing the highest levels of technical innovation, user experience, design, and positive cultural impact. Join us in celebrating the work of outstanding developers from around the world.","title":"Congratulations to the App Store Award winners","articleID":"f739785e-e7e8-43f0-bb95-edba7bd469bf","pageID":"f739785e-e7e8-43f0-bb95-edba7bd469bf","articlePermalinkKey":"p2vfywde","pagePermalinkKey":"p2vfywde","originalPublishingDate":"2021-12-02T00:00:48-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"01DB7E3A-1785-4CE9-9507-FB39E564D8A1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10221":{"id":"news-10221","staticContentId":4861,"eventContentId":10221,"eventId":"news","contentUpdatedAt":"2021-09-13T07:37:34-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=8rm6injj","languageCode":"eng","description":"Late last year, to give you additional time to prepare, we had temporarily deferred the requirement to use AppTrackingTransparency when requesting permission to track users and access device advertising identifiers. This requirement now goes into effect starting with the upcoming beta update, and will roll out to everyone in early spring with an upcoming release of iOS 14, iPadOS 14, and tvOS 14. We encourage you to verify your app\u2019s implementation of AppTrackingTransparency as soon as possible. Without the user\u2019s permission, you will not be allowed to track them and the device\u2019s advertising identifier value will be all zeros.","title":"AppTrackingTransparency requirement update","articleID":"a2b4a8ce-754d-4099-bf3f-e03c8dfdd18a","pageID":"a2b4a8ce-754d-4099-bf3f-e03c8dfdd18a","articlePermalinkKey":"8rm6injj","pagePermalinkKey":"8rm6injj","originalPublishingDate":"2021-01-28T08:40:29-08:00","publishingExpiryDate":"2075-01-28T20:41:01-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C95982EA-0520-4D57-8516-BDBDC6778095","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110236":{"id":"news-110236","staticContentId":8895,"eventContentId":110236,"eventId":"news","contentUpdatedAt":"2023-05-30T11:11:53-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6yr4jbxv","languageCode":"eng","description":"WWDC23 is almost here. We\u2019ll be kicking off with the Apple Keynote on June\u00a05 at\u00a010:00\u00a0a.m.\u00a0PT. Watch online at apple.com or in the Apple\u00a0Developer app. You can even use SharePlay to watch with friends.","title":"Code new worlds","articleID":"1f5c9f68-ef8d-4543-a3a4-8cedd6bafdfb","pageID":"1f5c9f68-ef8d-4543-a3a4-8cedd6bafdfb","articlePermalinkKey":"6yr4jbxv","pagePermalinkKey":"6yr4jbxv","originalPublishingDate":"2023-05-30T07:00:05-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"DEEDF013-61E6-4244-A2FD-5140CCA7069A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110193":{"id":"news-110193","staticContentId":7724,"eventContentId":110193,"eventId":"news","contentUpdatedAt":"2022-09-14T10:39:16-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=jwtx3pga","languageCode":"eng","description":"The beta versions of Xcode\u00a014.1, iOS\u00a016.1, iPadOS\u00a016.1, tvOS\u00a016.1, and watchOS\u00a09.1 are now available. Get your apps ready by confirming they work as expected on these releases. And to take advantage of the advancements in the latest SDKs, make sure to build and test with Xcode\u00a014.1\u00a0beta.","title":"Get ready with the latest beta releases","articleID":"97b960a9-f9f4-4d93-96bf-f76224f09b41","pageID":"97b960a9-f9f4-4d93-96bf-f76224f09b41","articlePermalinkKey":"jwtx3pga","pagePermalinkKey":"jwtx3pga","originalPublishingDate":"2022-09-14T10:38:15-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"EA41927C-455F-4C75-A97F-D20B7426AB71","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110240":{"id":"news-110240","staticContentId":8967,"eventContentId":110240,"eventId":"news","contentUpdatedAt":"2023-06-06T07:36:49-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=2uddyv29","languageCode":"eng","description":"Online labs and activities are a great way to connect with Apple engineers, designers, and experts all week long.","title":"Sign up for WWDC23 labs and activities","articleID":"d250966b-ea40-4822-ab3d-71e710692302","pageID":"d250966b-ea40-4822-ab3d-71e710692302","articlePermalinkKey":"2uddyv29","pagePermalinkKey":"2uddyv29","originalPublishingDate":"2023-06-06T07:00:03-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D250C2AD-EEFF-45CB-9390-3435CE6E7E67","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10271":{"id":"news-10271","staticContentId":5898,"eventContentId":10271,"eventId":"news","contentUpdatedAt":"2021-09-13T07:16:01-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=o0uodgu7","languageCode":"eng","description":"When taxes or foreign exchange rates change, we sometimes need to update prices on the App Store in certain regions and\/or adjust your proceeds.","title":"Upcoming tax and price changes for apps and in-app purchases","articleID":"b872520f-4aa8-498c-8c3a-1827291f7130","pageID":"b872520f-4aa8-498c-8c3a-1827291f7130","articlePermalinkKey":"o0uodgu7","pagePermalinkKey":"o0uodgu7","originalPublishingDate":"2021-08-03T09:30:38-07:00","publishingExpiryDate":"2075-07-26T15:18:24-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"DD2B5F1F-FDC0-40EA-8258-FB46A76DBB61","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110227":{"id":"news-110227","staticContentId":8360,"eventContentId":110227,"eventId":"news","contentUpdatedAt":"2023-03-29T11:27:08-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=azt15hkh","languageCode":"eng","description":"We\u2019re excited to continue our long-standing support of students around the world who love to code. Show us your passion for coding by submitting an incredible app playground on the topic of your choice using Swift Playgrounds or Xcode. Winners will receive an award, recognition, and more.","title":"Swift Student Challenge applications now open","articleID":"8af166cc-eac5-46a6-abce-b40733e8abef","pageID":"8af166cc-eac5-46a6-abce-b40733e8abef","articlePermalinkKey":"azt15hkh","pagePermalinkKey":"azt15hkh","originalPublishingDate":"2023-03-29T10:53:29-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2E5FE022-6AB2-4F3D-B02B-C81B46372D46","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110164":{"id":"news-110164","staticContentId":7211,"eventContentId":110164,"eventId":"news","contentUpdatedAt":"2022-05-16T15:34:36-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=tpgp89cl","languageCode":"eng","description":"Auto-renewable subscriptions are a great way to let people access content, services, or premium features in your app. And Apple continues to set the bar in making it easy and transparent for subscribers to view, cancel, or manage their subscriptions. Our comprehensive approach includes providing email, push notifications, and in-app messaging to let subscribers know about upcoming changes and how to manage their subscriptions, or cancel if they prefer.","title":"Update to subscription notifications","articleID":"96dc16c9-93b2-42c4-8378-a8b44960c1ea","pageID":"96dc16c9-93b2-42c4-8378-a8b44960c1ea","articlePermalinkKey":"tpgp89cl","pagePermalinkKey":"tpgp89cl","originalPublishingDate":"2022-05-16T15:32:03-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B723BAE6-7B0E-4F9C-BC69-CABC2D879701","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110220":{"id":"news-110220","staticContentId":8091,"eventContentId":110220,"eventId":"news","contentUpdatedAt":"2023-02-21T10:07:52-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=tfb0r2ql","languageCode":"eng","description":"Join us for online sessions February 28 to April 13 to learn about the latest App\u00a0Store features and get your questions answered. Find out how to measure user acquisition with App Analytics and grow your subscription business using App\u00a0Store features. Explore how product page optimization lets you test different elements of your product page to find out which resonate with people most and how custom product pages let you create additional product page versions to highlight specific features or content. Learn how to boost discovery and engagement with Game\u00a0Center and how to configure in\u2011app events. Apple\u00a0Developer Program members can register for sessions today.","title":"Meet with App Store experts","articleID":"d0cfd26a-0c72-4d3c-b1f4-607b4d7cf0fc","pageID":"d0cfd26a-0c72-4d3c-b1f4-607b4d7cf0fc","articlePermalinkKey":"tfb0r2ql","pagePermalinkKey":"tfb0r2ql","originalPublishingDate":"2023-02-21T08:00:20-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9A2EE01D-D209-48AF-AA66-37AD969E9055","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110210":{"id":"news-110210","staticContentId":7937,"eventContentId":110210,"eventId":"news","contentUpdatedAt":"2022-12-06T21:03:00-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=w8mnmpnp","languageCode":"eng","description":"Join us for another exciting week of Ask\u00a0Apple, where you can connect directly with Apple experts to get your latest technical and design questions answered \u2014 or just hang out and learn from the conversation. Ask about using the latest frameworks, improving your app\u2019s UI design, developing with beta OS software and tools, and so\u00a0much\u00a0more.","title":"A new week of Ask Apple starts December 12","articleID":"1d4d5549-1e33-4c5a-b5f0-15db54e1d09f","pageID":"1d4d5549-1e33-4c5a-b5f0-15db54e1d09f","articlePermalinkKey":"w8mnmpnp","pagePermalinkKey":"w8mnmpnp","originalPublishingDate":"2022-12-07T08:00:35-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7E0B98AF-B2E7-48D4-924E-EADD91C1F101","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111978":{"id":"news-111978","staticContentId":9912,"eventContentId":111978,"eventId":"news","contentUpdatedAt":"2025-02-24T17:18:58-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=hibq7a48","languageCode":"eng","description":"Check out the official Apple\u00a0Developer WeChat account to find news, announcements, and upcoming activities for the developer community.","title":"Apple Developer is now on WeChat","articleID":"14042ff2-b635-43ed-80e5-5079476e2d37","pageID":"14042ff2-b635-43ed-80e5-5079476e2d37","articlePermalinkKey":"hibq7a48","pagePermalinkKey":"hibq7a48","originalPublishingDate":"2025-02-24T15:00:51-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"27D1F203-70F2-461B-A3A7-812C2E9FF460","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110163":{"id":"news-110163","staticContentId":7159,"eventContentId":110163,"eventId":"news","contentUpdatedAt":"2022-05-09T09:01:59-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=8u158nnp","languageCode":"eng","description":"We\u2019re hosting a special all-day experience at Apple Park on June 6 to kick off WWDC22, and we can\u2019t wait to connect in person. Members of the Apple Developer Program and Apple Developer Enterprise Program, and 2022 Swift Student Challenge applicants can submit their request to be included in the random selection process starting today until May 11 at 9 a.m. PT.","title":"WWDC22 special event submissions open","articleID":"d16d7757-2085-4f85-ab83-b844df537886","pageID":"d16d7757-2085-4f85-ab83-b844df537886","articlePermalinkKey":"8u158nnp","pagePermalinkKey":"8u158nnp","originalPublishingDate":"2022-05-09T08:20:41-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"79595A66-275B-49BE-8AE9-0048BF86E7A4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110204":{"id":"news-110204","staticContentId":7827,"eventContentId":110204,"eventId":"news","contentUpdatedAt":"2022-10-25T12:40:43-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=on2xw89i","languageCode":"eng","description":"The beta versions of iOS\u00a016.2, iPadOS\u00a016.2, macOS\u00a013.1, tvOS\u00a016.2, and watchOS\u00a09.2 are now available. Get your apps ready by confirming they work as expected on these releases. And to take advantage of the advancements in the latest SDKs, make sure to build and test with Xcode\u00a014.1\u00a0RC\u00a02.","title":"Get ready with the latest beta releases","articleID":"b47673a5-374e-41f3-8e67-9192950facec","pageID":"b47673a5-374e-41f3-8e67-9192950facec","articlePermalinkKey":"on2xw89i","pagePermalinkKey":"on2xw89i","originalPublishingDate":"2022-10-25T12:38:05-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"ABF6C72C-A5BE-481A-97A6-A38642D50E82","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110189":{"id":"news-110189","staticContentId":7508,"eventContentId":110189,"eventId":"news","contentUpdatedAt":"2023-02-10T10:03:49-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=l42tc8ie","languageCode":"eng","description":"Starting next week, prices of apps and in-app purchases (excluding auto-renewable subscriptions) on the App\u00a0Store will increase in Ghana and T\u00fcrkiye. In Ghana, these increases also consider a new value-added tax of 12.5% and additional levies of\u00a06%.","title":"Upcoming tax and price changes for apps and in-app purchases","articleID":"11870b63-276f-40a7-a119-efd6a3ce3d89","pageID":"11870b63-276f-40a7-a119-efd6a3ce3d89","articlePermalinkKey":"l42tc8ie","pagePermalinkKey":"l42tc8ie","originalPublishingDate":"2022-08-19T10:30:22-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1F56A996-D4CA-4EA8-B0A6-2CCB81CAC718","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10278":{"id":"news-10278","staticContentId":5988,"eventContentId":10278,"eventId":"news","contentUpdatedAt":"2021-09-14T12:24:19-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=a3v1pkis","languageCode":"eng","description":"With the tvOS 15 SDK, you can let people sign in to your app and authorize purchases using Face ID or Touch ID on their iPhone or iPad. A redesigned playback UI provides users with convenient access to relevant controls and information while always focusing on the content. MusicKit makes it easy to integrate Apple Music into your tvOS apps using Swift. And the App Attest API helps validate the integrity of your app before your server provides access to sensitive data.","title":"App Store submissions now open for tvOS 15","articleID":"ff5c3a35-9257-46a7-a09a-ef7ffb7c3ff7","pageID":"ff5c3a35-9257-46a7-a09a-ef7ffb7c3ff7","articlePermalinkKey":"a3v1pkis","pagePermalinkKey":"a3v1pkis","originalPublishingDate":"2021-09-14T12:20:45-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"8208CD28-9894-4D63-83E9-8570E3582BF1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10249":{"id":"news-10249","staticContentId":5565,"eventContentId":10249,"eventId":"news","contentUpdatedAt":"2021-09-13T07:43:45-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=fdf4z73i","languageCode":"eng","description":"Apple helps keep the App Store a safe and trusted place for users to discover apps by detecting and taking action against fraudulent developers and users. \n\nThreats have been present since the first day the App Store launched on iPhone, and they\u2019ve increased in both scale and sophistication in the years since. Apple has likewise scaled its efforts to meet those threats, taking relentless steps forward to combat these risks to users and developers alike.","title":"App Store stopped more than $1.5 billion in potentially fraudulent transactions in 2020 ","articleID":"dffcf891-f963-4018-b450-cf97ed866e5e","pageID":"dffcf891-f963-4018-b450-cf97ed866e5e","articlePermalinkKey":"fdf4z73i","pagePermalinkKey":"fdf4z73i","originalPublishingDate":"2021-05-11T11:55:59-07:00","publishingExpiryDate":"2075-05-11T15:59:59-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"483917EE-2B19-4188-B072-192C47C07F76","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111966":{"id":"news-111966","staticContentId":9850,"eventContentId":111966,"eventId":"news","contentUpdatedAt":"2024-12-16T11:39:02-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=rcvik60x","languageCode":"eng","description":"The beta versions of iOS\u00a018.3, iPadOS\u00a018.3, macOS\u00a015.3, tvOS\u00a018.3, visionOS\u00a02.3, and watchOS\u00a011.3 are now available. Get your apps ready by confirming they work as expected on these releases. And to take advantage of the advancements in the latest SDKs, make sure to build and test with Xcode\u00a016.2.","title":"Get ready with the latest beta releases","articleID":"2b38559a-e6b7-4a33-b7a7-aae391fd37af","pageID":"2b38559a-e6b7-4a33-b7a7-aae391fd37af","articlePermalinkKey":"rcvik60x","pagePermalinkKey":"rcvik60x","originalPublishingDate":"2024-12-16T11:31:12-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F8FD964B-21D2-4ED3-915F-E1B70932087A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110238":{"id":"news-110238","staticContentId":8965,"eventContentId":110238,"eventId":"news","contentUpdatedAt":"2023-06-05T12:06:09-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ovwlehq8","languageCode":"eng","description":"Check out the session schedule to plan your week! Sessions will be posted daily and will include links to resources and forums tags. And you can now request one-on-one lab appointments to get your questions answered, whether you\u2019re just starting out or need to solve an advanced issue.","title":"WWDC23 schedule and lab requests now available","articleID":"862a0352-5154-4c79-95ad-6cf1cee4966c","pageID":"862a0352-5154-4c79-95ad-6cf1cee4966c","articlePermalinkKey":"ovwlehq8","pagePermalinkKey":"ovwlehq8","originalPublishingDate":"2023-06-05T11:10:24-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"005DDB48-C71D-44E1-9D02-0FC6BB41D75F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110285":{"id":"news-110285","staticContentId":9178,"eventContentId":110285,"eventId":"news","contentUpdatedAt":"2024-01-25T08:12:20-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=f1v8pyay","languageCode":"eng","description":"Today, Apple is introducing new options for how apps globally can deliver in-app experiences to users, including streaming games and mini-programs. Developers can now submit a single app with the capability to stream all of the games offered in their catalog.","title":"Apple introduces new options worldwide for streaming game services and apps that provide access to mini apps and games","articleID":"2507f4a9-a824-4c3e-a813-9b2d929d7d67","pageID":"2507f4a9-a824-4c3e-a813-9b2d929d7d67","articlePermalinkKey":"f1v8pyay","pagePermalinkKey":"f1v8pyay","originalPublishingDate":"2024-01-25T08:10:18-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"152E8008-04B7-4FB8-A660-50AC455DD828","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10159":{"id":"news-10159","staticContentId":4520,"eventContentId":10159,"eventId":"news","contentUpdatedAt":"2021-09-13T07:17:20-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=na4c37vj","languageCode":"eng","description":"Easily discoverable and quick to launch at the moment it\u2019s needed, an App Clip is a small part of your app that lets users start and finish an experience in seconds. And after you\u2019ve demonstrated the value of your app with your App Clip, you can provide the opportunity to download your full app from the App Store.\n\nLearn more about App Clips","title":"Introducing App Clips","articleID":"121db029-e306-4998-8279-5588cc19dd3b","pageID":"121db029-e306-4998-8279-5588cc19dd3b","articlePermalinkKey":"na4c37vj","pagePermalinkKey":"na4c37vj","originalPublishingDate":"2020-06-21T21:20:05-07:00","publishingExpiryDate":"2040-06-22T18:33:59-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FDB91F0B-AE71-4B46-A5CC-1262D242DC2B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10325":{"id":"news-10325","staticContentId":6421,"eventContentId":10325,"eventId":"news","contentUpdatedAt":"2022-01-20T14:33:38-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9sjl5wuv","languageCode":"eng","description":"Now it's even easier to acquire, retain, and win back subscribers. In addition to one-time-use codes, you can now create custom codes in App Store Connect \u2014 each with a unique name that you choose (such as SPRINGPROMO). Each code can be redeemed through a direct URL or within your app. ","title":"Custom offer codes for subscriptions now available","articleID":"579a9918-5b74-4035-8a48-44f45351eb76","pageID":"579a9918-5b74-4035-8a48-44f45351eb76","articlePermalinkKey":"9sjl5wuv","pagePermalinkKey":"9sjl5wuv","originalPublishingDate":"2022-01-20T14:18:26-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E4B0CC9C-BB7E-498F-A8FF-B81AD858CC94","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110200":{"id":"news-110200","staticContentId":7817,"eventContentId":110200,"eventId":"news","contentUpdatedAt":"2022-10-18T12:49:58-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=vc82glbw","languageCode":"eng","description":"macOS Ventura makes the things you do most on Mac even better, with powerful new ways to get more done, share and collaborate in your favorite apps, immerse yourself in next\u2011level games, and take full advantage of your other devices. Machine learning enhancements make it even easier to provide intelligent experiences. SharePlay enables the sharing of synchronized experiences in your app while connecting via Messages. With Metal\u00a03, you can create next-generation Mac games that run effortlessly from MacBook\u00a0Air to Mac\u00a0Studio, thanks to Apple silicon. And Continuity Camera provides access to camera input, features, and effects on\u00a0iPhone.","title":"Mac App Store submissions now open for macOS\u00a0Ventura","articleID":"71388276-ebdd-41b2-9216-8ab5691b56ba","pageID":"71388276-ebdd-41b2-9216-8ab5691b56ba","articlePermalinkKey":"vc82glbw","pagePermalinkKey":"vc82glbw","originalPublishingDate":"2022-10-18T11:56:53-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"8E992870-D156-4CB0-B4AC-3C543F872CF5","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10167":{"id":"news-10167","staticContentId":4566,"eventContentId":10167,"eventId":"news","contentUpdatedAt":"2021-09-13T07:17:03-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=jonpe31q","languageCode":"eng","description":"Now games with Game Center capabilities display a beautifully redesigned in-game dashboard on iOS, tvOS, and macOS. Users can see their achievements, leaderboards, and Game Center profiles directly in your game when you implement the new Access Point. Game Center also now supports recurring leaderboards that keep rankings current, as well as leaderboards for daily, weekly, and monthly competitions. You can set up recurring leaderboards, add achievements, and opt in to the challenges feature in App Store Connect.\n\nLearn more\n","title":"Game Center updates now available","articleID":"a429e579-2971-4416-b9c3-79d24c10c208","pageID":"a429e579-2971-4416-b9c3-79d24c10c208","articlePermalinkKey":"jonpe31q","pagePermalinkKey":"jonpe31q","originalPublishingDate":"2020-06-24T09:40:55-07:00","publishingExpiryDate":"2075-06-24T19:25:50-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F57EF638-2349-40EF-BE47-77F0A93C28CF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110176":{"id":"news-110176","staticContentId":7404,"eventContentId":110176,"eventId":"news","contentUpdatedAt":"2022-06-07T10:03:28-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=vflashui","languageCode":"eng","description":"Bring valuable weather information to your apps and services through a wide range of data that can help people stay up to date, safe, and prepared. It\u2019s easy to use WeatherKit in your apps with a platform-specific Swift API, and on any other platform with a REST API.","title":"Introducing WeatherKit","articleID":"179a9d41-134a-49bc-b37b-1d0a7fc9c974","pageID":"179a9d41-134a-49bc-b37b-1d0a7fc9c974","articlePermalinkKey":"vflashui","pagePermalinkKey":"vflashui","originalPublishingDate":"2022-06-07T10:00:23-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"28964F36-BAD9-4483-B3A6-8CFDF3AF250E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110194":{"id":"news-110194","staticContentId":7725,"eventContentId":110194,"eventId":"news","contentUpdatedAt":"2023-03-20T16:21:52-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=e1b1hcmv","languageCode":"eng","description":"Periodically, we update prices on the App\u00a0Store in certain regions based on changes in taxes and foreign exchange rates. This is done using publicly available exchange rate information from financial data providers to help ensure prices for apps and in\u2011app purchases stay equalized across all storefronts. As early as October 5, 2022, prices of apps and in-app purchases (excluding auto-renewable subscriptions) on the App\u00a0Store will increase in Chile, Egypt, Japan, Malaysia, Pakistan, Poland, South\u00a0Korea, Sweden, Vietnam, and all territories that use the euro currency. In Vietnam, these increases also reflect new regulations for Apple to collect and remit applicable taxes, being value added tax (VAT) and corporate income tax (CIT) at 5% rates respectively.","title":"Upcoming price and tax changes for apps and in\u2011app purchases","articleID":"617d4496-d823-44e6-9589-4dc7ee608b8c","pageID":"617d4496-d823-44e6-9589-4dc7ee608b8c","articlePermalinkKey":"e1b1hcmv","pagePermalinkKey":"e1b1hcmv","originalPublishingDate":"2022-09-19T18:01:41-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E816B57D-D4BE-45AD-9ECF-3B2027E72CBF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110222":{"id":"news-110222","staticContentId":8234,"eventContentId":110222,"eventId":"news","contentUpdatedAt":"2023-03-09T12:01:31-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=dbrszv62","languageCode":"eng","description":"In December, we announced the most comprehensive upgrade to pricing capabilities since the App\u00a0Store first launched, including additional price points and new tools to manage pricing by storefront. Starting today, these upgrades and new prices are now available for all app and in\u2011app purchase types, including paid apps and one\u2011time in\u2011app purchases.","title":"App Store pricing upgrades have expanded to all purchase types","articleID":"0e06bacc-9163-4610-9790-e639f38dc201","pageID":"0e06bacc-9163-4610-9790-e639f38dc201","articlePermalinkKey":"dbrszv62","pagePermalinkKey":"dbrszv62","originalPublishingDate":"2023-03-09T12:00:08-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7A3CD9AA-3E70-4A02-BC5B-2BD35B49B357","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110160":{"id":"news-110160","staticContentId":6762,"eventContentId":110160,"eventId":"news","contentUpdatedAt":"2022-04-08T12:24:44-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3g0zsfvn","languageCode":"eng","description":"When taxes or foreign exchange rates change, we sometimes need to update prices on the App Store in certain regions and\/or adjust your proceeds.","title":"Upcoming tax and price changes for apps and in-app purchases","articleID":"a5ad5f1f-fff5-467c-9692-88bd51f9b618","pageID":"a5ad5f1f-fff5-467c-9692-88bd51f9b618","articlePermalinkKey":"3g0zsfvn","pagePermalinkKey":"3g0zsfvn","originalPublishingDate":"2022-04-08T12:23:50-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"82B463E3-5D75-4013-8B2E-7C7321C57336","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112108":{"id":"news-112108","staticContentId":11236,"eventContentId":112108,"eventId":"news","contentUpdatedAt":"2026-06-08T12:09:28-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=a233fmpw","languageCode":"eng","description":"The Apple Developer Program License Agreement and App Review Guidelines have been revised to support new features, updated policies, and to provide clarification.","title":"Updated Apple Developer Program License Agreement and App Review Guidelines now available ","articleID":"5242995c-8cac-4a6a-8759-86b9e51dc441","pageID":"5242995c-8cac-4a6a-8759-86b9e51dc441","articlePermalinkKey":"a233fmpw","pagePermalinkKey":"a233fmpw","originalPublishingDate":"2026-06-08T11:18:33-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"81228E00-45AE-43E0-A8E8-9ACD98E4A274","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10008":{"id":"news-10008","staticContentId":3992,"eventContentId":10008,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:40-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=05042020a","languageCode":"eng","description":"The Sales and Trends section of App Store Connect now provides details about the number of subscribers in Billing Grace Period \u2014 a feature that lets subscribers with unsuccessful auto-renewals continue accessing your app\u2019s paid content while Apple attempts to collect payment, allowing them time to fix the issue. New subscription events in Sales and Trends indicate the number of renewals and cancelations during Billing Grace Period, and the Subscription Report includes a new column with the total number of subscriptions in Billing Grace Period.","title":"Billing Grace Period Data Now Available in App Store Connect","articleID":"cc3699d2-37cd-4f4d-b13f-db7e9a910e85","pageID":"cc3699d2-37cd-4f4d-b13f-db7e9a910e85","articlePermalinkKey":"05042020a","pagePermalinkKey":"05042020a","originalPublishingDate":"2020-05-04T19:00:45-07:00","publishingExpiryDate":"2040-05-05T23:07:19-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3E242E20-6943-4E93-A8BF-DB7A80BB1947","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111947":{"id":"news-111947","staticContentId":9817,"eventContentId":111947,"eventId":"news","contentUpdatedAt":"2024-09-26T10:54:42-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4mfp130q","languageCode":"eng","description":"Apple is committed to making sure that the App\u00a0Store is a safe place for everyone \u2014 especially kids. Within the next few months, the following regional age ratings for Australia and France will be implemented in accordance with local laws. No action is needed on your part. Where required by local regulations, regional ratings will appear alongside Apple global age\u00a0ratings.","title":"Upcoming regional age ratings in Australia and\u00a0France","articleID":"3043b292-04d6-4d65-b815-53d1f9bd4541","pageID":"3043b292-04d6-4d65-b815-53d1f9bd4541","articlePermalinkKey":"4mfp130q","pagePermalinkKey":"4mfp130q","originalPublishingDate":"2024-09-26T08:00:01-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4A7A6C01-00CF-4C6B-905A-07C0AD05B320","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112013":{"id":"news-112013","staticContentId":10602,"eventContentId":112013,"eventId":"news","contentUpdatedAt":"2025-08-26T09:31:18-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=p9nukitr","languageCode":"eng","description":"Join us for a special Apple Event on September 9 at 10 a.m. PT.","title":"Awe dropping.","articleID":"3c6c62db-d74e-47fb-8892-a8af6d8a8573","pageID":"3c6c62db-d74e-47fb-8892-a8af6d8a8573","articlePermalinkKey":"p9nukitr","pagePermalinkKey":"p9nukitr","originalPublishingDate":"2025-08-26T07:00:09-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E7784402-2480-4367-A4A7-6851987BFF09","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110287":{"id":"news-110287","staticContentId":9180,"eventContentId":110287,"eventId":"news","contentUpdatedAt":"2024-01-25T08:12:47-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=7j1f99yf","languageCode":"eng","description":"The App\u00a0Store Review Guidelines have been revised to support updated policies, upcoming features, and to provide clarification. We\u2019ve added notations to all guidelines to indicate which guidelines only apply to Notarization for iOS apps in EU, and which guidelines additionally apply to apps distributed on the App\u00a0Store.","title":"Updated App Store Review Guidelines now available","articleID":"7d37ea7c-812e-4ad3-8ca3-22b55b27ff90","pageID":"7d37ea7c-812e-4ad3-8ca3-22b55b27ff90","articlePermalinkKey":"7j1f99yf","pagePermalinkKey":"7j1f99yf","originalPublishingDate":"2024-01-25T07:58:09-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F14ED6AC-B4AA-4749-A2D9-D16B55BC65DE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110192":{"id":"news-110192","staticContentId":7712,"eventContentId":110192,"eventId":"news","contentUpdatedAt":"2022-09-12T16:06:17-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=wsx8rd26","languageCode":"eng","description":"WeatherKit brings valuable weather information to your apps and services through a wide range of data that can help people stay up to date, safe, and prepared. It\u2019s easy to use WeatherKit in your apps for iOS\u00a016, iPadOS\u00a016, macOS\u00a013, tvOS\u00a016, and watchOS\u00a09 with a platform-specific Swift API, and on any other platform with a REST\u00a0API. Up to 500,000 API calls per month are included with Apple\u00a0Developer Program membership. And now, Account Holders can subscribe for more calls in the Apple\u00a0Developer\u00a0app.","title":"WeatherKit subscriptions now available","articleID":"a1a13bfd-cdb3-4fd7-a17b-f2ea232717c9","pageID":"a1a13bfd-cdb3-4fd7-a17b-f2ea232717c9","articlePermalinkKey":"wsx8rd26","pagePermalinkKey":"wsx8rd26","originalPublishingDate":"2022-09-12T15:50:08-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"6F9431EB-E964-4C7A-B724-9B3B78824EB0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10200":{"id":"news-10200","staticContentId":4771,"eventContentId":10200,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:26-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=n7m5nqwo","languageCode":"eng","description":"As announced at WWDC20, we\u2019re excited to bring iPhone and iPad apps to the Mac App Store on Apple silicon Macs \u2014 so your apps can reach even more users worldwide. By default, your apps will be published automatically on the Mac App Store. To make sure that Mac users have a great experience, confirm that your apps work well on this platform and don\u2019t rely on iPhone or iPad features not available on Mac. If needed, update their availability on Mac in App Store Connect.","title":"iPhone and iPad apps are coming to Mac","articleID":"fbc33a84-e872-43b7-b15f-fc7d360cf15f","pageID":"fbc33a84-e872-43b7-b15f-fc7d360cf15f","articlePermalinkKey":"n7m5nqwo","pagePermalinkKey":"n7m5nqwo","originalPublishingDate":"2020-11-11T10:25:10-08:00","publishingExpiryDate":"2075-11-11T15:23:14-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FE3C7609-6000-4ED3-BAFC-C5B9FA10E1E8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112069":{"id":"news-112069","staticContentId":10853,"eventContentId":112069,"eventId":"news","contentUpdatedAt":"2026-03-12T18:15:25-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=dadukodv","languageCode":"eng","description":"Apple is making changes to the App Store in China following discussions with the Chinese regulator. As of March 15, 2026, changes will be made to the commission rates that apply to the China mainland storefront of the App\u00a0Store on iOS and\u00a0iPadOS.","title":"Adjustments to the China storefront of the App Store on iOS and\u00a0iPadOS","articleID":"7bdf1f6a-88c0-41c2-83ac-28ed68f61d94","pageID":"7bdf1f6a-88c0-41c2-83ac-28ed68f61d94","articlePermalinkKey":"dadukodv","pagePermalinkKey":"dadukodv","originalPublishingDate":"2026-03-12T18:00:21-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5CD2DEE9-B7DD-41AC-B3DB-3BC6484D3227","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110186":{"id":"news-110186","staticContentId":7493,"eventContentId":110186,"eventId":"news","contentUpdatedAt":"2022-07-27T10:21:19-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=hi37aek8","languageCode":"eng","description":"Live Activities help people stay on top of what\u2019s happening in your app in real time, right from the Lock Screen. You can now get started with Live Activities and the new ActivityKit framework, which are available in the beta 4 version of iOS 16.","title":"Live Activities now available in beta","articleID":"3cdb43af-29f2-400e-af38-64314c6e69ab","pageID":"3cdb43af-29f2-400e-af38-64314c6e69ab","articlePermalinkKey":"hi37aek8","pagePermalinkKey":"hi37aek8","originalPublishingDate":"2022-07-27T10:20:47-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C0B16949-2A24-4860-841A-2E2DB3BB78AC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10277":{"id":"news-10277","staticContentId":5987,"eventContentId":10277,"eventId":"news","contentUpdatedAt":"2021-09-14T12:24:40-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=s6627lek","languageCode":"eng","description":"Deliver even more powerful and personal apps for Apple Watch with the new capabilities of watchOS 8. With the Always-On Retina Display, your apps are always available at a quick glance. Gather HealthKit data and connect to Bluetooth peripherals in the background, delivering up-to-date information to your complications. AssistiveTouch makes your apps more accessible than ever. And the powerful new SwiftUI Canvas API lets you take advantage of the GPU in Apple Watch for rich programmatic drawing.","title":"App Store submissions now open for watchOS 8","articleID":"bd21fb77-c42d-4e41-80d6-2f1d0e6ad5f3","pageID":"bd21fb77-c42d-4e41-80d6-2f1d0e6ad5f3","articlePermalinkKey":"s6627lek","pagePermalinkKey":"s6627lek","originalPublishingDate":"2021-09-14T12:21:35-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"72C74A25-DEA3-4AD3-ABB2-E03CCA46CA25","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110199":{"id":"news-110199","staticContentId":7816,"eventContentId":110199,"eventId":"news","contentUpdatedAt":"2022-10-18T12:49:45-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=y49buixy","languageCode":"eng","description":"Integrate new and powerful communication features in your app with watchOS\u00a09. Deliver timely information with rich complications on more Apple\u00a0Watch faces, enable sharing of your app content, let users make VoIP calls directly from Apple\u00a0Watch, and more. And with a simplified watchOS app structure, managing your projects is easier than ever.","title":"App Store submissions now open for watchOS\u00a09.1","articleID":"b47af75d-7a43-4d32-a2b9-d09d05e42778","pageID":"b47af75d-7a43-4d32-a2b9-d09d05e42778","articlePermalinkKey":"y49buixy","pagePermalinkKey":"y49buixy","originalPublishingDate":"2022-10-18T11:58:01-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"78874065-BA58-42BD-859A-5B4B5711A786","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110172":{"id":"news-110172","staticContentId":7400,"eventContentId":110172,"eventId":"news","contentUpdatedAt":"2022-06-06T12:55:59-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=r1sz7dke","languageCode":"eng","description":"Developer Mode protects people from inadvertently installing potentially harmful software on their devices, and reduces attack vectors exposed by developer-only functionality. Make sure to enable Developer Mode on your device when testing apps on iOS 16, iPadOS 16, or watchOS 9 or later, so you can grant permission to run locally-installed apps on these platforms.","title":"Get ready for Developer Mode","articleID":"2f0e9098-dd17-449f-b5de-6aa5283d6b0c","pageID":"2f0e9098-dd17-449f-b5de-6aa5283d6b0c","articlePermalinkKey":"r1sz7dke","pagePermalinkKey":"r1sz7dke","originalPublishingDate":"2022-06-06T11:57:15-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"AEBAC06B-8F1C-4EA1-8C07-0216AEBA04FB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110182":{"id":"news-110182","staticContentId":7470,"eventContentId":110182,"eventId":"news","contentUpdatedAt":"2022-06-30T10:52:48-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=j297mmov","languageCode":"eng","description":"Now your apps can create 3D floor plans \u2014 including key characteristics, such as dimensions and types of furniture. Powered by ARKit, this new Swift API utilizes the camera and LiDAR Scanner on iPhone and iPad to bring surroundings into your apps.","title":"Get ready for RoomPlan","articleID":"10ca4659-1856-40e7-a39e-c4392f88a79a","pageID":"10ca4659-1856-40e7-a39e-c4392f88a79a","articlePermalinkKey":"j297mmov","pagePermalinkKey":"j297mmov","originalPublishingDate":"2022-06-30T10:50:55-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"EABDC462-9B6D-48C5-B599-8BE7CA95D554","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10253":{"id":"news-10253","staticContentId":5712,"eventContentId":10253,"eventId":"news","contentUpdatedAt":"2021-09-13T07:47:01-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=p5yif4lk","languageCode":"eng","description":"Digital Lounge sign-ups are now open. Join Apple engineers and designers from Developer Tools, SwiftUI, Accessibility, and Machine Learning and participate in text-based discussions, ask questions about the latest technologies, get help with coding challenges, meet presenters, and more. Space is limited and available for members of the Apple Developer Program and Apple Developer Enterprise Program, as well as Swift Student Challenge winners.","title":"Get ready for WWDC21","articleID":"5ed9c336-8249-4e03-8178-95ce07eb7a42","pageID":"5ed9c336-8249-4e03-8178-95ce07eb7a42","articlePermalinkKey":"p5yif4lk","pagePermalinkKey":"p5yif4lk","originalPublishingDate":"2021-06-01T09:00:56-07:00","publishingExpiryDate":"2075-06-01T18:30:30-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2CE38289-81E0-4679-B183-1486A2B19AF7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110258":{"id":"news-110258","staticContentId":9074,"eventContentId":110258,"eventId":"news","contentUpdatedAt":"2023-09-07T10:30:03-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=cvqqmwbs","languageCode":"eng","description":"Apple Entrepreneur Camp supports underrepresented founders and developers, and encourages the pipeline and longevity of these entrepreneurs in technology. Building on the success of our alumni from cohorts for female*, Black, and Hispanic\/Latinx founders, starting this fall, we\u2019re expanding our reach to welcome professionals from Indigenous backgrounds who are looking to enhance and grow their existing app-driven businesses. Attendees benefit from one-on-one code-level guidance, receive insight, inspiration, and unprecedented access to Apple engineers and experts, and become part of the extended global network of Apple\u00a0Entrepreneur\u00a0Camp\u00a0alumni.","title":"Apple Entrepreneur Camp applications now open","articleID":"a66ac04e-17af-49fd-9922-fec14299fda0","pageID":"a66ac04e-17af-49fd-9922-fec14299fda0","articlePermalinkKey":"cvqqmwbs","pagePermalinkKey":"cvqqmwbs","originalPublishingDate":"2023-09-07T10:00:33-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A99067CC-A87A-4A08-8CC7-66444F16FFAC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110185":{"id":"news-110185","staticContentId":7489,"eventContentId":110185,"eventId":"news","contentUpdatedAt":"2022-08-09T09:53:28-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=oykcir1f","languageCode":"eng","description":"Connect with experts online to learn how to make the most of App Store features. Discover how to attract new customers, test marketing strategies, add subscriptions, and so much more. Live presentations with Q&A are being held throughout August in multiple time zones and languages. Register today if you\u2019re a member of the Apple Developer Program.","title":"There\u2019s still time to meet with App Store experts","articleID":"b48f4254-119f-488c-b1d8-32cefa5ffd3d","pageID":"b48f4254-119f-488c-b1d8-32cefa5ffd3d","articlePermalinkKey":"oykcir1f","pagePermalinkKey":"oykcir1f","originalPublishingDate":"2022-08-09T09:52:30-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"57D051C6-0837-4FCD-9650-3125CD19A526","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10284":{"id":"news-10284","staticContentId":6011,"eventContentId":10284,"eventId":"news","contentUpdatedAt":"2021-09-27T12:15:02-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=oefg5bhp","languageCode":"eng","description":"The new iPad mini introduces a new screen resolution and aspect ratio with an edge-to-edge 8.3-inch Liquid Retina display, enabling even more immersive app and game experiences. If you\u2019re following best practices with Auto Layout and size classes, your app\u2019s interface will dynamically adapt to the new dimensions. However, if you\u2019ve added UIRequiresFullScreen=YES to your app\u2019s Info.plist in order to keep your app full screen during multitasking, you\u2019ll need to recompile with Xcode 13 and the SDK for iPadOS 15 to take advantage of the full screen size. Test and submit your updated app in App Store Connect today.","title":"Get ready for the new iPad mini display","articleID":"dd012a6c-7a35-45e5-a47a-5aeb20eed67d","pageID":"dd012a6c-7a35-45e5-a47a-5aeb20eed67d","articlePermalinkKey":"oefg5bhp","pagePermalinkKey":"oefg5bhp","originalPublishingDate":"2021-09-27T12:14:56-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D31E19B3-4157-4B95-815F-0794758D4957","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10182":{"id":"news-10182","staticContentId":4720,"eventContentId":10182,"eventId":"news","contentUpdatedAt":"2021-09-13T07:16:28-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=itpt8dkc","languageCode":"eng","description":"Make sure your apps are ready when iOS 14 and iPadOS 14 become available to customers worldwide. Give users a quick way to engage with a part of your app at the right moment with App Clips. Let users experience your app right on their iPhone home screen with new widgets. Bring your ideas to life with new features and more realistic augmented reality experiences using ARKit and RealityKit. And much more.\n\nBuild your apps using Xcode 12 GM seed, test them on devices running iOS 14 and iPadOS GM seed, and submit them for review. Starting April 2021, all iOS and iPadOS apps submitted to the App Store must be built with Xcode 12 and the iOS 14 SDK.\n\nLearn more","title":"Submit your iOS and iPadOS apps to the App Store","articleID":"f3ec4f1a-0b12-4a2b-8cee-143a485b8ade","pageID":"f3ec4f1a-0b12-4a2b-8cee-143a485b8ade","articlePermalinkKey":"itpt8dkc","pagePermalinkKey":"itpt8dkc","originalPublishingDate":"2020-09-15T14:40:01-07:00","publishingExpiryDate":"2075-09-15T15:10:53-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"042025A8-1860-4010-B4E5-913CB3BD82FF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110170":{"id":"news-110170","staticContentId":7398,"eventContentId":110170,"eventId":"news","contentUpdatedAt":"2022-06-06T14:16:49-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=l87okncv","languageCode":"eng","description":"Get the Xcode 14 beta, which includes SDKs for all Apple platforms. Leverage the simplicity and power of Swift and SwiftUI with a new multiplatform app experience, code faster with enhanced editor features, and start testing and deploying from Xcode Cloud to TestFlight and the App Store.","title":"Xcode 14 beta now available","articleID":"9a1478bd-7201-4b1b-8fa6-bdc0dd28e46a","pageID":"9a1478bd-7201-4b1b-8fa6-bdc0dd28e46a","articlePermalinkKey":"l87okncv","pagePermalinkKey":"l87okncv","originalPublishingDate":"2022-06-06T12:28:28-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"DA73F3CD-B323-4806-B5CF-759811652A06","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110165":{"id":"news-110165","staticContentId":7230,"eventContentId":110165,"eventId":"news","contentUpdatedAt":"2022-05-24T08:15:23-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=qnx0slc5","languageCode":"eng","description":"Get ready for June 6 at 10:00 a.m. PT, when WWDC22 gathers the developer community for an exciting online experience. Mark your calendars for the keynote and Platforms State of the Union. Learn about sessions, one-on-one labs, Digital Lounges, and more.","title":"Swiftly approaching","articleID":"053a6026-6752-4ab7-b396-5ef2eebd5f4c","pageID":"053a6026-6752-4ab7-b396-5ef2eebd5f4c","articlePermalinkKey":"qnx0slc5","pagePermalinkKey":"qnx0slc5","originalPublishingDate":"2022-05-24T08:10:19-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"CCDDA303-9DDB-485E-8695-8BE8E3FF0130","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110293":{"id":"news-110293","staticContentId":9194,"eventContentId":110293,"eventId":"news","contentUpdatedAt":"2024-02-14T09:41:32-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=caakolzs","languageCode":"eng","description":"Apple developer activities are in full swing. Here\u2019s a look at what\u2019s happening.","title":"Developer activities you\u2019ll love","articleID":"118a93f4-1453-4824-a44c-4dfb05df8bd8","pageID":"118a93f4-1453-4824-a44c-4dfb05df8bd8","articlePermalinkKey":"caakolzs","pagePermalinkKey":"caakolzs","originalPublishingDate":"2024-02-14T07:00:47-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B566CC95-6225-491C-B265-AC79486F8555","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10292":{"id":"news-10292","staticContentId":6326,"eventContentId":10292,"eventId":"news","contentUpdatedAt":"2022-10-23T11:26:40-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4m3f5hbw","languageCode":"eng","description":"The App Store is a safe and trusted place for customers to discover and download apps, and a great opportunity for developers. The following updates to the App Store Review Guidelines support new features in upcoming OS releases, better protect customers, and help your apps go through the review process as smoothly as possible.","title":"App Store Review Guideline updates now available","articleID":"b1ddf4b6-eac4-4238-b78e-f394b8568a84","pageID":"b1ddf4b6-eac4-4238-b78e-f394b8568a84","articlePermalinkKey":"4m3f5hbw","pagePermalinkKey":"4m3f5hbw","originalPublishingDate":"2021-10-22T08:00:07-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0DCC4533-F60A-432A-80F1-7A678AB2B47D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10246":{"id":"news-10246","staticContentId":5283,"eventContentId":10246,"eventId":"news","contentUpdatedAt":"2021-09-13T07:38:48-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=0jowcbgj","languageCode":"eng","description":"The App Store provides a safe and trusted place for users around the world to discover and download your apps. And now with search suggestions, it provides another great discovery method. When users search on the App Store, they see suggested search terms related to what they\u2019re looking for. Tapping a suggestion adjusts their search, so they\u2019ll easily find even more apps that might fit their needs. App Store search is one of the main ways that users discover apps, and developers are already seeing more downloads from those who use these suggestions.","title":"Search suggestions now on the App Store","articleID":"37e8181d-ced8-483e-9f45-518367c3e07c","pageID":"37e8181d-ced8-483e-9f45-518367c3e07c","articlePermalinkKey":"0jowcbgj","pagePermalinkKey":"0jowcbgj","originalPublishingDate":"2021-04-29T18:30:13-07:00","publishingExpiryDate":"2075-04-29T16:12:13-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"890F8C88-787A-43FB-AC7B-D4AF4047FD1F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110252":{"id":"news-110252","staticContentId":9035,"eventContentId":110252,"eventId":"news","contentUpdatedAt":"2023-07-24T10:33:10-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=beltofx4","languageCode":"eng","description":"We can help you make sure your visionOS, iPadOS, and iOS apps behave as expected on Vision\u00a0Pro.","title":"Take your apps and games beyond the visionOS simulator","articleID":"efb8fca6-c31e-437c-93c2-6472a6782a8a","pageID":"efb8fca6-c31e-437c-93c2-6472a6782a8a","articlePermalinkKey":"beltofx4","pagePermalinkKey":"beltofx4","originalPublishingDate":"2023-07-24T08:00:57-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"253AB2AE-3D42-4422-A0B6-EA853D0D9EB5","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10233":{"id":"news-10233","staticContentId":5024,"eventContentId":10233,"eventId":"news","contentUpdatedAt":"2021-09-13T07:37:26-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=p5kjwfnf","languageCode":"eng","description":"Apple Search Ads has always made it easy to promote your apps at the top of relevant search results on the App Store. Now you can reach users even before they search with an ad placement on the Search tab. It\u2019s a simple and effective way to help users discover your apps. Try Apple Search Ads for free with a 100 USD credit.","title":"Apple Search Ads introduces a new way to promote apps","articleID":"af1a0e23-f3fa-4f17-984a-e0c37125ac6f","pageID":"af1a0e23-f3fa-4f17-984a-e0c37125ac6f","articlePermalinkKey":"p5kjwfnf","pagePermalinkKey":"p5kjwfnf","originalPublishingDate":"2021-05-04T11:30:57-07:00","publishingExpiryDate":"2075-05-04T09:13:57-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0B2F7CBD-434E-4E12-9A91-4768E06F8C40","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10232":{"id":"news-10232","staticContentId":4959,"eventContentId":10232,"eventId":"news","contentUpdatedAt":"2021-09-13T07:38:35-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=uzyxiriy","languageCode":"eng","description":"The HTTP\/2-based Apple Push Notification service (APNs) provider API lets you take advantage of great features, such as authentication with a JSON Web Token, improved error messaging, and per-notification feedback. If you still send push notifications with the legacy binary protocol, make sure to upgrade to the APNs provider API as soon as possible. APNs will no longer support the legacy binary protocol after March 31, 2021.","title":"Reminder: APNs provider API requirement starts March 31","articleID":"9056d7f0-121f-4d0b-831e-830655941466","pageID":"9056d7f0-121f-4d0b-831e-830655941466","articlePermalinkKey":"uzyxiriy","pagePermalinkKey":"uzyxiriy","originalPublishingDate":"2021-03-04T09:18:08-08:00","publishingExpiryDate":"2075-03-04T14:23:08-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"79ADC4DA-8622-4CDE-83D8-9F3D75867944","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10040":{"id":"news-10040","staticContentId":4024,"eventContentId":10040,"eventId":"news","contentUpdatedAt":"2024-12-02T15:50:47-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=11222019a","languageCode":"eng","description":"Server-to-server notifications from the App Store let you receive real-time updates in a subscription\u2019s status, so you can provide customized experiences for your subscribers.","title":"New Server Notifications for Subscriptions Now Available","articleID":"de8a798e-3741-4a47-991d-2ac28489b7ec","pageID":"de8a798e-3741-4a47-991d-2ac28489b7ec","articlePermalinkKey":"11222019a","pagePermalinkKey":"11222019a","originalPublishingDate":"2019-11-22T08:00:44-08:00","publishingExpiryDate":"2075-11-21T10:59:29-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1E23F8B8-EEE4-455E-A042-829F217054CC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110158":{"id":"news-110158","staticContentId":6725,"eventContentId":110158,"eventId":"news","contentUpdatedAt":"2022-03-30T09:51:55-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=jmps5hyj","languageCode":"eng","description":"Since February of this year, developers of dating apps on the App Store in the Netherlands have been able to use the StoreKit External Purchase Entitlement or the StoreKit External Purchase Link Entitlement to enable the capability to sell services through a payment system other than Apple\u2019s in-app purchase system. Apple established these entitlements as part of our plan to comply with a recent Netherlands Authority for Consumers and Markets (ACM) order. Today we\u2019ve introduced changes to these entitlements, which include:","title":"Update on StoreKit External Entitlement for dating apps","articleID":"3203f52a-9617-4341-9fda-19810b67317b","pageID":"3203f52a-9617-4341-9fda-19810b67317b","articlePermalinkKey":"jmps5hyj","pagePermalinkKey":"jmps5hyj","originalPublishingDate":"2022-03-30T09:56:18-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"14E0789E-09B3-4A5D-A655-E953680C3E22","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110268":{"id":"news-110268","staticContentId":9093,"eventContentId":110268,"eventId":"news","contentUpdatedAt":"2023-11-01T11:36:39-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=2s2oe3qf","languageCode":"eng","description":"The App\u00a0Store\u2019s commerce and payments system was built to enable you to conveniently set up and sell your products and services on a global scale in 44 currencies across 175 storefronts. Apple administers tax on behalf of developers in over 70 countries and regions and provides you with the ability to assign tax categories to your apps and in\u2011app\u00a0purchases.","title":"Tax updates for apps, in-app purchases, and subscriptions","articleID":"733465ec-387e-442b-9b01-7d2b5208ef6b","pageID":"733465ec-387e-442b-9b01-7d2b5208ef6b","articlePermalinkKey":"2s2oe3qf","pagePermalinkKey":"2s2oe3qf","originalPublishingDate":"2023-10-31T08:00:15-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"AB47FDDC-61BE-4A4A-BAFE-2B8E8596A7C9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110253":{"id":"news-110253","staticContentId":9036,"eventContentId":110253,"eventId":"news","contentUpdatedAt":"2023-07-25T09:20:08-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=13o0yrtg","languageCode":"eng","description":"Join us for online sessions August 1 through 24 to learn about the latest App\u00a0Store features and get your questions answered. Live presentations with Q&A are being held in multiple time zones and languages.","title":"Meet with App\u00a0Store\u00a0experts","articleID":"f67e4f85-1d2f-40b9-bdce-2e89d6896fd9","pageID":"f67e4f85-1d2f-40b9-bdce-2e89d6896fd9","articlePermalinkKey":"13o0yrtg","pagePermalinkKey":"13o0yrtg","originalPublishingDate":"2023-07-25T08:00:45-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E5CF8451-2C2A-40CD-93DA-581518ED3115","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111924":{"id":"news-111924","staticContentId":9674,"eventContentId":111924,"eventId":"news","contentUpdatedAt":"2024-05-28T08:31:06-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ji7uibs2","languageCode":"eng","description":"Every year, the Apple\u00a0Design\u00a0Awards recognize innovation, ingenuity, and technical achievement in app and game design. Meet this year\u2019s finalists.","title":"Introducing the 2024 Apple Design Award finalists","articleID":"9059192a-c748-4c45-97be-0718b58d316c","pageID":"9059192a-c748-4c45-97be-0718b58d316c","articlePermalinkKey":"ji7uibs2","pagePermalinkKey":"ji7uibs2","originalPublishingDate":"2024-05-28T08:30:09-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4F17586E-80B2-4252-A0A5-137B4C441DFF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112106":{"id":"news-112106","staticContentId":11235,"eventContentId":112106,"eventId":"news","contentUpdatedAt":"2026-06-08T12:20:01-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=0d2gpmml","languageCode":"eng","description":"New Time Allowances in iOS\u00a027, iPadOS\u00a027, and macOS\u00a027, or later, give parents more flexible ways to manage the time their kids spend in apps across categories, including Entertainment, Games, and Social Media. ","title":"Introducing Time Allowances","articleID":"996231e3-a096-4b1a-9f39-29f13eb36796","pageID":"996231e3-a096-4b1a-9f39-29f13eb36796","articlePermalinkKey":"0d2gpmml","pagePermalinkKey":"0d2gpmml","originalPublishingDate":"2026-06-08T11:19:33-07:00","platforms":["iOS","iPadOS","macOS"],"topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"393874CB-4678-4AE5-B3F0-B61D4980D81E","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-112085":{"id":"news-112085","staticContentId":11029,"eventContentId":112085,"eventId":"news","contentUpdatedAt":"2026-05-08T09:38:44-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=x4eyetnp","languageCode":"eng","description":"Following changes to Brazil\u2019s fixed-odds betting regulation, apps with fixed-odds betting (gambling) features can now be distributed on the App Store in Brazil with a valid fixed-odds betting license from the Secretariat of Prizes and Bets (SPA). If any of your apps include these features (indicated by selecting \u201cYes\u201d to the gambling question in the age rating questionnaire in App Store Connect), you\u2019ll need to provide this license. Keep in mind that answering \u201cYes\u201d to the gambling question in the age rating questionnaire will set your Brazil age rating to A18.","title":"Brazilian betting license requirement for App Store availability","articleID":"4d7f8f95-2f1e-44c5-8894-f197e92b5f4f","pageID":"4d7f8f95-2f1e-44c5-8894-f197e92b5f4f","articlePermalinkKey":"x4eyetnp","pagePermalinkKey":"x4eyetnp","originalPublishingDate":"2026-05-08T09:30:46-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"679210FA-2E1C-470A-B7D6-DD2D57BBD5F7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110245":{"id":"news-110245","staticContentId":8973,"eventContentId":110245,"eventId":"news","contentUpdatedAt":"2023-06-06T09:15:46-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3cwqvk28","languageCode":"eng","description":"The App\u00a0Store Review Guidelines, the Apple Developer Program License Agreement, and the Apple\u00a0Developer Agreement have been updated to support updated policies and upcoming features, and to provide clarification. Please review the changes below and accept the updated terms as needed.","title":"Updated agreements and guidelines now available","articleID":"5e2161d0-79bc-401f-9f6a-d6455d3bb1d0","pageID":"5e2161d0-79bc-401f-9f6a-d6455d3bb1d0","articlePermalinkKey":"3cwqvk28","pagePermalinkKey":"3cwqvk28","originalPublishingDate":"2023-06-05T13:25:16-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A07C77B6-3D26-49E1-A9BB-C79A8031A4D9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10201":{"id":"news-10201","staticContentId":4776,"eventContentId":10201,"eventId":"news","contentUpdatedAt":"2021-09-13T07:19:27-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=g20wyc9c","languageCode":"eng","description":"You can now create subscription offer codes to acquire, retain, and win back subscribers. Offer codes are unique, alphanumeric codes that provide auto-renewable subscriptions at a discounted price or for free for a specific duration. Provide your one-time use codes digitally or offline at physical events, alongside products, and more. Users on iOS 14 and iPadOS 14 and later can redeem offer codes on the App Store through a one-time code redemption URL, or within your app if you\u2019ve implemented the `presentCodeRedemptionSheet` API. Sales and Trends reports will be updated later this year to include information on the performance of your subscription offer codes.\n","title":"Subscription offer codes now available","articleID":"fec738e2-3774-4de7-ab02-0aea5d20d7f5","pageID":"fec738e2-3774-4de7-ab02-0aea5d20d7f5","articlePermalinkKey":"g20wyc9c","pagePermalinkKey":"g20wyc9c","originalPublishingDate":"2020-11-17T15:51:21-08:00","publishingExpiryDate":"2075-11-17T10:52:17-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4E13D816-E9BA-4AD1-B9EF-CCD6DBD3AA6B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10279":{"id":"news-10279","staticContentId":5992,"eventContentId":10279,"eventId":"news","contentUpdatedAt":"2021-09-21T09:26:26-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ufox7ci5","languageCode":"eng","description":"As you plan to update to macOS Monterey after the public release this fall, you\u2019ll also need to update to Xcode 13 (which includes Xcode Cloud and the latest SDKs for iOS, iPadOS, macOS, tvOS, and watchOS). Xcode 13 is compatible with macOS Big Sur 11.3 or later.","title":"Xcode 13 required on macOS Monterey","articleID":"a661f24f-b30e-4b4a-9ffc-4a3c595548f5","pageID":"a661f24f-b30e-4b4a-9ffc-4a3c595548f5","articlePermalinkKey":"ufox7ci5","pagePermalinkKey":"ufox7ci5","originalPublishingDate":"2021-09-21T09:16:37-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BDECA353-D7FE-4A60-B9E4-DB209B61D3E4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10195":{"id":"news-10195","staticContentId":4765,"eventContentId":10195,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:39-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3pxbkk0n","languageCode":"eng","description":"Please join us a for a special Apple Event broadcasting from Apple Park on November 10 at 10:00 a.m. PST. Watch the show online at apple.com.","title":"Don\u2019t miss the upcoming special Apple Event","articleID":"9802e830-3674-46d7-9727-4101e727e594","pageID":"9802e830-3674-46d7-9727-4101e727e594","articlePermalinkKey":"3pxbkk0n","pagePermalinkKey":"3pxbkk0n","originalPublishingDate":"2020-11-04T12:00:35-08:00","publishingExpiryDate":"2075-11-04T07:30:32-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"357CB025-9143-4553-BFDF-3716091CE866","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10205":{"id":"news-10205","staticContentId":4783,"eventContentId":10205,"eventId":"news","contentUpdatedAt":"2021-09-13T07:30:30-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=em8fm29e","languageCode":"eng","description":"The App Store will soon help users understand an app\u2019s privacy practices before they download the app on any Apple platform. On each app\u2019s product page, users can learn about some of the data types the app may collect, and whether that data is linked to them or used to track them. If you haven\u2019t already, enter your app\u2019s privacy information in App Store Connect.","title":"App privacy questions requirement starts December 8","articleID":"9672aba2-94f9-4fb3-b2d0-14c06820b9ba","pageID":"9672aba2-94f9-4fb3-b2d0-14c06820b9ba","articlePermalinkKey":"em8fm29e","pagePermalinkKey":"em8fm29e","originalPublishingDate":"2020-11-24T08:57:23-08:00","publishingExpiryDate":"2075-11-24T16:59:09-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"33320962-3BD4-4DAF-96D9-C5BFB5D8AA0A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10210":{"id":"news-10210","staticContentId":4789,"eventContentId":10210,"eventId":"news","contentUpdatedAt":"2021-09-13T07:30:22-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6lyxewwp","languageCode":"eng","description":"Enrollment is now open for the new App Store Small Business Program, designed to accelerate innovation and help propel your small business forward. Featuring a reduced commission rate of 15% on paid apps and in-app purchases, this program helps you invest more resources into your business so you can continue building great apps. The vast majority of developers on the App Store who sell digital goods and services are eligible \u2014 simply complete a short enrollment form.","title":"Enroll in the new App Store Small Business Program","articleID":"4682e1fa-46de-48ea-87b3-5d39a99e016b","pageID":"4682e1fa-46de-48ea-87b3-5d39a99e016b","articlePermalinkKey":"6lyxewwp","pagePermalinkKey":"6lyxewwp","originalPublishingDate":"2020-12-03T10:00:03-08:00","publishingExpiryDate":"2075-12-03T13:02:14-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"DB136070-7B10-4A5B-B2A6-94852BCCA516","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110250":{"id":"news-110250","staticContentId":9017,"eventContentId":110250,"eventId":"news","contentUpdatedAt":"2023-07-10T11:29:22-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=db58g7r0","languageCode":"eng","description":"The App\u00a0Store was created to be a safe and trusted place for users to get apps, and a great business opportunity for developers. Apple platforms and the apps you build have become important to many families, as children use our products and services to explore the digital world and communicate with family and friends. We hold apps for kids and those with user-generated content and interactions to the highest standards. To continue delivering safe experiences for families together, we wanted to remind you about the tools, resources, and requirements that are in place to help keep users safe in your app.","title":"Providing safe app experiences for families","articleID":"609b0ac0-e41d-40bc-bd62-fd1867b7e3f0","pageID":"609b0ac0-e41d-40bc-bd62-fd1867b7e3f0","articlePermalinkKey":"db58g7r0","pagePermalinkKey":"db58g7r0","originalPublishingDate":"2023-07-10T11:25:28-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"06EE7E34-2649-4F31-8ECB-2A511F407A7B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10162":{"id":"news-10162","staticContentId":4523,"eventContentId":10162,"eventId":"news","contentUpdatedAt":"2021-09-13T07:17:17-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=tv4qge53","languageCode":"eng","description":"Create even more powerful Mac versions of your iPad apps. Apps built with Mac Catalyst now take on the new look of macOS Big Sur and help you better define the look and behavior of your apps. Provide full control of your app using just the keyboard, take advantage of the updated Photos picker, access more iOS frameworks, and more. There\u2019s never been a better time to turn your iPad app into a powerful Mac app.","title":"See what\u2019s new with Mac Catalyst","articleID":"0027c1fa-7334-44e8-b8b1-fe0ae610e30e","pageID":"0027c1fa-7334-44e8-b8b1-fe0ae610e30e","articlePermalinkKey":"tv4qge53","pagePermalinkKey":"tv4qge53","originalPublishingDate":"2020-06-21T21:05:36-07:00","publishingExpiryDate":"2040-06-22T18:39:03-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5E4116F7-AA93-4310-8C06-1A6EDCF3768F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110225":{"id":"news-110225","staticContentId":8352,"eventContentId":110225,"eventId":"news","contentUpdatedAt":"2023-03-28T08:59:16-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=jd9wcyov","languageCode":"eng","description":"Starting April 25, 2023, iOS, iPadOS, and watchOS apps submitted to the App Store must be built with Xcode 14.1 or later. The latest version of Xcode 14, which includes the latest SDKs for iOS 16, iPadOS 16, and watchOS 9, is available for free on the Mac App Store.","title":"App Store submission requirement starts April\u00a025","articleID":"aafe364c-c76e-4049-ac0a-7427def44b1b","pageID":"aafe364c-c76e-4049-ac0a-7427def44b1b","articlePermalinkKey":"jd9wcyov","pagePermalinkKey":"jd9wcyov","originalPublishingDate":"2023-03-28T08:48:09-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F1B3CE20-A7EA-4D1E-B620-5D8812BAB4C3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10170":{"id":"news-10170","staticContentId":4623,"eventContentId":10170,"eventId":"news","contentUpdatedAt":"2021-09-13T07:32:22-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=88xn6mcd","languageCode":"eng","description":"The App Store Connect API now offers greater flexibility to automate and customize workflows for your app. With these new capabilities, you can:\n\n- Build and maintain your App Store product page by uploading and managing assets like screenshots, app previews, app description, and more.\n\n- Create new versions of your app, set up pre-orders, manage phased releases for version updates, and submit your app to App Review.\n\n- Monitor app performance indicators by downloading power and performance metrics and diagnostics logs.\n\n- Manage additional resources associated with your developer account, such as unified software signing certificates, multiplatform App IDs, and capabilities.\n\nLearn more about the App Store Connect API\n","title":"New App Store Connect API capabilities now available","articleID":"92bc47be-8a52-4265-8601-9c3afa275a36","pageID":"92bc47be-8a52-4265-8601-9c3afa275a36","articlePermalinkKey":"88xn6mcd","pagePermalinkKey":"88xn6mcd","originalPublishingDate":"2020-07-06T11:40:36-07:00","publishingExpiryDate":"2075-07-06T17:27:30-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FB5AAB62-EEDC-4C08-89FA-1403BB7C9AF1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10223":{"id":"news-10223","staticContentId":4865,"eventContentId":10223,"eventId":"news","contentUpdatedAt":"2021-09-13T07:29:19-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=wajvzt18","languageCode":"eng","description":"SKAdNetwork 2.2. This update supports view-through attribution for advertisement formats such as video, audio, and interactive advertisements. This allows you to display your choice of advertising formats and measure which creatives are most effective, while preserving user privacy.\n\nPrivate Click Measurement. iOS 14.5 and iPadOS 14.5 bring Private Click Measurement to apps, in addition to the web. Advertising networks can now measure the effectiveness of advertisement clicks within iOS or iPadOS apps that navigate to a website. This information can be used to understand which advertisements drive conversions (such as purchases or signups) \u2014 while maintaining user privacy.\n\nGet started by building and testing your apps with the beta versions of Xcode 12.5, iOS 14.5, and iPadOS 14.5.","title":"Take advantage of new advertising attribution technologies","articleID":"44083747-dfc8-449a-b9bf-114e4e6b6077","pageID":"44083747-dfc8-449a-b9bf-114e4e6b6077","articlePermalinkKey":"wajvzt18","pagePermalinkKey":"wajvzt18","originalPublishingDate":"2021-02-01T15:38:15-08:00","publishingExpiryDate":"2075-02-01T14:59:36-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D27DB0DC-7E93-4D79-8E72-583208C6DDC9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10264":{"id":"news-10264","staticContentId":5762,"eventContentId":10264,"eventId":"news","contentUpdatedAt":"2021-09-13T07:43:21-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=dovxb62h","languageCode":"eng","description":"The App Store is a safe and trusted place for customers to discover and download apps, and a great opportunity for developers. The App Store Review Guideline changes and clarifications support new features in upcoming OS releases, better protect customers, and help your apps go through the review process as smoothly as possible. ","title":"App Store Review Guideline updates now available","articleID":"2e2dcbfd-6a39-47a5-97cb-afc19dad6d99","pageID":"2e2dcbfd-6a39-47a5-97cb-afc19dad6d99","articlePermalinkKey":"dovxb62h","pagePermalinkKey":"dovxb62h","originalPublishingDate":"2021-06-07T13:01:29-07:00","publishingExpiryDate":"2075-06-05T22:49:36-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"84CEA044-48B0-451B-9D4C-E49CAEBCB619","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110162":{"id":"news-110162","staticContentId":7010,"eventContentId":110162,"eventId":"news","contentUpdatedAt":"2022-04-29T17:10:23-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=gi6npkmf","languageCode":"eng","description":"User trust in quality apps is the basis for all we have done in building and running the App Store. Back in 2016, to ensure a great user experience and at the suggestion of developers, we launched the App Store Improvements process to remove apps that no longer function as intended, don\u2019t follow current review guidelines or are outdated. This helps us ensure apps work for the vast majority of users and support our latest innovations in security and privacy. Over the course of the past six years, we have removed almost 2.8 million apps as part of this process.","title":"Clarifying criteria & new timing extension for App Store Improvements process","articleID":"51aba384-ee85-422b-85b1-c8fbe7e4d4e9","pageID":"51aba384-ee85-422b-85b1-c8fbe7e4d4e9","articlePermalinkKey":"gi6npkmf","pagePermalinkKey":"gi6npkmf","originalPublishingDate":"2022-04-29T17:08:31-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B7FDA442-CCE5-47CE-8576-077D6C3E42BC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110198":{"id":"news-110198","staticContentId":7815,"eventContentId":110198,"eventId":"news","contentUpdatedAt":"2022-10-18T12:49:30-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=z1erkhzr","languageCode":"eng","description":"iOS 16.1 and iPadOS\u00a016.1, the world\u2019s most advanced mobile operating systems, will soon be available to customers worldwide. Take advantage of Live\u00a0Activities to help people stay on top of what\u2019s happening live in your app, right from the Lock Screen and Dynamic Island on iPhone. Bring desktop-class features, such as an editor-style navigation bar and enhanced text editing menu to your iPad app, and get the most out of the latest advancements in MapKit, Metal, ARKit, Core\u00a0ML, and more.","title":"App Store submissions now open for iOS\u00a016.1 and iPadOS\u00a016.1","articleID":"ba33e8b0-46c4-46b4-bb98-6ca9b9532426","pageID":"ba33e8b0-46c4-46b4-bb98-6ca9b9532426","articlePermalinkKey":"z1erkhzr","pagePermalinkKey":"z1erkhzr","originalPublishingDate":"2022-10-18T12:00:07-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"10F692BB-A46A-42F6-83F5-F374D27F3754","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10276":{"id":"news-10276","staticContentId":5986,"eventContentId":10276,"eventId":"news","contentUpdatedAt":"2021-09-14T12:37:13-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=f87q5n2j","languageCode":"eng","description":"iOS 15 and iPadOS 15, the world\u2019s most advanced mobile operating systems, will soon be available to customers worldwide. Improve your app\u2019s performance by refactoring your code to take advantage of asynchronous functions in Swift. Use SwiftUI to enhance your apps with new features, such as improved list views, better search experiences, and support for control focus areas. Take advantage of new notification APIs, offer Safari Web Extensions, and much more.","title":"App Store submissions now open for iOS 15 & iPadOS 15","articleID":"994ad8dc-5b4a-4393-b2dc-22b69eb4b77e","pageID":"994ad8dc-5b4a-4393-b2dc-22b69eb4b77e","articlePermalinkKey":"f87q5n2j","pagePermalinkKey":"f87q5n2j","originalPublishingDate":"2021-09-14T12:22:37-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0CFF4780-4DE1-4804-B580-F8FD2A7E483B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110205":{"id":"news-110205","staticContentId":7830,"eventContentId":110205,"eventId":"news","contentUpdatedAt":"2022-10-24T09:03:33-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=xk8d7p8c","languageCode":"eng","description":"The App\u00a0Store Review Guidelines have been updated to support new features in upcoming OS releases, better protect customers, and help your apps go through the review process as smoothly as possible.","title":"App Store Review Guideline updates now available","articleID":"a174545f-bd9d-41d8-b938-aa5f2dae4087","pageID":"a174545f-bd9d-41d8-b938-aa5f2dae4087","articlePermalinkKey":"xk8d7p8c","pagePermalinkKey":"xk8d7p8c","originalPublishingDate":"2022-10-24T09:26:37-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3D6F6322-019B-4297-A26C-75E99635C230","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110206":{"id":"news-110206","staticContentId":7831,"eventContentId":110206,"eventId":"news","contentUpdatedAt":"2022-10-24T10:03:21-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=31g9nllo","languageCode":"eng","description":"The SKAdNetwork API lets advertisers measure the success of advertisements by attributing app installations to specific ad campaigns \u2014 all while maintaining user privacy. It supports multiple ad formats, including static images, videos, audio, and interactive ads. With SKAdNetwork\u00a04.0, now available in iOS\u00a016.1 and iPadOS\u00a016.1, it provides more insight into the performance of ads for apps.","title":"SKAdNetwork 4.0 now available","articleID":"462d353c-dadb-4d83-a603-63ae43124439","pageID":"462d353c-dadb-4d83-a603-63ae43124439","articlePermalinkKey":"31g9nllo","pagePermalinkKey":"31g9nllo","originalPublishingDate":"2022-10-24T10:00:47-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9E4A8DAD-8E24-404B-BC6C-79823705CD84","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110235":{"id":"news-110235","staticContentId":8878,"eventContentId":110235,"eventId":"news","contentUpdatedAt":"2023-05-23T08:09:33-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=wbsb4qj6","languageCode":"eng","description":"Get ready for an action-packed online experience at WWDC23. Join the developer community for a week of sessions, labs, and activities, starting June 5 at 10:00 a.m. PT.","title":"Swiftly developing","articleID":"05f46370-d908-4185-a713-3ef0faf26b3d","pageID":"05f46370-d908-4185-a713-3ef0faf26b3d","articlePermalinkKey":"wbsb4qj6","pagePermalinkKey":"wbsb4qj6","originalPublishingDate":"2023-05-23T08:00:55-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"10C5C4F0-FAC8-47A0-AC7E-FBFFF3D06871","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110256":{"id":"news-110256","staticContentId":9059,"eventContentId":110256,"eventId":"news","contentUpdatedAt":"2023-08-29T09:22:57-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9liziwsj","languageCode":"eng","description":"The Apple Developer Program License Agreement has been revised to support upcoming features and updated policies, and to provide clarification. ","title":"Updated Apple Developer Program License Agreement now available","articleID":"cd1e25fa-1113-4917-ba86-8b5514332a92","pageID":"cd1e25fa-1113-4917-ba86-8b5514332a92","articlePermalinkKey":"9liziwsj","pagePermalinkKey":"9liziwsj","originalPublishingDate":"2023-08-28T12:00:27-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A429E1A9-8C77-4A90-9BEE-E3B96FA4A5FA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10323":{"id":"news-10323","staticContentId":6417,"eventContentId":10323,"eventId":"news","contentUpdatedAt":"2022-01-14T22:35:57-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=mbbs4zql","languageCode":"eng","description":"Apple designed the App Store to be a safe and trusted place for people to discover and download apps. Apple\u2019s in-app purchase system, an integral part of our world-class commerce platform, offers people a private and secure user experience across apps and Apple devices, and makes it easy for them to manage their purchases and subscriptions for digital goods and services. Recent orders from the Netherlands Authority for Consumers and Markets (ACM) will allow developers of dating apps on the App Store in the Netherlands to share additional payment processing options with users. Because we do not believe these orders are in our users\u2019 best interests, we have appealed the ACM\u2019s decision to a higher court. We\u2019re concerned these changes could compromise the user experience, and create new threats to user privacy and data security. In the meantime, we are obligated to make the mandated changes which we\u2019re launching today and we will provide further information shortly.","title":"Update on dating apps distributed on the App Store in the Netherlands","articleID":"49742e42-a377-444e-a37b-12ad25d31358","pageID":"49742e42-a377-444e-a37b-12ad25d31358","articlePermalinkKey":"mbbs4zql","pagePermalinkKey":"mbbs4zql","originalPublishingDate":"2022-01-14T22:28:25-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"DA4EF592-4661-43F7-83DD-EF1F06240884","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10209":{"id":"news-10209","staticContentId":4788,"eventContentId":10209,"eventId":"news","contentUpdatedAt":"2021-09-13T07:30:30-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=swfemvx0","languageCode":"eng","description":"Developing for Apple platforms is now accessible with a new service that combines the performance and reliability of our world-class hardware with the scalability of Amazon Web Services (AWS). Amazon Elastic Compute Cloud (Amazon EC2), a web service that provides secure, resizable compute capacity in the cloud, now includes EC2 Mac instances. For the first time, you can easily set up and deploy macOS workloads natively within AWS, and take advantage of its flexibility and scalability to add more compute capacity. EC2 Mac instances in the cloud make it easy to create more builds, run more tests, and further automate your development processes by seamlessly provisioning and accessing macOS compute environments with just a few clicks.","title":"Mac instances for EC2 now available from Amazon Web Services","articleID":"8cda0c95-a4b8-4e78-bd92-bca285f2cef9","pageID":"8cda0c95-a4b8-4e78-bd92-bca285f2cef9","articlePermalinkKey":"swfemvx0","pagePermalinkKey":"swfemvx0","originalPublishingDate":"2020-12-01T12:00:20-08:00","publishingExpiryDate":"2075-12-01T08:54:21-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"88EA4FC6-0732-4101-99E2-76AD45F53CC6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110237":{"id":"news-110237","staticContentId":8896,"eventContentId":110237,"eventId":"news","contentUpdatedAt":"2023-05-30T17:06:27-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9eq8c3h2","languageCode":"eng","description":"The App Store\u2019s commerce and payments system was built to empower you to conveniently set up and sell your products and services at a global scale in 44 currencies across 175 storefronts. Apple administers tax on behalf of developers in over 70 countries and regions and provides you with the ability to assign tax categories to your apps and in-app purchases. Periodically, we update your proceeds in certain regions based on changes in tax regulations.","title":"Upcoming tax changes for apps, in-app purchases, and subscriptions","articleID":"56bd5afd-d8f4-4ad5-bcbc-64129401a3f8","pageID":"56bd5afd-d8f4-4ad5-bcbc-64129401a3f8","articlePermalinkKey":"9eq8c3h2","pagePermalinkKey":"9eq8c3h2","originalPublishingDate":"2023-05-30T17:00:10-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"94A65B65-E37C-4C2A-9529-D51C284D05BB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110207":{"id":"news-110207","staticContentId":7908,"eventContentId":110207,"eventId":"news","contentUpdatedAt":"2022-11-08T09:18:56-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=oif6dumm","languageCode":"eng","description":"Join us for another exciting week of the Ask\u00a0Apple developer series, where you can connect directly with Apple experts. Ask about integrating the latest technologies into your apps, designing intuitive UIs, testing on the latest software, and so much more.","title":"A new week of Ask Apple starts November 14","articleID":"942119b1-b2b5-4765-9d61-5ad4a9f9d6c5","pageID":"942119b1-b2b5-4765-9d61-5ad4a9f9d6c5","articlePermalinkKey":"oif6dumm","pagePermalinkKey":"oif6dumm","originalPublishingDate":"2022-11-08T08:00:43-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FA5DCAD1-CA2C-47F8-94D0-E5AE53E34866","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111960":{"id":"news-111960","staticContentId":9840,"eventContentId":111960,"eventId":"news","contentUpdatedAt":"2024-11-11T10:50:22-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=106dpbzt","languageCode":"eng","description":"The Push Notifications Console now includes metrics for broadcast push notifications sent in the Apple Push Notification service (APNs) production environment. The console\u2019s interface provides an aggregated view of the broadcast push notifications that are successfully accepted by APNs, the number of devices that receive them, and a snapshot of the maximum number of devices subscribed to your channels.","title":"New Broadcast Push Notification Metrics Now Available in the Push Notifications Console","articleID":"f83ee41f-dfb9-4e1b-8d6c-b63bf6803f37","pageID":"f83ee41f-dfb9-4e1b-8d6c-b63bf6803f37","articlePermalinkKey":"106dpbzt","pagePermalinkKey":"106dpbzt","originalPublishingDate":"2024-11-11T07:00:29-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"528585DC-2060-4FB2-844F-9E39C090899E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10258":{"id":"news-10258","staticContentId":5756,"eventContentId":10258,"eventId":"news","contentUpdatedAt":"2021-09-13T07:43:23-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6rzrkbmz","languageCode":"eng","description":"The power of Create ML is now available as a Swift framework on iOS and iPadOS, in addition to macOS. Programmatically experiment and automate model creation in Swift scripts or playgrounds. Build dynamic app features that leverage Create ML APIs to train models directly from user input or on-device behavior, providing personalized and adaptive experiences while preserving user privacy. You can also take advantage of new templates and training capabilities, APls for Vision and Natural languages, and more.","title":"Machine learning updates now available","articleID":"b198956e-c600-4da4-978b-893883437049","pageID":"b198956e-c600-4da4-978b-893883437049","articlePermalinkKey":"6rzrkbmz","pagePermalinkKey":"6rzrkbmz","originalPublishingDate":"2021-06-07T12:06:18-07:00","publishingExpiryDate":"2075-06-05T22:31:54-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4AA1D556-8CD9-4EBF-BBA9-E803502661ED","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110307":{"id":"news-110307","staticContentId":9358,"eventContentId":110307,"eventId":"news","contentUpdatedAt":"2024-04-05T13:05:40-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=pxz79udi","languageCode":"eng","description":"The beta versions of iOS\u00a017.5, iPadOS\u00a017.5, macOS\u00a014.5, tvOS\u00a017.5, visionOS\u00a01.2, and watchOS\u00a010.5 are now available. Get your apps ready by confirming they work as expected on these releases. And to take advantage of the advancements in the latest SDKs, make sure to build and test with Xcode\u00a015.3.","title":"Get ready with the latest beta releases","articleID":"0432d495-a19a-4d00-91b8-3c39f4c9e9bc","pageID":"0432d495-a19a-4d00-91b8-3c39f4c9e9bc","articlePermalinkKey":"pxz79udi","pagePermalinkKey":"pxz79udi","originalPublishingDate":"2024-04-05T12:26:19-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F5D79E57-8395-44E0-AF74-C3C508F24DA0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110311":{"id":"news-110311","staticContentId":9372,"eventContentId":110311,"eventId":"news","contentUpdatedAt":"2024-04-19T11:28:18-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3yl9nsgl","languageCode":"eng","description":"Learn more about the App\u00a0Store, App\u00a0Review, the Apple\u00a0Vision\u00a0Pro developer labs, and more.","title":"Check out our newest developer activities","articleID":"8d263a0f-2b11-43ad-ba81-b5b755011e8a","pageID":"8d263a0f-2b11-43ad-ba81-b5b755011e8a","articlePermalinkKey":"3yl9nsgl","pagePermalinkKey":"3yl9nsgl","originalPublishingDate":"2024-04-19T09:00:33-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0FE51FAA-4E20-4935-A1D9-4AD39E2635EE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10166":{"id":"news-10166","staticContentId":4565,"eventContentId":10166,"eventId":"news","contentUpdatedAt":"2021-09-13T07:17:12-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=1u5zg8ak","languageCode":"eng","description":"ARKit 4 introduces brand-new features that make the AR experiences in your apps even more lifelike. You can now access even more precise distance information gathered by the LiDAR Scanner on iPad Pro using Depth API, place AR experiences at a specific point in the world with Location Anchors, and more.","title":"Augmented reality updates now available","articleID":"c4193138-b44a-4ff0-81e6-9c5fc4eef26b","pageID":"c4193138-b44a-4ff0-81e6-9c5fc4eef26b","articlePermalinkKey":"1u5zg8ak","pagePermalinkKey":"1u5zg8ak","originalPublishingDate":"2020-06-24T09:45:38-07:00","publishingExpiryDate":"2075-06-24T19:33:53-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E5F741B7-C71A-4F20-912C-F41FEF2D6B11","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10206":{"id":"news-10206","staticContentId":4784,"eventContentId":10206,"eventId":"news","contentUpdatedAt":"2021-09-13T07:30:53-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=s0jzahrw","languageCode":"eng","description":"The SKAdNetwork API helps advertising networks measure the success of ad campaigns for your app while maintaining user privacy. With SKAdNetwork 2.0, networks can use Source App ID to identify which app initiated a download from the App Store. And Conversion Value lets them know whether users who installed your app through a campaign performed an action in your app, such as signing up for a free trial or completing a purchase. This information is made available only if it cannot be used to identify individual users.","title":"Source App ID and Conversion Value now available in SKAdNetwork 2.0","articleID":"406d3fa3-f900-4247-abdd-b3244cd501d0","pageID":"406d3fa3-f900-4247-abdd-b3244cd501d0","articlePermalinkKey":"s0jzahrw","pagePermalinkKey":"s0jzahrw","originalPublishingDate":"2020-11-24T08:56:09-08:00","publishingExpiryDate":"2075-11-24T17:02:43-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E66BFF4A-B155-4042-B9C4-C07912D4AF3A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110209":{"id":"news-110209","staticContentId":7936,"eventContentId":110209,"eventId":"news","contentUpdatedAt":"2022-11-30T11:19:06-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=xpkhwg3l","languageCode":"eng","description":"The busiest season on the App\u00a0Store is almost here! Make sure your apps and product pages are up to date and ready in advance of the upcoming holidays. We\u2019re pleased to remain open throughout the season again this year and look forward to accepting your submissions. On average, 90% of submissions are reviewed in less than 24 hours. However, reviews may take a bit longer to complete from December\u00a023\u00a0to\u00a027.","title":"Get your apps ready for the holidays","articleID":"3c97033f-c9ba-40b5-b595-aa4aa2c83dfc","pageID":"3c97033f-c9ba-40b5-b595-aa4aa2c83dfc","articlePermalinkKey":"xpkhwg3l","pagePermalinkKey":"xpkhwg3l","originalPublishingDate":"2022-11-30T11:15:40-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B6A339D1-28D2-45C9-A897-B9E5B0F1734A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110304":{"id":"news-110304","staticContentId":9355,"eventContentId":110304,"eventId":"news","contentUpdatedAt":"2024-04-05T11:55:39-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=0kjli9o1","languageCode":"eng","description":"The App Review Guidelines have been revised to support updated policies, upcoming features, and to provide clarification.","title":"Updated App Review Guidelines now available","articleID":"a8cca5e8-048d-4e54-a568-7f02d2c382c4","pageID":"a8cca5e8-048d-4e54-a568-7f02d2c382c4","articlePermalinkKey":"0kjli9o1","pagePermalinkKey":"0kjli9o1","originalPublishingDate":"2024-04-05T09:56:57-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1A8A8B2B-8AB6-4B74-BA32-82D19814535B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110242":{"id":"news-110242","staticContentId":8969,"eventContentId":110242,"eventId":"news","contentUpdatedAt":"2023-06-05T12:06:23-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=gdfhn2ah","languageCode":"eng","description":"The Xcode\u00a015 beta supports the latest SDKs for iOS, iPadOS, macOS, tvOS, and watchOS. This version of Xcode helps you code and design your apps faster with enhanced code completion, interactive previews, and live animations. Use Git staging to craft your next commit without leaving your code. Explore and diagnose your test results with redesigned test reports with video recording. And start deploying seamlessly to TestFlight and the App\u00a0Store from Xcode\u00a0Cloud.","title":"Xcode 15 beta now available","articleID":"f599308c-8928-4e9c-9494-bdb43cad11bb","pageID":"f599308c-8928-4e9c-9494-bdb43cad11bb","articlePermalinkKey":"gdfhn2ah","pagePermalinkKey":"gdfhn2ah","originalPublishingDate":"2023-06-05T11:15:13-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C4A13D50-168E-42F9-8E86-CCAE50B1112D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10291":{"id":"news-10291","staticContentId":6321,"eventContentId":10291,"eventId":"news","contentUpdatedAt":"2021-10-18T16:59:54-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=czmyqi39","languageCode":"eng","description":"The most powerful MacBook Pro ever is here. With the blazing-fast M1 Pro or M1 Max chip your apps can take advantage of groundbreaking performance and amazing battery life. And along with a powerful Neural Engine for supercharged machine learning and upgraded media engines with ProRes support, the new MacBook Pro allows your apps to do things they never could before. Get your apps ready for the new supercharged MacBook Pro today.","title":"Unlock the power of the new MacBook Pro","articleID":"f404d349-4299-4c58-a460-c4aee4153cdf","pageID":"f404d349-4299-4c58-a460-c4aee4153cdf","articlePermalinkKey":"czmyqi39","pagePermalinkKey":"czmyqi39","originalPublishingDate":"2021-10-18T16:58:43-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"489A147A-AECC-46A5-8FE7-B72E8DDF147C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10265":{"id":"news-10265","staticContentId":5819,"eventContentId":10265,"eventId":"news","contentUpdatedAt":"2021-09-13T07:42:48-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6zaxsfl3","languageCode":"eng","description":"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.","title":"Updated agreements now available ","articleID":"714cec8a-8ed6-4f2f-aa0a-012ed3814af7","pageID":"714cec8a-8ed6-4f2f-aa0a-012ed3814af7","articlePermalinkKey":"6zaxsfl3","pagePermalinkKey":"6zaxsfl3","originalPublishingDate":"2021-06-07T13:00:34-07:00","publishingExpiryDate":"2075-06-07T10:10:44-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"94AE6880-96EF-4C45-BD01-0B480E616004","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10272":{"id":"news-10272","staticContentId":5915,"eventContentId":10272,"eventId":"news","contentUpdatedAt":"2021-09-13T07:16:52-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=stttq465","languageCode":"eng","description":"Starting August 4, 2021, a new certificate for server-based Game Center verification will be available via the publicKeyUrl. The previous certificate will no longer be available after this date. As a reminder, make sure your app always retrieves and uses the current publicKeyUrl value so it automatically uses the new certificate. If your app caches the certificate or hardcodes the certificate URL, it will require an update.","title":"Get ready for a new Game Center authentication certificate","articleID":"30831fe7-f50e-4868-a09e-670d6609e248","pageID":"30831fe7-f50e-4868-a09e-670d6609e248","articlePermalinkKey":"stttq465","pagePermalinkKey":"stttq465","originalPublishingDate":"2021-07-30T15:25:10-07:00","publishingExpiryDate":"2075-07-30T13:36:32-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"599DC2A8-05AA-46A4-8A72-305A02663604","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110289":{"id":"news-110289","staticContentId":9188,"eventContentId":110289,"eventId":"news","contentUpdatedAt":"2024-02-01T12:39:47-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=tr8v670x","languageCode":"eng","description":"Meet with an Apple team member to discuss changes to iOS, Safari, and the App Store impacting apps in the European Union to comply with the Digital Markets Act. Topics include alternative distribution on iOS, alternative payments in the App Store, linking out to purchase on your webpage, new business terms, and more.","title":"Request a consultation about the changes to apps distributed in the European Union","articleID":"873c2419-229e-4de7-b7ec-e950dc994208","pageID":"873c2419-229e-4de7-b7ec-e950dc994208","articlePermalinkKey":"tr8v670x","pagePermalinkKey":"tr8v670x","originalPublishingDate":"2024-02-01T07:00:58-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"CCC76B5A-FF8E-40EB-8C5B-BBF50D6A0A2F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110281":{"id":"news-110281","staticContentId":9143,"eventContentId":110281,"eventId":"news","contentUpdatedAt":"2023-12-22T12:34:08-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=7k36ynqd","languageCode":"eng","description":"The Apple Developer Program License Agreement has been revised to support updated policies and provide clarification.","title":"Updated Apple Developer Program License Agreement now available","articleID":"bb453d85-3f2f-43a7-81fe-5a9a901e3067","pageID":"bb453d85-3f2f-43a7-81fe-5a9a901e3067","articlePermalinkKey":"7k36ynqd","pagePermalinkKey":"7k36ynqd","originalPublishingDate":"2023-12-22T11:56:15-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"94289C29-521B-48F7-8937-C1DDD3507FFB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10261":{"id":"news-10261","staticContentId":5759,"eventContentId":10261,"eventId":"news","contentUpdatedAt":"2021-09-13T07:38:28-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=s0s8up0f","languageCode":"eng","description":"Enrich your app experience with audio recognition. Now you can 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.","title":"Introducing ShazamKit","articleID":"84a44f4b-95f7-4d16-b1a2-33456bb5b6aa","pageID":"84a44f4b-95f7-4d16-b1a2-33456bb5b6aa","articlePermalinkKey":"s0s8up0f","pagePermalinkKey":"s0s8up0f","originalPublishingDate":"2021-06-07T12:03:17-07:00","publishingExpiryDate":"2075-06-05T22:36:44-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C6622F02-B895-4B6D-9265-F93771C210C0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110313":{"id":"news-110313","staticContentId":9397,"eventContentId":110313,"eventId":"news","contentUpdatedAt":"2024-05-02T08:08:51-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=d0z8d8rx","languageCode":"eng","description":"The CTF is an element of the alternative business terms in the EU that reflects the value Apple provides developers through tools, technologies, and services that enable them to build and share innovative apps. We believe anyone with a good idea and the ingenuity to bring it to life should have the opportunity to offer their app to the world. Only developers who reach significant scale (more than one million first annual installs per year in the EU) pay the CTF. Nonprofit organizations, government entitles, and educational institutions approved for a fee waiver don\u2019t pay the CTF. Today, we\u2019re introducing two additional conditions in which the CTF is not required.","title":"What\u2019s new for apps distributed in the European\u00a0Union","articleID":"7d6acb28-53bc-41e9-9854-6054a7d1adb9","pageID":"7d6acb28-53bc-41e9-9854-6054a7d1adb9","articlePermalinkKey":"d0z8d8rx","pagePermalinkKey":"d0z8d8rx","originalPublishingDate":"2024-05-02T05:00:15-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C6FD2F15-D169-4182-AF4F-4BACF1D008F4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10198":{"id":"news-10198","staticContentId":4769,"eventContentId":10198,"eventId":"news","contentUpdatedAt":"2021-09-13T07:19:19-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=1sey8eb9","languageCode":"eng","description":"Custom apps let you meet the unique needs of organizations and schools. And now, you can distribute custom Mac apps. Provide a tailored look and feel, security features for sensitive data, special functionality for workflows, and much more, then distribute privately on Apple Business Manager or Apple School Manager.","title":"Custom apps for Mac now supported","articleID":"f447f37b-f9ce-48d0-b7ae-b97e85845812","pageID":"f447f37b-f9ce-48d0-b7ae-b97e85845812","articlePermalinkKey":"1sey8eb9","pagePermalinkKey":"1sey8eb9","originalPublishingDate":"2020-11-10T13:00:40-08:00","publishingExpiryDate":"2075-11-10T15:10:16-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C6EC2008-09FE-41C3-98CB-A632DB02FC58","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110173":{"id":"news-110173","staticContentId":7401,"eventContentId":110173,"eventId":"news","contentUpdatedAt":"2022-06-06T14:16:59-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=rfaydlm6","languageCode":"eng","description":"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. This service is now available for all Apple Developer Program members.","title":"Xcode Cloud now available","articleID":"30e79731-b189-4572-ba88-5a51599b595a","pageID":"30e79731-b189-4572-ba88-5a51599b595a","articlePermalinkKey":"rfaydlm6","pagePermalinkKey":"rfaydlm6","originalPublishingDate":"2022-06-06T12:29:23-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"600C2973-EA8B-44B8-8D72-4A870051988B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110246":{"id":"news-110246","staticContentId":8982,"eventContentId":110246,"eventId":"news","contentUpdatedAt":"2023-06-05T14:28:36-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=p7g1u5kk","languageCode":"eng","description":"Apple Vision Pro is a revolutionary spatial computer that seamlessly blends digital content with the physical world, while allowing users to stay present and connected to others. Apple\u00a0Vision\u00a0Pro creates an infinite canvas for apps that scales beyond the boundaries of a traditional display and introduces a fully three-dimensional user interface controlled by the most natural and intuitive inputs possible \u2014 a user\u2019s eyes, hands, and voice. Featuring visionOS, the world\u2019s first spatial operating system, Apple\u00a0Vision\u00a0Pro lets users interact with digital content in a way that feels like it is physically present in their space. The breakthrough design of Apple Vision Pro features an ultra-high-resolution display system that packs 23 million pixels across two displays, and custom Apple silicon in a unique dual-chip design to ensure every experience feels like it\u2019s taking place in front of the user\u2019s eyes in real time.","title":"Introducing Apple\u00a0Vision\u00a0Pro and visionOS","articleID":"2bd8756e-be2a-491f-84aa-68de8bd33b6f","pageID":"2bd8756e-be2a-491f-84aa-68de8bd33b6f","articlePermalinkKey":"p7g1u5kk","pagePermalinkKey":"p7g1u5kk","originalPublishingDate":"2023-06-05T13:30:17-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"73A6542D-C589-4FF3-8270-4D2B76570408","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10187":{"id":"news-10187","staticContentId":4736,"eventContentId":10187,"eventId":"news","contentUpdatedAt":"2021-09-13T07:30:58-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=lerjy5de","languageCode":"eng","description":"App Store server notifications provide real-time updates on a subscriber\u2019s status, so you can create customized user experiences.","title":"New subscription server notifications available to test","articleID":"665b095d-672c-4cc2-9d4e-10c96069f42b","pageID":"665b095d-672c-4cc2-9d4e-10c96069f42b","articlePermalinkKey":"lerjy5de","pagePermalinkKey":"lerjy5de","originalPublishingDate":"2020-10-08T12:30:41-07:00","publishingExpiryDate":"2075-10-08T13:14:43-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BD60F7CD-D461-4808-9B89-2137A105DB70","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10183":{"id":"news-10183","staticContentId":4721,"eventContentId":10183,"eventId":"news","contentUpdatedAt":"2021-09-13T07:27:47-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=d4mhs6fl","languageCode":"eng","description":"Deliver even more powerful and personal apps for Apple Watch with the new capabilities of watchOS 7. Brand new APIs and tools, like multiple complications APIs, SwiftUI Complications, and Xcode Previews, make it easier than ever to create unique complications, so users can enjoy your app right on their watch face. And with Face Sharing, people can share their favorite customized faces via Messages, the web, and more.\n\nBuild your apps using Xcode 12 GM seed, test them on devices running watchOS 7 GM seed, and submit them for review. Starting April 2021, all watchOS apps submitted to the App Store must be built with Xcode 12 and the watchOS 7 SDK.\n\nLearn more","title":"Submit your watchOS apps to the App Store","articleID":"be0acaab-8067-4885-9921-dee389d74607","pageID":"be0acaab-8067-4885-9921-dee389d74607","articlePermalinkKey":"d4mhs6fl","pagePermalinkKey":"d4mhs6fl","originalPublishingDate":"2020-09-15T14:35:01-07:00","publishingExpiryDate":"2075-09-15T15:12:42-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9D630C76-8BC2-4CC6-B3C8-AD3EEB672881","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112081":{"id":"news-112081","staticContentId":10953,"eventContentId":112081,"eventId":"news","contentUpdatedAt":"2026-04-27T12:22:32-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=agq42lxe","languageCode":"eng","description":"Today, we\u2019re introducing a new way that people can pay for your auto-renewable subscriptions on the App Store: monthly subscriptions with a 12-month commitment. This new payment option allows you to offer subscribers more affordable options. People can cancel their subscription at any time, which will prevent the subscription from renewing after they\u2019ve completed their agreed-to payments to fulfill their commitment.","title":"Now Available: Monthly Subscriptions with a 12-Month Commitment","articleID":"279b5a9f-e3e3-477f-9ad1-1a6cd212a2dc","pageID":"279b5a9f-e3e3-477f-9ad1-1a6cd212a2dc","articlePermalinkKey":"agq42lxe","pagePermalinkKey":"agq42lxe","originalPublishingDate":"2026-04-27T06:00:33-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F990E5DC-838F-4BC3-A423-FC6D69A73976","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10273":{"id":"news-10273","staticContentId":5937,"eventContentId":10273,"eventId":"news","contentUpdatedAt":"2021-11-03T10:18:37-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=0bemba6j","languageCode":"eng","description":"You can now invite people to try out beta versions of your Mac apps and provide valuable feedback before release. Invite up to 10,000 external testers using their email address or by sharing a public link, create multiple groups of internal testers and configure build access for each one, and more.","title":"Test your Mac apps with TestFlight","articleID":"e9eb99ca-7c35-4537-82b5-5e1cd6745f8d","pageID":"e9eb99ca-7c35-4537-82b5-5e1cd6745f8d","articlePermalinkKey":"0bemba6j","pagePermalinkKey":"0bemba6j","originalPublishingDate":"2021-11-03T10:15:36-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3C58D09A-3449-4821-9D96-1522E662A626","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110157":{"id":"news-110157","staticContentId":6696,"eventContentId":110157,"eventId":"news","contentUpdatedAt":"2022-03-30T10:09:26-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=grjqafts","languageCode":"eng","description":"Last year, Apple announced an update coming to the App Store in early 2022 that would allow developers of \u201creader\u201d apps to include an in-app link to their website for account creation and management purposes. Starting today, with the update of App Store Review guideline 3.1.3(a), developers of reader apps can now request access to the External Link Account Entitlement. This entitlement lets reader apps link to a website that is owned or maintained by the developer, so that users can create or manage their account outside of the app. Reader apps are apps that provide one or more of the following digital content types \u2014 magazines, newspapers, books, audio, music, or video \u2014 as the primary functionality of the app.","title":"Update on \u201creader\u201d app distribution","articleID":"2aa6aab3-4090-4867-b7b0-b827bec88aac","pageID":"2aa6aab3-4090-4867-b7b0-b827bec88aac","articlePermalinkKey":"grjqafts","pagePermalinkKey":"grjqafts","originalPublishingDate":"2022-03-30T09:58:04-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"CB30E522-9EDE-42F0-BD1B-389E1FB21C1F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10186":{"id":"news-10186","staticContentId":4732,"eventContentId":10186,"eventId":"news","contentUpdatedAt":"2021-09-13T07:25:53-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=g9mdaa8y","languageCode":"eng","description":"Take advantage of new marketing resources to promote your apps around the world. You can now generate short links or embeddable code that lead to your App Store product page and display your app icon, a QR code, or an App Store badge. Download localized App Store badges, your app icon, and more.","title":"New App Store marketing tools available","articleID":"e3f1b256-01c6-4582-b69d-488215587681","pageID":"e3f1b256-01c6-4582-b69d-488215587681","articlePermalinkKey":"g9mdaa8y","pagePermalinkKey":"g9mdaa8y","originalPublishingDate":"2020-09-29T09:40:10-07:00","publishingExpiryDate":"2075-09-29T16:26:28-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3E1A0211-392E-4C98-9BB0-2736E49B31D7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110302":{"id":"news-110302","staticContentId":9295,"eventContentId":110302,"eventId":"news","contentUpdatedAt":"2024-03-21T10:56:45-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=x60uzbu9","languageCode":"eng","description":"To align with the Digital Services Act (DSA) in the European Union (EU), Account Holders and Admins in the Apple\u00a0Developer Program can now enter their trader status in App\u00a0Store\u00a0Connect.","title":"Provide your trader status in App Store Connect","articleID":"3bbd384c-689c-4ed0-94a4-fad40be1b3ce","pageID":"3bbd384c-689c-4ed0-94a4-fad40be1b3ce","articlePermalinkKey":"x60uzbu9","pagePermalinkKey":"x60uzbu9","originalPublishingDate":"2024-03-21T08:00:25-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2CCF364E-1CC6-4ED6-A6D6-19B9DD07F98F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110153":{"id":"news-110153","staticContentId":6473,"eventContentId":110153,"eventId":"news","contentUpdatedAt":"2022-02-08T08:43:20-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=z83vywin","languageCode":"eng","description":"Connect with Apple experts through online sessions February 15 to March 29 to learn about the latest App Store features and get your questions answered. Find out how to create product pages that resonate best with the people you\u2019d like to reach, provide great subscription experiences, distribute custom offer codes, and promote your in-app events. Register today if you\u2019re a member of the Apple Developer Program.","title":"Get ready for App Store sessions","articleID":"8c6d143b-d55d-45f8-b5f2-7800d27d3f8b","pageID":"8c6d143b-d55d-45f8-b5f2-7800d27d3f8b","articlePermalinkKey":"z83vywin","pagePermalinkKey":"z83vywin","originalPublishingDate":"2022-02-08T08:40:52-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"66F6B463-414F-4E11-A54C-226C7CF1A94D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110267":{"id":"news-110267","staticContentId":9092,"eventContentId":110267,"eventId":"news","contentUpdatedAt":"2023-10-24T16:03:42-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9rdmg4jk","languageCode":"eng","description":"TestFlight provides an easy way to get feedback on beta versions of your apps, so you can publish on the App\u00a0Store with confidence. Now, improved controls in App\u00a0Store\u00a0Connect let you better evaluate tester engagement and manage participation to help you get the most out of beta testing. Sort testers by status and engagement metrics (like sessions, crashes, and feedback), and remove inactive testers who haven\u2019t engaged. You can also filter by device and OS, and even select relevant testers to add to a new group.","title":"TestFlight makes it even simpler to manage testers","articleID":"2675cf38-6ee9-44fa-8990-6a764375bdda","pageID":"2675cf38-6ee9-44fa-8990-6a764375bdda","articlePermalinkKey":"9rdmg4jk","pagePermalinkKey":"9rdmg4jk","originalPublishingDate":"2023-10-24T16:00:53-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7331582E-C203-43A6-A120-8D2CC9FC2481","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10256":{"id":"news-10256","staticContentId":5754,"eventContentId":10256,"eventId":"news","contentUpdatedAt":"2021-09-13T07:37:57-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=pq8tb86o","languageCode":"eng","description":"Xcode 13 adds powerful new team development features, perfect for working with Xcode Cloud as well as with GitHub, Bitbucket, and GitLab collaboration features. Initiate, review, comment, and merge pull requests directly within Xcode. See your teammates\u2019 comments right inside your code. And quickly compare any two versions of your code files.","title":"Xcode 13 is now available","articleID":"9712c0c9-e899-4fb6-9439-d6ca8d58ad59","pageID":"9712c0c9-e899-4fb6-9439-d6ca8d58ad59","articlePermalinkKey":"pq8tb86o","pagePermalinkKey":"pq8tb86o","originalPublishingDate":"2021-06-07T12:08:55-07:00","publishingExpiryDate":"2075-06-05T22:28:04-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"728CA61E-31A0-4112-A816-9A4C27638C3C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110286":{"id":"news-110286","staticContentId":9179,"eventContentId":110286,"eventId":"news","contentUpdatedAt":"2024-01-25T08:12:37-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=fsmaf67j","languageCode":"eng","description":"We\u2019re sharing some changes to iOS, Safari, and the App\u00a0Store, impacting developers\u2019 apps in the European Union (EU) to comply with the Digital Markets Act (DMA). These changes create new options for developers who distribute apps in any of the 27 EU member states, and do not apply to apps distributed anywhere else in the world. These options include how developers can distribute apps on iOS, process payments, use web browser engines in iOS apps, request interoperability with iPhone and iOS hardware and software features, access data and analytics about their apps, and transfer App\u00a0Store user data.","title":"Update on apps distributed in the European Union","articleID":"30e71e95-9877-4d78-a1e7-a7dcc5c03d4c","pageID":"30e71e95-9877-4d78-a1e7-a7dcc5c03d4c","articlePermalinkKey":"fsmaf67j","pagePermalinkKey":"fsmaf67j","originalPublishingDate":"2024-01-25T08:05:42-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F9F26442-37E9-4FB2-969F-11C5FD86B9C7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110196":{"id":"news-110196","staticContentId":7796,"eventContentId":110196,"eventId":"news","contentUpdatedAt":"2022-10-11T08:11:17-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=31nk3oy8","languageCode":"eng","description":"Join us for Ask\u00a0Apple, a new series for developers to connect directly with Apple experts. Ask about integrating the latest technologies into your apps, designing intuitive UIs, testing on the latest software, and so much more.","title":"Introducing Ask Apple","articleID":"cf81aabf-2306-48fa-8d92-e8eb16ef1159","pageID":"cf81aabf-2306-48fa-8d92-e8eb16ef1159","articlePermalinkKey":"31nk3oy8","pagePermalinkKey":"31nk3oy8","originalPublishingDate":"2022-10-11T08:00:26-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4CA95D1D-46FB-4B94-8940-0A47CE8CA570","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10268":{"id":"news-10268","staticContentId":5865,"eventContentId":10268,"eventId":"news","contentUpdatedAt":"2021-09-13T07:38:16-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=2bbbudbw","languageCode":"eng","description":"The App Store makes it easy for you to manage transactions in 175 territories, and Apple administers tax on behalf of developers in 64 of those territories. Now App Store Connect provides the ability to assign tax categories to your apps and in-app purchases. These categories are based on your app's content (for example, videos, books, or news publications) and determine which tax regulations apply in each territory, allowing Apple to administer tax for you at specific rates.","title":"Tax Category Setting Now Available in App Store Connect","articleID":"ac634cd6-b186-4bb0-bf9a-afa7bf5a59d5","pageID":"ac634cd6-b186-4bb0-bf9a-afa7bf5a59d5","articlePermalinkKey":"2bbbudbw","pagePermalinkKey":"2bbbudbw","originalPublishingDate":"2021-07-20T13:20:31-07:00","publishingExpiryDate":"2075-07-02T10:31:17-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BFA8CCA3-3B7C-45EC-B60B-76614C4D687C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10220":{"id":"news-10220","staticContentId":4853,"eventContentId":10220,"eventId":"news","contentUpdatedAt":"2021-09-13T07:36:49-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=8lmz909p","languageCode":"eng","description":"Indoor Mapping Data Format (IMDF) lets you present your users with fully-customized indoor maps of venues around the world, such as stadiums, airports, and campuses \u2014 all under the security and privacy controls of the property owner. Developed by Apple, IMDF makes it easy for organizations to enable Apple\u2019s indoor positioning service on iPhone and iPad inside facilities without installing additional infrastructure, like beacons. It offers a mobile-friendly, compact, human-readable, and highly extensible data model for any indoor space, providing a basis for orientation, navigation, and discovery. And now, the Open Geospatial Consortium (OGC) membership has added IMDF 1.0.0 to the OGC Standards Baseline as a Community Standard. ","title":"IMDF now recognized as Global Community Standard","articleID":"e1b4bfbb-6475-41b0-a6fa-55dd75698321","pageID":"e1b4bfbb-6475-41b0-a6fa-55dd75698321","articlePermalinkKey":"8lmz909p","pagePermalinkKey":"8lmz909p","originalPublishingDate":"2021-02-23T12:31:37-08:00","publishingExpiryDate":"2075-02-23T11:22:53-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C8B7D790-B100-4FB9-991B-83BA59A0D2C7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10226":{"id":"news-10226","staticContentId":4875,"eventContentId":10226,"eventId":"news","contentUpdatedAt":"2021-09-13T07:37:23-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=7gx0a2lp","languageCode":"eng","description":"On March 29, 2021, token and certificate-based HTTP\/2 connections to the Apple Push Notification service must incorporate the new root certificate (AAACertificateServices 5\/12\/2020(https:\/\/support.sectigo.com\/Com_KnowledgeDetailPage?Id=kA03l00000117cL)) which replaces the old GeoTrust Global CA root certificate. To ensure a seamless transition and to avoid push notification delivery failures, verify that both the old and new root certificates for the HTTP\/2 interface are included in the Trust Store of each of your notification servers before March 29.\n\nNote that Apple Push Notification service SSL provider certificates issued to you by Apple do not need be to updated at this time.","title":"Apple Push Notification service server certificate update","articleID":"b8601858-7561-48a8-8692-e70554ad3eeb","pageID":"b8601858-7561-48a8-8692-e70554ad3eeb","articlePermalinkKey":"7gx0a2lp","pagePermalinkKey":"7gx0a2lp","originalPublishingDate":"2021-02-10T10:29:19-08:00","publishingExpiryDate":"2075-02-10T10:47:31-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C63C0A5D-1849-430C-A8A1-F7BC4DECBB8C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10199":{"id":"news-10199","staticContentId":4770,"eventContentId":10199,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:25-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9o4sj9tv","languageCode":"eng","description":"Submit your apps built for macOS Big Sur today. You can submit Universal apps built with Xcode 12.2 that take full advantage of Apple silicon Macs. Your apps will look better than ever on macOS Big Sur, thanks to an all-new interface that\u2019s been finely tuned for the powerful features that make a Mac a Mac. New widget features and the new widget gallery can make your app visible at a glance. And much more. Build your apps with Xcode 12.2 Release Candidate, update your product pages, and submit your apps for review today.","title":"Submit your Mac apps to the Mac App Store","articleID":"2d176eed-d607-470e-bf9b-c5090b6b93d4","pageID":"2d176eed-d607-470e-bf9b-c5090b6b93d4","articlePermalinkKey":"9o4sj9tv","pagePermalinkKey":"9o4sj9tv","originalPublishingDate":"2020-11-10T13:02:04-08:00","publishingExpiryDate":"2075-11-10T15:19:16-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5C76B36B-BE4C-42BC-98EA-9D49E04DD8AB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10184":{"id":"news-10184","staticContentId":4722,"eventContentId":10184,"eventId":"news","contentUpdatedAt":"2021-09-13T07:27:47-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=o2seozwy","languageCode":"eng","description":"With the tvOS 14 SDK, games now have multiuser support and you can offer gamers a wider range of controller and input device options than ever before. You can augment custom video players with Picture in Picture and system-provided controls. And take advantage of new APIs to enhance search features in your apps.\n\nBuild your tvOS apps using Xcode 12 GM seed, test them on Apple TV running tvOS 14 GM seed, and submit them for review.\n\nLearn more","title":"Submit your tvOS apps to the App Store","articleID":"4ca84139-5450-4cc9-93d1-c3ed99b91872","pageID":"4ca84139-5450-4cc9-93d1-c3ed99b91872","articlePermalinkKey":"o2seozwy","pagePermalinkKey":"o2seozwy","originalPublishingDate":"2020-09-15T14:30:16-07:00","publishingExpiryDate":"2075-09-15T15:13:45-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"10B6301A-3728-46BF-98C4-3EDA847B9743","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110169":{"id":"news-110169","staticContentId":7348,"eventContentId":110169,"eventId":"news","contentUpdatedAt":"2022-06-03T09:35:55-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ex6w3fgx","languageCode":"eng","description":"WWDC22 is almost here. We\u2019ll be kicking off with the Apple Keynote on June 6 at 10:00 a.m. PT. Watch online at apple.com or in the Apple Developer app. You can even use SharePlay to watch with friends.","title":"Code one, code all","articleID":"b0be507e-7c88-4626-8405-f69d71c05342","pageID":"b0be507e-7c88-4626-8405-f69d71c05342","articlePermalinkKey":"ex6w3fgx","pagePermalinkKey":"ex6w3fgx","originalPublishingDate":"2022-05-31T07:00:14-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"67238AB1-0650-44C7-9B04-376D9DAD6BFE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10188":{"id":"news-10188","staticContentId":4737,"eventContentId":10188,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:04-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ac1va5jx","languageCode":"eng","description":"Now it\u2019s simpler than ever for developers based in the United Kingdom and Ireland to enroll in the Apple Developer Program. The Apple Developer app now supports enrollment in these regions, allowing developers to start and finish their membership purchase with local payment methods on iPhone or iPad. And since membership is provided as an auto-renewable subscription, keeping it active is easy.","title":"Apple Developer app updates for the United Kingdom and Ireland","articleID":"e07d2900-6825-423d-8927-188bbd28473d","pageID":"e07d2900-6825-423d-8927-188bbd28473d","articlePermalinkKey":"ac1va5jx","pagePermalinkKey":"ac1va5jx","originalPublishingDate":"2020-10-08T17:00:33-07:00","publishingExpiryDate":"2075-10-08T13:15:16-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"846D619B-89B5-4562-99D2-A32D10D3C9C1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10175":{"id":"news-10175","staticContentId":4702,"eventContentId":10175,"eventId":"news","contentUpdatedAt":"2021-09-13T07:19:26-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=oyy56t2r","languageCode":"eng","description":"When taxes or foreign exchange rates change, we sometimes need to update prices on the App Store. In the next few days, prices of apps and in-app purchases (excluding auto-renewable subscriptions) on the App Store will increase in response to tax changes in Chile, Mexico, Saudi Arabia, and Turkey. Your proceeds will be adjusted accordingly and will be calculated based on the tax-exclusive price.\n\n- Chile: New value-added tax of 19%\n- Mexico: New value-added tax of 16%\n- Saudi Arabia: Increase in value-added tax from 5% to 15%\n- Turkey: New digital services tax of 7.5% (in addition to the existing value-added tax of 18%)\n\nIn addition, your proceeds will also be adjusted in Germany, France, Italy, and the United Kingdom, and will be calculated based on the tax-exclusive price. However, prices on the App Store will not change.\n\n- Germany: Reduced value-added tax rate from 19% to 16% (effective July 2020)\n- France: New digital services tax of 3% (in addition to the existing value-added tax of 20%)\n- Italy: New digital services tax of 3% (in addition to the existing value-added tax of 22%)\n- United Kingdom: New digital services tax of 2% (in addition to the existing value-added tax of 20%)\n\nNote that Apple will automatically issue refunds on a monthly basis to customers in Germany (effective July 2020) with auto-renewable subscriptions to account for the tax reduction. These refunds will not affect your proceeds.\n\nYou can download the updated price tier charts now. Once these changes go into effect, the Pricing and Availability section of My Apps will be updated. You can change the price of your apps and in-app purchases (including auto-renewable subscriptions) at any time in App Store Connect. If you offer subscriptions, you can choose to preserve prices for existing subscribers.","title":"Upcoming tax and price changes for apps and in-app purchases","articleID":"2bb40322-2217-41de-aa82-77a148f24b9a","pageID":"2bb40322-2217-41de-aa82-77a148f24b9a","articlePermalinkKey":"oyy56t2r","pagePermalinkKey":"oyy56t2r","originalPublishingDate":"2020-09-01T12:30:04-07:00","publishingExpiryDate":"2075-09-01T10:25:30-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"31660583-2753-43B2-ADE1-31F5D75476F9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112011":{"id":"news-112011","staticContentId":10597,"eventContentId":112011,"eventId":"news","contentUpdatedAt":"2025-07-24T16:05:36-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ks775ehf","languageCode":"eng","description":"The App\u00a0Store is designed to be a safe and trusted place for all ages, including children. The age rating system for apps and games has been updated in order to provide people with more granular age ratings. We\u2019ve also introduced new age rating questions to help identify sensitive content in your app and added the ability to set a higher rating to reflect your app\u2019s minimum age requirement. Ratings for all apps and games on the App\u00a0Store have been automatically updated to align with this new system and will be reflected on Apple devices running beta versions of iOS\u00a026, iPadOS\u00a026, macOS\u00a0Tahoe\u00a026, tvOS\u00a026, visionOS\u00a026, and watchOS\u00a026.","title":"Updated age ratings in App Store Connect","articleID":"fb86a434-455f-4887-93fa-f402e0cc0bd3","pageID":"fb86a434-455f-4887-93fa-f402e0cc0bd3","articlePermalinkKey":"ks775ehf","pagePermalinkKey":"ks775ehf","originalPublishingDate":"2025-07-24T06:00:43-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BD790F9D-D8F0-4176-AD22-25D3966FDEA2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112138":{"id":"news-112138","staticContentId":11357,"eventContentId":112138,"eventId":"news","contentUpdatedAt":"2026-08-27T12:45:13-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=artln8br","languageCode":"eng","description":"The App\u00a0Store is designed to make it easy to sell your digital goods and services globally, with support for 43\u00a0currencies across 175\u00a0storefronts.\n\nFrom time to time, we may need to adjust prices or your proceeds due to changes in tax regulations or foreign exchange rates. These adjustments are made using publicly available exchange rate information from reputable financial media (e.g., The Wall Street Journal) or financial companies (e.g., Bloomberg) to help make sure prices for apps and In-App\u00a0Purchases stay consistent across all storefronts.","title":"Tax and price updates for apps, In-App Purchases, and subscriptions","articleID":"3bef1d26-efa2-4e55-8a8a-7b225c74e477","pageID":"3bef1d26-efa2-4e55-8a8a-7b225c74e477","articlePermalinkKey":"artln8br","pagePermalinkKey":"artln8br","originalPublishingDate":"2026-08-27T12:00:43-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"64FB8200-196D-467C-A90F-39DEC919F43C","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-10225":{"id":"news-10225","staticContentId":4874,"eventContentId":10225,"eventId":"news","contentUpdatedAt":"2021-09-13T07:37:34-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=jzu72myl","languageCode":"eng","description":"When taxes or foreign exchange rates change, we sometimes need to update prices on the App Store in certain regions and\/or adjust your proceeds. In the next few days, your proceeds will be adjusted in the following regions and will be calculated based on the tax-exclusive price. ","title":"Upcoming tax and price changes for apps and in-app purchases","articleID":"3fa8a3cc-b84f-4c7a-a485-df95ee54b800","pageID":"3fa8a3cc-b84f-4c7a-a485-df95ee54b800","articlePermalinkKey":"jzu72myl","pagePermalinkKey":"jzu72myl","originalPublishingDate":"2021-02-10T10:29:25-08:00","publishingExpiryDate":"2075-02-10T10:05:38-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1D92B466-54A8-4316-9A72-5296893F9356","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111933":{"id":"news-111933","staticContentId":9776,"eventContentId":111933,"eventId":"news","contentUpdatedAt":"2024-06-18T09:35:34-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=7byvco78","languageCode":"eng","description":"Apple is committed to making sure that the App\u00a0Store is a safe place for everyone \u2014 especially kids. Within the next few months, you\u2019ll need to indicate in App\u00a0Store\u00a0Connect if your app includes loot boxes available for purchase. In addition, a regional age rating based on local laws will automatically appear on the product page of the apps listed below on the App\u00a0Store in Australia and South\u00a0Korea. No other action is needed. Regional age ratings appear in addition to Apple global age\u00a0ratings.","title":"Upcoming regional age ratings in Australia and South\u00a0Korea","articleID":"175a24f3-996c-48e6-8654-a7d6e1bfd61e","pageID":"175a24f3-996c-48e6-8654-a7d6e1bfd61e","articlePermalinkKey":"7byvco78","pagePermalinkKey":"7byvco78","originalPublishingDate":"2024-06-18T02:06:41-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B015633F-307E-4CFF-AB59-078E40BC8BA9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10224":{"id":"news-10224","staticContentId":4866,"eventContentId":10224,"eventId":"news","contentUpdatedAt":"2021-09-13T07:37:34-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=kn2a8g2q","languageCode":"eng","description":"Designing apps for Apple platforms just got easier. Now you can quickly lay out your app for macOS Big Sur or tvOS 14 using new design templates, components, guides, and more. All major macOS and tvOS components, such as buttons, segmented controls, alerts, menus, and other controls, are included. In addition, the updated iOS 14 and iPadOS 14 design resources for Sketch have been rebuilt to support color variables, and include numerous minor improvements and bug fixes.","title":"New and updated Apple design resources now available","articleID":"149f7b1e-167b-45a4-8f09-9bca28fe547a","pageID":"149f7b1e-167b-45a4-8f09-9bca28fe547a","articlePermalinkKey":"kn2a8g2q","pagePermalinkKey":"kn2a8g2q","originalPublishingDate":"2021-02-03T09:00:31-08:00","publishingExpiryDate":"2075-02-03T16:55:42-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5E5539B5-F055-478E-B3D8-7DCF3DCE2A69","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112083":{"id":"news-112083","staticContentId":11024,"eventContentId":112083,"eventId":"news","contentUpdatedAt":"2026-05-11T17:44:17-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=y3w8ck7j","languageCode":"eng","description":"The App\u00a0Store is designed to make it easy to sell your digital goods and services globally, with support for 43 currencies across 175 storefronts. From time to time, we may need to adjust prices or your proceeds due to changes in tax regulations or foreign exchange rates. These adjustments are made using publicly available exchange rate information from reputable financial media (e.g., The Wall Street Journal) or financial companies (e.g., Bloomberg) to help make sure prices for apps and In-App Purchases stay consistent across all storefronts.","title":"Tax and price updates for apps, In-App Purchases, and subscriptions","articleID":"1111b5a7-834a-47be-8624-101d4b982908","pageID":"1111b5a7-834a-47be-8624-101d4b982908","articlePermalinkKey":"y3w8ck7j","pagePermalinkKey":"y3w8ck7j","originalPublishingDate":"2026-05-11T06:00:46-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1382A483-6C68-4044-8E1E-81E9A0A1331B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10285":{"id":"news-10285","staticContentId":6097,"eventContentId":10285,"eventId":"news","contentUpdatedAt":"2021-10-06T07:42:43-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=j5uyprul","languageCode":"eng","description":"The App Store provides a safe and trusted place to discover apps that meet high standards for privacy, security, and content. Since its introduction, the App Store has supported a way for users to report problems with their apps and purchases, and to request refunds. Now App Store product pages on iOS 15, iPadOS 15, and macOS Monterey display a Report a Problem link, so users can more easily report concerns with content they\u2019ve purchased or downloaded. This feature is currently available for users in Australia, Canada, New Zealand, and the United States, and will expand to other regions over time. In addition, users worldwide can now choose from \u201cReport a scam or fraud\u201d and \u201cReport offensive, abusive, or illegal content\u201d options at reportaproblem.apple.com, and report issues with their apps, including free apps that do not offer in-app purchases. Apple\u2019s App Review, Discovery Fraud and Live Moderation, and Financial Fraud teams investigate reported problems for signs of fraud, manipulation, abuse and other violations of the App Review guidelines, and will reach out to developers to resolve issues.","title":"New \u201cReport a Problem\u201d link on product pages","articleID":"6a0ab9d2-c50c-4318-a320-f3208ea51567","pageID":"6a0ab9d2-c50c-4318-a320-f3208ea51567","articlePermalinkKey":"j5uyprul","pagePermalinkKey":"j5uyprul","originalPublishingDate":"2021-10-06T07:40:03-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"82CB1979-9983-4524-A911-0A574D648D59","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110208":{"id":"news-110208","staticContentId":7920,"eventContentId":110208,"eventId":"news","contentUpdatedAt":"2022-11-28T09:06:10-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ptc1awij","languageCode":"eng","description":"Connect with experts online to learn how to make the most of App\u00a0Store features. Discover how to attract new customers, test marketing strategies, add subscriptions, and so much more. Live presentations with Q&A are being held through December 8 in multiple time zones and languages. Register today if you\u2019re a member of the Apple\u00a0Developer\u00a0Program.","title":"There\u2019s still time to meet with App Store experts","articleID":"dac6730e-83ec-4a39-8b3b-6529e565ef8e","pageID":"dac6730e-83ec-4a39-8b3b-6529e565ef8e","articlePermalinkKey":"ptc1awij","pagePermalinkKey":"ptc1awij","originalPublishingDate":"2022-11-28T09:00:56-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F02BB9DA-8741-4737-BA25-D36F74EE306C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110217":{"id":"news-110217","staticContentId":8011,"eventContentId":110217,"eventId":"news","contentUpdatedAt":"2023-02-08T09:10:18-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=g8dce2t4","languageCode":"eng","description":"The App Store\u2019s commerce and payments system was built to empower you to conveniently set up and sell your products and services at a global scale with 44 currencies across 175 storefronts. Periodically, we update prices on the App\u00a0Store in certain regions based on changes in taxes and foreign exchange rates. This is done using publicly available exchange rate information from financial data providers to help ensure prices for apps and in\u2011app purchases stay equalized across all storefronts.","title":"Upcoming tax and price changes for apps and in\u2011app\u00a0purchases","articleID":"029b7f67-2162-4985-ba27-2b45cfedbb6d","pageID":"029b7f67-2162-4985-ba27-2b45cfedbb6d","articlePermalinkKey":"g8dce2t4","pagePermalinkKey":"g8dce2t4","originalPublishingDate":"2023-01-27T09:00:09-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"730448A6-CEAE-4E37-9F2E-87CE90DA98D6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110255":{"id":"news-110255","staticContentId":9047,"eventContentId":110255,"eventId":"news","contentUpdatedAt":"2023-08-09T09:19:13-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=kjsf2tlp","languageCode":"eng","description":"As announced in April, your customers will soon be able to resolve payment issues without leaving your app, making it easier for them to stay subscribed to your content, services, and premium features.","title":"Helping customers resolve billing issues without leaving your app","articleID":"7e26c378-36e6-4927-a515-464e9c2200dd","pageID":"7e26c378-36e6-4927-a515-464e9c2200dd","articlePermalinkKey":"kjsf2tlp","pagePermalinkKey":"kjsf2tlp","originalPublishingDate":"2023-08-09T08:00:16-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"99767570-9B2F-40E8-ACFA-B71750B9C87E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10176":{"id":"news-10176","staticContentId":4705,"eventContentId":10176,"eventId":"news","contentUpdatedAt":"2021-09-13T07:16:30-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=84w3e5bm","languageCode":"eng","description":"The App Store is dedicated to providing a great experience for everyone. To continue offering a safe place for users to download apps and helping you successfully develop apps that are secure, high-quality, reliable, and respectful of user privacy, we\u2019ve updated the app review process as announced at WWDC20. For apps that are already on the App Store, bug fixes will no longer be delayed over guideline violations except for those related to legal issues. You\u2019ll instead be able to address guideline violations in your next submission. And now, in addition to appealing decisions about whether an app violates guidelines, you can suggest changes to the guidelines. We also encourage you to submit your App Store and Apple development platform suggestions so we can continue to improve experiences for the developer community.\n\nSubmit an App Store or platform suggestion","title":"App Review process updates","articleID":"7ed1b4b7-8130-4479-b83d-de6e73e6c960","pageID":"7ed1b4b7-8130-4479-b83d-de6e73e6c960","articlePermalinkKey":"84w3e5bm","pagePermalinkKey":"84w3e5bm","originalPublishingDate":"2020-08-31T07:00:59-07:00","publishingExpiryDate":"2075-08-31T12:32:43-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F4FCED67-7BE4-4326-93C8-61BDC325FA58","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10194":{"id":"news-10194","staticContentId":4761,"eventContentId":10194,"eventId":"news","contentUpdatedAt":"2021-09-13T07:19:46-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=an960mux","languageCode":"eng","description":"App Store server notifications provide real-time updates on a subscriber\u2019s status, so you can create customized user experiences.","title":"New subscription server notifications available in production","articleID":"c552b65f-597e-4984-b81f-c0edeac2459c","pageID":"c552b65f-597e-4984-b81f-c0edeac2459c","articlePermalinkKey":"an960mux","pagePermalinkKey":"an960mux","originalPublishingDate":"2020-10-29T14:00:05-07:00","publishingExpiryDate":"2075-10-29T11:31:00-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"ADD8FCBA-AD74-4383-B856-3328E60FC2F1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10192":{"id":"news-10192","staticContentId":4748,"eventContentId":10192,"eventId":"news","contentUpdatedAt":"2021-09-13T07:30:53-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=1eiyhoai","languageCode":"eng","description":"Apple Entrepreneur Camp supports underrepresented founders and developers as they build the next generation of cutting-edge apps and helps form a global network that encourages the pipeline and longevity of these entrepreneurs in technology. Applications are now open for the first cohort for Black founders and developers, which runs online from February 16 to 25, 2021. Attendees receive code-level guidance, mentorship, and inspiration with unprecedented access to Apple engineers and leaders. Applications close on November 20, 2020.","title":"Apple Entrepreneur Camp applications open for Black founders and developers","articleID":"fe034d72-ec3a-43a1-b3c8-a307c92dd623","pageID":"fe034d72-ec3a-43a1-b3c8-a307c92dd623","articlePermalinkKey":"1eiyhoai","pagePermalinkKey":"1eiyhoai","originalPublishingDate":"2020-10-19T09:22:29-07:00","publishingExpiryDate":"2075-10-19T09:20:54-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"833E2D85-DB12-436F-AC68-8F4047414B36","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10326":{"id":"news-10326","staticContentId":6422,"eventContentId":10326,"eventId":"news","contentUpdatedAt":"2022-01-22T09:29:54-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=i71db0mv","languageCode":"eng","description":"In order to provide more time for you to update your apps, we\u2019ve changed the following requirement deadlines to June 30, 2022.","title":"Deadline for in-app purchase and account deletion requirements extended","articleID":"b40a543c-eb59-435a-82ed-20e368961404","pageID":"b40a543c-eb59-435a-82ed-20e368961404","articlePermalinkKey":"i71db0mv","pagePermalinkKey":"i71db0mv","originalPublishingDate":"2022-01-22T09:28:08-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F518E5F6-C63F-412C-A8F3-C53A3C48B086","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10283":{"id":"news-10283","staticContentId":6010,"eventContentId":10283,"eventId":"news","contentUpdatedAt":"2021-09-29T12:22:38-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=f0axrahc","languageCode":"eng","description":"Starting in October 2021, regulatory requirements in India will apply to the processing of recurring transactions. The Reserve Bank of India has issued a directive that will affect purchases in India initiated via credit cards and debit cards for auto-renewable subscriptions. This directive requires banks, financial institutions, and gateways to obtain user approval by conducting transaction notifications, e-mandates, and Additional Factors of Authentication (AFA) before the transaction can be completed. As a result, some transactions that don\u2019t meet these requirements will be declined by banks or card issuers. For more information and updates, see the Reserve Bank of India website.","title":"Upcoming changes to recurring transactions via credit cards and debit cards in India","articleID":"52c9645d-acd0-43ba-820b-a9308e46f5d2","pageID":"52c9645d-acd0-43ba-820b-a9308e46f5d2","articlePermalinkKey":"f0axrahc","pagePermalinkKey":"f0axrahc","originalPublishingDate":"2021-09-29T12:22:34-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1DB06257-CEFE-4087-A925-99FFE843577C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110278":{"id":"news-110278","staticContentId":9136,"eventContentId":110278,"eventId":"news","contentUpdatedAt":"2023-12-15T12:56:40-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6e9odqgu","languageCode":"eng","description":"Contingent pricing for subscriptions on the App Store \u2014 a new feature that helps you attract and retain subscribers \u2014 lets you give customers a discounted subscription price as long as they\u2019re actively subscribed to a different subscription. It can be used for subscriptions from one developer or two different developers. We\u2019re currently piloting this feature and will be onboarding more developers in the coming months. If you\u2019re interested in implementing contingent pricing in your app, you can start planning today and sign up to get notified when more details are available in January.","title":"Announcing contingent pricing for subscriptions","articleID":"2d36fbb1-4b7d-4ba8-af39-507462814a2b","pageID":"2d36fbb1-4b7d-4ba8-af39-507462814a2b","articlePermalinkKey":"6e9odqgu","pagePermalinkKey":"6e9odqgu","originalPublishingDate":"2023-12-15T12:30:24-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"CE3ECA79-D016-409C-9648-6CB7E2D0C60F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110230":{"id":"news-110230","staticContentId":8486,"eventContentId":110230,"eventId":"news","contentUpdatedAt":"2023-04-19T14:09:54-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=mfx8xxtc","languageCode":"eng","description":"Soon it will be easier than ever for your customers to resolve payment issues, so they can stay subscribed to your content, services, and premium features. Starting this summer, if an auto-renewable subscription doesn\u2019t renew due to a billing issue, a system-provided sheet appears in your app with a prompt that lets customers update their payment method for their Apple\u00a0ID. No action is required to adopt this feature. Starting today, you can get familiar with the sheet in Sandbox. You can also test delaying or suppressing it using messages and display in StoreKit. This feature will require a minimum of iOS\u00a016.4 or iPadOS\u00a016.4.","title":"Get ready to help customers resolve billing issues without leaving your app","articleID":"0abab792-ab74-4018-bd9c-677a957b4bd2","pageID":"0abab792-ab74-4018-bd9c-677a957b4bd2","articlePermalinkKey":"mfx8xxtc","pagePermalinkKey":"mfx8xxtc","originalPublishingDate":"2023-04-19T14:00:31-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"94D911C3-8C90-4349-ACEA-6E410CC00CC4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110308":{"id":"news-110308","staticContentId":9365,"eventContentId":110308,"eventId":"news","contentUpdatedAt":"2024-04-16T09:51:34-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=vczf3oga","languageCode":"eng","description":"Web Distribution lets authorized developers distribute their iOS apps to users in the European Union (EU) directly from a website owned by the developer. Apple will provide developers access to APIs that facilitate the distribution of their apps from the web, integrate with system functionality, and back up and restore users\u2019 apps, once they meet certain requirements designed to help protect users and platform integrity. For details, visit Getting started with Web Distribution in the EU.","title":"Web Distribution now available in iOS\u00a017.5 beta\u00a02 and App\u00a0Store Connect","articleID":"ca033e3b-d57e-4b08-afc8-e0c2137e012f","pageID":"ca033e3b-d57e-4b08-afc8-e0c2137e012f","articlePermalinkKey":"vczf3oga","pagePermalinkKey":"vczf3oga","originalPublishingDate":"2024-04-16T09:00:54-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9B5839C3-27AA-4241-853E-D170ADD48AA1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110292":{"id":"news-110292","staticContentId":9191,"eventContentId":110292,"eventId":"news","contentUpdatedAt":"2024-02-08T12:41:02-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=e59yuu15","languageCode":"eng","description":"We recently announced changes to iOS, Safari, and the App Store impacting developers\u2019 apps in the European Union (EU) to comply with the Digital Markets Act (DMA), supported by more than 600 new APIs, a wide range of developer tools, and related documentation.","title":"Updates to support app distribution changes in the European Union","articleID":"fd136a59-758a-431b-b954-4c2f1493695a","pageID":"fd136a59-758a-431b-b954-4c2f1493695a","articlePermalinkKey":"e59yuu15","pagePermalinkKey":"e59yuu15","originalPublishingDate":"2024-02-08T07:00:01-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"218A6C7F-7D49-4A80-8C29-0DC8920BF35D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110315":{"id":"news-110315","staticContentId":9668,"eventContentId":110315,"eventId":"news","contentUpdatedAt":"2024-06-06T15:39:23-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=snw2iznw","languageCode":"eng","description":"The App\u00a0Store is designed to make it easy to sell your digital goods and services globally, with support for 44 currencies across 175 storefronts.","title":"Price and tax updates for apps, In-App Purchases, and subscriptions","articleID":"476f7b59-b08f-4e74-8366-afd0c895efff","pageID":"476f7b59-b08f-4e74-8366-afd0c895efff","articlePermalinkKey":"snw2iznw","pagePermalinkKey":"snw2iznw","originalPublishingDate":"2024-06-06T01:00:12-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5FAA2670-C9BE-456A-A1D6-CBB0943D450D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110300":{"id":"news-110300","staticContentId":9236,"eventContentId":110300,"eventId":"news","contentUpdatedAt":"2024-03-05T09:42:36-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=flmb6ri3","languageCode":"eng","description":"The App\u00a0Store Review Guidelines have been revised to support updated policies, upcoming features, and to provide clarification.","title":"Updated App Review Guidelines now available","articleID":"58dda444-ae33-4f6f-89db-cc76415f8944","pageID":"58dda444-ae33-4f6f-89db-cc76415f8944","articlePermalinkKey":"flmb6ri3","pagePermalinkKey":"flmb6ri3","originalPublishingDate":"2024-03-05T07:54:49-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"18A1CC46-8035-4999-97B0-69AE277A455F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112039":{"id":"news-112039","staticContentId":10658,"eventContentId":112039,"eventId":"news","contentUpdatedAt":"2025-11-13T07:20:11-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ey6d8onl","languageCode":"eng","description":"The App Review Guidelineshave been revised to support updated policies and to provide clarification.","title":"Updated App Review Guidelines now available","articleID":"b8c03503-a255-4d1c-a0b8-8f184ee5ec2c","pageID":"b8c03503-a255-4d1c-a0b8-8f184ee5ec2c","articlePermalinkKey":"ey6d8onl","pagePermalinkKey":"ey6d8onl","originalPublishingDate":"2025-11-13T07:00:11-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9CF4FE3B-7739-4171-957E-4D7D8663B483","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111970":{"id":"news-111970","staticContentId":9864,"eventContentId":111970,"eventId":"news","contentUpdatedAt":"2025-01-23T13:17:26-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=yxy958ya","languageCode":"eng","description":"The App\u00a0Store facilitates billions of transactions annually to help developers grow their businesses and provide a world-class customer experience. To further support developers\u2019 evolving business models \u2014 such as exceptionally large content catalogs, creator experiences, and subscriptions with optional add-ons \u2014 we\u2019re introducing the Advanced\u00a0Commerce\u00a0API.","title":"Introducing the Advanced\u00a0Commerce\u00a0API","articleID":"cc2c0b46-1460-4d72-b1d1-d03f1e0bb048","pageID":"cc2c0b46-1460-4d72-b1d1-d03f1e0bb048","articlePermalinkKey":"yxy958ya","pagePermalinkKey":"yxy958ya","originalPublishingDate":"2025-01-23T07:00:50-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"CC39C9AA-2191-48E1-8689-6A8A7EBBB0A1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10213":{"id":"news-10213","staticContentId":4793,"eventContentId":10213,"eventId":"news","contentUpdatedAt":"2021-09-13T07:29:52-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=707raiff","languageCode":"eng","description":"The App Store will soon help users understand an app\u2019s privacy practices before they download the app on any Apple platform. On each app\u2019s product page, users can learn about some of the data types the app may collect, and whether that data is linked to them or used to track them. If you haven\u2019t already, enter your app\u2019s privacy information in App Store Connect.","title":"Reminder: App privacy questions requirement starts December 8","articleID":"ea38b570-6295-4abf-8116-86382488745a","pageID":"ea38b570-6295-4abf-8116-86382488745a","articlePermalinkKey":"707raiff","pagePermalinkKey":"707raiff","originalPublishingDate":"2020-12-04T11:24:45-08:00","publishingExpiryDate":"2075-12-04T11:26:30-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BB3D0153-64D7-4E96-8C08-2E16797D0E24","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10282":{"id":"news-10282","staticContentId":6005,"eventContentId":10282,"eventId":"news","contentUpdatedAt":"2021-09-22T09:54:36-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=1mmydqta","languageCode":"eng","description":"StoreKit 2 introduces powerful new Swift-based APIs that make supporting in-app purchases and subscriptions easier than ever. You can now easily determine product entitlements and eligibility for offers, quickly get a user\u2019s history of in-app purchases, find out the latest status of a subscription with one simple check, provide a way to request refunds and manage subscriptions from within your app, and more. StoreKit 2 also uses Swift concurrency and JSON Web Signature to simplify how you retrieve product information and handle transactions. Available on iOS 15, iPadOS 15, tvOS 15, and watchOS 8.","title":"New in-app purchase capabilities now available","articleID":"484082d9-3b78-41c0-89be-b1ad38a7c211","pageID":"484082d9-3b78-41c0-89be-b1ad38a7c211","articlePermalinkKey":"1mmydqta","pagePermalinkKey":"1mmydqta","originalPublishingDate":"2021-09-22T09:50:46-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"438182BC-FCF3-49C1-801F-058E3FDFB420","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110314":{"id":"news-110314","staticContentId":9466,"eventContentId":110314,"eventId":"news","contentUpdatedAt":"2024-05-28T10:19:58-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=nqvp22zz","languageCode":"eng","description":"Join the worldwide developer community for an incredible week of technology and creativity \u2014 all online and free. WWDC24 takes place from June\u00a010-14.","title":"Coming in swiftly.","articleID":"a2c7f32b-89c1-4cac-bc5d-a8c02b2d9fcc","pageID":"a2c7f32b-89c1-4cac-bc5d-a8c02b2d9fcc","articlePermalinkKey":"nqvp22zz","pagePermalinkKey":"nqvp22zz","originalPublishingDate":"2024-05-28T08:00:28-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"634B2715-890C-4F93-AD77-BA937B30A3EC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10203":{"id":"news-10203","staticContentId":4780,"eventContentId":10203,"eventId":"news","contentUpdatedAt":"2021-09-13T07:19:22-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=i7jzeefs","languageCode":"eng","description":"We believe that small businesses are the backbone of our global economy and the beating heart of innovation and opportunity in communities around the world. Launching January 1, 2021, the industry-leading new App Store Small Business Program is designed to accelerate innovation and help propel your small business forward. The program has a reduced commission rate of 15% on paid apps and in-app purchases, so you can invest more resources into your business and continue building the kind of quality apps your customers love.","title":"Announcing the App Store Small Business Program","articleID":"903d146d-ca69-48b4-8fa8-e95ec5cb55d8","pageID":"903d146d-ca69-48b4-8fa8-e95ec5cb55d8","articlePermalinkKey":"i7jzeefs","pagePermalinkKey":"i7jzeefs","originalPublishingDate":"2020-11-18T06:45:50-08:00","publishingExpiryDate":"2075-11-18T06:46:46-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C542C755-EF41-41F1-8D8C-2852FE1BB0F9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111945":{"id":"news-111945","staticContentId":9814,"eventContentId":111945,"eventId":"news","contentUpdatedAt":"2024-09-09T17:45:31-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=utw4yhtp","languageCode":"eng","description":"iOS\u00a018, iPadOS\u00a018, macOS\u00a0Sequoia, tvOS\u00a018, visionOS\u00a02, and watchOS\u00a011 will soon be available to customers worldwide. Build your apps and games using the Xcode\u00a016 Release Candidate and latest SDKs, test them using TestFlight, and submit them for review to the App\u00a0Store.","title":"App Store submissions now open for the latest OS releases","articleID":"3e34b211-ddc6-4028-890b-01da49bfd1bc","pageID":"3e34b211-ddc6-4028-890b-01da49bfd1bc","articlePermalinkKey":"utw4yhtp","pagePermalinkKey":"utw4yhtp","originalPublishingDate":"2024-09-09T08:00:34-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"47573C95-E9DC-4767-9E09-722AE4989DD3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111962":{"id":"news-111962","staticContentId":9842,"eventContentId":111962,"eventId":"news","contentUpdatedAt":"2024-12-02T09:24:03-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=iwvebnw2","languageCode":"eng","description":"The busiest season on the App Store is almost here. Make sure your apps and games are up to date and ready.","title":"Get your apps and games ready for the holidays","articleID":"a2f24294-22a2-4488-9c9b-40766f8dd402","pageID":"a2f24294-22a2-4488-9c9b-40766f8dd402","articlePermalinkKey":"iwvebnw2","pagePermalinkKey":"iwvebnw2","originalPublishingDate":"2024-12-02T07:00:45-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A73EF2BA-9BBA-477B-991A-5DC21AA7B64C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112007":{"id":"news-112007","staticContentId":10590,"eventContentId":112007,"eventId":"news","contentUpdatedAt":"2025-07-18T10:37:19-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=pnfbj8je","languageCode":"eng","description":"Apple Ul design kits for Figma and Sketch are now available for iOS and iPadOS 26.","title":"iOS and iPadOS 26 design kits are here","articleID":"ba808ebd-b2d3-4417-b4b0-9c15ef013b0c","pageID":"ba808ebd-b2d3-4417-b4b0-9c15ef013b0c","articlePermalinkKey":"pnfbj8je","pagePermalinkKey":"pnfbj8je","originalPublishingDate":"2025-07-18T10:00:15-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1FD15910-C8FE-40C8-BDAE-09B520E54BC6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112051":{"id":"news-112051","staticContentId":10688,"eventContentId":112051,"eventId":"news","contentUpdatedAt":"2025-12-23T16:31:21-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=8jzbigf4","languageCode":"eng","description":"A recent injunction issued by a district court suspended enforcement of Texas state law SB2420, which introduced age assurance requirements for app marketplaces and developers. In light of this ruling, Apple will pause previously announced implementation plans and monitor the ongoing legal process.","title":"Update on age requirements for apps distributed in Texas","articleID":"5bd257ae-2ec8-4e1a-9823-6ea63b0d1d32","pageID":"5bd257ae-2ec8-4e1a-9823-6ea63b0d1d32","articlePermalinkKey":"8jzbigf4","pagePermalinkKey":"8jzbigf4","originalPublishingDate":"2025-12-23T16:00:04-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A4D80165-952B-400F-9EA3-3A22BA987AB9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111939":{"id":"news-111939","staticContentId":9798,"eventContentId":111939,"eventId":"news","contentUpdatedAt":"2024-08-13T09:41:48-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=49500drc","languageCode":"eng","description":"Apple Entrepreneur Camp supports underrepresented founders and developers, and encourages the pipeline and longevity of these entrepreneurs in technology. Attendees benefit from one-on-one code-level guidance, receive unprecedented access to Apple engineers and experts, and become part of the extended global network of Apple Entrepreneur Camp alumni.","title":"Apple Entrepreneur Camp applications are now open","articleID":"bdd97ff6-0939-435d-9bc3-4a945d0e5945","pageID":"bdd97ff6-0939-435d-9bc3-4a945d0e5945","articlePermalinkKey":"49500drc","pagePermalinkKey":"49500drc","originalPublishingDate":"2024-08-13T07:00:33-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"6C1222B5-78FD-4B40-8EA5-76E0E7353B29","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10179":{"id":"news-10179","staticContentId":4709,"eventContentId":10179,"eventId":"news","contentUpdatedAt":"2021-09-13T07:16:30-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=lrnyc3aj","languageCode":"eng","description":"Later this year, you\u2019ll be able to acquire, retain, and win back subscribers with subscription offer codes: unique, alphanumeric codes that provide free or discounted prices for auto-renewable subscriptions. Provide your one-time use codes digitally or offline at physical events, alongside products, and more. Customers on iOS 14 and iPadOS 14 and later can redeem offer codes on the App Store, through a one-time code redemption URL, or within your app if you\u2019ve implemented the `presentCodeRedemptionSheet` API.\n\nLearn more about subscription offer codes","title":"Get ready for subscription offer codes","articleID":"d1847baf-57b7-44c8-8d5a-32469f51b70b","pageID":"d1847baf-57b7-44c8-8d5a-32469f51b70b","articlePermalinkKey":"lrnyc3aj","pagePermalinkKey":"lrnyc3aj","originalPublishingDate":"2020-09-02T13:15:12-07:00","publishingExpiryDate":"2075-09-02T15:34:27-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"26FCB63B-C2EE-495B-A548-41B034BDAAEF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10230":{"id":"news-10230","staticContentId":4902,"eventContentId":10230,"eventId":"news","contentUpdatedAt":"2021-09-13T07:39:38-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=1tgs0nzp","languageCode":"eng","description":"Apple Entrepreneur Camp supports underrepresented founders and developers as they build the next generation of cutting-edge apps and helps form a global network that encourages the pipeline and longevity of these entrepreneurs in technology. Applications are open now for the next cohort for female founders and developers, which runs online from July 20 to 29, 2021. Attendees receive code-level guidance, mentorship, and inspiration with unprecedented access to Apple engineers and leaders. Applications close on March 26, 2021.","title":"Apple Entrepreneur Camp applications open for female founders and developers","articleID":"b9cc72e3-d26c-4223-b59d-ecbcf03f38b1","pageID":"b9cc72e3-d26c-4223-b59d-ecbcf03f38b1","articlePermalinkKey":"1tgs0nzp","pagePermalinkKey":"1tgs0nzp","originalPublishingDate":"2021-02-22T12:00:29-08:00","publishingExpiryDate":"2075-02-22T16:25:58-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7C3119B7-69F1-4C98-BA0B-5F73A9AC2F98","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10212":{"id":"news-10212","staticContentId":4792,"eventContentId":10212,"eventId":"news","contentUpdatedAt":"2021-09-13T07:30:14-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=bjj0cjau","languageCode":"eng","description":"Now you can better understand your subscription offer code performance with Sales and Trends dashboards and reports in App Store Connect. Offer code data appears in version 1_3 of the Subscription, Subscription Event, and Subscriber reports, and version 1_1 of the Summary Sales Report.\n","title":"Sales and Trends now includes subscription offer code data","articleID":"94ebdbf0-f3b1-4500-acad-52b4e039c925","pageID":"94ebdbf0-f3b1-4500-acad-52b4e039c925","articlePermalinkKey":"bjj0cjau","pagePermalinkKey":"bjj0cjau","originalPublishingDate":"2020-12-04T08:20:58-08:00","publishingExpiryDate":"2075-12-04T09:18:30-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0CCEDBBA-5785-46B9-A0B0-D0F6291D0F1C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112041":{"id":"news-112041","staticContentId":10660,"eventContentId":112041,"eventId":"news","contentUpdatedAt":"2025-11-19T10:59:56-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=2d301eoy","languageCode":"eng","description":"This year we\u2019re proud to recognize 49 outstanding finalists.","title":"App Store Award finalists announced","articleID":"766e64d5-006e-4e45-84ed-4ff70212d7f7","pageID":"766e64d5-006e-4e45-84ed-4ff70212d7f7","articlePermalinkKey":"2d301eoy","pagePermalinkKey":"2d301eoy","originalPublishingDate":"2025-11-19T01:00:55-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A3E36A2F-75A7-4498-B8B7-46C07C13393F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111931":{"id":"news-111931","staticContentId":9774,"eventContentId":111931,"eventId":"news","contentUpdatedAt":"2024-06-14T13:08:24-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=eny3mwd6","languageCode":"eng","description":"Thank you to everyone who joined us for an amazing week.","title":"WWDC24 resources and survey","articleID":"e474bdeb-b005-436f-b66f-0a9cdbd31f43","pageID":"e474bdeb-b005-436f-b66f-0a9cdbd31f43","articlePermalinkKey":"eny3mwd6","pagePermalinkKey":"eny3mwd6","originalPublishingDate":"2024-06-14T12:00:32-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C2D2750F-56AF-41C2-8B6D-78EFE9371FAA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110233":{"id":"news-110233","staticContentId":8813,"eventContentId":110233,"eventId":"news","contentUpdatedAt":"2023-05-19T15:38:27-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=uuxzevey","languageCode":"eng","description":"The beta versions of iOS\u00a016.6, iPadOS\u00a016.6, macOS\u00a013.5, tvOS\u00a016.6, and watchOS\u00a09.6 are now available. Get your apps ready by confirming they work as expected on these releases. And to take advantage of the advancements in the latest SDKs, make sure to build and test with Xcode\u00a014.3.1.","title":"Get ready with the latest beta releases","articleID":"86038a8d-fe53-4c6c-bc10-b4cab2d252ac","pageID":"86038a8d-fe53-4c6c-bc10-b4cab2d252ac","articlePermalinkKey":"uuxzevey","pagePermalinkKey":"uuxzevey","originalPublishingDate":"2023-05-19T15:00:27-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3B34B0F1-3372-4CDD-8718-AA0C9710357C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110218":{"id":"news-110218","staticContentId":8078,"eventContentId":110218,"eventId":"news","contentUpdatedAt":"2023-02-16T12:23:10-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6kgv19zt","languageCode":"eng","description":"The beta versions of iOS\u00a016.4, iPadOS\u00a016.4, macOS\u00a013.3, tvOS\u00a016.4, and watchOS\u00a09.4 are now available. Get your apps ready by confirming they work as expected on these releases. And to take advantage of the advancements in the latest SDKs, make sure to build and test with Xcode\u00a014.3.","title":"Get ready with the latest beta releases","articleID":"b26be143-70c8-4a9f-a505-7688dfeaa481","pageID":"b26be143-70c8-4a9f-a505-7688dfeaa481","articlePermalinkKey":"6kgv19zt","pagePermalinkKey":"6kgv19zt","originalPublishingDate":"2023-02-16T12:00:04-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BBF38669-BAEA-4B91-94BA-8B7AABB99A25","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10274":{"id":"news-10274","staticContentId":5949,"eventContentId":10274,"eventId":"news","contentUpdatedAt":"2021-09-13T07:21:13-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=mxaeu6er","languageCode":"eng","description":"SharePlay has been disabled for use in the developer beta 6 versions of iOS\u00a015, iPadOS\u00a015, and tvOS\u00a015, and will be disabled in the upcoming beta 6 release of macOS\u00a0Monterey. SharePlay will also be disabled for use in their initial releases this fall. SharePlay will be enabled for use again in future developer beta releases and will launch to the public in software updates later this fall.","title":"SharePlay release schedule update","articleID":"c8f89839-e400-4de9-a511-f388212e59cf","pageID":"c8f89839-e400-4de9-a511-f388212e59cf","articlePermalinkKey":"mxaeu6er","pagePermalinkKey":"mxaeu6er","originalPublishingDate":"2021-08-17T10:00:44-07:00","publishingExpiryDate":"2075-08-17T14:29:37-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"302286AC-39FE-4ED7-90C7-4F766D5FFB4B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110296":{"id":"news-110296","staticContentId":9211,"eventContentId":110296,"eventId":"news","contentUpdatedAt":"2024-02-29T13:44:55-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3d8a9yyh","languageCode":"eng","description":"Developers are responsible for all code included in their apps. At WWDC23, we introduced new privacy manifests and signatures for commonly used third-party SDKs and announced that developers will need to declare approved reasons for using a set of APIs in their app\u2019s privacy manifest. These changes help developers better understand how third-party SDKs use data, secure software dependencies, and provide additional privacy protection for users.","title":"Privacy updates for App Store submissions","articleID":"1ed533c9-60b3-4b61-a640-9ed805d5cb60","pageID":"1ed533c9-60b3-4b61-a640-9ed805d5cb60","articlePermalinkKey":"3d8a9yyh","pagePermalinkKey":"3d8a9yyh","originalPublishingDate":"2024-02-29T13:40:13-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"73073604-2A7C-4512-99F0-E5338B489401","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110259":{"id":"news-110259","staticContentId":9076,"eventContentId":110259,"eventId":"news","contentUpdatedAt":"2023-09-12T11:39:22-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=khzvxn8a","languageCode":"eng","description":"iOS\u00a017, iPadOS\u00a017, macOS\u00a0Sonoma, tvOS\u00a017, and watchOS\u00a010 will soon be available to customers worldwide. Build your apps and games using the Xcode\u00a015 Release Candidate and latest SDKs, test them using TestFlight, and submit them for review to the App\u00a0Store. You can now start deploying seamlessly to TestFlight and the App\u00a0Store from Xcode\u00a0Cloud. With exciting new capabilities, as well as major enhancements across languages, frameworks, tools, and services, you can deliver even more unique experiences on Apple platforms.","title":"App Store submissions now open for the latest OS releases","articleID":"de393842-bfd2-470e-babd-6a1c2a190e1b","pageID":"de393842-bfd2-470e-babd-6a1c2a190e1b","articlePermalinkKey":"khzvxn8a","pagePermalinkKey":"khzvxn8a","originalPublishingDate":"2023-09-12T11:30:46-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"82447CC3-F0D9-46D9-A6E2-C28EF9B1DFBA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10216":{"id":"news-10216","staticContentId":4829,"eventContentId":10216,"eventId":"news","contentUpdatedAt":"2021-09-13T07:29:34-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3wann9gh","languageCode":"eng","description":"The App Store now helps users better understand an app\u2019s privacy practices before they download the app on any Apple platform. On each app\u2019s product page, users can learn about some of the data types an app may collect, and whether that data is linked to them or used to track them. As a reminder, your app\u2019s privacy information is required to submit new apps and app updates to the App Store, and some data is optional to disclose if it meets specific criteria, such as certain data from health research apps and regulated financial services. You may update your answers at any time without resubmitting your app or going through App Review.","title":"App privacy labels now live on the App Store","articleID":"46357881-3530-4529-a1ec-fcb1ca106ec4","pageID":"46357881-3530-4529-a1ec-fcb1ca106ec4","articlePermalinkKey":"3wann9gh","pagePermalinkKey":"3wann9gh","originalPublishingDate":"2020-12-14T16:44:32-08:00","publishingExpiryDate":"2075-12-14T13:50:37-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"34D3FAD3-DCC4-418F-8434-B73A15436DB3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111940":{"id":"news-111940","staticContentId":9802,"eventContentId":111940,"eventId":"news","contentUpdatedAt":"2024-08-15T09:10:40-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=a0nevv65","languageCode":"eng","description":"As a reminder, Account Holders or Admins in the Apple\u00a0Developer\u00a0Program need to enter trader status in App\u00a0Store\u00a0Connect for apps on the App\u00a0Store in the European Union (EU) in order to comply with the Digital Services Act.","title":"Upcoming requirements for app distribution in the European\u00a0Union","articleID":"cfb46ba0-0173-4d09-9ac4-19e6d17fdb65","pageID":"cfb46ba0-0173-4d09-9ac4-19e6d17fdb65","articlePermalinkKey":"a0nevv65","pagePermalinkKey":"a0nevv65","originalPublishingDate":"2024-08-15T09:00:14-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C954E74D-BEB4-4A0A-BD2B-FAB1B0F30C60","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10280":{"id":"news-10280","staticContentId":5994,"eventContentId":10280,"eventId":"news","contentUpdatedAt":"2021-09-21T09:25:59-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=bv8ur34d","languageCode":"eng","description":"Transport Layer Security (TLS) is a critical security protocol used to protect web traffic. It provides confidentiality and integrity of data in transit between clients and servers exchanging information. As part of ongoing efforts to modernize platforms, and to improve security and reliability, TLS 1.0 and 1.1 have been deprecated by the Internet Engineering Task Force (IETF) as of March 25, 2021. These versions have been deprecated on Apple platforms as of  iOS 15, iPadOS 15, macOS 12, watchOS 8, and tvOS 15, and support will be removed in future releases.","title":"TLS 1.0 and 1.1 deprecation update","articleID":"f0cbf385-d701-4f09-ab31-d8d795def59c","pageID":"f0cbf385-d701-4f09-ab31-d8d795def59c","articlePermalinkKey":"bv8ur34d","pagePermalinkKey":"bv8ur34d","originalPublishingDate":"2021-09-21T09:14:19-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7B65C4B1-F061-4A10-8DB0-0D2341996170","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10202":{"id":"news-10202","staticContentId":4777,"eventContentId":10202,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:13-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=cy9u8woe","languageCode":"eng","description":"You can now use Transporter for Mac to upload metadata, view a history of delivered builds for each app version, and filter that history by time period. This latest version also includes support for 29 additional languages.","title":"New features available in Transporter 1.2","articleID":"a89a91ba-8e02-4100-b003-e94e3c53ad80","pageID":"a89a91ba-8e02-4100-b003-e94e3c53ad80","articlePermalinkKey":"cy9u8woe","pagePermalinkKey":"cy9u8woe","originalPublishingDate":"2020-11-16T16:44:37-08:00","publishingExpiryDate":"2075-11-16T11:54:50-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"93990144-AF7C-42FC-918E-D91CF893A9F3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10287":{"id":"news-10287","staticContentId":6186,"eventContentId":10287,"eventId":"news","contentUpdatedAt":"2021-10-06T07:43:15-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=mdkbobfo","languageCode":"eng","description":"The updates to App Store Review Guideline 5.1.1 last June provided users with greater control over their personal data, stating that all apps that allow for account creation must also allow users to initiate deletion of their account from within the app. This requirement applies to all app submissions starting January 31, 2022. We encourage you to review any laws that may require you to maintain certain types of data, and to make sure your app clearly explains what data your app collects, how it collects that data, all uses of that data, your data retention\/deletion policies, and more as described in the guideline. Examples of this type of data include electronic health records, and sales and warranty records. Please also confirm that the app privacy information on your product page is accurate. ","title":"Account deletion within apps required starting January 31","articleID":"de21d88c-1ce5-4421-b298-cdbab72c99d4","pageID":"de21d88c-1ce5-4421-b298-cdbab72c99d4","articlePermalinkKey":"mdkbobfo","pagePermalinkKey":"mdkbobfo","originalPublishingDate":"2021-10-06T07:42:32-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"578E8E5A-4510-4FC0-8133-30193EFCCE87","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10011":{"id":"news-10011","staticContentId":3995,"eventContentId":10011,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:47-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=03262020b","languageCode":"eng","description":"We greatly value the worldwide developer community, and appreciate your commitment to making a difference in people\u2019s lives through the power of technology. To accommodate developers who may need additional time to update their existing apps on the App Store, the deadline for adhering to the requirements below has been extended to June 30, 2020.","title":"Deadline for App Updates Has Been Extended","articleID":"4c775ab2-05c0-4d9e-8ec5-3b5914f3fbe6","pageID":"4c775ab2-05c0-4d9e-8ec5-3b5914f3fbe6","articlePermalinkKey":"03262020b","pagePermalinkKey":"03262020b","originalPublishingDate":"2020-03-26T15:10:02-07:00","publishingExpiryDate":"2040-03-26T13:58:30-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5CEAF268-E230-48D8-A235-1EC32AD51E78","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10250":{"id":"news-10250","staticContentId":5675,"eventContentId":10250,"eventId":"news","contentUpdatedAt":"2021-09-13T07:38:32-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ed5u0421","languageCode":"eng","description":"Join us on June 7 at 10 a.m. PDT as WWDC21 takes off with an all\u2011online experience and millions of the world\u2019s most talented developers. Mark your calendar for the Keynote and Platforms State of the Union. Learn about sessions, one-on-one labs, activities, and much more.","title":"And away we code.","articleID":"b6da9c2c-56cd-4dc4-b512-11d5f76ba500","pageID":"b6da9c2c-56cd-4dc4-b512-11d5f76ba500","articlePermalinkKey":"ed5u0421","pagePermalinkKey":"ed5u0421","originalPublishingDate":"2021-05-24T10:45:53-07:00","publishingExpiryDate":"2075-05-24T08:55:43-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C7C79C5A-CA02-495E-8BBE-3456BC73181A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10169":{"id":"news-10169","staticContentId":4568,"eventContentId":10169,"eventId":"news","contentUpdatedAt":"2021-09-13T07:16:59-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=i9a2mmd3","languageCode":"eng","description":"You can now view and respond to feedback filed by your team members if you\u2019re part of an organization in the Apple Developer Program, the Apple Developer Enterprise Program, Apple School Manager, or Apple Business Manager. And you\u2019ll still have a personal inbox for separate submissions, with the choice to move feedback to your team inbox at any time.","title":"Introducing teams for Feedback Assistant","articleID":"66d8c231-2057-4622-8c57-350d6bbd9046","pageID":"66d8c231-2057-4622-8c57-350d6bbd9046","articlePermalinkKey":"i9a2mmd3","pagePermalinkKey":"i9a2mmd3","originalPublishingDate":"2020-06-24T09:30:45-07:00","publishingExpiryDate":"2075-06-24T19:15:58-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"83D44B67-3D78-4123-B63A-8142723069DA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10219":{"id":"news-10219","staticContentId":4839,"eventContentId":10219,"eventId":"news","contentUpdatedAt":"2021-09-13T07:39:38-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=uye5c252","languageCode":"eng","description":"You can now view important details about your App Clips, such as the number of installations, sessions, and crashes. You can also see how users found your App Clips \u2014 for example, through an App Clip Code, Maps, or an external referral. App Clip data is available only from users who have agreed to share their diagnostics and usage information with app developers.","title":"App Analytics now includes App Clip data","articleID":"7b65b68d-e12f-49e5-afe2-a84142b8ad37","pageID":"7b65b68d-e12f-49e5-afe2-a84142b8ad37","articlePermalinkKey":"uye5c252","pagePermalinkKey":"uye5c252","originalPublishingDate":"2021-02-22T15:30:52-08:00","publishingExpiryDate":"2075-02-22T18:43:48-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C217B725-CCCA-435A-BB11-932FF1636293","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10180":{"id":"news-10180","staticContentId":4716,"eventContentId":10180,"eventId":"news","contentUpdatedAt":"2021-09-13T07:16:28-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=nue1z72t","languageCode":"eng","description":"The Apple sandbox environment lets you test in-app purchases on devices using product information set up in App Store Connect. You can now test upgrades, downgrades, and cancellations for subscriptions, as well as reset the introductory offer eligibility for a test account from Settings on devices running iOS 14 or later. You can also test your app\u2019s response to interrupted purchases on devices running iOS 14 or later. And App Store Connect users with the Developer role can now create and manage sandbox tester accounts.\n\nLearn about testing in-app purchases in sandbox\n\nLearn about testing at all stages of development","title":"Enhancements to sandbox testing now available","articleID":"ca89285c-091a-4b78-8c2a-5656baf9cf22","pageID":"ca89285c-091a-4b78-8c2a-5656baf9cf22","articlePermalinkKey":"nue1z72t","pagePermalinkKey":"nue1z72t","originalPublishingDate":"2020-09-09T12:00:07-07:00","publishingExpiryDate":"2075-09-09T16:25:10-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0D052B96-DA02-4927-B662-E6B0B06B0BAF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10207":{"id":"news-10207","staticContentId":4785,"eventContentId":10207,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:04-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=kw16tplo","languageCode":"eng","description":"As the world fights COVID-19, we recognize that adapting experiences from in-person to digital continues to be a top priority. Although apps are required to offer any paid online group event experiences (one-to-few and one-to-many realtime experiences) through in-app purchase in accordance with App Store Review guideline 3.1.1, we temporarily deferred this requirement with an original deadline of December 2020. To allow additional time for developing in-app purchase solutions, this deadline has been extended to June 30, 2021.","title":"Deadline extended for online group event in-app purchase requirement ","articleID":"f4d012cf-7484-439d-9bc7-b4932ff9684e","pageID":"f4d012cf-7484-439d-9bc7-b4932ff9684e","articlePermalinkKey":"kw16tplo","pagePermalinkKey":"kw16tplo","originalPublishingDate":"2020-11-23T09:52:33-08:00","publishingExpiryDate":"2075-11-23T18:37:32-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F40EA49A-64C3-465B-90D7-7645B4BFFCB3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110310":{"id":"news-110310","staticContentId":9371,"eventContentId":110310,"eventId":"news","contentUpdatedAt":"2024-04-23T12:56:06-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=zbd1c67x","languageCode":"eng","description":"Drive discovery and downloads on the App\u00a0Store with Apple\u00a0Search\u00a0Ads in 70 countries and regions, now including Brazil, Bolivia, Costa Rica, the Dominican Republic, El Salvador, Guatemala, Honduras, Panama, and Paraguay.","title":"Apple Search Ads now available in Brazil and more Latin\u00a0American markets","articleID":"b4bbee82-6864-429b-b569-c6aad5b5abcb","pageID":"b4bbee82-6864-429b-b569-c6aad5b5abcb","articlePermalinkKey":"zbd1c67x","pagePermalinkKey":"zbd1c67x","originalPublishingDate":"2024-04-23T07:00:37-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0DE75479-29FD-4F8D-87F1-312ED8FAA831","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110291":{"id":"news-110291","staticContentId":9190,"eventContentId":110291,"eventId":"news","contentUpdatedAt":"2024-02-05T08:56:12-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=vn4toshi","languageCode":"eng","description":"Every year, the Swift Student Challenge aims to inspire students to create amazing app playgrounds that can make life better for their communities \u2014 and beyond.","title":"Apply for the Swift Student Challenge now through February 25","articleID":"e7770e71-b268-4ae3-b35d-1dae16daa2bd","pageID":"e7770e71-b268-4ae3-b35d-1dae16daa2bd","articlePermalinkKey":"vn4toshi","pagePermalinkKey":"vn4toshi","originalPublishingDate":"2024-02-05T08:00:58-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"ABC15345-E335-448C-BC0E-4DA8B6EB7C7B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110195":{"id":"news-110195","staticContentId":7726,"eventContentId":110195,"eventId":"news","contentUpdatedAt":"2022-09-14T14:01:13-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ttuz9vwq","languageCode":"eng","description":"Discover how you can build Live\u00a0Activities for your apps using the new ActivityKit framework, now available in iOS\u00a016.1\u00a0beta and Xcode\u00a014.1\u00a0beta. Live\u00a0Activities help people keep track of your app\u2019s content with real-time updates. Your app\u2019s Live\u00a0Activities display on the Lock Screen and in Dynamic Island \u2014 a new design that introduces an intuitive, delightful way to experience iPhone\u00a014\u00a0Pro and iPhone\u00a014\u00a0Pro\u00a0Max.","title":"Develop for Live Activities with iOS\u00a016.1\u00a0beta and Xcode\u00a014.1\u00a0beta","articleID":"9bc7eee4-615e-4e5d-b130-3ef07c4b37d1","pageID":"9bc7eee4-615e-4e5d-b130-3ef07c4b37d1","articlePermalinkKey":"ttuz9vwq","pagePermalinkKey":"ttuz9vwq","originalPublishingDate":"2022-09-14T11:18:52-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3D727018-59F9-4828-859E-3E62B70FD7D6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10190":{"id":"news-10190","staticContentId":4740,"eventContentId":10190,"eventId":"news","contentUpdatedAt":"2021-09-13T07:30:58-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=c88acm2b","languageCode":"eng","description":"The HTTP\/2-based Apple Push Notification service (APNs) provider API lets you take advantage of great features, such as authentication with a JSON Web Token, improved error messaging, and per-notification feedback. If you send push notifications with the legacy binary protocol, we strongly recommend upgrading to the APNs provider API.","title":"Updated APNs provider API deadline","articleID":"cedc6ecd-e18a-416d-8c67-89b28105b671","pageID":"cedc6ecd-e18a-416d-8c67-89b28105b671","articlePermalinkKey":"c88acm2b","pagePermalinkKey":"c88acm2b","originalPublishingDate":"2020-10-09T15:15:56-07:00","publishingExpiryDate":"2075-10-09T15:18:29-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"97E13F4F-7B42-41E6-9D80-532E174EF2FB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112063":{"id":"news-112063","staticContentId":10793,"eventContentId":112063,"eventId":"news","contentUpdatedAt":"2026-02-16T10:27:52-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=xgkk9w83","languageCode":"eng","description":"The beta versions of iOS\u00a026.4, iPadOS\u00a026.4, macOS\u00a026.4, tvOS\u00a026.4, visionOS\u00a026.4, and watchOS\u00a026.4 are now available. Get your apps ready by confirming they work as expected on these releases. And make sure to build and test with Xcode 26.4 beta to take advantage of the advancements in the latest SDKs.","title":"Get ready with the latest beta releases","articleID":"45feab42-5849-4645-9696-fee2d619abdc","pageID":"45feab42-5849-4645-9696-fee2d619abdc","articlePermalinkKey":"xgkk9w83","pagePermalinkKey":"xgkk9w83","originalPublishingDate":"2026-02-16T07:00:14-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B1864482-5EB4-4059-9CC6-D7CAD797E44E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10313":{"id":"news-10313","staticContentId":6403,"eventContentId":10313,"eventId":"news","contentUpdatedAt":"2023-02-10T10:00:50-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4li349ao","languageCode":"eng","description":"When taxes or foreign exchange rates change, we sometimes need to update prices on the App Store in certain regions and\/or adjust your proceeds. In the next few days, prices of apps and in-app purchases (excluding auto-renewable subscriptions) on the App Store will increase in T\u00fcrkiye.","title":"Upcoming price changes on the App Store in T\u00fcrkiye","articleID":"93fc5af0-1d6c-4b0e-a0d0-0f1fbe6bf84e","pageID":"93fc5af0-1d6c-4b0e-a0d0-0f1fbe6bf84e","articlePermalinkKey":"4li349ao","pagePermalinkKey":"4li349ao","originalPublishingDate":"2021-12-08T13:28:44-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1D90FCD5-44CB-4CDC-B69F-27CFE2890E28","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10267":{"id":"news-10267","staticContentId":5835,"eventContentId":10267,"eventId":"news","contentUpdatedAt":"2021-09-13T07:18:35-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=pqanb1cj","languageCode":"eng","description":"Thank you to everyone who joined us for an amazing week. We hope you found value, connection, and fun. You can continue to:","title":"WWDC21 resources and survey","articleID":"59a9bb37-902e-4b8f-9f00-ef093933a0c8","pageID":"59a9bb37-902e-4b8f-9f00-ef093933a0c8","articlePermalinkKey":"pqanb1cj","pagePermalinkKey":"pqanb1cj","originalPublishingDate":"2021-06-11T04:00:12-07:00","publishingExpiryDate":"2075-05-12T00:00:00-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"061BEBA2-7FA5-4866-BC43-180095F535E7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10294":{"id":"news-10294","staticContentId":6331,"eventContentId":10294,"eventId":"news","contentUpdatedAt":"2021-10-25T14:49:43-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=srunfdv7","languageCode":"eng","description":"Apple Entrepreneur Camp supports underrepresented founders and developers as they build the next generation of cutting-edge apps and helps form a global network that encourages the pipeline and longevity of these entrepreneurs in technology.","title":"Apple Entrepreneur Camp applications open for Black, Hispanic\/Latinx, or female founders","articleID":"7a9c7ace-8a0d-4140-afa7-0ef5de7e6c30","pageID":"7a9c7ace-8a0d-4140-afa7-0ef5de7e6c30","articlePermalinkKey":"srunfdv7","pagePermalinkKey":"srunfdv7","originalPublishingDate":"2021-10-25T14:45:34-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3C39BD7C-DD70-47B4-9834-5C9ACB944CD8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10174":{"id":"news-10174","staticContentId":4701,"eventContentId":10174,"eventId":"news","contentUpdatedAt":"2021-09-13T07:16:44-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=zzqb4otp","languageCode":"eng","description":"You can now watch the Special Event Keynote, Platforms State of the Union, and over 200 sessions from this year\u2019s Apple Worldwide Developers Conference with Japanese and Simplified Chinese subtitles. Available on the web, iPhone, iPad, Mac, and Apple TV.\n\nView WWDC20 videos","title":"WWDC20 video subtitles now in more languages","articleID":"29fc53aa-17df-4a79-ad30-cc6c12c19832","pageID":"29fc53aa-17df-4a79-ad30-cc6c12c19832","articlePermalinkKey":"zzqb4otp","pagePermalinkKey":"zzqb4otp","originalPublishingDate":"2020-08-31T10:00:55-07:00","publishingExpiryDate":"2075-08-31T12:33:18-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"6B6E1FA7-FDA6-401B-85C9-33EE92695644","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112120":{"id":"news-112120","staticContentId":11288,"eventContentId":112120,"eventId":"news","contentUpdatedAt":"2026-06-23T14:21:26-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=e2lxw9l1","languageCode":"eng","description":"Apple design kits for Figma and Sketch are now available for iOS, iPadOS, and macOS 27.","title":"Design kits for iOS, iPadOS, and macOS 27 are here","articleID":"6709e184-73e2-48f2-a3fd-cd7aa69bfb08","pageID":"6709e184-73e2-48f2-a3fd-cd7aa69bfb08","articlePermalinkKey":"e2lxw9l1","pagePermalinkKey":"e2lxw9l1","originalPublishingDate":"2026-06-23T14:00:01-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5EA37AF2-4E7C-4656-92D8-9328FD816B30","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-10185":{"id":"news-10185","staticContentId":4728,"eventContentId":10185,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:58-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=xb9rienu","languageCode":"eng","description":"The latest version of Schoolwork, the powerful iPad app for teachers and students that helps them keep track of assignments and student progress, is now available. Make sure your app takes advantage of the latest ClassKit features to provide a great user experience. With the new ClassKit Catalog API, you can declare contexts ahead of time instead of at runtime, include keywords, and support a large number of assignable activities. Teachers can browse your app\u2019s activities in Schoolwork before running your app for the first time on their device. Available in beta, this REST API can be tested with Schoolwork 2.1. And on iPadOS 14, ClassKit supports rich new metadata properties to make your content more discoverable by teachers in Schoolwork.","title":"Get your education apps ready for Schoolwork 2.1 beta","articleID":"179abbe9-0768-4860-84c8-411cd0dc7f41","pageID":"179abbe9-0768-4860-84c8-411cd0dc7f41","articlePermalinkKey":"xb9rienu","pagePermalinkKey":"xb9rienu","originalPublishingDate":"2020-09-23T11:15:10-07:00","publishingExpiryDate":"2075-09-23T11:22:13-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"6E8F17A5-B3CE-4B2D-84C1-D3693C82836E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10165":{"id":"news-10165","staticContentId":4564,"eventContentId":10165,"eventId":"news","contentUpdatedAt":"2021-09-13T07:17:14-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=aym5xv8b","languageCode":"eng","description":"New tools in Core ML enable secure, cloud-based model deployment and model encryption, Create ML offers new templates and training capabilities, and new APIs for Vision and Natural Language give your apps more power. You can also work with third-party training libraries more easily with updated model converters and accelerated training support on Mac.\n","title":"Machine learning updates now available","articleID":"21be4440-6fbe-4f4c-bd9e-b7a6115a6bed","pageID":"21be4440-6fbe-4f4c-bd9e-b7a6115a6bed","articlePermalinkKey":"aym5xv8b","pagePermalinkKey":"aym5xv8b","originalPublishingDate":"2020-06-24T09:50:20-07:00","publishingExpiryDate":"2075-06-24T19:37:05-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1B25C61B-CE81-4108-8553-0534D1785398","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110260":{"id":"news-110260","staticContentId":9077,"eventContentId":110260,"eventId":"news","contentUpdatedAt":"2023-09-27T12:47:34-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9elbxclp","languageCode":"eng","description":"The beta versions of iOS 17.1, iPadOS 17.1, macOS 14.1, tvOS 17.1, and watchOS 10.1 are now available. Get your apps ready by confirming they work as expected on these releases. And to take advantage of the advancements in the latest SDKs, make sure to build and test with Xcode 15.","title":"Get ready with the latest beta releases","articleID":"fcc8db28-bd54-4d0f-905d-dcec825b419b","pageID":"fcc8db28-bd54-4d0f-905d-dcec825b419b","articlePermalinkKey":"9elbxclp","pagePermalinkKey":"9elbxclp","originalPublishingDate":"2023-09-27T12:00:46-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"CA8453E3-0BC8-49E3-A39D-81CB7A2E9E01","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10189":{"id":"news-10189","staticContentId":4738,"eventContentId":10189,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:06-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=edwud51q","languageCode":"eng","description":"Apple designed WKWebView in 2014 to ensure that you can integrate web content into your app quickly, securely, and consistently across iOS and macOS. Since then, we\u2019ve recommended that you adopt WKWebView instead of UIWebView and WebView \u2014 both of which were formally deprecated. New apps containing these frameworks are no longer accepted by the App Store. And last year, we announced that the App Store will no longer accept app updates containing UIWebView as of December 2020. ","title":"Deadline extended for app updates using UIWebView ","articleID":"2d3ffc99-ff3b-4570-a603-42f0a056bafd","pageID":"2d3ffc99-ff3b-4570-a603-42f0a056bafd","articlePermalinkKey":"edwud51q","pagePermalinkKey":"edwud51q","originalPublishingDate":"2020-10-08T12:29:24-07:00","publishingExpiryDate":"2075-10-08T13:15:46-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7C2CA427-CE08-452A-A604-A48B12D2509E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110181":{"id":"news-110181","staticContentId":7468,"eventContentId":110181,"eventId":"news","contentUpdatedAt":"2022-06-30T00:01:19-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=q0feipe4","languageCode":"eng","description":"Apple designed the App Store to be a safe and trusted place to discover and download apps. Apple\u2019s in-app purchase system, an integral part of our world-class commerce platform, offers people around the world a private and secure user experience across apps and Apple devices, and makes it easy for them to manage their purchases and subscriptions for digital goods and services.","title":"Update on apps distributed in South Korea","articleID":"4a3038d4-a73c-4b9e-ae6d-9aba85d24575","pageID":"4a3038d4-a73c-4b9e-ae6d-9aba85d24575","articlePermalinkKey":"q0feipe4","pagePermalinkKey":"q0feipe4","originalPublishingDate":"2022-06-30T00:00:31-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4A986099-3632-4193-B55D-E3E6E270943E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110295":{"id":"news-110295","staticContentId":9210,"eventContentId":110295,"eventId":"news","contentUpdatedAt":"2024-02-28T09:49:32-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=11ojrqk9","languageCode":"eng","description":"iOS\u00a017.4, iPadOS\u00a017.4, macOS\u00a014.4, tvOS\u00a017.4, visionOS\u00a01.1, and watchOS\u00a010.4 will soon be available to customers worldwide. Build your apps and games using the Xcode\u00a015.3 Release Candidate and latest SDKs, then test them using TestFlight. You can submit your iPhone and iPad apps today.","title":"App submissions now open for the latest OS releases","articleID":"3911767e-42d5-4c02-bdd5-fc54f4406f45","pageID":"3911767e-42d5-4c02-bdd5-fc54f4406f45","articlePermalinkKey":"11ojrqk9","pagePermalinkKey":"11ojrqk9","originalPublishingDate":"2024-02-28T07:00:11-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7100A47C-A02C-40F2-9597-9BA8B19B4706","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110184":{"id":"news-110184","staticContentId":7488,"eventContentId":110184,"eventId":"news","contentUpdatedAt":"2022-07-26T10:22:50-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=20ikqram","languageCode":"eng","description":"Get ready to connect with experts online to learn how to make the most of App Store features. Discover how to attract new customers, test marketing strategies, add subscriptions, and so much more. Live presentations with Q&A will be held throughout August in multiple time zones and languages. Register today if you\u2019re a member of the Apple Developer Program.","title":"Meet with App Store experts","articleID":"aa0de32a-8213-4503-bf2c-f15a772b8063","pageID":"aa0de32a-8213-4503-bf2c-f15a772b8063","articlePermalinkKey":"20ikqram","pagePermalinkKey":"20ikqram","originalPublishingDate":"2022-07-26T08:00:47-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"94466450-BE25-4D4F-BB69-34953F8A50E4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110274":{"id":"news-110274","staticContentId":9126,"eventContentId":110274,"eventId":"news","contentUpdatedAt":"2023-11-29T19:41:32-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=0iphuoc7","languageCode":"eng","description":"Join us in celebrating the work of these outstanding developers from around the world!","title":"App Store Award winners announced","articleID":"d922d274-b7c3-44c0-826b-7de38b8a770f","pageID":"d922d274-b7c3-44c0-826b-7de38b8a770f","articlePermalinkKey":"0iphuoc7","pagePermalinkKey":"0iphuoc7","originalPublishingDate":"2023-11-29T14:00:59-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A71E6B33-63F7-4F1B-99A2-D0224DB9298E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10191":{"id":"news-10191","staticContentId":4746,"eventContentId":10191,"eventId":"news","contentUpdatedAt":"2021-09-13T07:30:55-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=17o0h655","languageCode":"eng","description":"Now you can let customers pre-order your app up to 180 days before it\u2019s released for download on the App Store. Take advantage of this longer lead time to build more excitement for your app\u2019s features, services, and content, and to encourage more pre-orders. Once your app is released, customers will be notified and it will automatically download to their device within 24 hours.","title":"Offer your apps for pre-order even earlier","articleID":"f09a78a6-465c-4883-950e-c2adc3ca579d","pageID":"f09a78a6-465c-4883-950e-c2adc3ca579d","articlePermalinkKey":"17o0h655","pagePermalinkKey":"17o0h655","originalPublishingDate":"2020-10-15T14:30:52-07:00","publishingExpiryDate":"2075-10-15T16:58:44-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"91B8785C-79AF-4824-A737-EABEC2DE5EE8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10281":{"id":"news-10281","staticContentId":5995,"eventContentId":10281,"eventId":"news","contentUpdatedAt":"2021-09-21T09:26:54-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=7h3vwlh5","languageCode":"eng","description":"With iOS 15, users can download and store verifiable health records, including COVID-19 vaccinations and test results, in the Health app. Verifiable health records in the Health app are based on the SMART Health Cards specification. Users can choose to share verifiable health records stored in the Health app with approved third-party apps requesting this information, like airlines, event venues, and other businesses that facilitate in-person interactions. And in an upcoming software update, they can also choose to add verifiable COVID-19 vaccination records as a vaccination card in Apple Wallet to present to businesses, venues, and more.","title":"Verifiable health records updates","articleID":"3dd482f8-46c3-49ed-9351-29315246dc58","pageID":"3dd482f8-46c3-49ed-9351-29315246dc58","articlePermalinkKey":"7h3vwlh5","pagePermalinkKey":"7h3vwlh5","originalPublishingDate":"2021-09-21T09:18:21-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D17D7404-D5E0-4FA7-A72C-BF25DB6E0E99","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110290":{"id":"news-110290","staticContentId":9189,"eventContentId":110290,"eventId":"news","contentUpdatedAt":"2024-02-06T09:18:40-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=fxu2qp7b","languageCode":"eng","description":"Apps uploaded to App Store Connect must be built with Xcode 15 for iOS 17, iPadOS 17, tvOS 17, and watchOS 10 starting April 29, 2024.","title":"App Store Connect upload requirement starts April 29","articleID":"e1523ba9-304f-442b-a5e3-fcd995c676b3","pageID":"e1523ba9-304f-442b-a5e3-fcd995c676b3","articlePermalinkKey":"fxu2qp7b","pagePermalinkKey":"fxu2qp7b","originalPublishingDate":"2024-02-06T07:00:43-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"708E4046-5A8B-4E7E-BEE8-DD65E0C402EB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10157":{"id":"news-10157","staticContentId":4432,"eventContentId":10157,"eventId":"news","contentUpdatedAt":"2021-09-13T07:17:25-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=06192020a","languageCode":"eng","description":"The Apple Developer Forums have been completely redesigned, so they're more engaging to use, automatically surface the most relevant content, offer simpler navigation, and make it easier to categorize and search for content. Connect with fellow developers and Apple engineers as you give and receive help on a wide variety of development topics, from implementing new technologies to established best practices. And during WWDC20, the forums will be a central place to engage with the community and over 1,000 Apple engineers, discuss new technologies, and get your questions answered.\n\nVisit the Apple Developer Forums","title":"All-new Apple Developer Forums now available","articleID":"03730e93-1db8-4686-8143-fb54fb6a874e","pageID":"03730e93-1db8-4686-8143-fb54fb6a874e","articlePermalinkKey":"06192020a","pagePermalinkKey":"06192020a","originalPublishingDate":"2020-06-19T10:00:11-07:00","publishingExpiryDate":"2030-06-20T19:03:46-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"19886D96-E8F8-428B-8248-B978287EAA0B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112114":{"id":"news-112114","staticContentId":11279,"eventContentId":112114,"eventId":"news","contentUpdatedAt":"2026-06-15T15:32:53-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=sus6t6ab","languageCode":"eng","description":"Later this summer, Apple will unify the email domains used by Sign\u00a0in\u00a0with\u00a0Apple and iCloud+\u00a0Hide\u00a0My\u00a0Email under a single, shared domain: private.icloud.com.","title":"New domain for Sign\u00a0in\u00a0with\u00a0Apple and iCloud+\u00a0Hide\u00a0My\u00a0Email","articleID":"0f7732d4-3213-4bfa-adc7-f73046345c59","pageID":"0f7732d4-3213-4bfa-adc7-f73046345c59","articlePermalinkKey":"sus6t6ab","pagePermalinkKey":"sus6t6ab","originalPublishingDate":"2026-06-15T15:00:28-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F5F6B086-B7AE-49F9-9F4E-CB180E77ABEE","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-111952":{"id":"news-111952","staticContentId":9825,"eventContentId":111952,"eventId":"news","contentUpdatedAt":"2024-10-17T09:55:08-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=09za8wzy","languageCode":"eng","description":"The Certification Authority (CA) for Apple Push Notification service (APNs) is changing. APNs will update the server certificates in sandbox on January\u00a020,\u00a02025, and in production on Feburary\u00a024,\u00a02025.","title":"Apple Push Notification service server certificate update","articleID":"64ef4724-54ff-4f92-8667-7ef381d61202","pageID":"64ef4724-54ff-4f92-8667-7ef381d61202","articlePermalinkKey":"09za8wzy","pagePermalinkKey":"09za8wzy","originalPublishingDate":"2024-10-17T09:00:41-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"EF834C20-12D6-43D0-8665-B49D6CDC685F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10196":{"id":"news-10196","staticContentId":4767,"eventContentId":10196,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:34-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=vlj9jty9","languageCode":"eng","description":"Later this year, the App Store will help users understand an app\u2019s privacy practices before they download the app on any Apple platform. On each app\u2019s product page, users can learn about some of the data types the app may collect, and whether that data is linked to them or used to track them. You can now enter your app\u2019s privacy information in App Store Connect. This information will be required to submit new apps and app updates to the App Store starting December 8, 2020.","title":"App privacy questions available in App Store Connect","articleID":"e1bffd6f-9345-4b41-8a2f-7a6c573090f7","pageID":"e1bffd6f-9345-4b41-8a2f-7a6c573090f7","articlePermalinkKey":"vlj9jty9","pagePermalinkKey":"vlj9jty9","originalPublishingDate":"2020-11-05T12:00:07-08:00","publishingExpiryDate":"2075-11-05T14:27:58-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"CA5FBC69-F101-4997-9423-FE80B0434C05","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110226":{"id":"news-110226","staticContentId":8357,"eventContentId":110226,"eventId":"news","contentUpdatedAt":"2023-03-28T14:12:40-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=2cakrt06","languageCode":"eng","description":"The beta versions of iOS\u00a016.5, iPadOS\u00a016.5, macOS\u00a013.4, tvOS\u00a016.5, and watchOS\u00a09.5 are now available. Get your apps ready by confirming they work as expected on these releases. And to take advantage of the advancements in the latest SDKs, make sure to build and test with Xcode\u00a014.3.","title":"Get ready with the latest beta releases","articleID":"63f78248-3ba1-464b-847c-393965fe00d2","pageID":"63f78248-3ba1-464b-847c-393965fe00d2","articlePermalinkKey":"2cakrt06","pagePermalinkKey":"2cakrt06","originalPublishingDate":"2023-03-28T12:50:48-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E653D3FB-EAA5-4C1E-9AD1-264D7069547B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110211":{"id":"news-110211","staticContentId":7938,"eventContentId":110211,"eventId":"news","contentUpdatedAt":"2022-12-06T10:23:16-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=qzex35ch","languageCode":"eng","description":"Apple today announced the most comprehensive upgrade to pricing capabilities since the App\u00a0Store first launched, providing developers with 700 additional price points and new pricing tools that will make it easier to set prices per App\u00a0Store country or region, manage foreign exchange rate changes, and\u00a0more.","title":"Apple announces biggest upgrade to App Store pricing, adding 700 new price points","articleID":"2136ec99-75a3-4fb6-9659-f2127279b1d6","pageID":"2136ec99-75a3-4fb6-9659-f2127279b1d6","articlePermalinkKey":"qzex35ch","pagePermalinkKey":"qzex35ch","originalPublishingDate":"2022-12-06T10:20:33-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D32F5094-95DD-4858-9316-12886ED65A9A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110269":{"id":"news-110269","staticContentId":9096,"eventContentId":110269,"eventId":"news","contentUpdatedAt":"2023-10-26T10:57:09-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=1ly0bcfj","languageCode":"eng","description":"The beta versions of iOS 17.2, iPadOS 17.2, macOS 14.2, tvOS 17.2, and watchOS 10.2 are now available. Get your apps ready by confirming they work as expected on these releases. And to take advantage of the advancements in the latest SDKs, make sure to build and test with Xcode 15.1 beta.","title":"Get ready with the latest beta releases","articleID":"e4bf741f-adf5-4755-96b1-e9c0a3ece5cc","pageID":"e4bf741f-adf5-4755-96b1-e9c0a3ece5cc","articlePermalinkKey":"1ly0bcfj","pagePermalinkKey":"1ly0bcfj","originalPublishingDate":"2023-10-26T08:00:28-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D46C356F-12FA-4868-B246-308FA1133D25","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10005":{"id":"news-10005","staticContentId":3989,"eventContentId":10005,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:59-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=04212020a","languageCode":"eng","description":"You can now distribute your apps in 175 countries and regions on the App Store, allowing you to increase your impact and grow your business. As you deliver great experiences to an even more diverse audience, learn how you can localize your apps, product pages, and marketing materials to better connect with customers in different locations.","title":"The App Store Expands to 20 New Countries","articleID":"ae16c13d-8a01-4313-9bd8-41a6c91673a0","pageID":"ae16c13d-8a01-4313-9bd8-41a6c91673a0","articlePermalinkKey":"04212020a","pagePermalinkKey":"04212020a","originalPublishingDate":"2020-04-21T00:40:25-07:00","publishingExpiryDate":"2040-04-21T13:37:59-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5C1DD360-F814-4CE7-B105-725B1E303513","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10004":{"id":"news-10004","staticContentId":3988,"eventContentId":10004,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:59-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=05052020a","languageCode":"eng","description":"On June 22, WWDC20 takes off. ","title":"Ready. Set. Code","articleID":"5fe1efc9-086c-462f-b863-48f34118394a","pageID":"5fe1efc9-086c-462f-b863-48f34118394a","articlePermalinkKey":"05052020a","pagePermalinkKey":"05052020a","originalPublishingDate":"2020-05-05T09:00:59-07:00","publishingExpiryDate":"2030-05-05T17:57:49-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"58996A5B-88CE-463A-8C41-ED12FBD4CB10","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10228":{"id":"news-10228","staticContentId":4896,"eventContentId":10228,"eventId":"news","contentUpdatedAt":"2021-09-13T07:37:09-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=l9sdah8l","languageCode":"eng","description":"With the recent release of COVID-19 vaccines, we\u2019ve seen an increase in apps that generate health passes used to enter buildings and access in-person services based on testing and vaccination records. To ensure these apps responsibly handle sensitive data and provide reliable functionality, they must be submitted by developers working with entities recognized by public health authorities, such as test kit manufacturers, laboratories, or healthcare providers. As with other apps related to COVID-19, we also accept apps submitted directly by government, medical, and other credentialed institutions.","title":"Submitting health pass apps","articleID":"6af0795d-a7cc-4e73-bbbd-5d1138b08570","pageID":"6af0795d-a7cc-4e73-bbbd-5d1138b08570","articlePermalinkKey":"l9sdah8l","pagePermalinkKey":"l9sdah8l","originalPublishingDate":"2021-02-16T15:29:23-08:00","publishingExpiryDate":"2075-02-16T10:32:03-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A6A02B34-0E41-41F2-AE51-79014DA01398","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10193":{"id":"news-10193","staticContentId":4751,"eventContentId":10193,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:13-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ul8i5to3","languageCode":"eng","description":"When taxes or foreign exchange rates change, we sometimes need to update prices on the App Store in certain regions and\/or adjust your proceeds. In the next few days, your proceeds will be adjusted in the following regions and will be calculated based on the tax-exclusive price. ","title":"Upcoming tax and price changes for apps and in-app purchases","articleID":"dcdd7f10-e09b-4a63-86b3-d16e3d3ebda3","pageID":"dcdd7f10-e09b-4a63-86b3-d16e3d3ebda3","articlePermalinkKey":"ul8i5to3","pagePermalinkKey":"ul8i5to3","originalPublishingDate":"2020-10-26T16:15:43-07:00","publishingExpiryDate":"2075-10-26T12:40:57-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0BA87F8E-377D-4688-BDAD-CD75D572C7D5","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110178":{"id":"news-110178","staticContentId":7408,"eventContentId":110178,"eventId":"news","contentUpdatedAt":"2022-06-10T14:17:25-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=h6tsfrn7","languageCode":"eng","description":"Thank you to everyone who joined us for an amazing week. We hope you found value, connection, and fun.","title":"WWDC22 resources and survey","articleID":"03dbb118-0f8b-4faa-9f11-a651e0f66cc6","pageID":"03dbb118-0f8b-4faa-9f11-a651e0f66cc6","articlePermalinkKey":"h6tsfrn7","pagePermalinkKey":"h6tsfrn7","originalPublishingDate":"2022-06-10T14:16:16-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E148D02C-1F62-40EE-AD29-D9FE4FD71B24","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110270":{"id":"news-110270","staticContentId":9108,"eventContentId":110270,"eventId":"news","contentUpdatedAt":"2023-11-07T09:27:50-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=46ox5uok","languageCode":"eng","description":"Ready to level up your app or game? Join us around the world for a new set of developer labs, consultations, sessions, and workshops, hosted in person and online throughout November and December.","title":"Over 30 new developer activities now available","articleID":"37a0dd44-57b5-406f-9ee8-168202719f3f","pageID":"37a0dd44-57b5-406f-9ee8-168202719f3f","articlePermalinkKey":"46ox5uok","pagePermalinkKey":"46ox5uok","originalPublishingDate":"2023-11-07T07:00:13-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"117B56C7-F305-42A0-8007-F9F59D23B2E6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10327":{"id":"news-10327","staticContentId":6423,"eventContentId":10327,"eventId":"news","contentUpdatedAt":"2022-01-25T16:29:01-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=tff7423p","languageCode":"eng","description":"The App Store Connect API now offers greater flexibility to automate and customize workflows for your app. With these new capabilities, you can create and submit in-app events, custom product pages, and product page optimization tests. This release also includes support for the updated App Store submission experience, which lets you submit multiple items, submit without a new app version, and retrieve submission statuses. ","title":"New App Store Connect API capabilities now available","articleID":"caff2c46-b612-40f4-add6-a2d232f10526","pageID":"caff2c46-b612-40f4-add6-a2d232f10526","articlePermalinkKey":"tff7423p","pagePermalinkKey":"tff7423p","originalPublishingDate":"2022-01-25T16:27:41-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"EA4C0D89-CF20-413F-AF98-CF5ABBCE3B1A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111963":{"id":"news-111963","staticContentId":9843,"eventContentId":111963,"eventId":"news","contentUpdatedAt":"2024-12-11T09:47:26-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=t9ha5xqc","languageCode":"eng","description":"Join us in celebrating the outstanding work of these developers from around the world.","title":"App Store Award winners announced","articleID":"72691087-b0c2-4f6c-a44d-d02f2827d1be","pageID":"72691087-b0c2-4f6c-a44d-d02f2827d1be","articlePermalinkKey":"t9ha5xqc","pagePermalinkKey":"t9ha5xqc","originalPublishingDate":"2024-12-11T09:00:25-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B1568CC8-78AD-4434-A58A-620AF5D28BA7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112053":{"id":"news-112053","staticContentId":10689,"eventContentId":112053,"eventId":"news","contentUpdatedAt":"2025-12-18T09:05:03-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=76371du6","languageCode":"eng","description":"The Apple Developer Program License Agreement has been revised to support new features, updated policies, and to provide clarification. Please review the changes and sign in to your account to accept the updated terms.","title":"Updated Apple Developer Program License Agreement now available","articleID":"bbe4eb8a-7325-48c0-83f2-e91c73585bfc","pageID":"bbe4eb8a-7325-48c0-83f2-e91c73585bfc","articlePermalinkKey":"76371du6","pagePermalinkKey":"76371du6","originalPublishingDate":"2025-12-17T08:00:15-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3C76F3B2-6EC5-4403-B66C-9E65430FFFD6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110261":{"id":"news-110261","staticContentId":9078,"eventContentId":110261,"eventId":"news","contentUpdatedAt":"2023-09-13T13:14:35-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=mxi8tibj","languageCode":"eng","description":"Offering your app or game for pre-order is a great way to build awareness and excitement for your upcoming releases on the App\u00a0Store. And now you can offer pre-orders on a regional basis. People can pre-order your app in a set of regions that you choose, even while it\u2019s available for download in other regions at the same time. With this new flexibility, you can expand your app to new regions by offering it for pre-order and set different release dates for each region.","title":"Pre-orders by region now available","articleID":"d52a9361-6c0b-4a5c-b68b-07dac805e5bd","pageID":"d52a9361-6c0b-4a5c-b68b-07dac805e5bd","articlePermalinkKey":"mxi8tibj","pagePermalinkKey":"mxi8tibj","originalPublishingDate":"2023-09-13T10:45:23-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"DCCD98CA-DC8E-4E3D-8E1F-6A0938E32278","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10164":{"id":"news-10164","staticContentId":4560,"eventContentId":10164,"eventId":"news","contentUpdatedAt":"2021-09-13T07:26:03-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6g5y3fgr","languageCode":"eng","description":"You can now connect with over 1,000 Apple engineers on the all-new Apple Developer Forums through WWDC20 tags specific to sessions and topics.","title":"WWDC20 session and topic tags now available","articleID":"5b1ea5a0-a9c4-42d0-8c5e-4cf5cfbd8897","pageID":"5b1ea5a0-a9c4-42d0-8c5e-4cf5cfbd8897","articlePermalinkKey":"6g5y3fgr","pagePermalinkKey":"6g5y3fgr","originalPublishingDate":"2020-06-23T10:47:49-07:00","publishingExpiryDate":"2075-06-23T10:57:18-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"12E816B6-D8D7-433C-9314-F74D15EBC396","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112023":{"id":"news-112023","staticContentId":10613,"eventContentId":112023,"eventId":"news","contentUpdatedAt":"2025-10-08T09:04:15-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=btkirlj8","languageCode":"eng","description":"At Apple, our goal is to create technology that enriches people\u2019s lives while helping them stay safe online and protecting their privacy. That\u2019s why we create industry-leading featuresto help developers provide age-appropriate experiences and safeguard privacy in their apps and games, and empower parents with a comprehensive set of tools tohelp keep their kids safe online.","title":"New requirements for apps available in Texas","articleID":"4d194994-239f-4505-a8c2-bffff03e04e3","pageID":"4d194994-239f-4505-a8c2-bffff03e04e3","articlePermalinkKey":"btkirlj8","pagePermalinkKey":"btkirlj8","originalPublishingDate":"2025-10-08T05:00:09-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"55676447-2CC7-4ACD-BB7C-BEAB5C583137","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10316":{"id":"news-10316","staticContentId":6409,"eventContentId":10316,"eventId":"news","contentUpdatedAt":"2021-12-13T16:06:02-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=pkrbd1kw","languageCode":"eng","description":"The Apple Developer Agreement, Program License Agreement, and Schedules 1, 2, and 3 have been updated to provide clarification, and to support updated policies and upcoming features.","title":"Updated agreements now available","articleID":"69594551-439f-408e-9c54-5b97b3dd51a3","pageID":"69594551-439f-408e-9c54-5b97b3dd51a3","articlePermalinkKey":"pkrbd1kw","pagePermalinkKey":"pkrbd1kw","originalPublishingDate":"2021-12-13T11:16:13-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"DAAD8E0B-52BC-43FF-90DF-0BF308244E8A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10299":{"id":"news-10299","staticContentId":6365,"eventContentId":10299,"eventId":"news","contentUpdatedAt":"2021-11-08T07:48:01-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=y4fgrhhe","languageCode":"eng","description":"This year, we\u2019re pleased to continue accepting submissions in App Store Connect throughout the upcoming holidays. Make sure your apps are up to date and ready for the busiest season on the App Store. Due to anticipated high volume, plan to send time-sensitive submissions early. Please note that reviews may take longer to complete from November 24 to 28 and December 23 to 27.","title":"Submissions now accepted through the holidays","articleID":"d1b55a76-d033-4973-8fcb-a1c8bbbe1b73","pageID":"d1b55a76-d033-4973-8fcb-a1c8bbbe1b73","articlePermalinkKey":"y4fgrhhe","pagePermalinkKey":"y4fgrhhe","originalPublishingDate":"2021-11-08T07:45:22-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0E6BA275-8872-4070-92CF-E1EB6DEAAC16","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10296":{"id":"news-10296","staticContentId":6340,"eventContentId":10296,"eventId":"news","contentUpdatedAt":"2021-10-28T16:46:09-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=so6638jq","languageCode":"eng","description":"SharePlay is now available in iOS 15.1, iPadOS 15.1, and tvOS 15.1, giving people the ability to share synchronized experiences right inside their FaceTime calls. You can submit your apps that support SharePlay today.","title":"SharePlay now available","articleID":"4c4d76d3-6cd6-4d74-abdf-062c2d684b79","pageID":"4c4d76d3-6cd6-4d74-abdf-062c2d684b79","articlePermalinkKey":"so6638jq","pagePermalinkKey":"so6638jq","originalPublishingDate":"2021-10-28T16:45:45-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3712E0F2-B459-4336-8A49-58B7AD891762","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10290":{"id":"news-10290","staticContentId":6318,"eventContentId":10290,"eventId":"news","contentUpdatedAt":"2021-10-18T17:29:26-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=25bhpaxc","languageCode":"eng","description":"macOS Monterey offers powerful features and technologies that help you deliver elevated user experiences. Take advantage of SwiftUI, new and improved APIs for apps built with Mac Catalyst, an unparalleled suite of advanced GPU debugging tools and new features in Metal, the power of Shortcuts on Mac, the new StoreKit In-App Purchase API, and ShazamKit.","title":"Mac App Store submissions now open for macOS Monterey","articleID":"4dc221c6-e526-4a10-b740-def827f76dc2","pageID":"4dc221c6-e526-4a10-b740-def827f76dc2","articlePermalinkKey":"25bhpaxc","pagePermalinkKey":"25bhpaxc","originalPublishingDate":"2021-10-18T16:58:31-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C0E84B9C-208A-4C9D-9771-DC21AA43E1C6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110257":{"id":"news-110257","staticContentId":9065,"eventContentId":110257,"eventId":"news","contentUpdatedAt":"2023-09-05T11:41:28-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ssmnoze2","languageCode":"eng","description":"A brand\u2011new App\u00a0Store will launch with Apple\u00a0Vision\u00a0Pro, featuring apps and games built for visionOS, as well as hundreds of thousands of iPad and iPhone apps that run great on visionOS too. Users can access their favorite iPad and iPhone apps side by side with new visionOS apps on the infinite canvas of Apple\u00a0Vision\u00a0Pro, enabling them to be more connected, productive, and entertained than ever before. And since most iPad and iPhone apps run on visionOS as is, your app experiences can easily extend to Apple\u00a0Vision\u00a0Pro from day one \u2014 with no additional work required.","title":"Take your iPad and iPhone apps even further on Apple\u00a0Vision\u00a0Pro","articleID":"d18fde4e-4e39-4ca7-a5a4-7a576b1653a7","pageID":"d18fde4e-4e39-4ca7-a5a4-7a576b1653a7","articlePermalinkKey":"ssmnoze2","pagePermalinkKey":"ssmnoze2","originalPublishingDate":"2023-09-05T09:00:50-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4B355982-7F9A-43B6-A0AE-CB15EADA0F23","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110159":{"id":"news-110159","staticContentId":6740,"eventContentId":110159,"eventId":"news","contentUpdatedAt":"2022-04-05T07:21:24-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=w3j4meiy","languageCode":"eng","description":"Join developers worldwide from June 6 to 10 for an inspiring week of technology and community. Get a first look at Apple\u2019s latest platforms and technologies in sessions, explore the newest tools and tips, and connect with Apple experts in labs and digital lounges. All online and at no cost.","title":"WWDC22. Call to code.","articleID":"fc6c8162-536f-429f-bcf5-10e12227a9cb","pageID":"fc6c8162-536f-429f-bcf5-10e12227a9cb","articlePermalinkKey":"w3j4meiy","pagePermalinkKey":"w3j4meiy","originalPublishingDate":"2022-04-05T07:00:49-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4BA4CED4-3F8A-45BC-81EF-D743A5B08E70","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10168":{"id":"news-10168","staticContentId":4567,"eventContentId":10168,"eventId":"news","contentUpdatedAt":"2021-09-13T07:16:59-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=tv3bhra6","languageCode":"eng","description":"App Store server notifications now include refund notifications for all types of in-app purchases, including consumables, non-consumables, and non-renewing subscriptions. You can use this information to take action in response, let the user know of any benefit changes, and tell them how to resubscribe.","title":"Refund notifications for all in-app purchases now available","articleID":"a2555500-f28e-404b-81d2-1b8142363214","pageID":"a2555500-f28e-404b-81d2-1b8142363214","articlePermalinkKey":"tv3bhra6","pagePermalinkKey":"tv3bhra6","originalPublishingDate":"2020-06-24T09:35:11-07:00","publishingExpiryDate":"2075-06-24T19:23:32-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"03ACA4F9-7555-4D40-914B-AD24863C771A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10217":{"id":"news-10217","staticContentId":4832,"eventContentId":10217,"eventId":"news","contentUpdatedAt":"2021-09-13T07:34:57-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=vbm17srg","languageCode":"eng","description":"Online purchase flows for users in the European Economic Area may be impacted by the European Union\u2019s upcoming Strong Customer Authentication requirements. The App Store and Apple Pay will support Strong Customer Authentication. We recommend that you verify your app\u2019s implementation of StoreKit and Apple Pay to make sure purchases are handled correctly.","title":"Prepare for Strong Customer Authentication transactions in the European Economic Area","articleID":"f751540d-4e91-49ce-88d5-720780a0f098","pageID":"f751540d-4e91-49ce-88d5-720780a0f098","articlePermalinkKey":"vbm17srg","pagePermalinkKey":"vbm17srg","originalPublishingDate":"2020-12-21T10:00:11-08:00","publishingExpiryDate":"2075-12-21T16:27:52-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"AB5C6E82-2706-4894-B4F3-285E63CC0AAB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110244":{"id":"news-110244","staticContentId":8971,"eventContentId":110244,"eventId":"news","contentUpdatedAt":"2023-06-05T14:30:00-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=av1nevon","languageCode":"eng","description":"At Apple, we believe privacy is a fundamental human right. That is why we\u2019ve built a number of features to help users understand developers\u2019 privacy and data collection and sharing practices, and put users in the driver\u2019s seat when it comes to their data. App Tracking Transparency (ATT) empowers users to choose whether an app has permission to track their activity across other companies\u2019 apps and websites for the purposes of advertising or sharing with data brokers. With Privacy Nutrition Labels and App Privacy Report, users can see what data an app collects and how it\u2019s used.","title":"What\u2019s new in privacy on the App\u00a0Store","articleID":"12199714-04b4-4223-87bc-e4ba9a610545","pageID":"12199714-04b4-4223-87bc-e4ba9a610545","articlePermalinkKey":"av1nevon","pagePermalinkKey":"av1nevon","originalPublishingDate":"2023-06-05T13:20:35-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C69A1047-BB0F-4665-AF35-D345DDDB4C69","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110243":{"id":"news-110243","staticContentId":8970,"eventContentId":110243,"eventId":"news","contentUpdatedAt":"2023-06-05T14:28:53-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6tins8w0","languageCode":"eng","description":"Discover the latest advancements on all Apple platforms. With an incredible new opportunity in spatial computing in visionOS, new features in iOS, iPadOS, macOS, tvOS, and watchOS, and major enhancements across languages, frameworks, tools and services, you can create even more unique experiences for users worldwide.","title":"Find out what\u2019s new for Apple developers","articleID":"2ccf1abd-9027-4bc9-ba3f-5a23b9d517b0","pageID":"2ccf1abd-9027-4bc9-ba3f-5a23b9d517b0","articlePermalinkKey":"6tins8w0","pagePermalinkKey":"6tins8w0","originalPublishingDate":"2023-06-05T13:35:14-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D3DA2F32-3992-4FE4-86AB-CF3B1BD24CC7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110221":{"id":"news-110221","staticContentId":8169,"eventContentId":110221,"eventId":"news","contentUpdatedAt":"2023-03-01T09:25:06-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=5eryjwz3","languageCode":"eng","description":"App Analytics in App\u00a0Store\u00a0Connect is a helpful tool with a breadth of features to help you understand and improve how your app is performing on the App\u00a0Store. With metrics related to acquisition, usage, and monetization strategy, App\u00a0Analytics enables you to monitor results in each stage of the customer lifecycle, from awareness to conversion and on to retention. Starting today, you can put your app\u2019s performance into context using peer group benchmarks, which compare your app\u2019s performance to that of similar apps on the App\u00a0Store. Now you\u2019ll have even more insights to help you identify growth opportunities.","title":"Peer group benchmarks now available in App Analytics","articleID":"09d14693-95d9-44ef-8cf4-1f6b06f4a679","pageID":"09d14693-95d9-44ef-8cf4-1f6b06f4a679","articlePermalinkKey":"5eryjwz3","pagePermalinkKey":"5eryjwz3","originalPublishingDate":"2023-03-01T09:30:38-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"83FA2617-5F0B-491A-B2BB-5811B5DADA51","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110271":{"id":"news-110271","staticContentId":9110,"eventContentId":110271,"eventId":"news","contentUpdatedAt":"2023-11-08T05:23:23-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ufhu8rqs","languageCode":"eng","description":"Apple is proud to support and uplift the next generation of student developers, creators, and entrepreneurs. The Swift Student Challenge has given thousands of students the opportunity to showcase their creativity and coding capabilities through app playgrounds, and build real-world skills that they can take into their careers and beyond. From connecting their peers to mental health resources to identifying ways to support sustainability efforts on campus, Swift Student Challenge participants use their creativity to develop apps that solve problems they\u2019re passionate about.","title":"Announcing the Swift Student Challenge 2024","articleID":"bd7308cc-3316-4936-a785-2b59d81df7dd","pageID":"bd7308cc-3316-4936-a785-2b59d81df7dd","articlePermalinkKey":"ufhu8rqs","pagePermalinkKey":"ufhu8rqs","originalPublishingDate":"2023-11-08T05:20:05-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A77EFBE4-C618-47BC-BB93-F10C251678E6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10310":{"id":"news-10310","staticContentId":6384,"eventContentId":10310,"eventId":"news","contentUpdatedAt":"2021-11-15T11:49:35-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3fvhonbt","languageCode":"eng","description":"Connect with Apple experts to learn how to create best-in-class apps. Tech Talks 2021 features office hours and live sessions with Q&As, so you can get your questions answered. We\u2019ve updated the schedule with the third set of new content (including new office hours for App Store business and marketing), and the last set will be released in two weeks. Register today if you\u2019re a member of the Apple Developer Program or Apple Developer Enterprise Program.","title":"Tech Talks: third set of sessions and office hours now available","articleID":"873dd036-3382-4770-a328-a5ae577103ea","pageID":"873dd036-3382-4770-a328-a5ae577103ea","articlePermalinkKey":"3fvhonbt","pagePermalinkKey":"3fvhonbt","originalPublishingDate":"2021-11-15T09:00:41-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B5FB03C0-941F-4F07-99C0-70043BA73793","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10288":{"id":"news-10288","staticContentId":6193,"eventContentId":10288,"eventId":"news","contentUpdatedAt":"2023-02-10T10:04:26-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=xymmt0iz","languageCode":"eng","description":"When taxes or foreign exchange rates change, we sometimes need to update prices on the App Store in certain regions and\/or adjust your proceeds. In the next few days, prices of apps and in-app purchases (excluding auto- renewable subscriptions) on the App Store will increase in Thailand, The Bahamas, and T\u00fcrkiye.","title":"Upcoming tax and price changes for apps and in-app purchases","articleID":"63a444d7-0982-4e8f-b207-51549e0fe891","pageID":"63a444d7-0982-4e8f-b207-51549e0fe891","articlePermalinkKey":"xymmt0iz","pagePermalinkKey":"xymmt0iz","originalPublishingDate":"2021-10-15T10:00:55-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"847EC423-730E-4D46-956A-E1C0AF33DD24","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10321":{"id":"news-10321","staticContentId":6415,"eventContentId":10321,"eventId":"news","contentUpdatedAt":"2022-01-12T16:08:44-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=tudh8rec","languageCode":"eng","description":"When taxes or foreign exchange rates change, we sometimes need to update prices on the App Store in certain regions and\/or adjust your proceeds. In the next few days, prices of apps and in-app purchases (excluding auto- renewable subscriptions) on the App Store will increase in Bahrain, Ukraine, and Zimbabwe.","title":"Upcoming tax and price changes for apps and in-app purchases","articleID":"736e404f-3987-4b04-88c8-da398ea25220","pageID":"736e404f-3987-4b04-88c8-da398ea25220","articlePermalinkKey":"tudh8rec","pagePermalinkKey":"tudh8rec","originalPublishingDate":"2022-01-12T16:08:59-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B66F450C-5A0E-42B3-958D-6EE5E33C9ED2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10319":{"id":"news-10319","staticContentId":6413,"eventContentId":10319,"eventId":"news","contentUpdatedAt":"2022-01-06T13:57:40-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=pa0x2dzk","languageCode":"eng","description":"App Analytics in App Store Connect helps you see how people discover and engage with your apps. You can now view information about your in-app events, including event page views, reminder and notification data, and the number of downloads and redownloads that were driven by your in-app events. Each metric can be viewed by territory, source type, device, and more, so you can understand how your in-app events are influencing your apps\u2019 growth and success.","title":"Analytics now available for in-app events","articleID":"f6d52bfb-d7f8-4e78-9c8f-99ba59a5f846","pageID":"f6d52bfb-d7f8-4e78-9c8f-99ba59a5f846","articlePermalinkKey":"pa0x2dzk","pagePermalinkKey":"pa0x2dzk","originalPublishingDate":"2022-01-06T13:56:02-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2BD16D33-B2A0-498A-8004-B5992150F939","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111976":{"id":"news-111976","staticContentId":9885,"eventContentId":111976,"eventId":"news","contentUpdatedAt":"2025-02-18T10:15:10-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6agg0lja","languageCode":"eng","description":"As of today, apps without trader status have been removed from the App\u00a0Store in the European\u00a0Union\u00a0(EU) until trader status is provided and verified by Apple.","title":"New requirement for apps on the App\u00a0Store in the European\u00a0Union","articleID":"70608fe6-0c60-4422-94b5-421b3ac9603f","pageID":"70608fe6-0c60-4422-94b5-421b3ac9603f","articlePermalinkKey":"6agg0lja","pagePermalinkKey":"6agg0lja","originalPublishingDate":"2025-02-18T07:00:39-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"07FA8817-E556-4D80-95E6-F8D028F6C484","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112065":{"id":"news-112065","staticContentId":10801,"eventContentId":112065,"eventId":"news","contentUpdatedAt":"2026-02-24T10:06:41-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=f5zj08ey","languageCode":"eng","description":"Today we\u2019re providing an update on the tools available for developers to meet their age assurance obligations under upcoming U.S. and regional laws, including in Brazil, Australia, Singapore, Utah, and Louisiana. Updates to the Declared Age Range API are now available in beta for testing.","title":"Age requirements for apps distributed in Brazil, Australia, Singapore, Utah, and Louisiana","articleID":"5aa00ade-75bd-4cc8-93c8-758cb10461aa","pageID":"5aa00ade-75bd-4cc8-93c8-758cb10461aa","articlePermalinkKey":"f5zj08ey","pagePermalinkKey":"f5zj08ey","originalPublishingDate":"2026-02-24T10:00:48-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"87087877-E429-4FD9-9BB3-7D8CF374C60B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112071":{"id":"news-112071","staticContentId":10883,"eventContentId":112071,"eventId":"news","contentUpdatedAt":"2026-03-17T09:32:57-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=yts4l6mh","languageCode":"eng","description":"Check out Apple\u00a0Developer on bilibili and LinkedIn to learn about the latest news, announcements, videos, and events \u2014 including the Worldwide\u00a0Developers\u00a0Conference and Meet\u00a0with\u00a0Apple activities \u2014 for the developer community.","title":"Apple Developer is now on bilibili and LinkedIn","articleID":"266e9f71-d966-48a5-8fe7-791982ecc4c8","pageID":"266e9f71-d966-48a5-8fe7-791982ecc4c8","articlePermalinkKey":"yts4l6mh","pagePermalinkKey":"yts4l6mh","originalPublishingDate":"2026-03-17T09:30:01-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"68C8247A-8E8C-458A-B875-5E88964AAE79","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10266":{"id":"news-10266","staticContentId":5834,"eventContentId":10266,"eventId":"news","contentUpdatedAt":"2021-09-13T07:13:19-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=qlswe65h","languageCode":"eng","description":"The Apple Design Awards honor excellence in innovation, ingenuity, and technical achievement in app and game design. Learn about these winning apps and the talented developers behind them.","title":"Apple Design Award winners announced","articleID":"57892f1d-05d9-4f1c-ad03-38819743e889","pageID":"57892f1d-05d9-4f1c-ad03-38819743e889","articlePermalinkKey":"qlswe65h","pagePermalinkKey":"qlswe65h","originalPublishingDate":"2021-06-10T14:30:51-07:00","publishingExpiryDate":"2075-05-12T00:00:00-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D8390CCA-A2DC-4894-B867-E66E7DFA958A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10257":{"id":"news-10257","staticContentId":5755,"eventContentId":10257,"eventId":"news","contentUpdatedAt":"2021-09-13T07:37:59-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=uno5w59d","languageCode":"eng","description":"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. Sign up for the beta today.","title":"Introducing Xcode Cloud","articleID":"0d3b3c78-a7ef-4ab3-a7a4-88af2db80f99","pageID":"0d3b3c78-a7ef-4ab3-a7a4-88af2db80f99","articlePermalinkKey":"uno5w59d","pagePermalinkKey":"uno5w59d","originalPublishingDate":"2021-06-07T12:07:47-07:00","publishingExpiryDate":"2075-06-05T22:30:19-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"8B1A0456-B43B-40DB-8A5E-F80A32356EB2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110201":{"id":"news-110201","staticContentId":7818,"eventContentId":110201,"eventId":"news","contentUpdatedAt":"2022-10-18T12:50:10-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=rj04jx5x","languageCode":"eng","description":"Integrate your tvOS app with your iOS, iPadOS, or watchOS app to unlock new experiences on Apple\u00a0TV. Adopt multiuser support to make it easier for people to enjoy your Apple\u00a0TV app with improved system integration for user profiles, and customize your app\u2019s interface and provide even more functionality with\u00a0SwiftUI.","title":"App Store submissions now open for tvOS\u00a016.1","articleID":"c9518420-1dd8-4163-a447-7529c7117fe4","pageID":"c9518420-1dd8-4163-a447-7529c7117fe4","articlePermalinkKey":"rj04jx5x","pagePermalinkKey":"rj04jx5x","originalPublishingDate":"2022-10-18T11:54:09-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"6C130C6E-2715-4ADC-BB01-83549F596103","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10289":{"id":"news-10289","staticContentId":6226,"eventContentId":10289,"eventId":"news","contentUpdatedAt":"2021-10-20T08:50:43-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=s6t9fkq7","languageCode":"eng","description":"Join us for over 100 live online sessions and connect with Apple experts at office hours to help you create your best apps yet. Tech Talks kicks off on October 25 and runs through December 17. Registration is now open to current members of the Apple Developer Program and Apple Developer Enterprise Program.","title":"Announcing Tech Talks 2021. Registration is open.","articleID":"66f571e0-08fb-495c-aada-9a81f60463bb","pageID":"66f571e0-08fb-495c-aada-9a81f60463bb","articlePermalinkKey":"s6t9fkq7","pagePermalinkKey":"s6t9fkq7","originalPublishingDate":"2021-10-20T08:50:43-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0947C7A4-F8A7-4FC4-8700-70C979E733A6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110156":{"id":"news-110156","staticContentId":6620,"eventContentId":110156,"eventId":"news","contentUpdatedAt":"2022-03-15T13:59:26-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=2t1chhp3","languageCode":"eng","description":"Starting April 25, 2022, iOS, iPadOS, and watchOS apps submitted to the App Store must be built with Xcode 13, which includes the SDKs for iOS 15, iPadOS 15, and watchOS 8.","title":"App Store submission requirement starts April 25","articleID":"f69df162-dc25-420e-a73f-7eddf05ee418","pageID":"f69df162-dc25-420e-a73f-7eddf05ee418","articlePermalinkKey":"2t1chhp3","pagePermalinkKey":"2t1chhp3","originalPublishingDate":"2022-03-15T09:48:54-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C024EABE-6271-469B-B9ED-7051FCA9B5C7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10003":{"id":"news-10003","staticContentId":3987,"eventContentId":10003,"eventId":"news","contentUpdatedAt":"2021-09-13T07:31:59-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=06052020a","languageCode":"eng","description":"Apple has created a new open source project to help developers of password managers collaborate to create strong passwords that are compatible with popular websites. The Password Manager Resources open source project allows you to integrate website-specific requirements used by the iCloud Keychain password manager to generate strong, unique passwords. The project also contains collections of websites known to share a sign-in system, links to websites\u2019 pages where users change passwords, and more.","title":"New Resources Available for Password Manager Apps","articleID":"4e84fc7b-63d3-4d59-9d99-903d65384550","pageID":"4e84fc7b-63d3-4d59-9d99-903d65384550","articlePermalinkKey":"06052020a","pagePermalinkKey":"06052020a","originalPublishingDate":"2020-06-05T08:45:13-07:00","publishingExpiryDate":"2030-06-05T16:48:44-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"94F23DFA-2E4B-4D11-8135-C26CE2662433","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10322":{"id":"news-10322","staticContentId":6416,"eventContentId":10322,"eventId":"news","contentUpdatedAt":"2022-01-14T12:24:40-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=wqnci04x","languageCode":"eng","description":"Last year, we introduced an updated way to submit apps, in-app events, custom product pages, and product page optimization tests for review in App Store Connect. Starting January 25, 2022, the submission experience will be automatically updated for all App Store Connect accounts. You\u2019ll be able to submit multiple items, submit without needing a new app version, view past submissions, and more.","title":"About the updated App Store submission experience","articleID":"5beab081-ac69-46e8-85d5-459f9a1fd354","pageID":"5beab081-ac69-46e8-85d5-459f9a1fd354","articlePermalinkKey":"wqnci04x","pagePermalinkKey":"wqnci04x","originalPublishingDate":"2022-01-14T12:20:43-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"DD0854ED-47AB-470C-BDB4-BD23BBC330CD","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110251":{"id":"news-110251","staticContentId":9018,"eventContentId":110251,"eventId":"news","contentUpdatedAt":"2023-07-10T12:08:53-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=9o2nwe38","languageCode":"eng","description":"The App Store\u2019s commerce and payments system was built to empower you to conveniently set up and sell your products and services on a global scale in 44 currencies across 175 storefronts. When tax regulations or foreign exchange rates change, we sometimes need to update prices on the App Store in certain regions and\/or adjust your proceeds. These updates are done using publicly available exchange rate information from financial data providers to help ensure prices for apps and in\u2011app purchases stay equalized across all storefronts.","title":"Upcoming price and tax changes for apps, in-app purchases, and subscriptions","articleID":"7ff7d4d3-5f72-4ebf-ba74-b02c48f8145d","pageID":"7ff7d4d3-5f72-4ebf-ba74-b02c48f8145d","articlePermalinkKey":"9o2nwe38","pagePermalinkKey":"9o2nwe38","originalPublishingDate":"2023-07-10T12:00:05-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7902864E-8972-4F49-8A8D-39964C56142B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111941":{"id":"news-111941","staticContentId":9805,"eventContentId":111941,"eventId":"news","contentUpdatedAt":"2024-08-26T09:06:28-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=zvdnvggt","languageCode":"eng","description":"Join us for a special Apple Event on September 9 at 10 a.m. PT.","title":"It\u2019s Glowtime.","articleID":"bac0beac-6f55-45f4-9aa2-de9a2b737cd8","pageID":"bac0beac-6f55-45f4-9aa2-de9a2b737cd8","articlePermalinkKey":"zvdnvggt","pagePermalinkKey":"zvdnvggt","originalPublishingDate":"2024-08-26T08:00:01-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4B601311-551C-417A-A111-A5F7DE5837F6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110161":{"id":"news-110161","staticContentId":6858,"eventContentId":110161,"eventId":"news","contentUpdatedAt":"2022-04-25T10:27:42-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=r24k5i3m","languageCode":"eng","description":"","title":"Small developer assistance submission requests due by May 20","articleID":"05b6ffe1-6b6e-4d94-8931-425ae114e730","pageID":"05b6ffe1-6b6e-4d94-8931-425ae114e730","articlePermalinkKey":"r24k5i3m","pagePermalinkKey":"r24k5i3m","originalPublishingDate":"2022-04-25T08:00:00-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"EC4AEB36-C320-40F4-B29F-350FAEA4637B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110280":{"id":"news-110280","staticContentId":9140,"eventContentId":110280,"eventId":"news","contentUpdatedAt":"2024-01-08T08:03:07-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=h5nqhq3y","languageCode":"eng","description":"Apple Vision Pro will have a brand-new App Store, where people can discover and download incredible apps for visionOS. Whether you\u2019ve created a new visionOS app or are making your existing iPad or iPhone app available on Apple Vision Pro, here\u2019s everything you need to know to prepare and submit your app to the App Store.","title":"Submit your apps to the App Store for Apple Vision Pro","articleID":"2380582a-db59-43a9-9677-91208bea49fe","pageID":"2380582a-db59-43a9-9677-91208bea49fe","articlePermalinkKey":"h5nqhq3y","pagePermalinkKey":"h5nqhq3y","originalPublishingDate":"2024-01-08T08:00:08-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7F751097-3114-4D62-B5F7-A2BE384AD8A1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111935":{"id":"news-111935","staticContentId":9783,"eventContentId":111935,"eventId":"news","contentUpdatedAt":"2024-07-01T11:09:27-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=7caa5bf5","languageCode":"eng","description":"Now alternative payment options are supported starting in visionOS\u00a01.2 and you can implement the in\u2011app purchase flow as a web view within your\u00a0app.","title":"Alternative payment options in the EU in visionOS 1.2","articleID":"3b1ba73c-6403-494e-b2d2-53a6ebc1cf32","pageID":"3b1ba73c-6403-494e-b2d2-53a6ebc1cf32","articlePermalinkKey":"7caa5bf5","pagePermalinkKey":"7caa5bf5","originalPublishingDate":"2024-07-01T06:00:58-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A13D6D42-B261-4D69-A19A-7ADFF0E8761C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10037":{"id":"news-10037","staticContentId":4021,"eventContentId":10037,"eventId":"news","contentUpdatedAt":"2021-09-13T07:18:03-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=12172019a","languageCode":"eng","description":"As a reminder, new apps and app updates will not be accepted December 23 to 27 (Pacific Time), so any releases should be scheduled, submitted, and approved in advance. Other App Store Connect and developer account features will remain available.","title":"App Store Connect holiday schedule","articleID":"6a88ad5a-9ae6-4c2a-a170-7b9b5c2eb262","pageID":"6a88ad5a-9ae6-4c2a-a170-7b9b5c2eb262","articlePermalinkKey":"12172019a","pagePermalinkKey":"12172019a","originalPublishingDate":"2019-12-16T09:55:36-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"58549128-4AA5-42C6-A96A-9626CD88E76E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111950":{"id":"news-111950","staticContentId":9823,"eventContentId":111950,"eventId":"news","contentUpdatedAt":"2024-11-12T12:51:29-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=nx3eotat","languageCode":"eng","description":"Read about Featuring Nominations and shareable assets.","title":"Enhancements to the App\u00a0Store featuring process","articleID":"85a95eb9-b26e-44fd-962c-5c4d840629e5","pageID":"85a95eb9-b26e-44fd-962c-5c4d840629e5","articlePermalinkKey":"nx3eotat","pagePermalinkKey":"nx3eotat","originalPublishingDate":"2024-11-12T07:00:19-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"32E3AB17-C0A8-493E-B7E3-62E38D682AAA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10263":{"id":"news-10263","staticContentId":5761,"eventContentId":10263,"eventId":"news","contentUpdatedAt":"2021-09-13T07:43:21-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=30qc8oh0","languageCode":"eng","description":"SF Symbols 3 introduces over 600 new symbols, enhanced color customization, new inspector with controls for rendering and color configuration, and improved support for custom symbols.","title":"SF Symbols 3 beta now available","articleID":"cb70c4d7-6613-4880-819e-6d0a79308591","pageID":"cb70c4d7-6613-4880-819e-6d0a79308591","articlePermalinkKey":"30qc8oh0","pagePermalinkKey":"30qc8oh0","originalPublishingDate":"2021-06-07T12:01:58-07:00","publishingExpiryDate":"2075-06-05T22:46:31-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9BAAB0D8-98EF-4CA8-9DC2-70827107FC41","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10251":{"id":"news-10251","staticContentId":5678,"eventContentId":10251,"eventId":"news","contentUpdatedAt":"2021-09-13T07:44:20-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=n33tv3lm","languageCode":"eng","description":"The Apple Developer Forums offer a trusted space to find answers, ask questions, and share thoughts on a variety of code-level topics with fellow developers and Apple engineers. New features now make it even easier to keep track of activity, search for content, post replies, and more. ","title":"New Apple Developer Forums features now available","articleID":"06c8dd8f-d800-4f90-bb37-0ab1e12339db","pageID":"06c8dd8f-d800-4f90-bb37-0ab1e12339db","articlePermalinkKey":"n33tv3lm","pagePermalinkKey":"n33tv3lm","originalPublishingDate":"2021-05-26T20:30:23-07:00","publishingExpiryDate":"2075-05-26T14:52:33-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E497D1E3-B732-47E9-B88B-E7A54457E929","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110282":{"id":"news-110282","staticContentId":9149,"eventContentId":110282,"eventId":"news","contentUpdatedAt":"2024-01-30T15:08:20-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=0l93cjfe","languageCode":"eng","description":"The App\u00a0Store is designed to make it easy to sell your digital goods and services globally, with support for 44 currencies across 175 storefronts.","title":"Price and tax updates for apps, in-app purchases, and subscriptions","articleID":"0fcb5f86-a171-4913-8038-0d7da897cc80","pageID":"0fcb5f86-a171-4913-8038-0d7da897cc80","articlePermalinkKey":"0l93cjfe","pagePermalinkKey":"0l93cjfe","originalPublishingDate":"2024-01-30T08:00:34-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"37EEFADA-911A-493B-9B2B-A8AFF82915E8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10252":{"id":"news-10252","staticContentId":5703,"eventContentId":10252,"eventId":"news","contentUpdatedAt":"2021-09-13T07:44:31-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=36dv0725","languageCode":"eng","description":"The Apple Design Awards honor excellence in innovation, ingenuity, and technical achievement in app and game design. We\u2019re thrilled to announce this year\u2019s finalists \u2014 an impressive collection of apps and games produced by some of the most talented developers in the world. Finalists were chosen across six categories and winners will be announced on June 10.","title":"2021 Apple Design Award finalists announced","articleID":"09123a35-9835-478f-956b-8efdd4f62a3d","pageID":"09123a35-9835-478f-956b-8efdd4f62a3d","articlePermalinkKey":"36dv0725","pagePermalinkKey":"36dv0725","originalPublishingDate":"2021-06-01T09:00:47-07:00","publishingExpiryDate":"2075-06-01T16:53:01-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"6F47AC05-FF30-44E6-802B-8C2E89005D80","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10295":{"id":"news-10295","staticContentId":6339,"eventContentId":10295,"eventId":"news","contentUpdatedAt":"2021-10-27T16:46:19-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=n5jlz7ox","languageCode":"eng","description":"iOS 15 and iPadOS 15 introduced the Record App Activity feature, allowing people to save a summary of sensor, data, and internet access from apps on their device. This activity can be exported in JSON format by tapping Save App Activity. For an overview of recorded app activity, watch the WWDC21 session \u201cApple's privacy pillars in focus\u201d.","title":"App Privacy Report now available in beta","articleID":"18ed8f6b-856c-406a-8184-267f9c205b6b","pageID":"18ed8f6b-856c-406a-8184-267f9c205b6b","articlePermalinkKey":"n5jlz7ox","pagePermalinkKey":"n5jlz7ox","originalPublishingDate":"2021-10-27T16:45:02-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E900F7A3-07E2-4665-94CC-160916FAB9C8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10293":{"id":"news-10293","staticContentId":6330,"eventContentId":10293,"eventId":"news","contentUpdatedAt":"2021-10-21T10:15:53-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=zghdvfza","languageCode":"eng","description":"Starting next week, your in-app events can be discovered right on the App Store, giving you a whole new way to showcase your events and expand their reach. You can now create in-app events in App Store Connect and schedule them to appear on the App Store. These timely events, such as game competitions, movie premieres, and livestreamed experiences, can encourage people to try your app, provide existing users with new ways to enjoy your app, and give former users reasons to return. Events will appear on the App Store on iOS 15 and iPadOS 15 starting October 27, 2021.","title":"Bring your in-app events to the App Store","articleID":"d05da32b-7b2d-4ba1-9a97-542dc1fd0c7d","pageID":"d05da32b-7b2d-4ba1-9a97-542dc1fd0c7d","articlePermalinkKey":"zghdvfza","pagePermalinkKey":"zghdvfza","originalPublishingDate":"2021-10-21T10:15:11-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"AA021DE4-8CDE-4A40-B275-219F38C0E338","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10254":{"id":"news-10254","staticContentId":5752,"eventContentId":10254,"eventId":"news","contentUpdatedAt":"2021-09-13T07:43:34-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=dfuvt2wk","languageCode":"eng","description":"Create seamless, intelligent, and engaging experiences with the latest exciting advancements in iOS 15, iPadOS 15, macOS Monterey, tvOS 15, and watchOS 8. Get the Xcode 13 beta, which includes SDKs for all Apple platforms.","title":"See what\u2019s new on Apple platforms","articleID":"c1d276b3-a34c-4321-a098-7c5802b5de1a","pageID":"c1d276b3-a34c-4321-a098-7c5802b5de1a","articlePermalinkKey":"dfuvt2wk","pagePermalinkKey":"dfuvt2wk","originalPublishingDate":"2021-06-07T12:09:27-07:00","publishingExpiryDate":"2075-06-05T22:26:30-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D2FCDBF7-101C-4CF1-BFDE-C98C337AA6A0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111954":{"id":"news-111954","staticContentId":9832,"eventContentId":111954,"eventId":"news","contentUpdatedAt":"2024-10-23T10:27:54-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=qs5bol0g","languageCode":"eng","description":"The beta versions of iOS\u00a018.2, iPadOS\u00a018.2, and macOS\u00a015.2 are now available. Get your apps ready by confirming they work as expected on these releases. And make sure to build and test with Xcode\u00a016.2\u00a0beta to take advantage of the advancements in the latest\u00a0SDKs.","title":"Get ready with the latest beta releases","articleID":"4dd96e3c-9491-4e71-8113-6a8576a024ee","pageID":"4dd96e3c-9491-4e71-8113-6a8576a024ee","articlePermalinkKey":"qs5bol0g","pagePermalinkKey":"qs5bol0g","originalPublishingDate":"2024-10-23T06:00:15-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"EF89FAD4-4819-4663-BC5B-D7EB8E3D2E0F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110214":{"id":"news-110214","staticContentId":8004,"eventContentId":110214,"eventId":"news","contentUpdatedAt":"2022-12-14T11:03:49-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=5lqrkyjk","languageCode":"eng","description":"The beta versions of iOS\u00a016.3, iPadOS\u00a016.3, macOS\u00a013.2, tvOS\u00a016.3, and watchOS\u00a09.3 are now available. Get your apps ready by confirming they work as expected on these releases. And to take advantage of the advancements in the latest SDKs, make sure to build and test with Xcode\u00a014.2.","title":"Get ready with the latest beta releases","articleID":"00b83820-c6f7-4314-825f-6f692b5e4f86","pageID":"00b83820-c6f7-4314-825f-6f692b5e4f86","articlePermalinkKey":"5lqrkyjk","pagePermalinkKey":"5lqrkyjk","originalPublishingDate":"2022-12-14T10:48:27-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"DDB6E9B2-3A05-4C47-93E2-8D6C9B033DA7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10318":{"id":"news-10318","staticContentId":6411,"eventContentId":10318,"eventId":"news","contentUpdatedAt":"2021-12-22T12:33:38-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=jzd7wqva","languageCode":"eng","description":"Starting January 27, 2022, intermediate certificate updates will be available for the Apple Push Notification service (APNs) and Developer ID.","title":"Upcoming Apple Developer certificate updates","articleID":"c2c3569e-68b9-438b-bc0e-004a69703c78","pageID":"c2c3569e-68b9-438b-bc0e-004a69703c78","articlePermalinkKey":"jzd7wqva","pagePermalinkKey":"jzd7wqva","originalPublishingDate":"2021-12-22T12:30:05-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"709CF673-FCD7-4448-ACB4-DEA933FC18BC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10248":{"id":"news-10248","staticContentId":5285,"eventContentId":10248,"eventId":"news","contentUpdatedAt":"2021-09-13T07:35:50-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6qfoid1d","languageCode":"eng","description":"Last year, to support apps that adapted services from in-person to digital due to the COVID-19 pandemic, we temporarily deferred the requirement to offer paid online group event services (one-to-few and one-to-many realtime services) through in-app purchase in accordance with App Store Review guideline 3.1.1. As the world continues to recover from the pandemic, we\u2019d like to support the communities that are still providing digital services in place of in-person group events by extending the deadline further to December 31, 2021.","title":"Online group event in-app purchase requirement update","articleID":"48ff438e-344d-444c-8864-192ca82705d5","pageID":"48ff438e-344d-444c-8864-192ca82705d5","articlePermalinkKey":"6qfoid1d","pagePermalinkKey":"6qfoid1d","originalPublishingDate":"2021-04-22T10:20:34-07:00","publishingExpiryDate":"2075-04-22T16:41:34-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9AF7C765-6F48-403F-ACEF-BA0F5B75B312","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10171":{"id":"news-10171","staticContentId":4640,"eventContentId":10171,"eventId":"news","contentUpdatedAt":"2021-09-13T07:35:50-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=1o9zxsxl","languageCode":"eng","description":"At Apple, we\u2019re working to remove and replace non-inclusive language across our developer ecosystem, including within Xcode, platform APIs, documentation, and open source projects. These changes began on June 22 with the beta software and developer documentation released at WWDC20 moving to terms such as *allow list* and *deny list*, and *main* as the default SCM branch in Xcode 12. An updated Apple Style Guide reflects these and other changes.\n\nDeveloper APIs with exclusionary terms will be deprecated as we introduce replacements across internal codebases, public APIs, and open source projects, such as WebKit and Swift. We encourage you to closely monitor deprecation warnings across your codebases and to proactively move to the latest APIs available in the platform SDKs.","title":"Updates to coding terminology","articleID":"cb73203c-78af-40e4-a4c3-5593410cd634","pageID":"cb73203c-78af-40e4-a4c3-5593410cd634","articlePermalinkKey":"1o9zxsxl","pagePermalinkKey":"1o9zxsxl","originalPublishingDate":"2020-07-16T14:40:31-07:00","publishingExpiryDate":"2075-07-16T14:42:08-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D7DBB910-8502-45A7-B1EB-DCB1E622C1EA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10215":{"id":"news-10215","staticContentId":4796,"eventContentId":10215,"eventId":"news","contentUpdatedAt":"2021-09-13T07:29:34-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4c7j45dp","languageCode":"eng","description":"Easily discoverable and quick to launch at the moment it\u2019s needed, an App Clip is a small part of your app that lets users start and finish an experience in seconds. While you can offer users several ways to discover your App Clip, the best way is with an App Clip Code. Visually beautiful and distinct, each App Clip Code encodes a URL and can incorporate an NFC tag. Users can hold their iPhone near the code or scan it with the camera to open your App Clip and quickly complete a task, before downloading your app.","title":"App Clip Codes now available","articleID":"c54a5d79-4fa6-4616-b986-d4b17acf6be5","pageID":"c54a5d79-4fa6-4616-b986-d4b17acf6be5","articlePermalinkKey":"4c7j45dp","pagePermalinkKey":"4c7j45dp","originalPublishingDate":"2020-12-14T14:30:39-08:00","publishingExpiryDate":"2075-12-14T16:14:55-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C483BF0F-59DE-476C-A4AA-6BE6E81B4BCD","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10324":{"id":"news-10324","staticContentId":6420,"eventContentId":10324,"eventId":"news","contentUpdatedAt":"2022-02-01T12:19:49-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=5zb13auf","languageCode":"eng","description":"As a reminder, the intermediate certificate updates are now available for the Apple Push Notification service (APNs) and Developer ID.","title":"Updated Apple Developer certificates now available","articleID":"5a86574d-d1c3-47e5-8cfe-afbf9ca3a196","pageID":"5a86574d-d1c3-47e5-8cfe-afbf9ca3a196","articlePermalinkKey":"5zb13auf","pagePermalinkKey":"5zb13auf","originalPublishingDate":"2022-02-01T12:18:13-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D2237B1A-71C4-44A3-A1D9-931CAD433C65","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10231":{"id":"news-10231","staticContentId":4903,"eventContentId":10231,"eventId":"news","contentUpdatedAt":"2021-09-13T07:39:38-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=wd7cwosa","languageCode":"eng","description":"Additional details have been published on completing your App Store privacy labels, including more information about data types, such as email or text messages, and gameplay content. You\u2019ll also find more information about data collected in web views and data that may be entered by users within documents or other file types.","title":"Additional guidance available for App Store privacy labels","articleID":"7cc2b3fb-2122-4f38-a6b7-b95b6015e36c","pageID":"7cc2b3fb-2122-4f38-a6b7-b95b6015e36c","articlePermalinkKey":"wd7cwosa","pagePermalinkKey":"wd7cwosa","originalPublishingDate":"2021-02-23T12:32:20-08:00","publishingExpiryDate":"2075-02-23T09:12:29-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"69248C6E-D1F1-4464-AFBD-DAD151EAFD55","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10298":{"id":"news-10298","staticContentId":6353,"eventContentId":10298,"eventId":"news","contentUpdatedAt":"2021-11-05T13:09:33-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=yeyd5xuh","languageCode":"eng","description":"Last year, to support apps that adapted services from in-person to digital, we temporarily deferred the requirement to offer paid online group event services (one-to-few and one-to-many realtime services) through in-app purchase in accordance with App Store Review Guideline 3.1.1.","title":"Online group event in-app purchase requirement reminder","articleID":"f11e2a6c-bfa2-4e82-8413-c325696d2092","pageID":"f11e2a6c-bfa2-4e82-8413-c325696d2092","articlePermalinkKey":"yeyd5xuh","pagePermalinkKey":"yeyd5xuh","originalPublishingDate":"2021-11-05T13:08:55-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"14A5A2A9-9F7C-4A49-85A3-06D81D112F98","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110312":{"id":"news-110312","staticContentId":9383,"eventContentId":110312,"eventId":"news","contentUpdatedAt":"2024-04-26T12:15:12-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=pvszzano","languageCode":"eng","description":"The App\u00a0Store was created to be a safe place for users to discover and get millions of apps all around the world. Over the years, we\u2018ve built many critical privacy and security features that help protect users and give them transparency and control \u2014 from Privacy Nutrition Labels to app tracking transparency, and so many more.","title":"Reminder: Privacy requirement for app submissions starts May\u00a01","articleID":"8f8e4996-9997-4f2d-91d9-43dcc5f67f28","pageID":"8f8e4996-9997-4f2d-91d9-43dcc5f67f28","articlePermalinkKey":"pvszzano","pagePermalinkKey":"pvszzano","originalPublishingDate":"2024-04-26T11:00:50-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"DD4BD24C-A710-430A-A569-1B4E502F9BF0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10270":{"id":"news-10270","staticContentId":5896,"eventContentId":10270,"eventId":"news","contentUpdatedAt":"2021-09-13T07:15:42-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=pbqorayb","languageCode":"eng","description":"Apple Entrepreneur Camp supports underrepresented founders and developers as they build the next generation of cutting-edge apps and helps form a global network that encourages the pipeline and longevity of these entrepreneurs in technology. Applications are open now for the next cohort for Black founders and developers, which runs online from October 26 to November 4, 2021. Attendees receive code-level guidance, mentorship, and inspiration with unprecedented access to Apple engineers and leaders. Applications close on August 17, 2021.","title":"Apple Entrepreneur Camp applications open for Black founders and developers","articleID":"8f10060d-3449-4538-b5e0-b10a6b899b22","pageID":"8f10060d-3449-4538-b5e0-b10a6b899b22","articlePermalinkKey":"pbqorayb","pagePermalinkKey":"pbqorayb","originalPublishingDate":"2021-07-28T14:05:30-07:00","publishingExpiryDate":"2075-07-28T14:27:41-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7261C1D6-8538-47A4-B231-CF5408E90E0D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111936":{"id":"news-111936","staticContentId":9784,"eventContentId":111936,"eventId":"news","contentUpdatedAt":"2024-08-06T09:22:59-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=saqachfa","languageCode":"eng","description":"In macOS Sequoia, users will no longer be able to Control-click to override Gatekeeper when opening software that isn\u2019t signed correctly or notarized. They\u2019ll need to visit System Settings &gt; Privacy & Security to review security information for software before allowing it to run.","title":"Updates to runtime protection in macOS\u00a0Sequoia","articleID":"cdf3f726-be54-4ed6-a961-3ea9088b470e","pageID":"cdf3f726-be54-4ed6-a961-3ea9088b470e","articlePermalinkKey":"saqachfa","pagePermalinkKey":"saqachfa","originalPublishingDate":"2024-08-06T06:00:37-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"6F9B33B3-3564-4CDA-94B2-FDB7F1425DDE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111999":{"id":"news-111999","staticContentId":10453,"eventContentId":111999,"eventId":"news","contentUpdatedAt":"2025-06-01T22:08:40-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ccuxfzqc","languageCode":"eng","description":"","title":"Sleek peek.","articleID":"1f3c857f-7ffa-4989-b1ae-d95ff958b50a","pageID":"1f3c857f-7ffa-4989-b1ae-d95ff958b50a","articlePermalinkKey":"ccuxfzqc","pagePermalinkKey":"ccuxfzqc","originalPublishingDate":"2025-06-02T07:00:09-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"12F85CB3-D1C8-438C-9F2C-3F65791FB921","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111951":{"id":"news-111951","staticContentId":9824,"eventContentId":111951,"eventId":"news","contentUpdatedAt":"2024-10-17T10:48:09-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=yfacfeal","languageCode":"eng","description":"Starting today, in order to submit updates for apps on the App\u00a0Store in the European Union (EU) Account Holders or Admins in the Apple\u00a0Developer Program need to enter trader status in App\u00a0Store\u00a0Connect. If you\u2019re a trader, you\u2019ll need to provide your trader information before you can submit your app for review.","title":"New requirement for app updates in the European\u00a0Union","articleID":"2e65b33e-0f16-4ccc-ab75-6128e0fc45bf","pageID":"2e65b33e-0f16-4ccc-ab75-6128e0fc45bf","articlePermalinkKey":"yfacfeal","pagePermalinkKey":"yfacfeal","originalPublishingDate":"2024-10-17T09:10:19-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F43D8873-783D-43A4-A596-169D2C18D1B1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10227":{"id":"news-10227","staticContentId":4877,"eventContentId":10227,"eventId":"news","contentUpdatedAt":"2021-09-13T07:37:34-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=of9ss4h1","languageCode":"eng","description":"The Apple Developer Forums are a great place to connect with fellow developers and Apple engineers as you give and receive help on development topics.&nbsp;And now, it\u2019s easier to find and keep track of content you\u2019re interested in. Take advantage of enhanced search and a new feature that monitors threads for you and sends you an email each time there\u2019s a reply.","title":"New features available on the Apple Developer Forums","articleID":"94fdd437-834f-4448-bd65-3d3c9271efa2","pageID":"94fdd437-834f-4448-bd65-3d3c9271efa2","articlePermalinkKey":"of9ss4h1","pagePermalinkKey":"of9ss4h1","originalPublishingDate":"2021-02-12T09:20:09-08:00","publishingExpiryDate":"2075-02-12T18:12:27-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"54B6B622-4040-4E35-9FAC-A18CBD5A205A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10315":{"id":"news-10315","staticContentId":6408,"eventContentId":10315,"eventId":"news","contentUpdatedAt":"2021-12-15T10:23:21-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=v868vy6e","languageCode":"eng","description":"Swift Playgrounds is the best and easiest way to learn how to code. And with Swift Playgrounds 4, you have the tools to build iPhone and iPad apps right on iPad and submit them directly to App Store Connect, providing a new way for you to easily create apps and share them with the world. Code is immediately reflected in the live preview as you build apps, and you can run your apps full screen to test them out. A new open project format based on Swift packages can be opened and edited in Swift Playgrounds for iPad, as well as within Xcode on Mac, offering you even more versatility to develop apps across iPad and Mac.","title":"Swift Playgrounds 4 now available","articleID":"4969a10f-efe8-401a-a68c-45ee08a954c1","pageID":"4969a10f-efe8-401a-a68c-45ee08a954c1","articlePermalinkKey":"v868vy6e","pagePermalinkKey":"v868vy6e","originalPublishingDate":"2021-12-15T10:22:47-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"903F50D7-5BA4-4457-8097-CA175EFCF673","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111949":{"id":"news-111949","staticContentId":9822,"eventContentId":111949,"eventId":"news","contentUpdatedAt":"2024-10-24T11:34:28-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=fps422ld","languageCode":"eng","description":"Beta testing your apps, games, and App\u00a0Clips is even better with new enhancements to TestFlight.","title":"TestFlight enhancements to help you reach testers","articleID":"4bd0f026-2897-42d1-b243-00407146452b","pageID":"4bd0f026-2897-42d1-b243-00407146452b","articlePermalinkKey":"fps422ld","pagePermalinkKey":"fps422ld","originalPublishingDate":"2024-10-24T06:00:41-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E7120149-C2D3-4296-AE35-663E36A9DCE8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10247":{"id":"news-10247","staticContentId":5284,"eventContentId":10247,"eventId":"news","contentUpdatedAt":"2021-09-13T07:34:22-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=5odabsss","languageCode":"eng","description":"Private Click Measurement is now available in iOS 14.5 and iPadOS 14.5, allowing advertising networks to measure the effectiveness of advertisement clicks within iOS or iPadOS apps that navigate to a website. This information can be used to understand which advertisements drive conversions (such as purchases or signups) \u2014 while maintaining user privacy.","title":"What\u2019s new in advertising attribution technologies","articleID":"c86da986-cea7-4709-886b-abf52307d3d2","pageID":"c86da986-cea7-4709-886b-abf52307d3d2","articlePermalinkKey":"5odabsss","pagePermalinkKey":"5odabsss","originalPublishingDate":"2021-04-27T13:05:15-07:00","publishingExpiryDate":"2075-04-27T16:14:15-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D1A099AE-E785-4240-8B5E-063833A1C871","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10259":{"id":"news-10259","staticContentId":5757,"eventContentId":10259,"eventId":"news","contentUpdatedAt":"2021-09-13T07:38:05-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=lvr5n745","languageCode":"eng","description":"ARKit 5 introduces new features and improvements that make the AR experiences in your apps better than ever. You can now place Location Anchors in even more cities, pin virtual content within your App Clips or ARKit apps to a printed or digital App Clip Code, take advantage of Face Tracking in the Ultra Wide camera on iPad Pro 5th generation, and more.","title":"Augmented reality updates now available","articleID":"2afa8207-7ea0-4a08-bee8-7412539f7bc8","pageID":"2afa8207-7ea0-4a08-bee8-7412539f7bc8","articlePermalinkKey":"lvr5n745","pagePermalinkKey":"lvr5n745","originalPublishingDate":"2021-06-07T12:05:53-07:00","publishingExpiryDate":"2075-06-05T22:33:04-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0DFDA2CB-7772-4932-A74F-2809485EE962","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112061":{"id":"news-112061","staticContentId":10725,"eventContentId":112061,"eventId":"news","contentUpdatedAt":"2026-02-06T08:58:41-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=d75yllv4","languageCode":"eng","description":"The App Review Guidelines have been revised to clarify that apps with random or anonymous chat are subject to the 1.2 User-Generated Content guideline.","title":"Updated App Review Guidelines now available","articleID":"c15d8148-9112-40d4-a0f7-4f6ece03adce","pageID":"c15d8148-9112-40d4-a0f7-4f6ece03adce","articlePermalinkKey":"d75yllv4","pagePermalinkKey":"d75yllv4","originalPublishingDate":"2026-02-06T08:00:56-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E0350F3A-5AF5-4588-9B5C-AF7E0333A90F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10155":{"id":"news-10155","staticContentId":4315,"eventContentId":10155,"eventId":"news","contentUpdatedAt":"2021-09-13T07:17:27-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=06162020a","languageCode":"eng","description":"The WWDC20 Swift Student Challenge gave students around the world the opportunity to showcase their love of coding by creating an incredible Swift playground. Starting today, developers who submitted their applications can find out their status by signing in to the Challenge website with the Apple ID they used to submit their application.","title":"Swift Student Challenge winners announced","articleID":"28ce7c84-3e14-4085-953f-3060a87db3c3","pageID":"28ce7c84-3e14-4085-953f-3060a87db3c3","articlePermalinkKey":"06162020a","pagePermalinkKey":"06162020a","originalPublishingDate":"2020-06-16T10:55:43-07:00","publishingExpiryDate":"2030-06-16T18:59:19-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"8A0EFAB0-5DE5-44F8-B24E-6A48C45D8B94","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111957":{"id":"news-111957","staticContentId":9835,"eventContentId":111957,"eventId":"news","contentUpdatedAt":"2024-10-31T10:15:24-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=b6tejt6f","languageCode":"eng","description":"As part of ongoing efforts to improve security and privacy on Apple platforms, the App\u00a0Store receipt signing intermediate certificate is being updated to use the SHA-256 cryptographic algorithm. This certificate is used to sign App\u00a0Store receipts, which are the proof of purchase for apps and In-App Purchases.","title":"Upcoming changes to the App Store Receipt Signing Intermediate Certificate","articleID":"fce6849a-38b2-4e65-910b-a844d4a71ab4","pageID":"fce6849a-38b2-4e65-910b-a844d4a71ab4","articlePermalinkKey":"b6tejt6f","pagePermalinkKey":"b6tejt6f","originalPublishingDate":"2024-10-31T07:00:39-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"731A4C79-F643-43AE-9E8A-C04A259CCFFB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110191":{"id":"news-110191","staticContentId":7680,"eventContentId":110191,"eventId":"news","contentUpdatedAt":"2022-08-30T14:00:17-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=5hlzzu3u","languageCode":"eng","description":"Xcode Cloud, the continuous integration and delivery service built into Xcode, accelerates the development and delivery of high-quality apps. Get started by configuring a workflow in Xcode and receive 25 compute hours per month at no cost until the end of 2023. And now, Account Holders can subscribe for more compute hours in the Apple\u00a0Developer\u00a0app.","title":"Xcode Cloud subscriptions now available","articleID":"20f28690-2158-41ba-8d9a-e024efdf7591","pageID":"20f28690-2158-41ba-8d9a-e024efdf7591","articlePermalinkKey":"5hlzzu3u","pagePermalinkKey":"5hlzzu3u","originalPublishingDate":"2022-08-30T14:00:26-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"AB0F4094-762A-404C-AD26-93CD973A647C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110266":{"id":"news-110266","staticContentId":9091,"eventContentId":110266,"eventId":"news","contentUpdatedAt":"2023-10-19T10:00:20-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=cy3zy68w","languageCode":"eng","description":"The Push Notifications Console now includes metrics for notifications sent in production through the Apple Push Notification service (APNs). With the console's intuitive interface, you'll get an aggregated view of delivery statuses and insights into various statistics for notifications, including a detailed breakdown based on push type and priority.","title":"New delivery metrics now available in the Push Notifications Console","articleID":"8e718f13-2fa0-49c0-a221-6ff03958b975","pageID":"8e718f13-2fa0-49c0-a221-6ff03958b975","articlePermalinkKey":"cy3zy68w","pagePermalinkKey":"cy3zy68w","originalPublishingDate":"2023-10-19T09:50:26-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"652277D5-4F36-4629-A818-468B26BE3F98","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110298":{"id":"news-110298","staticContentId":9234,"eventContentId":110298,"eventId":"news","contentUpdatedAt":"2024-03-05T09:42:14-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=7tt9f8cu","languageCode":"eng","description":"You can now submit your apps and games built with Xcode\u00a015.3 and all the latest SDKs for iOS\u00a017.4, iPadOS\u00a017.4, macOS\u00a014.4, tvOS\u00a017.4, visionOS\u00a01.1, and watchOS\u00a010.4.","title":"The latest OS Release Candidates are now available","articleID":"a3e2e433-3795-4434-861b-b0854cf4d71a","pageID":"a3e2e433-3795-4434-861b-b0854cf4d71a","articlePermalinkKey":"7tt9f8cu","pagePermalinkKey":"7tt9f8cu","originalPublishingDate":"2024-03-05T07:56:58-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0C9CA2BC-C5BD-4F9B-8359-B1B2A065125B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111973":{"id":"news-111973","staticContentId":9877,"eventContentId":111973,"eventId":"news","contentUpdatedAt":"2025-02-03T09:19:12-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=8xllorfy","languageCode":"eng","description":"Submissions for the Swift\u00a0Student\u00a0Challenge\u00a02025 are now open through February\u00a023. You have three more weeks to design, test, refine, and submit your app playground for consideration to be named one of 350\u00a0winners.","title":"Apply for the Swift Student Challenge now through February\u00a023","articleID":"9e750767-c940-4f80-a92b-cdecb1cd7eee","pageID":"9e750767-c940-4f80-a92b-cdecb1cd7eee","articlePermalinkKey":"8xllorfy","pagePermalinkKey":"8xllorfy","originalPublishingDate":"2025-02-03T07:00:46-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C982E4BA-1C64-42A7-925A-93100263F884","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10238":{"id":"news-10238","staticContentId":5228,"eventContentId":10238,"eventId":"news","contentUpdatedAt":"2021-09-13T07:22:58-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ay4rbpsp","languageCode":"eng","description":"It\u2019s now simpler than ever for developers around the world to enroll in the Apple Developer Program. As of today, the Apple Developer app also supports enrollment in Canada, France, India, Italy, Netherlands, Russia, and Spain.","title":"Program enrollment available in more regions in the Apple Developer app","articleID":"c93f47e8-f94d-49d4-ad75-9479a2ee6605","pageID":"c93f47e8-f94d-49d4-ad75-9479a2ee6605","articlePermalinkKey":"ay4rbpsp","pagePermalinkKey":"ay4rbpsp","originalPublishingDate":"2021-04-08T19:50:00-07:00","publishingExpiryDate":"2075-04-08T17:12:00-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"79A4AC30-54F0-4430-9289-D98BF03E44CC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112073":{"id":"news-112073","staticContentId":10921,"eventContentId":112073,"eventId":"news","contentUpdatedAt":"2026-03-26T15:16:27-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=nyqbfz1y","languageCode":"eng","description":"To provide additional transparency to customers, the App Store will now display whether an app is a regulated medical device on its product page in the European Economic Area (EEA), United Kingdom, or United States.","title":"Update on regulated medical device apps in the European Economic Area, United\u00a0Kingdom, and United\u00a0States","articleID":"8eee3c85-812c-4a16-be6c-58dd6da87e63","pageID":"8eee3c85-812c-4a16-be6c-58dd6da87e63","articlePermalinkKey":"nyqbfz1y","pagePermalinkKey":"nyqbfz1y","originalPublishingDate":"2026-03-26T15:05:24-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5F421D6A-545F-4D76-94E3-0DDD6791B19D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110234":{"id":"news-110234","staticContentId":8846,"eventContentId":110234,"eventId":"news","contentUpdatedAt":"2023-05-23T08:09:49-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=pikn0gp3","languageCode":"eng","description":"The Apple Design Awards celebrate apps and games that excel in the categories of Inclusivity, Delight and Fun, Interaction, Social Impact, Visuals and Graphics, and Innovation. Discover this year\u2019s finalists, then check back June 5 at 6:30 p.m. PT to learn about the winners.","title":"Apple Design Award finalists announced","articleID":"841a5540-4610-4789-a3a8-327f695b8346","pageID":"841a5540-4610-4789-a3a8-327f695b8346","articlePermalinkKey":"pikn0gp3","pagePermalinkKey":"pikn0gp3","originalPublishingDate":"2023-05-23T08:01:50-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"73D4F8FC-77BE-4CD5-9055-0533180E4AF3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111926":{"id":"news-111926","staticContentId":9684,"eventContentId":111926,"eventId":"news","contentUpdatedAt":"2024-05-23T16:20:22-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=hufhlpow","languageCode":"eng","description":"The Apple\u00a0Developer\u00a0Forums have been redesigned for WWDC24 to help developers connect with Apple experts, engineers, and each other to find answers and get advice.","title":"Check out the new Apple\u00a0Developer\u00a0Forums","articleID":"8c072896-8161-4486-9388-3113869834fd","pageID":"8c072896-8161-4486-9388-3113869834fd","articlePermalinkKey":"hufhlpow","pagePermalinkKey":"hufhlpow","originalPublishingDate":"2024-05-23T08:00:11-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B23E0B4E-8126-4954-928F-915DE5265E1F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10204":{"id":"news-10204","staticContentId":4782,"eventContentId":10204,"eventId":"news","contentUpdatedAt":"2021-09-13T07:29:42-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=83m4plrb","languageCode":"eng","description":"As a reminder, new apps and app updates will not be accepted December 23 through 27 (Pacific Time). Please ensure time for your releases to be scheduled, submitted, and approved in advance so you\u2019ll be ready for the busiest season on the App&nbsp;Store. Other App&nbsp;Store&nbsp;Connect and developer account features will remain available.","title":"App Store Connect holiday schedule","articleID":"a98650ed-1ef8-4dd4-b128-f93a59d05737","pageID":"a98650ed-1ef8-4dd4-b128-f93a59d05737","articlePermalinkKey":"83m4plrb","pagePermalinkKey":"83m4plrb","originalPublishingDate":"2020-11-23T09:53:01-08:00","publishingExpiryDate":"2075-11-23T16:56:56-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"CCF2AAA8-88B5-4649-8576-5F60F9EA581F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10172":{"id":"news-10172","staticContentId":4664,"eventContentId":10172,"eventId":"news","contentUpdatedAt":"2021-09-13T07:35:41-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=2sngpulc","languageCode":"eng","description":"Part of the DeviceCheck services, the new App Attest API helps protect against security threats to your apps on iOS 14 or later, reducing fraudulent use of your services. With App Attest, you can generate a special cryptographic key on a device and use it to validate the integrity of your app before your server provides access to sensitive data.\n\nLearn more","title":"Verify your app\u2019s integrity with the new App Attest API","articleID":"2740ee2c-d153-4e3e-8c40-c38cfbed11ec","pageID":"2740ee2c-d153-4e3e-8c40-c38cfbed11ec","articlePermalinkKey":"2sngpulc","pagePermalinkKey":"2sngpulc","originalPublishingDate":"2020-08-03T09:40:26-07:00","publishingExpiryDate":"2075-08-03T16:56:55-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1CF54C4D-5859-4438-927D-C1FEF82CC009","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10311":{"id":"news-10311","staticContentId":6398,"eventContentId":10311,"eventId":"news","contentUpdatedAt":"2021-11-29T08:34:32-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=mvo27858","languageCode":"eng","description":"Connect with Apple experts to learn how to create best-in-class apps through office hours and live sessions with Q&As until December 17. The final set of Tech Talks activities have been released, so register today if you're a member of the Apple Developer Program or Apple Developer Enterprise Program. ","title":"Tech Talks: final set of sessions and office hours now available","articleID":"13636c3b-f1ad-4e8e-994a-dc4101c6df0a","pageID":"13636c3b-f1ad-4e8e-994a-dc4101c6df0a","articlePermalinkKey":"mvo27858","pagePermalinkKey":"mvo27858","originalPublishingDate":"2021-11-29T08:30:43-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E1333AA5-1564-4BBF-A433-EB45CB568B7E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-10007":{"id":"news-10007","staticContentId":3991,"eventContentId":10007,"eventId":"news","contentUpdatedAt":"2021-09-13T07:32:15-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=04142020a","languageCode":"eng","description":"When taxes or foreign exchange rates change, we sometimes need to update prices on the App Store. In the next few days, prices of apps on the App Store and in-app purchases (excluding auto-renewable subscriptions) will change in Barbados, Moldova, and Uzbekistan due to new value-added taxes. Your proceeds will be adjusted accordingly and will be calculated based on the tax-exclusive price.","title":"Upcoming price and tax changes in Barbados, Malaysia, Moldova, and Uzbekistan","articleID":"3f5f75ea-257e-4b58-8878-03a2d4a663f9","pageID":"3f5f75ea-257e-4b58-8878-03a2d4a663f9","articlePermalinkKey":"04142020a","pagePermalinkKey":"04142020a","originalPublishingDate":"2020-04-14T20:00:01-07:00","publishingExpiryDate":"2040-04-14T18:45:12-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"8D59CEA6-D191-419B-8034-6C60B6C57D61","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110183":{"id":"news-110183","staticContentId":7485,"eventContentId":110183,"eventId":"news","contentUpdatedAt":"2022-07-19T11:51:37-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=yqf4kgwb","languageCode":"eng","description":"The App Store Connect REST API lets you customize and automate tasks across developer tools, giving you greater flexibility and efficiency in your workflows. Starting in November 2022, you\u2019ll need to use this API instead of the XML feed to automate management of in-app purchases, subscriptions, metadata, and app pricing. The XML feed will continue to support existing Game Center management functionality.","title":"Upcoming transition from the XML feed to the App Store Connect API","articleID":"ce3a7949-80b0-4f55-966a-c05a30dc87d7","pageID":"ce3a7949-80b0-4f55-966a-c05a30dc87d7","articlePermalinkKey":"yqf4kgwb","pagePermalinkKey":"yqf4kgwb","originalPublishingDate":"2022-07-19T11:50:38-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"86D90CDD-0BE8-4D10-9AF1-036155477FC0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112122":{"id":"news-112122","staticContentId":11300,"eventContentId":112122,"eventId":"news","contentUpdatedAt":"2026-07-09T15:20:11-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=tlur8uvi","languageCode":"eng","description":"The age rating questionnaire in App\u00a0Store\u00a0Connect now includes questions about your app\u2019s social media capabilities to support new Time Allowances in iOS\u00a027, iPadOS\u00a027, and macOS\u00a027, or later.","title":"Age rating questionnaire now includes social media questions","articleID":"2a8bbf8f-141e-4add-8a83-4ad3394cc67e","pageID":"2a8bbf8f-141e-4add-8a83-4ad3394cc67e","articlePermalinkKey":"tlur8uvi","pagePermalinkKey":"tlur8uvi","originalPublishingDate":"2026-07-09T15:00:01-07:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":86,"topicIds":[96,86],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"111A52BF-5A88-4FBC-B4A8-B7DFC8E172F3","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-110272":{"id":"news-110272","staticContentId":9118,"eventContentId":110272,"eventId":"news","contentUpdatedAt":"2023-12-05T08:43:44-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=uijoypq9","languageCode":"eng","description":"The busiest season on the App\u00a0Store is almost here! Make sure your apps and games are up to date and ready in advance of the upcoming holidays. We\u2019ll remain open throughout the season and look forward to accepting your submissions. On average, 90% of submissions are reviewed in less than 24 hours. However, reviews may take a bit longer to complete from December 22 to\u00a027.","title":"Get your apps ready for the holidays","articleID":"3362136d-ff71-445e-a8cf-e19cde188348","pageID":"3362136d-ff71-445e-a8cf-e19cde188348","articlePermalinkKey":"uijoypq9","pagePermalinkKey":"uijoypq9","originalPublishingDate":"2023-12-05T06:00:17-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F43E9B1D-9A8A-4184-9FE3-357DD8D6772C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110273":{"id":"news-110273","staticContentId":9119,"eventContentId":110273,"eventId":"news","contentUpdatedAt":"2023-11-14T07:46:25-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=jh5opnb7","languageCode":"eng","description":"Every year, the App\u00a0Store celebrates exceptional apps that improve people\u2019s lives while showcasing the highest levels of technical innovation, user experience, design, and positive cultural impact. This year we\u2019re proud to recognize nearly 40 outstanding finalists. Winners will be announced in the coming\u00a0weeks.","title":"App Store Award finalists announced","articleID":"aa927af1-5e98-48fb-a33e-9d4bdb04caa6","pageID":"aa927af1-5e98-48fb-a33e-9d4bdb04caa6","articlePermalinkKey":"jh5opnb7","pagePermalinkKey":"jh5opnb7","originalPublishingDate":"2023-11-14T07:00:47-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"AD3673A3-2E3B-4E87-AC02-1900EA15B7D7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-110279":{"id":"news-110279","staticContentId":9139,"eventContentId":110279,"eventId":"news","contentUpdatedAt":"2023-12-14T08:24:28-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=wb126b0o","languageCode":"eng","description":"The beta versions of iOS 17.3, iPadOS 17.3, macOS 14.3, tvOS 17.3, and watchOS 10.3 are now available. Get your apps ready by confirming they work as expected on these releases. And to take advantage of the advancements in the latest SDKs, make sure to build and test with Xcode 15.2 beta.","title":"Get ready with the latest beta releases","articleID":"d7cd62e3-3577-4c7a-86a3-f1eb62f4e6e1","pageID":"d7cd62e3-3577-4c7a-86a3-f1eb62f4e6e1","articlePermalinkKey":"wb126b0o","pagePermalinkKey":"wb126b0o","originalPublishingDate":"2023-12-14T07:00:44-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"95397329-FEBC-4B6A-BDAD-6B797A22A583","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112087":{"id":"news-112087","staticContentId":11151,"eventContentId":112087,"eventId":"news","contentUpdatedAt":"2026-06-13T09:29:54-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=7lcnqgxp","languageCode":"eng","description":"Get ready for a week of technology, creativity, and community \u2014 all online and\u00a0free. Here\u2019s what WWDC26 has in\u00a0store.","title":"Coming bright up","articleID":"bcfa1cf2-e7b9-4e26-a3b3-3d659adf14aa","pageID":"bcfa1cf2-e7b9-4e26-a3b3-3d659adf14aa","articlePermalinkKey":"7lcnqgxp","pagePermalinkKey":"7lcnqgxp","originalPublishingDate":"2026-05-18T08:00:00-07:00","publishingExpiryDate":"2036-06-12T17:00:00-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"73893C59-FAAD-416F-8155-C2100945DA2C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111943":{"id":"news-111943","staticContentId":9808,"eventContentId":111943,"eventId":"news","contentUpdatedAt":"2024-08-29T09:15:45-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=rob1vlg0","languageCode":"eng","description":"The App\u00a0Store is designed to make it easy to sell your digital goods and services globally, with support for 44 currencies across 175 storefronts.","title":"Price and tax updates for apps, In-App Purchases, and subscriptions","articleID":"8f05595f-3b2f-42a6-abe0-2a1f78f25576","pageID":"8f05595f-3b2f-42a6-abe0-2a1f78f25576","articlePermalinkKey":"rob1vlg0","pagePermalinkKey":"rob1vlg0","originalPublishingDate":"2024-08-29T07:00:52-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"55FF669F-378C-4C8C-899B-7D4DBA4C214D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112043":{"id":"news-112043","staticContentId":10677,"eventContentId":112043,"eventId":"news","contentUpdatedAt":"2025-12-04T05:54:39-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=id45s69d","languageCode":"eng","description":"Join us in celebrating the outstanding work of these developers from around the world.","title":"App Store Award winners announced","articleID":"21e86e8e-483c-43e1-a8b5-bdcd850266cc","pageID":"21e86e8e-483c-43e1-a8b5-bdcd850266cc","articlePermalinkKey":"id45s69d","pagePermalinkKey":"id45s69d","originalPublishingDate":"2025-12-04T05:00:25-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9FE7A4DA-04CF-4961-A258-347942198BBA","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111925":{"id":"news-111925","staticContentId":9675,"eventContentId":111925,"eventId":"news","contentUpdatedAt":"2024-06-06T07:29:52-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6qt455k0","languageCode":"eng","description":"Through craft, creativity, and sheer ambition, the incredible developers behind this year\u2019s finalists have shown what can be possible on Apple platforms.","title":"Introducing the 2024 Apple\u00a0Design\u00a0Award winners","articleID":"610d4bd6-6524-4dd0-a7d3-a0b0f8c873a6","pageID":"610d4bd6-6524-4dd0-a7d3-a0b0f8c873a6","articlePermalinkKey":"6qt455k0","pagePermalinkKey":"6qt455k0","originalPublishingDate":"2024-06-06T00:10:16-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C4751614-1DF0-4A22-9758-6A0F48A9C1AF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111944":{"id":"news-111944","staticContentId":9811,"eventContentId":111944,"eventId":"news","contentUpdatedAt":"2024-09-10T12:02:30-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=8utnewzk","languageCode":"eng","description":"You can now configure win-back offers \u2014 a new type of offer for auto-renewable subscriptions \u2014 in App\u00a0Store\u00a0Connect. Win-back offers allow you to reach previous subscribers and encourage them to resubscribe to your app or game.","title":"Win-back offers for auto-renewable subscriptions now available","articleID":"1dc01dee-428c-4fd3-b157-80850ac7fe84","pageID":"1dc01dee-428c-4fd3-b157-80850ac7fe84","articlePermalinkKey":"8utnewzk","pagePermalinkKey":"8utnewzk","originalPublishingDate":"2024-09-10T07:00:08-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1ABCC0A5-814A-4DD6-9C13-446D087D5F44","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112003":{"id":"news-112003","staticContentId":10544,"eventContentId":112003,"eventId":"news","contentUpdatedAt":"2025-06-09T13:54:50-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=04aq3n93","languageCode":"eng","description":"Discover the latest advancements on all Apple platforms. With incredible new features in iOS, iPadOS, macOS, tvOS, visionOS, and watchOS, and major enhancements across languages, frameworks, tools, and services, you can create even more unique experiences in your apps and\u00a0games.","title":"Find out what\u2019s new for Apple\u00a0developers","articleID":"ce02d5d6-ac4c-4652-a40b-2e55154f3f29","pageID":"ce02d5d6-ac4c-4652-a40b-2e55154f3f29","articlePermalinkKey":"04aq3n93","pagePermalinkKey":"04aq3n93","originalPublishingDate":"2025-06-09T06:10:28-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"33A0550F-4068-4303-881F-052803C92089","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111946":{"id":"news-111946","staticContentId":9815,"eventContentId":111946,"eventId":"news","contentUpdatedAt":"2024-09-12T23:58:36-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4sn7e783","languageCode":"eng","description":"The App Review Guidelines have been revised to add iPadOS to Notarization.","title":"Update on iPadOS\u00a018 apps distributed in the European\u00a0Union","articleID":"3aaa891e-319f-4659-af9b-ddecd4357e51","pageID":"3aaa891e-319f-4659-af9b-ddecd4357e51","articlePermalinkKey":"4sn7e783","pagePermalinkKey":"4sn7e783","originalPublishingDate":"2024-09-13T00:00:18-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D9F8D5DA-1529-4F60-BB2E-BF158AC70F45","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111928":{"id":"news-111928","staticContentId":9743,"eventContentId":111928,"eventId":"news","contentUpdatedAt":"2024-06-10T10:38:45-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=lfufk91n","languageCode":"eng","description":"Here\u2019s how to make the most of your week.","title":"WWDC24 sessions schedule, lab requests, guides, and documentation now available","articleID":"9633fa6d-b0ae-4b4e-9bb6-b3bc9b2a773e","pageID":"9633fa6d-b0ae-4b4e-9bb6-b3bc9b2a773e","articlePermalinkKey":"lfufk91n","pagePermalinkKey":"lfufk91n","originalPublishingDate":"2024-06-10T07:00:13-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"EEB5AAC0-1378-4316-B3FD-4C8BE44F4DA5","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112142":{"id":"news-112142","staticContentId":11360,"eventContentId":112142,"eventId":"news","contentUpdatedAt":"2026-08-27T12:06:10-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=s6spdug0","languageCode":"eng","description":"Join us for a special Apple Event on September 9 at 10 a.m. PT.","title":"Surprise and shine","articleID":"db49a3ff-b14a-4e1f-958c-61dbcee95186","pageID":"db49a3ff-b14a-4e1f-958c-61dbcee95186","articlePermalinkKey":"s6spdug0","pagePermalinkKey":"s6spdug0","originalPublishingDate":"2026-08-26T08:00:55-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7755964F-070D-4D99-A95F-54BE316D0398","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-112144":{"id":"news-112144","staticContentId":11363,"eventContentId":112144,"eventId":"news","contentUpdatedAt":"2026-09-01T11:08:52-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=w5ngl9k2","languageCode":"eng","description":"In 2020, we introduced Apple\u00a0silicon for Mac computers, providing Rosetta as a translation layer during the transition period. As announced at WWDC last year, we\u2019re now concluding this transition.","title":"Upcoming changes to Rosetta support for Intel-based macOS\u00a0apps","articleID":"60146846-d871-4c24-a69b-bcdd44ad8a99","pageID":"60146846-d871-4c24-a69b-bcdd44ad8a99","articlePermalinkKey":"w5ngl9k2","pagePermalinkKey":"w5ngl9k2","originalPublishingDate":"2026-09-01T08:00:41-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D34585F0-4229-4A9D-8B93-BB4BE89E4983","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-111927":{"id":"news-111927","staticContentId":9714,"eventContentId":111927,"eventId":"news","contentUpdatedAt":"2024-06-03T07:37:56-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=b633x0zx","languageCode":"eng","description":"One week to go. Don\u2019t miss the exciting reveal of the latest Apple software and technologies.","title":"Action packed.","articleID":"affa8269-1a35-488e-b321-396de7b43aa9","pageID":"affa8269-1a35-488e-b321-396de7b43aa9","articlePermalinkKey":"b633x0zx","pagePermalinkKey":"b633x0zx","originalPublishingDate":"2024-06-03T06:00:50-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"65058856-33D9-45FF-A49E-51D9AE990E12","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112110":{"id":"news-112110","staticContentId":11266,"eventContentId":112110,"eventId":"news","contentUpdatedAt":"2026-06-15T11:20:54-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=dz9wvq0r","languageCode":"eng","description":"As we continue to refine our approach to image generation, the ImageCreator class is being discontinued and will no longer work in iOS\u00a027, iPadOS\u00a027, macOS\u00a027, and visionOS\u00a027 or later. When we introduced the Image Playground framework, we included the ImageCreator class as a way for apps to generate images programmatically using the on-device image generation model.","title":"Deprecation of the ImageCreator class","articleID":"85e912db-74a5-4448-87b4-eadc9c5bfff2","pageID":"85e912db-74a5-4448-87b4-eadc9c5bfff2","articlePermalinkKey":"dz9wvq0r","pagePermalinkKey":"dz9wvq0r","originalPublishingDate":"2026-06-11T08:00:11-07:00","platforms":["iOS","iPadOS","macOS","visionOS"],"primaryTopicID":94,"topicIds":[87,88,94],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"72E83725-FEDB-403E-AC98-224840F8EB04","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-111961":{"id":"news-111961","staticContentId":9841,"eventContentId":111961,"eventId":"news","contentUpdatedAt":"2024-11-25T05:29:06-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ek82tlh0","languageCode":"eng","description":"This year we're proud to recognize over 40 outstanding finalists.","title":"App Store Award finalists announced","articleID":"d20d5229-5a0a-4b55-a57c-56f6136e4c6c","pageID":"d20d5229-5a0a-4b55-a57c-56f6136e4c6c","articlePermalinkKey":"ek82tlh0","pagePermalinkKey":"ek82tlh0","originalPublishingDate":"2024-11-25T05:00:55-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C3B418AA-7A4C-4A7E-BBBE-AD36D43AF7CB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112116":{"id":"news-112116","staticContentId":11282,"eventContentId":112116,"eventId":"news","contentUpdatedAt":"2026-06-18T07:35:02-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=umq9wxmm","languageCode":"eng","description":"Attachment 12 of the Apple\u00a0Developer Program License Agreement has been revised to specify terms for iOS apps in Brazil, including alternative distribution, alternative payments and out-of-app offers, and the Core Technology Commission.","title":"Updated Apple Developer Program License Agreement now available","articleID":"287ef0b9-b26e-4868-b6f3-6313b854ec04","pageID":"287ef0b9-b26e-4868-b6f3-6313b854ec04","articlePermalinkKey":"umq9wxmm","pagePermalinkKey":"umq9wxmm","originalPublishingDate":"2026-06-18T07:30:54-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FF017BB9-B236-403A-84C9-1F22F6F79763","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-112118":{"id":"news-112118","staticContentId":11283,"eventContentId":112118,"eventId":"news","contentUpdatedAt":"2026-06-18T07:35:14-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=dhwadr2x","languageCode":"eng","description":"As part of a recent agreement with Brazil\u2019s competition regulator CADE (Conselho Administrativo de Defesa Econ\u00f4mica), Apple is introducing changes to iOS that create new options for developers' apps in Brazil. Beginning with iOS 26.5, developers can distribute apps on alternative app marketplaces, operate alternative app marketplaces, process app payments for digital goods and services outside of Apple In-App&nbsp;Purchase in iOS, and more. ","title":"Changes to iOS in Brazil","articleID":"b3a6da71-83fc-4038-8990-620f621bcd84","pageID":"b3a6da71-83fc-4038-8990-620f621bcd84","articlePermalinkKey":"dhwadr2x","pagePermalinkKey":"dhwadr2x","originalPublishingDate":"2026-06-18T07:30:05-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"740E52FA-4C76-47B7-8DCA-0F00333C8CE5","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-112015":{"id":"news-112015","staticContentId":10604,"eventContentId":112015,"eventId":"news","contentUpdatedAt":"2025-08-21T10:55:43-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=yo2104n5","languageCode":"eng","description":"The App\u00a0Store is designed to make it easy to sell your digital goods and services globally, with support for 44 currencies across 175 storefronts. From time to time, we need to adjust prices or your proceeds due to changes in tax regulations or foreign exchange rates. These adjustments are made using publicly available exchange rate information from financial data providers to help make sure prices for apps and In-App Purchases stay consistent across all storefronts.","title":"Tax and Price Updates for Apps, In-App Purchases, and Subscriptions","articleID":"91cedaf0-2bd1-4a4e-9722-7fca5bd57cfa","pageID":"91cedaf0-2bd1-4a4e-9722-7fca5bd57cfa","articlePermalinkKey":"yo2104n5","pagePermalinkKey":"yo2104n5","originalPublishingDate":"2025-08-21T06:00:46-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A28FA05E-1066-4E7F-8B73-5F463AEA5C94","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111965":{"id":"news-111965","staticContentId":9848,"eventContentId":111965,"eventId":"news","contentUpdatedAt":"2024-12-06T12:20:25-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=edbw1dhq","languageCode":"eng","description":"Attachment 2 of the Apple Developer Program License Agreement has been amended to specify requirements for use of the In-App Purchase API. Please review the changes and accept the updated terms in your account.","title":"Updated Apple Developer Program License Agreement now available","articleID":"7fab9151-8b51-4c05-9487-dcd8f93931a9","pageID":"7fab9151-8b51-4c05-9487-dcd8f93931a9","articlePermalinkKey":"edbw1dhq","pagePermalinkKey":"edbw1dhq","originalPublishingDate":"2024-12-06T07:00:11-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0FDE3E3D-FF72-4086-BED1-644D5092A01F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111955":{"id":"news-111955","staticContentId":9833,"eventContentId":111955,"eventId":"news","contentUpdatedAt":"2024-10-23T08:53:55-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=g6ycjsnl","languageCode":"eng","description":"The Apple Developer Program License Agreement and its Schedules 1, 2, and 3 have been updated to support updated policies and upcoming features, and to provide clarification. Please review the changes below and accept the updated terms in your account.","title":"Updated agreements now available","articleID":"107fd86e-d323-4278-9bec-fd33bddeef9c","pageID":"107fd86e-d323-4278-9bec-fd33bddeef9c","articlePermalinkKey":"g6ycjsnl","pagePermalinkKey":"g6ycjsnl","originalPublishingDate":"2024-10-23T05:50:17-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A1769A85-9CE5-48B8-A4F6-31E5A281B184","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111968":{"id":"news-111968","staticContentId":9854,"eventContentId":111968,"eventId":"news","contentUpdatedAt":"2025-01-16T13:49:05-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=einwn76m","languageCode":"eng","description":"Starting February 17, 2025: Due to the European Union\u2019s Digital Services Act, apps without trader status will be removed from the App\u00a0Store in the European Union until trader status is provided and verified, if necessary.","title":"Apps without trader status will be removed from the App\u00a0Store in\u00a0the\u00a0EU","articleID":"e88a9d85-b990-48bf-9a50-4063e7b83a8a","pageID":"e88a9d85-b990-48bf-9a50-4063e7b83a8a","articlePermalinkKey":"einwn76m","pagePermalinkKey":"einwn76m","originalPublishingDate":"2025-01-16T08:00:29-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D71489B1-9E3F-48F8-99A9-CC9DF3292792","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111929":{"id":"news-111929","staticContentId":9750,"eventContentId":111929,"eventId":"news","contentUpdatedAt":"2024-06-10T10:39:50-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=og4hxxz8","languageCode":"eng","description":"The App\u00a0Review Guidelines, Apple\u00a0Developer Program License Agreement, and Apple\u00a0Developer Agreement have been updated to support updated policies and upcoming features, and to provide clarification. Please review the changes below and accept the updated terms as needed.","title":"Updated agreements and guidelines now available","articleID":"c23e11f7-d139-472e-8841-6f25d1964853","pageID":"c23e11f7-d139-472e-8841-6f25d1964853","articlePermalinkKey":"og4hxxz8","pagePermalinkKey":"og4hxxz8","originalPublishingDate":"2024-06-10T06:50:46-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"EA033E44-6255-4289-A7D2-2DDE4CDF6E97","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111967":{"id":"news-111967","staticContentId":9853,"eventContentId":111967,"eventId":"news","contentUpdatedAt":"2025-01-09T10:00:13-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=2x8awlvm","languageCode":"eng","description":"Starting next month, Apple will change the supported algorithms that secure server connections for Apple\u00a0Pay on\u00a0the\u00a0Web. In order to maintain uninterrupted service, you\u2019ll need to ensure that your production servers support one or more of the designated six ciphers before February\u00a04,\u00a02025.","title":"Algorithm changes to server connections for Apple\u00a0Pay on\u00a0the\u00a0Web","articleID":"b8e4603b-914c-4b5c-a63e-7325b4b7590d","pageID":"b8e4603b-914c-4b5c-a63e-7325b4b7590d","articlePermalinkKey":"2x8awlvm","pagePermalinkKey":"2x8awlvm","originalPublishingDate":"2025-01-09T08:00:14-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1BD13865-4921-46BA-9E6A-BE0EF8443DD0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112005":{"id":"news-112005","staticContentId":10579,"eventContentId":112005,"eventId":"news","contentUpdatedAt":"2025-06-26T09:42:48-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=awedznci","languageCode":"eng","description":"The European Commission has required Apple to make a series of additional changes under the Digital\u00a0Markets\u00a0Act.","title":"Updates for apps in the European\u00a0Union","articleID":"d2cf575f-3ed2-4fd9-a446-da64a924f655","pageID":"d2cf575f-3ed2-4fd9-a446-da64a924f655","articlePermalinkKey":"awedznci","pagePermalinkKey":"awedznci","originalPublishingDate":"2025-06-26T08:24:33-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B887C997-5F4D-45BF-858C-2242B6131998","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-111969":{"id":"news-111969","staticContentId":9862,"eventContentId":111969,"eventId":"news","contentUpdatedAt":"2025-01-16T11:06:24-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=rzloycgp","languageCode":"eng","description":"As part of ongoing efforts to improve security and privacy on Apple platforms, the App\u00a0Store receipt signing intermediate certificate is being updated to use the SHA-256 cryptographic algorithm. This certificate is used to sign App\u00a0Store receipts, which are the proof of purchase for apps and In-App\u00a0Purchases.","title":"Reminder: Upcoming Changes to the App\u00a0Store Receipt Signing Intermediate Certificate","articleID":"9b42f2d9-8b61-42aa-8db4-fa8566292042","pageID":"9b42f2d9-8b61-42aa-8db4-fa8566292042","articlePermalinkKey":"rzloycgp","pagePermalinkKey":"rzloycgp","originalPublishingDate":"2025-01-16T07:00:48-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FEC406B5-DD73-4BB5-82B0-DD43D1F60789","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112045":{"id":"news-112045","staticContentId":10678,"eventContentId":112045,"eventId":"news","contentUpdatedAt":"2025-12-08T09:18:39-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=y1bckxf8","languageCode":"eng","description":"Beginning December 10, 2025, a new Australian law will require certain social media platforms operating in Australia to prevent people under 16 from having a social media account. Impacted developers are responsible for making sure they follow the requirements of the new law, including deactivating any existing accounts for users under 16 and monitoring new signups.","title":"New Requirements for Social Media Apps in Australia","articleID":"362c1ed0-d230-43bc-9499-c2e2d2e1028d","pageID":"362c1ed0-d230-43bc-9499-c2e2d2e1028d","articlePermalinkKey":"y1bckxf8","pagePermalinkKey":"y1bckxf8","originalPublishingDate":"2025-12-08T06:00:16-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"56434A30-9F84-474C-9744-769C2E53AB71","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112055":{"id":"news-112055","staticContentId":10706,"eventContentId":112055,"eventId":"news","contentUpdatedAt":"2026-02-06T08:32:41-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=f0xw4t5r","languageCode":"eng","description":"The Swift Student Challenge is here! Submissions are now open through February 28, and students from all over the world are invited to submit their app playgrounds.","title":"Swift Student Challenge submissions are now open","articleID":"7df1cf47-c34f-4656-acff-9420bd9d3520","pageID":"7df1cf47-c34f-4656-acff-9420bd9d3520","articlePermalinkKey":"f0xw4t5r","pagePermalinkKey":"f0xw4t5r","originalPublishingDate":"2026-02-06T06:00:56-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7A5012C4-13BB-4AD2-A494-AE2D84D815B2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112057":{"id":"news-112057","staticContentId":10707,"eventContentId":112057,"eventId":"news","contentUpdatedAt":"2026-01-29T11:23:00-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=gvnljl3f","languageCode":"eng","description":"The App\u00a0Store is designed to make it easy to sell your digital goods and services globally, with support for 43 currencies across 175 storefronts. From time to time, we need to adjust prices or your proceeds due to changes in tax regulations or foreign exchange rates. These adjustments are made using publicly available exchange rate information from financial data providers to help make sure prices for apps and In-App Purchases stay consistent across all storefronts.","title":"Price updates for apps, In-App Purchases, and subscriptions","articleID":"e317a811-5f54-41c2-928b-21ff29fe152b","pageID":"e317a811-5f54-41c2-928b-21ff29fe152b","articlePermalinkKey":"gvnljl3f","pagePermalinkKey":"gvnljl3f","originalPublishingDate":"2026-01-29T11:00:26-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BB4E6D47-F3D7-4207-8C83-A5F152CF7D13","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112059":{"id":"news-112059","staticContentId":10708,"eventContentId":112059,"eventId":"news","contentUpdatedAt":"2026-02-03T10:51:49-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ueeok6yw","languageCode":"eng","description":"Starting April 28, 2026, apps and games uploaded to App Store Connect need to meet the following minimum requirements.","title":"Upcoming SDK minimum requirements","articleID":"1da27ba6-5f2c-4259-8df6-114d2fe73856","pageID":"1da27ba6-5f2c-4259-8df6-114d2fe73856","articlePermalinkKey":"ueeok6yw","pagePermalinkKey":"ueeok6yw","originalPublishingDate":"2026-02-03T06:00:30-08:00","primaryTopicID":88,"topicIds":[88],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C3577506-A16F-4DAC-B390-7DE490470C89","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112047":{"id":"news-112047","staticContentId":10685,"eventContentId":112047,"eventId":"news","contentUpdatedAt":"2026-03-25T06:26:51-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=hh6v4b55","languageCode":"eng","description":"Analytics in App Store Connect receives its biggest update since its launch, including a refreshed user experience that makes it easier to measure the performance of your apps and games.","title":"New In-App Purchase and subscription data now available in Analytics","articleID":"2c5dc49e-9971-456e-ab8b-3344fca16a47","pageID":"2c5dc49e-9971-456e-ab8b-3344fca16a47","articlePermalinkKey":"hh6v4b55","pagePermalinkKey":"hh6v4b55","originalPublishingDate":"2026-03-25T06:10:49-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"01FAC0C2-CEEE-4EBE-A347-D13557DF6A07","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112049":{"id":"news-112049","staticContentId":10686,"eventContentId":112049,"eventId":"news","contentUpdatedAt":"2025-12-17T16:30:19-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=074b3wzz","languageCode":"eng","description":"To comply with the Mobile Software Competition Act (MSCA), Apple is introducing changes to iOS that create new options for developers' apps in Japan. Beginning with iOS 26.2, developers can distribute apps on alternative app marketplaces, operate alternative app marketplaces, process app payments for digital goods and services outside of Apple In-App Purchase in iOS, and more.","title":"Changes to iOS in Japan","articleID":"f609ba50-3f32-44e6-9232-034512bcc0ba","pageID":"f609ba50-3f32-44e6-9232-034512bcc0ba","articlePermalinkKey":"074b3wzz","pagePermalinkKey":"074b3wzz","originalPublishingDate":"2025-12-17T15:00:21-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B0810F01-3760-475E-BDF5-A5D28789451C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112017":{"id":"news-112017","staticContentId":10606,"eventContentId":112017,"eventId":"news","contentUpdatedAt":"2025-09-09T15:48:49-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6lxhtioi","languageCode":"eng","description":"iOS 26, iPadOS 26, macOS Tahoe 26, tvOS 26, visionOS 26, and watchOS 26 will soon be available to customers worldwide \u2014 which means you can now submit apps and games that take advantage of Apple\u2019s broadest design update ever.","title":"App Store submissions now open for the latest OS releases","articleID":"fd6f3f64-2d70-41b2-843e-b9d51b5ebfc4","pageID":"fd6f3f64-2d70-41b2-843e-b9d51b5ebfc4","articlePermalinkKey":"6lxhtioi","pagePermalinkKey":"6lxhtioi","originalPublishingDate":"2025-09-09T05:00:09-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D9BEA310-9162-470C-AB1F-ACB01CE4F83F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112009":{"id":"news-112009","staticContentId":10591,"eventContentId":112009,"eventId":"news","contentUpdatedAt":"2025-07-22T11:59:17-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=zt8rydnt","languageCode":"eng","description":"Beginning next spring, watchOS apps must include 64-bit support and be built with the watchOS 26 SDK included in Xcode 26.","title":"New 64-bit requirement for watchOS apps","articleID":"3fedef00-76e9-4f52-8a5d-10e53e3f7e24","pageID":"3fedef00-76e9-4f52-8a5d-10e53e3f7e24","articlePermalinkKey":"zt8rydnt","pagePermalinkKey":"zt8rydnt","originalPublishingDate":"2025-07-22T06:00:43-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3C79A206-78F6-48D2-B52B-F628C60025C3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112019":{"id":"news-112019","staticContentId":10609,"eventContentId":112019,"eventId":"news","contentUpdatedAt":"2025-09-22T12:58:16-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4uj8znqq","languageCode":"eng","description":"The beta versions of iOS\u00a026.1, iPadOS\u00a026.1, macOS\u00a026.1, tvOS\u00a026.1, visionOS\u00a026.1, and watchOS\u00a026.1 are now available. Get your apps ready by confirming they work as expected on these releases. And to take advantage of the advancements in the latest SDKs, make sure to build and test with Xcode\u00a026.0.1.","title":"Get ready with the latest beta releases","articleID":"77d8680e-e2c0-42a7-9880-0ba11a0cf0cc","pageID":"77d8680e-e2c0-42a7-9880-0ba11a0cf0cc","articlePermalinkKey":"4uj8znqq","pagePermalinkKey":"4uj8znqq","originalPublishingDate":"2025-09-22T07:00:14-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0FB35A99-F940-4527-9DA5-30999907FE29","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112021":{"id":"news-112021","staticContentId":10611,"eventContentId":112021,"eventId":"news","contentUpdatedAt":"2025-09-25T09:55:12-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=rbfp3bpb","languageCode":"eng","description":"Beginning January 1, 2026, Bulgaria will adopt the euro (EUR) as its official currency, replacing the Bulgarian lev (BGN). As a result, the currency for App\u00a0Store purchases and subscriptions in Bulgaria will change from BGN to EUR on this date. Your proceeds from sales in Bulgaria will also change to euros.","title":"Upcoming Currency Change in Bulgaria","articleID":"095c73db-8c1c-46bc-b35f-116f7684b1df","pageID":"095c73db-8c1c-46bc-b35f-116f7684b1df","articlePermalinkKey":"rbfp3bpb","pagePermalinkKey":"rbfp3bpb","originalPublishingDate":"2025-09-25T09:00:46-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"74BD9A98-8415-4A73-A423-72F891E4B359","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112152":{"id":"news-112152","staticContentId":11378,"eventContentId":112152,"eventId":"news","contentUpdatedAt":"2026-09-16T11:05:07-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=idsft9ai","languageCode":"eng","description":"As part of recent agreements with select European competition authorities, Apple is introducing changes to its App Tracking Transparency framework in the European Union.","title":"Updates to App Tracking Transparency in the European\u00a0Union","articleID":"7ebc5398-cda3-4952-a600-0e1f9a959590","pageID":"7ebc5398-cda3-4952-a600-0e1f9a959590","articlePermalinkKey":"idsft9ai","pagePermalinkKey":"idsft9ai","originalPublishingDate":"2026-09-16T10:00:11-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"498B2BFF-A29B-4A25-B6CF-8D3EBCBFF52B","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-112154":{"id":"news-112154","staticContentId":11379,"eventContentId":112154,"eventId":"news","contentUpdatedAt":"2026-09-16T15:13:58-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=rfb1rooi","languageCode":"eng","description":"The beta versions of iOS\u00a027.2, iPadOS\u00a027.2, macOS\u00a027.2, tvOS\u00a027.2, visionOS\u00a027.2, and watchOS\u00a027.2 are now available. ","title":"Get ready with the latest beta releases","articleID":"fb788743-9c12-487c-9358-f3e2395cfa68","pageID":"fb788743-9c12-487c-9358-f3e2395cfa68","articlePermalinkKey":"rfb1rooi","pagePermalinkKey":"rfb1rooi","originalPublishingDate":"2026-09-16T10:03:39-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"EBA68623-113A-4795-AF26-754F1615C1B1","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-112156":{"id":"news-112156","staticContentId":11380,"eventContentId":112156,"eventId":"news","contentUpdatedAt":"2026-09-18T10:59:26-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=nyuppv9r","languageCode":"eng","description":"Get Xcode 27.1 beta and new design kits to start creating for iPhone Duo.","title":"Build for iPhone\u00a0Duo with new resources","articleID":"db319d9a-a1c2-4796-8431-bb25760a6caa","pageID":"db319d9a-a1c2-4796-8431-bb25760a6caa","articlePermalinkKey":"nyuppv9r","pagePermalinkKey":"nyuppv9r","originalPublishingDate":"2026-09-18T10:00:57-07:00","platforms":["iOS"],"keywords":["beta","design","duo","iphone duo","xcode"],"primaryTopicID":88,"topicIds":[87,90,88],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7F5BA62B-A2B8-4AE6-9FBB-A7B473C46F63","images":["square","wide"],"availablePathExtensions":["jpg","heic"]},"news-112025":{"id":"news-112025","staticContentId":10614,"eventContentId":112025,"eventId":"news","contentUpdatedAt":"2025-10-09T11:55:31-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=j9zukcr6","languageCode":"eng","description":"Starting January 1, 2026, developers based in the Republic of Korea must provide a server-to-server notification endpointwhen registering a new Services ID, or updating an existing Services ID, to associate their website with an app using Sign\u00a0in\u00a0with\u00a0Apple.","title":"New requirement for apps using Sign in with Apple for account creation","articleID":"3139628a-3945-4a4a-b5d5-2eb8de08be5a","pageID":"3139628a-3945-4a4a-b5d5-2eb8de08be5a","articlePermalinkKey":"j9zukcr6","pagePermalinkKey":"j9zukcr6","originalPublishingDate":"2025-10-09T05:00:09-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"CD4BC8D3-99A4-4DAB-B30F-E1156EF4D5D3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"news-112027":{"id":"news-112027","staticContentId":10617,"eventContentId":112027,"eventId":"news","contentUpdatedAt":"2025-10-08T10:44:01-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=fnkpd51y","languageCode":"eng","description":"The Apple Developer Program License Agreement has been revised to support updated policies, and to provide clarification. Please review the changes below and sign in to your account to accept the updated terms. ","title":"Updated Apple Developer Program License Agreement now available","articleID":"ac1221cc-0d09-4f91-9d4a-df1cfc116689","pageID":"ac1221cc-0d09-4f91-9d4a-df1cfc116689","articlePermalinkKey":"fnkpd51y","pagePermalinkKey":"fnkpd51y","originalPublishingDate":"2025-10-08T06:00:12-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BF19292B-F60A-452B-AE28-E938913F69B6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110435":{"id":"wwdc2022-110435","staticContentId":6796,"eventContentId":110435,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-07T08:43:57-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4a3k7k30","languageCode":"eng","description":"Ready to cook up something fun? We're taking our \"SwiftUI cookbook for navigation\" sample to a whole new tasty level. Prep your ChallengeContentView and get ready to experiment with SwiftUI navigation ingredients like stack view, multicolumn layout, and state restoration.","title":"Challenge: SwiftUI navigation hotdish","articleID":"bd67b9ee-131d-4839-966d-e830cde2984e","pageID":"bd67b9ee-131d-4839-966d-e830cde2984e","articlePermalinkKey":"4a3k7k30","pagePermalinkKey":"4a3k7k30","originalPublishingDate":"2022-06-07T08:30:04-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["challenges-content"],"primaryTopicID":100,"topicIds":[100],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"842547D2-57BE-4176-BDBC-C4F92F560C12","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110430":{"id":"wwdc2022-110430","staticContentId":6791,"eventContentId":110430,"eventId":"wwdc2022","contentUpdatedAt":"2024-12-02T15:50:29-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=tr55wbq5","languageCode":"eng","description":"Bring on the noise: It's time for a sound design challenge! We're inviting you to experiment with creative ways to manipulate sound on iPhone and iPad using its myriad sensors, inputs, and variable states. ","title":"Challenge: Create a reactive soundscape","articleID":"90c64299-dd53-4e68-8d1a-addfa53fb81b","pageID":"90c64299-dd53-4e68-8d1a-addfa53fb81b","articlePermalinkKey":"tr55wbq5","pagePermalinkKey":"tr55wbq5","originalPublishingDate":"2022-06-08T07:05:43-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"keywords":["challenges-content","design","sound","sound design"],"primaryTopicID":87,"topicIds":[82,84,87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B6D06254-EA15-4BAB-9E53-DEE4958DA402","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110509"]}},"wwdc2022-110493":{"id":"wwdc2022-110493","staticContentId":6856,"eventContentId":110493,"eventId":"wwdc2022","contentUpdatedAt":"2024-11-13T17:16:59-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ycmer78i","languageCode":"eng","description":"Coding \u2014 like painting, dance, and language itself \u2014 is a form of artistic expression, and on Thursday, we're challenging you to use SwiftUI and Swift Playgrounds as a medium for creative expression.","title":"Challenge: SwiftUI Animation Extravaganza!","articleID":"90a48603-58b2-42b4-8e05-d35161e71b7a","pageID":"90a48603-58b2-42b4-8e05-d35161e71b7a","articlePermalinkKey":"ycmer78i","pagePermalinkKey":"ycmer78i","originalPublishingDate":"2022-06-09T07:00:57-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["animation","challenges-content","swift playgrounds","swiftui"],"primaryTopicID":88,"topicIds":[91,100,88],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"11D784AF-5A56-4104-A475-6CF337E3C568","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110810":{"id":"wwdc2022-110810","staticContentId":7192,"eventContentId":110810,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-08T07:14:12-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=rwtqc7me","languageCode":"eng","description":"What\u2019s better than people loving your app on iPhone? People loving your app on iPad and Mac, too! This challenge invites you to explore the ways you can expand your app\u2019s presence in the Apple ecosystem. ","title":"Challenge: Go big or go home","articleID":"45d9f553-ee78-40a7-b229-217a8284a712","pageID":"45d9f553-ee78-40a7-b229-217a8284a712","articlePermalinkKey":"rwtqc7me","pagePermalinkKey":"rwtqc7me","originalPublishingDate":"2022-06-08T07:05:08-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["challenges-content"],"primaryTopicID":100,"topicIds":[100],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F28BAD23-D448-48E3-A456-87EE897CF00A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110952":{"id":"wwdc2022-110952","staticContentId":7373,"eventContentId":110952,"eventId":"wwdc2022","contentUpdatedAt":"2025-01-15T15:08:16-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=s25p399b","languageCode":"eng","description":"Get ready to shine a light on this challenge: On Thursday, we're inviting you to explore bindless rendering in Metal 3 and reflect rays on mirrored surfaces.","title":"Challenge: Bindless ray tracing","articleID":"6ae91026-2229-4b9c-85ed-abb9dd2350bf","pageID":"6ae91026-2229-4b9c-85ed-abb9dd2350bf","articlePermalinkKey":"s25p399b","pagePermalinkKey":"s25p399b","originalPublishingDate":"2022-06-09T07:00:13-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["challenges-content"],"primaryTopicID":91,"topicIds":[91],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"04A33A8F-7A98-4B69-B23C-8739DDD3AAB9","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110450":{"id":"wwdc2022-110450","staticContentId":6811,"eventContentId":110450,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-08T07:15:49-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=2q8t97ob","languageCode":"eng","description":"Take a glance at today's WidgetKit challenge, won't you?","title":"Challenge: WidgetKit workshop","articleID":"d9023aea-946c-4bee-98b8-91e6853f067d","pageID":"d9023aea-946c-4bee-98b8-91e6853f067d","articlePermalinkKey":"2q8t97ob","pagePermalinkKey":"2q8t97ob","originalPublishingDate":"2022-06-08T07:05:23-07:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["challenges-content"],"primaryTopicID":83,"topicIds":[100,83],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BBB38FEA-A7F1-45C1-B23A-58EE775E13F2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110436":{"id":"wwdc2022-110436","staticContentId":6797,"eventContentId":110436,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-09T07:09:02-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=holzogai","languageCode":"eng","description":"We\u2019re adding some chic retro styling to Thursday's SwiftUI challenge: Create a SwiftUI view that reimagines your app clothed in the interfaces of the past. Dress your UI up in the grayscale style of System 7, the linen of early iPhoneOS, or another time period entirely! ","title":"Challenge: Throwback Thursday with SwiftUI","articleID":"4252070b-97b4-4fd9-b267-59e7a0c657e7","pageID":"4252070b-97b4-4fd9-b267-59e7a0c657e7","articlePermalinkKey":"holzogai","pagePermalinkKey":"holzogai","originalPublishingDate":"2022-06-09T07:00:06-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["challenges-content"],"primaryTopicID":100,"topicIds":[100],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"084191DC-F14B-431B-BDA2-C9677094ADFF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110778":{"id":"wwdc2022-110778","staticContentId":7153,"eventContentId":110778,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-09T07:14:20-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=h5e3xipj","languageCode":"eng","description":"Welcome to Day 4 of WWDC22! A new round of Digital Lounges, labs, and activities awaits you.","title":"WWDC22 Daily Digest: Thursday","articleID":"b9ab28db-1fb8-4cde-89ba-b911de9dc3f1","pageID":"b9ab28db-1fb8-4cde-89ba-b911de9dc3f1","articlePermalinkKey":"h5e3xipj","pagePermalinkKey":"h5e3xipj","originalPublishingDate":"2022-06-09T07:00:28-07:00","primaryTopicID":90,"topicIds":[90],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"91EDB958-2B84-4FFA-9C36-379470E21243","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110773":{"id":"wwdc2022-110773","staticContentId":7148,"eventContentId":110773,"eventId":"wwdc2022","contentUpdatedAt":"2022-08-24T13:04:22-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=k8jj66ki","languageCode":"eng","description":"Inside the sublime audio of four Apple Design Award finalists.","title":"Sound advice","articleID":"bdf1ecd7-153e-46f5-a2e5-85d6bab57589","pageID":"bdf1ecd7-153e-46f5-a2e5-85d6bab57589","articlePermalinkKey":"k8jj66ki","pagePermalinkKey":"k8jj66ki","originalPublishingDate":"2022-06-09T07:00:02-07:00","primaryTopicID":90,"topicIds":[90],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A4B1ADDB-E80A-4FB8-9944-44AA1A35DA20","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110956":{"id":"wwdc2022-110956","staticContentId":7377,"eventContentId":110956,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-07T08:46:36-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=jc6o4k3r","languageCode":"eng","description":"Whether you've got a problem you've been itching to solve or you want to play with a new framework, Swift Playgrounds makes it easy to get started with building your first app","title":"Challenge: You can build an app for that!","articleID":"972aff97-ab58-443e-8766-8c5187aadee9","pageID":"972aff97-ab58-443e-8766-8c5187aadee9","articlePermalinkKey":"jc6o4k3r","pagePermalinkKey":"jc6o4k3r","originalPublishingDate":"2022-06-07T08:30:39-07:00","keywords":["challenges-content"],"primaryTopicID":88,"topicIds":[88],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"7065AF1C-0D1D-4271-8615-907A012B9477","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110348"]}},"wwdc2022-110518":{"id":"wwdc2022-110518","staticContentId":6884,"eventContentId":110518,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-08T07:13:03-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=f4phvjei","languageCode":"eng","description":"Floating numbers? Neon code screens? We\u2019re taking a page out of our favorite speculative fiction and challenging you to create a SwiftUI screen from an alternate reality. ","title":"Challenge: SwiftUI science fiction!","articleID":"041829c0-0773-4b0c-8762-fb19c0473b2b","pageID":"041829c0-0773-4b0c-8762-fb19c0473b2b","articlePermalinkKey":"f4phvjei","pagePermalinkKey":"f4phvjei","originalPublishingDate":"2022-06-08T07:05:30-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["challenges-content"],"primaryTopicID":100,"topicIds":[100],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"AF19CF48-4D36-4E81-924F-4D82AF4963EB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110511":{"id":"wwdc2022-110511","staticContentId":6876,"eventContentId":110511,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-07T08:40:05-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3sgp4ps7","languageCode":"eng","description":"Design an app icon at pixel level using black and white colors only, on a 48\u00d748 pixel, 32\u00d732 pixel, or 16\u00d716 pixel canvas. ","title":"Challenge: Pixel perfect design","articleID":"c82fbcab-b01b-4f20-bef1-e10b759166d1","pageID":"c82fbcab-b01b-4f20-bef1-e10b759166d1","articlePermalinkKey":"3sgp4ps7","pagePermalinkKey":"3sgp4ps7","originalPublishingDate":"2022-06-07T08:30:08-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["challenges-content","icon design","iconography"],"primaryTopicID":87,"topicIds":[90,87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D4BC81BF-BEB4-4DF4-B171-86EC6547ACB6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110883"]}},"wwdc2022-110953":{"id":"wwdc2022-110953","staticContentId":7374,"eventContentId":110953,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-08T13:48:52-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=yrb1yuf3","languageCode":"eng","description":"Get ready to render: On Wednesday, we're inviting you to try out metal-cpp and render your own triangle, sphere, or even a mesh in Xcode.","title":"Challenge: Draw with metal-cpp","articleID":"4ac05af7-219e-490c-8a8d-408c5ae0604c","pageID":"4ac05af7-219e-490c-8a8d-408c5ae0604c","articlePermalinkKey":"yrb1yuf3","pagePermalinkKey":"yrb1yuf3","originalPublishingDate":"2022-06-08T07:05:16-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["challenges-content"],"primaryTopicID":91,"topicIds":[91],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BBBDE9F2-AD7E-4B3C-9B66-797ED12D9CCF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110809":{"id":"wwdc2022-110809","staticContentId":7191,"eventContentId":110809,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-07T08:41:26-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=fhutg2eo","languageCode":"eng","description":"Move over, Taco Tuesday \u2014 it's Toolbar Transformation Tuesday!","title":"Challenge: Toolbar transformation Tuesday","articleID":"831135ad-72fd-4051-94e2-6f0225fc84db","pageID":"831135ad-72fd-4051-94e2-6f0225fc84db","articlePermalinkKey":"fhutg2eo","pagePermalinkKey":"fhutg2eo","originalPublishingDate":"2022-06-07T08:30:39-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["challenges-content"],"primaryTopicID":100,"topicIds":[100],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"C8272C0A-F308-47CC-B3FC-DC44D6A25BFE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110781":{"id":"wwdc2022-110781","staticContentId":7156,"eventContentId":110781,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-10T11:43:28-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=e1uqfh2v","languageCode":"eng","description":"Welcome! It's time for our final briefing. (We know \u2014 we can't believe it's Friday, either.) Before we power down for the week, however, we\u2019ve got one more great day of events and activities.","title":"WWDC22 Daily Digest: Friday","articleID":"996e8ae6-f1b2-4a56-a055-65b8db1d29bc","pageID":"996e8ae6-f1b2-4a56-a055-65b8db1d29bc","articlePermalinkKey":"e1uqfh2v","pagePermalinkKey":"e1uqfh2v","originalPublishingDate":"2022-06-10T07:00:07-07:00","primaryTopicID":90,"topicIds":[90],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1C2F5D25-DA30-470E-B96C-FE59F97E8EB0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110819":{"id":"wwdc2022-110819","staticContentId":7202,"eventContentId":110819,"eventId":"wwdc2022","contentUpdatedAt":"2024-05-31T11:47:48-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=2293tuu9","languageCode":"eng","description":"This challenge comes straight from the menu bar itself: It's time to File \u2192 New Challenge and use SwiftUI to build a menu bar extra for your app.","title":"Challenge: Menu bar extras with SwiftUI","articleID":"e68ff1ac-ad01-4005-8ee8-59899c390a25","pageID":"e68ff1ac-ad01-4005-8ee8-59899c390a25","articlePermalinkKey":"2293tuu9","pagePermalinkKey":"2293tuu9","originalPublishingDate":"2022-06-10T08:00:02-07:00","platforms":["macOS"],"keywords":["challenges-content"],"primaryTopicID":100,"topicIds":[100],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"AC506311-AA89-4808-AF50-7DEEB9C4C25E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110760":{"id":"wwdc2022-110760","staticContentId":7135,"eventContentId":110760,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-08T13:29:39-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=hd3sulfe","languageCode":"eng","description":"","title":"Meet the WWDC22 Swift Student Challenge winners ","articleID":"d9099f04-7972-43a4-b804-809dd7677cc1","pageID":"d9099f04-7972-43a4-b804-809dd7677cc1","articlePermalinkKey":"hd3sulfe","pagePermalinkKey":"hd3sulfe","originalPublishingDate":"2022-06-08T01:00:31-07:00","primaryTopicID":90,"topicIds":[90],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"5EEC445F-90C0-4FA7-9A2E-67663773DE5B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110454":{"id":"wwdc2022-110454","staticContentId":6815,"eventContentId":110454,"eventId":"wwdc2022","contentUpdatedAt":"2023-11-27T09:33:31-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=2nfiv7v0","languageCode":"eng","description":"Explore a critical assistive technology and solve the WWDC Matching game using only Switch Control.","title":"Challenge: Learn Switch Control through gaming","articleID":"5010c4a3-8dfd-4ced-83f9-db5c238b8969","pageID":"5010c4a3-8dfd-4ced-83f9-db5c238b8969","articlePermalinkKey":"2nfiv7v0","pagePermalinkKey":"2nfiv7v0","originalPublishingDate":"2022-06-07T08:30:32-07:00","platforms":["iOS","iPadOS"],"keywords":["challenges-content"],"primaryTopicID":82,"topicIds":[82],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"051E17A8-51FB-4E8A-A79C-22B0DF50DEED","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10151"]}},"wwdc2022-110514":{"id":"wwdc2022-110514","staticContentId":6879,"eventContentId":110514,"eventId":"wwdc2022","contentUpdatedAt":"2024-05-31T13:14:57-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=7fljwpcf","languageCode":"eng","description":"Calling all designers: On Thursday, we're challenging you to use your powers to design a \"super\" navigation experience.","title":"Challenge: Design for superheroic navigation","articleID":"dbf9d38e-510f-48ef-81e3-e4fc0d7aa865","pageID":"dbf9d38e-510f-48ef-81e3-e4fc0d7aa865","articlePermalinkKey":"7fljwpcf","pagePermalinkKey":"7fljwpcf","originalPublishingDate":"2022-06-09T07:00:13-07:00","platforms":["iOS","iPadOS"],"keywords":["challenges-content","navigation","tab bar"],"primaryTopicID":87,"topicIds":[87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"BCAC49CB-7AC5-487A-A5D0-E3DA1EB1A01C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110884"]}},"wwdc2022-110775":{"id":"wwdc2022-110775","staticContentId":7150,"eventContentId":110775,"eventId":"wwdc2022","contentUpdatedAt":"2022-09-22T13:21:09-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=pcfa7nkx","languageCode":"eng","description":"Welcome to Wednesday at WWDC! We\u2019re almost halfway through the week, and there\u2019s so much still to come. But first: Let\u2019s get the dispatch from day 2.","title":"WWDC22 Daily Digest: Wednesday","articleID":"62b6494e-8c87-4033-a979-0b5e66b9b2fa","pageID":"62b6494e-8c87-4033-a979-0b5e66b9b2fa","articlePermalinkKey":"pcfa7nkx","pagePermalinkKey":"pcfa7nkx","originalPublishingDate":"2022-06-07T11:00:05-07:00","primaryTopicID":90,"topicIds":[90],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"501155CA-1816-4C1F-AA7B-0586029B5AC8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110948":{"id":"wwdc2022-110948","staticContentId":7347,"eventContentId":110948,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-09T12:54:34-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=huqjyh7k","languageCode":"eng","description":"Private Access Tokens are powerful tools that prove when HTTP requests are coming from legitimate devices without disclosing someone's identity. They are simple to set up and test \u2014 and so, on Thursday, we're inviting you to try out Private Access Tokens on your own server.","title":"Challenge: Private Access Tokens","articleID":"db023131-7bfc-4c49-b0d3-d53c7d584ba3","pageID":"db023131-7bfc-4c49-b0d3-d53c7d584ba3","articlePermalinkKey":"huqjyh7k","pagePermalinkKey":"huqjyh7k","originalPublishingDate":"2022-06-09T07:00:39-07:00","keywords":["challenges-content"],"primaryTopicID":96,"topicIds":[101,96],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2153D9D7-096C-48E4-AD5B-90933D06B47F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10077"]}},"wwdc2021-101044":{"id":"wwdc2021-101044","staticContentId":5789,"eventContentId":101044,"eventId":"wwdc2021","contentUpdatedAt":"2022-06-04T22:02:36-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=j6efg2g1","languageCode":"eng","description":"Discover fun, interactive ways to learn about the latest technologies and frameworks. ","title":"Coding & Design Challenges","articleID":"bad56e33-6881-43fa-b943-cb5619c2ba37","pageID":"bad56e33-6881-43fa-b943-cb5619c2ba37","articlePermalinkKey":"j6efg2g1","pagePermalinkKey":"j6efg2g1","originalPublishingDate":"2021-06-07T09:41:23-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E791F9D3-4F9F-49F4-AB08-21ABFF6611C7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2021-110127":{"id":"wwdc2021-110127","staticContentId":5769,"eventContentId":110127,"eventId":"wwdc2021","contentUpdatedAt":"2021-09-13T07:14:13-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=wh2qtwa4","languageCode":"eng","description":"Replay the Apple Worldwide Developers Conference Keynote.","title":"Rewatch the Keynote","articleID":"a74d0f4f-34f2-4e22-a863-198fbebf3e54","pageID":"a74d0f4f-34f2-4e22-a863-198fbebf3e54","articlePermalinkKey":"wh2qtwa4","pagePermalinkKey":"wh2qtwa4","originalPublishingDate":"2021-06-07T05:00:00-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1C6D681A-EC4E-4213-88AD-C7D70F259946","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2021-110139":{"id":"wwdc2021-110139","staticContentId":5817,"eventContentId":110139,"eventId":"wwdc2021","contentUpdatedAt":"2021-09-13T07:31:14-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=uvphs45t","languageCode":"eng","description":"WWDC is powered by three things: developers, ingenuity, and music. (Also coffee, so maybe four things.) And while we might not be able to gather together this year, we can always connect through shared sounds \u2014 just like we do in person. This year\u2019s expertly curated playlists are perfect for moments of energy, focus, relaxation. They\u2019re also great for simply setting the scene for an amazing week.","title":"The music of WWDC21","articleID":"0cbe7193-aaf9-47f7-a8da-af4a0b23c0f6","pageID":"0cbe7193-aaf9-47f7-a8da-af4a0b23c0f6","articlePermalinkKey":"uvphs45t","pagePermalinkKey":"uvphs45t","originalPublishingDate":"2021-06-08T01:54:18-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"4C63B506-5319-4758-99D0-77F4FC2C39B7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2021-10342":{"id":"wwdc2021-10342","staticContentId":5301,"eventContentId":10342,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-11T08:26:55-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ta87bwxi","languageCode":"eng","description":"Learn how to write an interactive tutorial to show developers how to use your own project \u2014 or add a tutorial to an existing open source project.","title":"Challenge: Create an engaging tutorial","articleID":"986e5a45-e6b2-49e2-be4b-d58e63098169","pageID":"986e5a45-e6b2-49e2-be4b-d58e63098169","articlePermalinkKey":"ta87bwxi","pagePermalinkKey":"ta87bwxi","originalPublishingDate":"2021-06-10T22:00:30-07:00","keywords":["challenge","developer","friday","tools","wwdc21"],"topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FC08EE0F-765D-49CB-AE51-3EFD2F99991F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2021-10281":{"id":"wwdc2021-10281","staticContentId":5213,"eventContentId":10281,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-16T14:27:40-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=jxky8h89","languageCode":"eng","description":"Transport Layer Security (TLS) uses encryption to protect connections from prying eyes, and URLSession provides strong TLS connections by default with App Transport Security (https:\/\/developer.apple.com\/documentation\/bundleresources\/information_property_list\/nsapptransportsecurity) (ATS). \n\nIf you need to connect to older servers that don't support TLS, however, you can now add ATS exceptions to your app. ","title":"Fine-tune your App Transport Security settings","articleID":"265ff56a-6eb4-4884-8c81-379c24507489","pageID":"265ff56a-6eb4-4884-8c81-379c24507489","articlePermalinkKey":"jxky8h89","pagePermalinkKey":"jxky8h89","originalPublishingDate":"2021-06-16T05:00:29-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"98A9D670-E5C0-4C70-B6CD-811FDC11B97A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-100211","wwdc2021-100356"]}},"wwdc2020-10675":{"id":"wwdc2020-10675","staticContentId":3767,"eventContentId":10675,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:50:58-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=pwa22b4z","languageCode":"eng","description":"","title":"Augment reality","articleID":"0a3b33f2-fa30-4bbd-873b-837cb447235e","pageID":"0a3b33f2-fa30-4bbd-873b-837cb447235e","articlePermalinkKey":"pwa22b4z","pagePermalinkKey":"pwa22b4z","originalPublishingDate":"2020-06-22T00:00:02-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS"],"topicIds":[91,85],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"6D91418D-21F4-4E5A-8641-309880662C07","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10181","wwdc2020-10612","wwdc2020-10638","wwdc2020-10819","wwdc2020-10820","wwdc2020-10821","wwdc2020-10823","wwdc2020-10824","wwdc2020-10825","wwdc2020-10826"],"resources":[25]}},"wwdc2020-10791":{"id":"wwdc2020-10791","staticContentId":3423,"eventContentId":10791,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:50:59-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=lve6alo6","languageCode":"eng","description":"","title":"Explore HLS streaming","articleID":"f01cdd5c-0db5-4c51-8085-2a22116b64bb","pageID":"f01cdd5c-0db5-4c51-8085-2a22116b64bb","articlePermalinkKey":"lve6alo6","pagePermalinkKey":"lve6alo6","originalPublishingDate":"2020-06-22T00:00:59-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":84,"topicIds":[84],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FC22F8A4-FCF2-4414-8ED8-AB9B5618CC8B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10847","wwdc2020-10851"]}},"wwdc2020-10733":{"id":"wwdc2020-10733","staticContentId":3614,"eventContentId":10733,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:00-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4nh602ih","languageCode":"eng","description":"","title":"Swift in Xcode 12","articleID":"8b604097-41a4-4b87-aadd-cfea08cd6db1","pageID":"8b604097-41a4-4b87-aadd-cfea08cd6db1","articlePermalinkKey":"4nh602ih","pagePermalinkKey":"4nh602ih","originalPublishingDate":"2020-06-22T00:00:38-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[82,99],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"018BFA34-F0D6-4290-AF62-A59CF159EBF6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10638"]}},"wwdc2020-10792":{"id":"wwdc2020-10792","staticContentId":3808,"eventContentId":10792,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:00-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ytff2mfz","languageCode":"eng","description":"","title":"Explore Swan\u2019s Quest","articleID":"b7b36e03-3e05-432f-83d2-3f3dfc1c0191","pageID":"b7b36e03-3e05-432f-83d2-3f3dfc1c0191","articlePermalinkKey":"ytff2mfz","pagePermalinkKey":"ytff2mfz","originalPublishingDate":"2020-06-22T11:40:30-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS"],"topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"333697FC-E28F-4EC6-8E8D-E6DEA8A2E290","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10654"]}},"wwdc2020-10702":{"id":"wwdc2020-10702","staticContentId":3533,"eventContentId":10702,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:17-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=bmnscduq","languageCode":"eng","description":"Speed up your app and make it more resilient, private and secure with modern networking APIs. Learn about networking protocols and how incorporating these within your app and server can provide faster performance and reduce both your power consumption and thermal impact. Discover how to better protect people in your app through technologies like encrypted DNS and local network privacy. And find out how you can leverage local push connectivity to deliver notifications from your application server to devices on networks without an internet connection.","title":"Explore modern networking","articleID":"4b615e95-a474-4eae-b79d-c807e67d7283","pageID":"4b615e95-a474-4eae-b79d-c807e67d7283","articlePermalinkKey":"bmnscduq","pagePermalinkKey":"bmnscduq","originalPublishingDate":"2020-06-22T00:00:33-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":101,"topicIds":[101],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2E4CE0AF-DFD4-4867-9B27-774E9736A1C1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10856","wwdc2020-10857","wwdc2020-10858","articles-10102"]}},"wwdc2020-10888":{"id":"wwdc2020-10888","staticContentId":4355,"eventContentId":10888,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:01-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=w70xqndi","languageCode":"eng","description":"","title":"Coding and design starter kit","articleID":"0d830676-bb9f-403d-bbbd-fb418c3ecad6","pageID":"0d830676-bb9f-403d-bbbd-fb418c3ecad6","articlePermalinkKey":"w70xqndi","pagePermalinkKey":"w70xqndi","originalPublishingDate":"2020-06-22T09:50:57-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2781D28A-D3D3-42DB-8CCD-0C3E74E69729","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2020-10729":{"id":"wwdc2020-10729","staticContentId":3806,"eventContentId":10729,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:02-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=49555vfz","languageCode":"eng","description":"","title":"Complications 101","articleID":"77f66317-5900-4f5a-a504-95c7a9f3a0e4","pageID":"77f66317-5900-4f5a-a504-95c7a9f3a0e4","articlePermalinkKey":"49555vfz","pagePermalinkKey":"49555vfz","originalPublishingDate":"2020-06-22T05:48:10-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["watchOS"],"keywords":["\u231a\ufe0f","clockkit","watchkit","watchos"],"primaryTopicID":100,"topicIds":[100],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0502173C-0CE5-4D3A-9853-EB3B3C8303EC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10171","wwdc2020-10769","wwdc2020-10770","wwdc2020-10771","wwdc2020-10772"],"resources":[5]}},"wwdc2020-10685":{"id":"wwdc2020-10685","staticContentId":3774,"eventContentId":10685,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:50:58-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3m1y5l20","languageCode":"eng","description":"","title":"Pedal to the Metal","articleID":"99010c72-fc7a-4b1f-a2e1-1495c6883a4b","pageID":"99010c72-fc7a-4b1f-a2e1-1495c6883a4b","articlePermalinkKey":"3m1y5l20","pagePermalinkKey":"3m1y5l20","originalPublishingDate":"2020-06-22T02:08:20-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":91,"topicIds":[91],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FB74A4C4-0E8F-4B81-AF31-E6C9FAD6012D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10144","wwdc2020-10181","wwdc2020-10810","wwdc2020-10811","wwdc2020-10812","wwdc2020-10813","wwdc2020-10814","wwdc2020-10815","wwdc2020-10816","wwdc2020-10817","tech-talks-10858","tech-talks-10859"],"resources":[38]}},"wwdc2020-10203":{"id":"wwdc2020-10203","staticContentId":3336,"eventContentId":10203,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:03-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=mb3c4r4r","languageCode":"eng","description":"","title":"Design for intelligence","articleID":"ecc0d15e-c3a0-47da-b507-0c0e200b12d0","pageID":"ecc0d15e-c3a0-47da-b507-0c0e200b12d0","articlePermalinkKey":"mb3c4r4r","pagePermalinkKey":"mb3c4r4r","originalPublishingDate":"2020-06-22T00:24:53-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["conversational interaction","design","donations","intelligence","intelligent system experience","shortcuts","shortcuts app","siri","siri event suggestions","sirikit","stack intelligence","stacks","suggestions","system intelligence","ui","voice","widgetkit","widgets"],"topicIds":[83,86,87],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A1553697-A579-4B7B-967B-D8062D61E94E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10060","wwdc2020-10061","wwdc2020-10068","wwdc2020-10069","wwdc2020-10071","wwdc2020-10073","wwdc2020-10074","wwdc2020-10083","wwdc2020-10084","wwdc2020-10190","wwdc2020-10194","wwdc2020-10197","wwdc2020-10839","wwdc2020-10877","wwdc2020-10878","wwdc2020-10914","wwdc2020-10917","wwdc2020-10918","wwdc2020-10963","wwdc2020-10980","wwdc2020-10997","wwdc2020-10998","wwdc2020-10999"]}},"wwdc2020-10069":{"id":"wwdc2020-10069","staticContentId":3339,"eventContentId":10069,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:04-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=gd1f0kbn","languageCode":"eng","description":"","title":"Siri, Shortcuts, and SiriKit","articleID":"6b4090a5-7e06-47d6-9a05-f19c7111e073","pageID":"6b4090a5-7e06-47d6-9a05-f19c7111e073","articlePermalinkKey":"gd1f0kbn","pagePermalinkKey":"gd1f0kbn","originalPublishingDate":"2020-06-22T01:23:58-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","tvOS","watchOS"],"keywords":["apple watch","automations","complications","conversational interaction","donations","in-app intent handling","intents","intentsui","shortcuts","shortcuts app","siri","sirikit","suggestions","voice"],"primaryTopicID":83,"topicIds":[83],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"953020E7-A509-4175-BE6B-7BA557C22E77","images":["wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10060","wwdc2020-10061","wwdc2020-10080","wwdc2020-10083","wwdc2020-10084","wwdc2020-10086","wwdc2020-10087","wwdc2020-10088","wwdc2020-10190","wwdc2020-10194","wwdc2020-10197","wwdc2020-10200","wwdc2020-10203","wwdc2020-10839","wwdc2020-10877","wwdc2020-10914","wwdc2020-10917","wwdc2020-10963","wwdc2020-10999"]}},"wwdc2020-10030":{"id":"wwdc2020-10030","staticContentId":3358,"eventContentId":10030,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:04-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=yv6so7ie","languageCode":"eng","description":"","title":"Widgets code-along","articleID":"01b922eb-9264-436a-b1c7-b73bcc68e4e1","pageID":"01b922eb-9264-436a-b1c7-b73bcc68e4e1","articlePermalinkKey":"yv6so7ie","pagePermalinkKey":"yv6so7ie","originalPublishingDate":"2020-06-22T01:00:02-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS"],"topicIds":[83,99,100],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9D919FEF-825D-4158-9DE2-7DBFAA407592","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10048","wwdc2020-10028","wwdc2020-10041"]}},"wwdc2020-10080":{"id":"wwdc2020-10080","staticContentId":3344,"eventContentId":10080,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:05-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=g58zvm7o","languageCode":"eng","description":"Help people get better sleep \u2014 and get more done \u2014 with Wind Down, Automations, and the Shortcuts app, now on watchOS. We\u2019ll show you how to feature your intents in the Shortcuts app, integrate with Automation Suggestions, participate in Wind Down for the new Sleep experience, and build actions optimized for quick interactions on Apple Watch.","title":"Optimize your Shortcuts","articleID":"bab9c731-271d-4858-b97d-30d81267c7a9","pageID":"bab9c731-271d-4858-b97d-30d81267c7a9","articlePermalinkKey":"g58zvm7o","pagePermalinkKey":"g58zvm7o","originalPublishingDate":"2020-06-22T02:26:00-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["apple watch","automations","complications","donations","intents","intentsui","shortcuts","shortcuts app","siri","sirikit","sleep","suggestions","wind down"],"topicIds":[83,92],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"AF80A930-5BDD-422C-80E0-3A4948BCC58B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10060","wwdc2020-10061","wwdc2020-10068","wwdc2020-10069","wwdc2020-10071","wwdc2020-10073","wwdc2020-10074","wwdc2020-10083","wwdc2020-10084","wwdc2020-10086","wwdc2020-10087","wwdc2020-10088","wwdc2020-10190","wwdc2020-10200","wwdc2020-10839","wwdc2020-10877","wwdc2020-10878","wwdc2020-10999"]}},"wwdc2020-10015":{"id":"wwdc2020-10015","staticContentId":3812,"eventContentId":10015,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:01-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=n9igoal7","languageCode":"eng","description":"","title":"Advancements in AVFoundation","articleID":"21371def-ed3d-4c0f-a2e8-7c71efb2628f","pageID":"21371def-ed3d-4c0f-a2e8-7c71efb2628f","articlePermalinkKey":"n9igoal7","pagePermalinkKey":"n9igoal7","originalPublishingDate":"2020-06-22T00:00:52-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["avfoundation","coremedia","core media","editing","export","hdr","playback","video","videotoolbox"],"topicIds":[84,95],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"1D69564E-9C99-402B-B075-8211AF20DEDA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10158","wwdc2020-10009","wwdc2020-10010","wwdc2020-10011","wwdc2020-10090","wwdc2020-10802","wwdc2020-10803","wwdc2020-10804"]}},"wwdc2020-10834":{"id":"wwdc2020-10834","staticContentId":3368,"eventContentId":10834,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:05-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=jnakvxnn","languageCode":"eng","description":"","title":"Connect with Core Data","articleID":"6b25688d-1f45-4e5a-9b18-e3010b4e7ed1","pageID":"6b25688d-1f45-4e5a-9b18-e3010b4e7ed1","articlePermalinkKey":"jnakvxnn","pagePermalinkKey":"jnakvxnn","originalPublishingDate":"2020-06-22T00:00:54-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":101,"topicIds":[101],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"3F578013-C86C-4EC3-A614-C285727CADF8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10724","wwdc2020-10725","wwdc2020-10726"]}},"wwdc2020-10698":{"id":"wwdc2020-10698","staticContentId":3391,"eventContentId":10698,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:06-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=dsd023qd","languageCode":"eng","description":"","title":"Build great App Clips","articleID":"65145518-31c1-4193-9c85-5629e4bd4ce9","pageID":"65145518-31c1-4193-9c85-5629e4bd4ce9","articlePermalinkKey":"dsd023qd","pagePermalinkKey":"dsd023qd","originalPublishingDate":"2020-06-22T02:00:38-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":100,"topicIds":[100],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"99A2B8AC-56C6-461C-A9BE-20E7BAAE4223","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10696","wwdc2020-10697","wwdc2020-10966"]}},"wwdc2020-10798":{"id":"wwdc2020-10798","staticContentId":3819,"eventContentId":10798,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:07-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=bnqw62sc","languageCode":"eng","description":"Localizing your app is the most effective way to share your work with a worldwide audience while also making it accessible to more cultures and languages. Discover how you can use Xcode to localize your app for a great global experience. And learn how Formatters can make your app\u2019s data more relevant \u2014 including localized dates, times, measurements, names, lists, numbers, or strings.","title":"Create apps for a global audience","articleID":"03dc911e-2406-4f06-9f39-b5953ce22b63","pageID":"03dc911e-2406-4f06-9f39-b5953ce22b63","articlePermalinkKey":"bnqw62sc","pagePermalinkKey":"bnqw62sc","originalPublishingDate":"2020-06-22T05:46:56-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["\ud83c\udf0d","\ud83c\udf0e","\ud83c\udf0f","i18n","localization","world"],"primaryTopicID":82,"topicIds":[82],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F141BFF8-E9E3-4FB0-B82F-0408C15B0BB9","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10782","wwdc2020-10784"]}},"wwdc2020-10748":{"id":"wwdc2020-10748","staticContentId":3616,"eventContentId":10748,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:07-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=kc9ys1yr","languageCode":"eng","description":"","title":"Take Swift Playgrounds to the next level","articleID":"0bbc3cd8-7b72-404f-83d5-f96ed4824822","pageID":"0bbc3cd8-7b72-404f-83d5-f96ed4824822","articlePermalinkKey":"kc9ys1yr","pagePermalinkKey":"kc9ys1yr","originalPublishingDate":"2020-06-22T00:00:56-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"324C1A93-FD36-463C-9033-7BE32D31A1DC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2020-10746":{"id":"wwdc2020-10746","staticContentId":3615,"eventContentId":10746,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:08-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=vi65u9ai","languageCode":"eng","description":"","title":"The suite life of testing","articleID":"fb6808a0-a12b-44cc-ba5b-29e2b82a6885","pageID":"fb6808a0-a12b-44cc-ba5b-29e2b82a6885","articlePermalinkKey":"vi65u9ai","pagePermalinkKey":"vi65u9ai","originalPublishingDate":"2020-06-22T01:00:55-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","primaryTopicID":88,"topicIds":[88],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"733ECC4D-A208-4944-85A4-050A0A74DFD1","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110361","wwdc2020-10091","wwdc2020-10638"]}},"wwdc2020-10904":{"id":"wwdc2020-10904","staticContentId":3815,"eventContentId":10904,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:08-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=xpew8919","languageCode":"eng","description":"Your apps are most powerful when they empower everyone. Discover best practices when implementing frameworks and features like VoiceOver, Switch Control, custom rotors, speech synthesis, and keyboard and mouse input. And explore how you can use the Accessibility Inspector to test your app and iterate to create a truly great experience for everyone.","title":"Create accessible apps","articleID":"21598204-01f4-4d2c-85eb-a0c2c706a7f4","pageID":"21598204-01f4-4d2c-85eb-a0c2c706a7f4","articlePermalinkKey":"xpew8919","pagePermalinkKey":"xpew8919","originalPublishingDate":"2020-06-22T13:27:23-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","primaryTopicID":82,"topicIds":[82],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"9B5E0098-3B9A-4354-8A1D-858FAE615E49","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10749","wwdc2020-10750","wwdc2020-10751"]}},"wwdc2020-10211":{"id":"wwdc2020-10211","staticContentId":3820,"eventContentId":10211,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:09-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=g28d5j9l","languageCode":"eng","description":"","title":"Move from kexts to system extensions","articleID":"b64f112a-ea8f-4480-890c-e23c188a801e","pageID":"b64f112a-ea8f-4480-890c-e23c188a801e","articlePermalinkKey":"g28d5j9l","pagePermalinkKey":"g28d5j9l","originalPublishingDate":"2020-06-22T05:47:30-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["macOS"],"keywords":["driver","kauth","kernel","security"],"topicIds":[96,101],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"B9A63BFE-8B53-482F-A412-70B29F456526","images":["wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10159","wwdc2020-10210","wwdc2020-10778","wwdc2020-10779","wwdc2020-10899","wwdc2019-702"]}},"wwdc2020-10014":{"id":"wwdc2020-10014","staticContentId":3811,"eventContentId":10014,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:09-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=tukbz962","languageCode":"eng","description":"","title":"Core Image","articleID":"e6c66ecb-5f69-408c-ad76-9568410fea8a","pageID":"e6c66ecb-5f69-408c-ad76-9568410fea8a","articlePermalinkKey":"tukbz962","pagePermalinkKey":"tukbz962","originalPublishingDate":"2020-06-22T00:00:16-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["coreimage","core image","debugging","metal","performance","video","xcode"],"topicIds":[84,88,91,95],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"D0B93542-6B7A-4C4B-B92C-C418B59E706E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10160","wwdc2020-10008","wwdc2020-10021","wwdc2020-10089","wwdc2020-10722","wwdc2020-10723"]}},"wwdc2020-10018":{"id":"wwdc2020-10018","staticContentId":3826,"eventContentId":10018,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:11-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=5jn2wyhi","languageCode":"eng","description":"","title":"Ray tracing and function pointers in Metal","articleID":"24306acc-b8ae-4d01-a2f3-77afc403eed4","pageID":"24306acc-b8ae-4d01-a2f3-77afc403eed4","articlePermalinkKey":"5jn2wyhi","pagePermalinkKey":"5jn2wyhi","originalPublishingDate":"2020-06-22T00:00:13-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["metal","metal shading language","ray tracing"],"primaryTopicID":91,"topicIds":[91],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"EE83CFC4-44CD-4EC8-80AC-C6551B1BB295","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10157","wwdc2021-100247","wwdc2021-100288","wwdc2021-100310","wwdc2021-100351","wwdc2020-10012","wwdc2020-10013","wwdc2020-10811","wwdc2020-10812","wwdc2020-10813","wwdc2020-10815","wwdc2020-10816","wwdc2020-10817"]}},"wwdc2020-10734":{"id":"wwdc2020-10734","staticContentId":3620,"eventContentId":10734,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:11-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=tjv7v7k1","languageCode":"eng","description":"","title":"Swift deep dive","articleID":"db4aaeee-3ebc-401a-91b8-403bf7b54c35","pageID":"db4aaeee-3ebc-401a-91b8-403bf7b54c35","articlePermalinkKey":"tjv7v7k1","pagePermalinkKey":"tjv7v7k1","originalPublishingDate":"2020-06-22T01:00:17-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"719BE469-33FE-4687-B2EE-422F3E89A681","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10638"]}},"wwdc2020-10144":{"id":"wwdc2020-10144","staticContentId":3810,"eventContentId":10144,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:12-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ywv74y7m","languageCode":"eng","description":"","title":"Apple silicon and the Mac","articleID":"af67ebbf-03c2-44ac-9823-2e96f34ed340","pageID":"af67ebbf-03c2-44ac-9823-2e96f34ed340","articlePermalinkKey":"ywv74y7m","pagePermalinkKey":"ywv74y7m","originalPublishingDate":"2020-06-22T00:00:33-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["macOS"],"topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"F7987115-60F5-48F3-AB05-4C9E40952432","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10685"]}},"wwdc2020-10638":{"id":"wwdc2020-10638","staticContentId":3561,"eventContentId":10638,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:12-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=pfrza0y1","languageCode":"eng","description":"","title":"Enterprise, IT, and apps","articleID":"bc556bf4-703d-4a79-acf3-f139a5398878","pageID":"bc556bf4-703d-4a79-acf3-f139a5398878","articlePermalinkKey":"pfrza0y1","pagePermalinkKey":"pfrza0y1","originalPublishingDate":"2020-06-22T05:39:21-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"731200A4-EC3F-46E0-95F3-5137AFE8301D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10095","wwdc2020-10111","wwdc2020-10119","wwdc2020-10138","wwdc2020-10139","wwdc2020-10140","wwdc2020-10142","wwdc2020-10153","wwdc2020-10159","wwdc2020-10160","wwdc2020-10189","wwdc2020-10204","wwdc2020-10222","wwdc2020-10223","wwdc2020-10639","wwdc2020-10657","wwdc2020-10667","wwdc2020-10675","wwdc2020-10733","wwdc2020-10734","wwdc2020-10738","wwdc2020-10746","wwdc2020-10754","wwdc2020-10844","wwdc2020-10845","articles-10703"]}},"wwdc2020-10845":{"id":"wwdc2020-10845","staticContentId":3796,"eventContentId":10845,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:13-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=q8jd4xub","languageCode":"eng","description":"","title":"Improve performance and battery life in your app","articleID":"ed11a081-e893-4a6b-9ccc-632497b5eba9","pageID":"ed11a081-e893-4a6b-9ccc-632497b5eba9","articlePermalinkKey":"q8jd4xub","pagePermalinkKey":"q8jd4xub","originalPublishingDate":"2020-06-22T05:47:52-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["background","battery","diagnostics","launch","metrics","performance","scroll","web api","xcode"],"primaryTopicID":88,"topicIds":[88],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E6A91A3C-B8E9-4250-B1EA-B9FBBCAA5972","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10057","wwdc2020-10076","wwdc2020-10077","wwdc2020-10081","wwdc2020-10638"]}},"wwdc2020-10213":{"id":"wwdc2020-10213","staticContentId":3814,"eventContentId":10213,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:13-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=gq4ajl5z","languageCode":"eng","description":"","title":"Build great apps in SwiftUI","articleID":"05f83912-85d5-48d7-80e6-5e6e367e126d","pageID":"05f83912-85d5-48d7-80e6-5e6e367e126d","articlePermalinkKey":"gq4ajl5z","pagePermalinkKey":"gq4ajl5z","originalPublishingDate":"2020-06-22T05:30:00-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","primaryTopicID":100,"topicIds":[100],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"A518961B-65A2-4FAB-959D-1A8AD58BD64C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10699","wwdc2020-10700","wwdc2020-10701"]}},"wwdc2020-10705":{"id":"wwdc2020-10705","staticContentId":3710,"eventContentId":10705,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:14-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=7ofzopo8","languageCode":"eng","description":"","title":"Adapt your iPad app for Mac Catalyst","articleID":"cc366475-8564-436d-9e72-12d8ace0ef51","pageID":"cc366475-8564-436d-9e72-12d8ace0ef51","articlePermalinkKey":"7ofzopo8","pagePermalinkKey":"7ofzopo8","originalPublishingDate":"2020-07-22T00:00:08-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["macOS"],"primaryTopicID":100,"topicIds":[100],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"E874FB7B-96E5-4E96-83DD-5EA58FDD394E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10346","wwdc2020-10056","wwdc2020-10105","wwdc2020-10117","wwdc2020-10143","wwdc2020-10206","wwdc2020-10707","wwdc2020-10708"]}},"wwdc2020-10738":{"id":"wwdc2020-10738","staticContentId":3397,"eventContentId":10738,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:14-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=wbjyi33z","languageCode":"eng","description":"","title":"Locating people, places, and things","articleID":"ac6b4752-d7f6-417c-862b-14b4beaf625a","pageID":"ac6b4752-d7f6-417c-862b-14b4beaf625a","articlePermalinkKey":"wbjyi33z","pagePermalinkKey":"wbjyi33z","originalPublishingDate":"2020-06-22T00:00:49-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"primaryTopicID":93,"topicIds":[93],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"94F53994-F920-44A5-8024-2B6A9B841071","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10638"]}},"wwdc2020-10797":{"id":"wwdc2020-10797","staticContentId":3818,"eventContentId":10797,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:15-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=re988owc","languageCode":"eng","description":"","title":"Build a great car experience","articleID":"128b3e7d-446d-4aa0-b2cf-08290900918c","pageID":"128b3e7d-446d-4aa0-b2cf-08290900918c","articlePermalinkKey":"re988owc","pagePermalinkKey":"re988owc","originalPublishingDate":"2020-06-22T05:41:52-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","watchOS"],"keywords":["\ud83d\ude97","\ud83d\ude99","car"],"primaryTopicID":83,"topicIds":[83],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"DC9BF11C-5593-4B16-AF9C-A8586625CADE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10775","wwdc2020-10777"],"resources":[509]}},"wwdc2020-10736":{"id":"wwdc2020-10736","staticContentId":3802,"eventContentId":10736,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:16-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=e4u1mtfu","languageCode":"eng","description":"","title":"Safari, Web, and Authentication","articleID":"92e11b93-5207-4ebe-9090-b82ada0ecb26","pageID":"92e11b93-5207-4ebe-9090-b82ada0ecb26","articlePermalinkKey":"e4u1mtfu","pagePermalinkKey":"e4u1mtfu","originalPublishingDate":"2020-06-22T05:47:15-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS"],"primaryTopicID":98,"topicIds":[98],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"2498EA01-5DAE-4810-A39C-1693280B8AE5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10740","wwdc2020-10744","wwdc2020-10789","wwdc2020-10790"]}},"wwdc2020-10745":{"id":"wwdc2020-10745","staticContentId":3485,"eventContentId":10745,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:16-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4ii0mffp","languageCode":"eng","description":"","title":"SwiftUI Previews in Xcode 12","articleID":"cdfe9449-5f1d-4702-8d70-61ef55a8b66f","pageID":"cdfe9449-5f1d-4702-8d70-61ef55a8b66f","articlePermalinkKey":"4ii0mffp","pagePermalinkKey":"4ii0mffp","originalPublishingDate":"2020-06-22T01:00:45-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","primaryTopicID":100,"topicIds":[100],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"904FEABA-1F97-4669-9F62-D68A5B2C2C2F","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2020-10181":{"id":"wwdc2020-10181","staticContentId":3660,"eventContentId":10181,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:03-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=v0n9qlqx","languageCode":"eng","description":"","title":"The game developer\u2019s toolkit","articleID":"61472f0f-c74a-4642-9481-aa151fed9218","pageID":"61472f0f-c74a-4642-9481-aa151fed9218","articlePermalinkKey":"v0n9qlqx","pagePermalinkKey":"v0n9qlqx","originalPublishingDate":"2020-06-22T00:00:40-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["achievement","controller","controllers","dashboard","game","game best practices","game center","game center design","game controller","game controllers","game design","game designer","game dev","game developer","gamekit","game kit","gameplaykit","games","leaderboard"],"topicIds":[87,91],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"731C2CE5-F5E2-48FC-8D5E-93E485AB57AF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10675","wwdc2020-10685","wwdc2020-10808","wwdc2020-10810","wwdc2020-10818","wwdc2020-10830","wwdc2020-10831","wwdc2020-10832","wwdc2020-10833"],"resources":[827]}},"wwdc2020-10737":{"id":"wwdc2020-10737","staticContentId":3399,"eventContentId":10737,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:51:10-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=w3zpokz1","languageCode":"eng","description":"","title":"Health and fitness","articleID":"a3d4f659-2071-4e65-9d3e-5c5dc27ca0a2","pageID":"a3d4f659-2071-4e65-9d3e-5c5dc27ca0a2","articlePermalinkKey":"w3zpokz1","pagePermalinkKey":"w3zpokz1","originalPublishingDate":"2020-06-22T05:43:40-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":92,"topicIds":[92],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"FF74BAAE-D1EF-4580-BEFD-3D2DA1721B02","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10216"]}},"wwdc2020-10179":{"id":"wwdc2020-10179","staticContentId":3668,"eventContentId":10179,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:50:57-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3u6hkp67","languageCode":"eng","description":"","title":"Make your app a living room star","articleID":"3a3c0921-a324-4d4a-882f-e4fb95bd273b","pageID":"3a3c0921-a324-4d4a-882f-e4fb95bd273b","articlePermalinkKey":"3u6hkp67","pagePermalinkKey":"3u6hkp67","originalPublishingDate":"2020-06-22T00:00:18-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["tvOS"],"keywords":["apple tv","apple tv 4k","living room","mulituser","personalizable","personalize","picture in picture","picture-in-picture","pip","profile","profiles","swiftui","tv app","tv app design","tv app development","tv dev","tv developer","tvos","tv room","uisearchcontroller","video"],"topicIds":[84,100],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"0673B2D9-16D7-480D-B3E7-0E8572E79081","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10854","wwdc2020-10855","wwdc2019-204","wwdc2019-211","wwdc2019-240","wwdc2016-802"],"resources":[2519,831,830,826,825,13]}},"information-111584":{"id":"information-111584","staticContentId":8941,"eventContentId":111584,"eventId":"information","contentUpdatedAt":"2023-06-03T20:55:51-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ix00atac","languageCode":"eng","description":"","title":"Special Event at Apple Park - Schedule","articleID":"9e5c4601-e353-462f-8cf2-110d51869b31","pageID":"9e5c4601-e353-462f-8cf2-110d51869b31","articlePermalinkKey":"ix00atac","pagePermalinkKey":"ix00atac","originalPublishingDate":"2023-06-04T07:00:55-07:00","topicIds":[],"type":"Article","typeSemanticID":"content-page","deliveryLanguage":"eng","imagesUUID":"82B37D45-1F6E-41E1-BAD0-90C8F075BF96","images":["square","wide"],"availablePathExtensions":["heic","jpg"]}},"collections":{"wwdc2026-409":{"id":"wwdc2026-409","staticContentId":11204,"eventContentId":409,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T15:29:56-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/guides\/app-store\/","languageCode":"eng","description":"Dive into the new features and enhancements to help you make the most of your apps and games on the App Store.","title":"WWDC26 App Store guide","articleID":"24f91ef9-61bc-4cd1-95b6-cf4466b128f4","pageID":"24f91ef9-61bc-4cd1-95b6-cf4466b128f4","originalPublishingDate":"2026-06-08T10:00:59-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":90,"topicIds":[86,90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"027AD49C-A5E1-446A-9CF6-2C529746A1CD","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-413":{"id":"wwdc2026-413","staticContentId":11208,"eventContentId":413,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T14:35:54-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/guides\/machine-learning\/","languageCode":"eng","description":"Dive into the latest key technologies and capabilities.","title":"WWDC26 Machine Learning guide","articleID":"a3f509ab-1922-40ae-8601-786dd2f48b29","pageID":"a3f509ab-1922-40ae-8601-786dd2f48b29","originalPublishingDate":"2026-06-08T10:00:06-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":94,"topicIds":[94],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"7FA06274-D5B5-4BF1-91D8-89F9A8DBD0A3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-404":{"id":"wwdc2026-404","staticContentId":11199,"eventContentId":404,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T12:29:50-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/guides\/ios\/","languageCode":"eng","description":"Dive into the latest key technologies and capabilities.","title":"WWDC26 iOS guide","articleID":"a08f7cc7-a5ce-495f-9161-bc91539d3b60","pageID":"a08f7cc7-a5ce-495f-9161-bc91539d3b60","originalPublishingDate":"2026-06-10T10:00:50-07:00","platforms":["iOS"],"primaryTopicID":90,"topicIds":[90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"51872F10-344F-4086-B8F9-6DB1BE16265A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-405":{"id":"wwdc2026-405","staticContentId":11200,"eventContentId":405,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T12:29:50-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/guides\/ipados\/","languageCode":"eng","description":"Dive into the latest key technologies and capabilities.","title":"WWDC26 iPadOS guide","articleID":"dadb3f4e-effe-484f-80c3-0d5cf38a6b0e","pageID":"dadb3f4e-effe-484f-80c3-0d5cf38a6b0e","originalPublishingDate":"2026-06-10T10:00:52-07:00","platforms":["iPadOS"],"primaryTopicID":90,"topicIds":[90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"188ED8B5-E0ED-4670-A8FB-2E7FF060137B","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-407":{"id":"wwdc2026-407","staticContentId":11202,"eventContentId":407,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T12:29:23-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/guides\/visionos\/","languageCode":"eng","description":"Dive into the latest key technologies and capabilities.","title":"WWDC26 visionOS guide","articleID":"ee2b4a83-ea36-4636-86b2-b9d431d5da38","pageID":"ee2b4a83-ea36-4636-86b2-b9d431d5da38","originalPublishingDate":"2026-06-08T10:00:55-07:00","platforms":["visionOS"],"primaryTopicID":90,"topicIds":[90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"5CC15F7B-5A19-4ACC-B8DF-E62F8C6D38C2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-408":{"id":"wwdc2026-408","staticContentId":11203,"eventContentId":408,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T12:29:44-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/guides\/watchos\/","languageCode":"eng","description":"Dive into the latest key technologies and capabilities.","title":"WWDC26 watchOS guide","articleID":"d315cd24-35f3-411c-9a6a-08ccf2711167","pageID":"d315cd24-35f3-411c-9a6a-08ccf2711167","originalPublishingDate":"2026-06-08T10:00:57-07:00","platforms":["watchOS"],"primaryTopicID":90,"topicIds":[90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"14BE2EAB-CE1C-4DED-B254-01D30A2983CC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-410":{"id":"wwdc2026-410","staticContentId":11205,"eventContentId":410,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T12:29:50-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/guides\/apple-intelligence\/","languageCode":"eng","description":"Dive into the latest key technologies and capabilities.","title":"WWDC26 Apple Intelligence guide","articleID":"2d8dfd53-ced9-4b25-a25f-48e691a759e8","pageID":"2d8dfd53-ced9-4b25-a25f-48e691a759e8","originalPublishingDate":"2026-06-08T10:00:01-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":90,"topicIds":[94,90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"69E98F17-99AA-4E58-9A2A-9916624F07DC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-411":{"id":"wwdc2026-411","staticContentId":11206,"eventContentId":411,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-09T12:51:34-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/guides\/design\/","languageCode":"eng","description":"Discover the latest additions and updates to design guidance. Explore inspirational designs, videos, articles, and resources.","title":"WWDC26 Design guide","articleID":"d5129f26-632e-458d-8792-33cdee513c03","pageID":"d5129f26-632e-458d-8792-33cdee513c03","originalPublishingDate":"2026-06-08T10:00:02-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":90,"topicIds":[87,90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"911E82CD-8115-494C-8E37-BEFDDB8FD59D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-412":{"id":"wwdc2026-412","staticContentId":11207,"eventContentId":412,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T10:54:29-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/guides\/games\/","languageCode":"eng","description":"Dive into the latest key technologies and capabilities.","title":"WWDC26 Games guide","articleID":"d3adf115-7cbe-4f3c-8693-4c6096463f52","pageID":"d3adf115-7cbe-4f3c-8693-4c6096463f52","originalPublishingDate":"2026-06-08T10:00:04-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS"],"primaryTopicID":90,"topicIds":[91,90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"D2CCC75E-2305-4C02-822C-DB48A70E34D0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-414":{"id":"wwdc2026-414","staticContentId":11209,"eventContentId":414,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T10:53:54-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/guides\/metal\/","languageCode":"eng","description":"Explore the latest updates in Metal tools, resources, and related technologies.","title":"WWDC26 Metal guide","articleID":"249ffaf4-1891-4c33-a8f4-d82781f53657","pageID":"249ffaf4-1891-4c33-a8f4-d82781f53657","originalPublishingDate":"2026-06-08T10:00:08-07:00","primaryTopicID":91,"topicIds":[91],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"B4150081-583A-4864-B1D0-0F60B25D4BA6","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-415":{"id":"wwdc2026-415","staticContentId":11210,"eventContentId":415,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T10:53:40-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/guides\/swift\/","languageCode":"eng","description":"Dive into the latest features and capabilities.","title":"WWDC26 Swift guide","articleID":"7ca6b353-5f6a-410f-bb44-2a908375f8b7","pageID":"7ca6b353-5f6a-410f-bb44-2a908375f8b7","originalPublishingDate":"2026-06-08T10:00:09-07:00","platforms":["iOS","iPadOS","macOS","tvOS","visionOS","watchOS"],"primaryTopicID":99,"topicIds":[99],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"333A07C0-F1CF-40E3-8F81-5875B6272E72","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-417":{"id":"wwdc2026-417","staticContentId":11212,"eventContentId":417,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T12:29:39-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/guides\/xcode\/","languageCode":"eng","description":"Dive into the latest key technologies and capabilities.","title":"WWDC26 Xcode guide","articleID":"be165bb4-7cc9-4f25-a354-3cc164ee6258","pageID":"be165bb4-7cc9-4f25-a354-3cc164ee6258","originalPublishingDate":"2026-06-08T10:00:13-07:00","primaryTopicID":88,"topicIds":[88],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"33988A6B-ACCE-4B55-962F-4C5F8B60D3EE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-416":{"id":"wwdc2026-416","staticContentId":11211,"eventContentId":416,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T13:29:25-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/guides\/swiftui\/","languageCode":"eng","description":"Dive into the latest features and capabilities.","title":"WWDC26 SwiftUI guide","articleID":"5e3c42eb-8c06-469c-b149-0c575bef6cc8","pageID":"5e3c42eb-8c06-469c-b149-0c575bef6cc8","originalPublishingDate":"2026-06-08T10:00:11-07:00","primaryTopicID":100,"topicIds":[100],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"B783F1C6-BCBB-44FF-B90B-5CEF4B839407","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2026-406":{"id":"wwdc2026-406","staticContentId":11201,"eventContentId":406,"eventId":"wwdc2026","contentUpdatedAt":"2026-06-08T12:29:50-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/guides\/macos\/","languageCode":"eng","description":"Dive into the latest key technologies and capabilities.","title":"WWDC26 macOS guide","articleID":"9be8d7a3-26cd-4629-b31d-b9a59a2f338c","pageID":"9be8d7a3-26cd-4629-b31d-b9a59a2f338c","originalPublishingDate":"2026-06-08T10:00:54-07:00","platforms":["macOS"],"primaryTopicID":90,"topicIds":[90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"20855C4E-BFC8-489A-A5F5-62E1EEBC175C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111611":{"id":"articles-111611","staticContentId":9099,"eventContentId":111611,"eventId":"articles","contentUpdatedAt":"2023-11-09T02:04:08-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=n4yvry73","languageCode":"eng","description":"Learn how JigSpace and PTC are approaching the new world of visionOS.","title":"Spotlight on: Apple Vision Pro apps for enterprise","articleID":"52330121-e40d-4be9-bd1a-e52c416ab1cc","pageID":"52330121-e40d-4be9-bd1a-e52c416ab1cc","articlePermalinkKey":"n4yvry73","pagePermalinkKey":"n4yvry73","originalPublishingDate":"2023-11-09T01:59:23-08:00","platforms":["visionOS"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"AB37FFA1-38C9-4BD9-AD86-9C4833C1043D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112028":{"id":"articles-112028","staticContentId":10559,"eventContentId":112028,"eventId":"articles","contentUpdatedAt":"2026-06-17T14:35:11-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=dm09ffa1","languageCode":"eng","description":"Here's a collection of some of the biggest moments from an incredible set of video sessions.","title":"WWDC25 highlights","articleID":"2c8ca84e-6118-494b-ac4e-268aa1cf2f15","pageID":"2c8ca84e-6118-494b-ac4e-268aa1cf2f15","articlePermalinkKey":"dm09ffa1","pagePermalinkKey":"dm09ffa1","originalPublishingDate":"2025-06-13T07:00:42-07:00","primaryTopicID":85,"topicIds":[85],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"7F3BA3E6-A69C-4C4E-99F2-E76AB6554BAD","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111616":{"id":"articles-111616","staticContentId":9104,"eventContentId":111616,"eventId":"articles","contentUpdatedAt":"2023-11-09T02:05:10-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=8qmd71d8","languageCode":"eng","description":"In this series of videos, you can learn how to level up your pro app or game by harnessing the speed and power of Apple platforms.","title":"Optimize your game for Apple platforms","articleID":"9ef7e136-72d3-4dd5-b2fa-189c8faad3e9","pageID":"9ef7e136-72d3-4dd5-b2fa-189c8faad3e9","articlePermalinkKey":"8qmd71d8","pagePermalinkKey":"8qmd71d8","originalPublishingDate":"2023-11-09T02:00:53-08:00","platforms":["iOS","iPadOS","macOS"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"42556E56-9B91-4D2E-8923-577DE36AC8F0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10968":{"id":"articles-10968","staticContentId":3454,"eventContentId":10968,"eventId":"articles","contentUpdatedAt":"2025-06-24T15:42:41-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=nvn7mmf1","languageCode":"eng","description":"","title":"What's new in PhotoKit","articleID":"b8e62986-7383-4ece-b805-0e9acc965c7a","pageID":"b8e62986-7383-4ece-b805-0e9acc965c7a","articlePermalinkKey":"nvn7mmf1","pagePermalinkKey":"nvn7mmf1","originalPublishingDate":"2020-06-22T00:00:00-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"931F6A2B-A202-49F4-9B47-E9056B74CE00","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111049":{"id":"articles-111049","staticContentId":8072,"eventContentId":111049,"eventId":"articles","contentUpdatedAt":"2024-11-22T12:32:05-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=fakg1z5b","languageCode":"eng","description":"Learn how to create head-turning experiences with sound.","title":"Explore Spatial Audio","articleID":"e084855c-c386-4814-9023-9c3f691ee5d5","pageID":"e084855c-c386-4814-9023-9c3f691ee5d5","articlePermalinkKey":"fakg1z5b","pagePermalinkKey":"fakg1z5b","originalPublishingDate":"2023-03-16T07:00:13-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"65B0C3E0-688C-44F7-A386-3822A89C18BE","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111034":{"id":"articles-111034","staticContentId":7795,"eventContentId":111034,"eventId":"articles","contentUpdatedAt":"2026-06-08T12:30:05-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=jdqxdx0y","languageCode":"eng","description":"Learn the essentials of the App Intents framework.","title":"Get started with App Intents","articleID":"e28da5fa-f386-4c3c-a39a-22d58398be80","pageID":"e28da5fa-f386-4c3c-a39a-22d58398be80","articlePermalinkKey":"jdqxdx0y","pagePermalinkKey":"jdqxdx0y","originalPublishingDate":"2022-10-10T07:00:00-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"999330ED-EE38-425F-9AF6-D51E8E080C78","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110968":{"id":"articles-110968","staticContentId":7390,"eventContentId":110968,"eventId":"articles","contentUpdatedAt":"2024-02-13T11:57:22-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4fe1r1f5","languageCode":"eng","description":"Learn the latest tools for capturing picture-perfect images and integrating with the Photos library in your apps.","title":"What's new in Camera and Photos","articleID":"e7db450d-ee56-4d32-9443-4c55ff85d978","pageID":"e7db450d-ee56-4d32-9443-4c55ff85d978","articlePermalinkKey":"4fe1r1f5","pagePermalinkKey":"4fe1r1f5","originalPublishingDate":"2022-10-10T07:00:39-07:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":95,"topicIds":[95],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"33E38BE1-9293-467D-A679-8BBA08EE9FDE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-10018","wwdc2022-10022","wwdc2022-10023","wwdc2022-10026","wwdc2022-10132","wwdc2022-110429"],"resources":[2957,2956,2398]}},"articles-111044":{"id":"articles-111044","staticContentId":8024,"eventContentId":111044,"eventId":"articles","contentUpdatedAt":"2023-07-12T12:07:12-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=03t58b6p","languageCode":"eng","description":"Explore the latest developer videos and learn about Metal, SharePlay, enterprise apps and more.","title":"Level up your apps and games","articleID":"63aff110-bcbe-46ee-a25b-0b2bd373c511","pageID":"63aff110-bcbe-46ee-a25b-0b2bd373c511","articlePermalinkKey":"03t58b6p","pagePermalinkKey":"03t58b6p","originalPublishingDate":"2023-02-01T08:00:00-08:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"8E7245E1-4A79-419D-9A27-504B9B89DB58","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111032":{"id":"articles-111032","staticContentId":7793,"eventContentId":111032,"eventId":"articles","contentUpdatedAt":"2024-07-25T13:04:55-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=isnpnrza","languageCode":"eng","description":"Learn how you can create glanceable widgets and complications.","title":"Glance at WidgetKit","articleID":"16430b75-1fa1-450f-9e76-ae6d8eea589f","pageID":"16430b75-1fa1-450f-9e76-ae6d8eea589f","articlePermalinkKey":"isnpnrza","pagePermalinkKey":"isnpnrza","originalPublishingDate":"2022-10-10T07:00:00-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"36D4EAF1-E9CF-40D3-A93C-AC3BFE4E158D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-112133":{"id":"articles-112133","staticContentId":11275,"eventContentId":112133,"eventId":"articles","contentUpdatedAt":"2026-06-17T14:32:38-07:00","webPermalink":"https:\/\/developer.apple.com\/wwdc26\/guides\/highlights\/","languageCode":"eng","description":"Browse some of the biggest moments from an incredible set of video sessions.","title":"WWDC26 highlights","articleID":"cc3f2670-ee09-418e-974c-4bc9b7741d2f","pageID":"cc3f2670-ee09-418e-974c-4bc9b7741d2f","originalPublishingDate":"2026-06-12T07:00:02-07:00","primaryTopicID":90,"topicIds":[90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"A63B846D-A247-4FFA-AB21-1B6E7AA8EC91","images":["wide"],"availablePathExtensions":["jpg","heic"]},"articles-110769":{"id":"articles-110769","staticContentId":7458,"eventContentId":110769,"eventId":"articles","contentUpdatedAt":"2023-07-12T12:07:05-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=b4kk777r","languageCode":"eng","description":"The Apple Design Awards honors excellence in innovation, ingenuity, and technical achievement in app and game design. To celebrate our 2022 Apple Design Award-winning apps and games, we've put together a series of interviews with their creators.","title":"Behind the Design: 2022 Apple Design Awards","articleID":"14b18aca-1561-4111-9ce4-a49ccb8f8aa8","pageID":"14b18aca-1561-4111-9ce4-a49ccb8f8aa8","articlePermalinkKey":"b4kk777r","pagePermalinkKey":"b4kk777r","originalPublishingDate":"2022-06-13T10:00:00-07:00","primaryTopicID":87,"topicIds":[87],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"8ED3E5E2-DB77-4784-B246-3D9694979CCC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111631":{"id":"articles-111631","staticContentId":9181,"eventContentId":111631,"eventId":"articles","contentUpdatedAt":"2024-01-30T09:11:45-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=tqkgshu3","languageCode":"eng","description":"Meet some of the incredible teams building for visionOS, and get answers from Apple experts on spatial design and creating great apps for Apple Vision Pro.","title":"Apple Vision Pro developer stories and Q&As","articleID":"3a1dd1f6-42e5-4fd4-bd6e-dc645e314c76","pageID":"3a1dd1f6-42e5-4fd4-bd6e-dc645e314c76","articlePermalinkKey":"tqkgshu3","pagePermalinkKey":"tqkgshu3","originalPublishingDate":"2024-01-30T09:00:26-08:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"F9FA9C98-E8DD-464A-888D-BF024493F466","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110934":{"id":"articles-110934","staticContentId":7328,"eventContentId":110934,"eventId":"articles","contentUpdatedAt":"2025-02-21T12:16:50-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=076p6dmy","languageCode":"eng","description":"Build, test, and distribute great apps using Apple\u2019s continuous integration and delivery service, Xcode Cloud.","title":"The Xcode Cloud toolkit","articleID":"96a8b3bf-24a9-4bed-8a67-a2468303ed37","pageID":"96a8b3bf-24a9-4bed-8a67-a2468303ed37","articlePermalinkKey":"076p6dmy","pagePermalinkKey":"076p6dmy","originalPublishingDate":"2022-08-29T12:00:36-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"primaryTopicID":88,"topicIds":[88],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"8574E54C-F2CD-4D02-93F4-28B6F6F140D5","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110361","wwdc2022-110374","wwdc2022-110375"]}},"articles-110946":{"id":"articles-110946","staticContentId":7807,"eventContentId":110946,"eventId":"articles","contentUpdatedAt":"2023-07-12T12:07:33-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=sgfq6xxy","languageCode":"eng","description":"Discover the latest updates and changes to building apps with SwiftUI.","title":"Dive deep with SwiftUI","articleID":"b4e8285f-32e4-4090-be44-9adbbf1d3703","pageID":"b4e8285f-32e4-4090-be44-9adbbf1d3703","articlePermalinkKey":"sgfq6xxy","pagePermalinkKey":"sgfq6xxy","originalPublishingDate":"2022-10-10T07:00:00-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"D00C9CAE-4F31-44A3-8A6E-EC4A3301790A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110944":{"id":"articles-110944","staticContentId":7805,"eventContentId":110944,"eventId":"articles","contentUpdatedAt":"2025-06-05T15:32:37-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=o140tv24","languageCode":"eng","description":"Take charge of concurrent tasks with this comprehensive toolkit.","title":"Get started with Swift concurrency","articleID":"babfc94f-25ec-4a72-b866-1bbb9232fcb6","pageID":"babfc94f-25ec-4a72-b866-1bbb9232fcb6","articlePermalinkKey":"o140tv24","pagePermalinkKey":"o140tv24","originalPublishingDate":"2022-10-10T07:00:00-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"66AFFF43-331E-496C-AC2E-194FC00C750E","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111580":{"id":"articles-111580","staticContentId":8881,"eventContentId":111580,"eventId":"articles","contentUpdatedAt":"2023-07-12T12:00:59-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=cj1fjit2","languageCode":"eng","description":"Explore all the big updates from an incredible week of sessions","title":"WWDC23 highlights","articleID":"238a7a6f-9c6f-43ee-b691-cbbe8c4088ea","pageID":"238a7a6f-9c6f-43ee-b691-cbbe8c4088ea","articlePermalinkKey":"cj1fjit2","pagePermalinkKey":"cj1fjit2","originalPublishingDate":"2023-06-09T14:00:00-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"71E6F9D4-3345-4650-A0DD-B8BA1ED609D0","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111061":{"id":"articles-111061","staticContentId":8097,"eventContentId":111061,"eventId":"articles","contentUpdatedAt":"2024-05-31T13:14:57-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=x4p2d35h","languageCode":"eng","description":"Make the most of resources that can help you design a great experience for any Apple platform.","title":"Design your app","articleID":"efcbddb5-b916-461c-ab24-378911710c8f","pageID":"efcbddb5-b916-461c-ab24-378911710c8f","articlePermalinkKey":"x4p2d35h","pagePermalinkKey":"x4p2d35h","originalPublishingDate":"2023-03-08T07:30:00-08:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"DCF85BDF-3E40-4AFB-B323-B1F4F5E4DD84","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111033":{"id":"articles-111033","staticContentId":7794,"eventContentId":111033,"eventId":"articles","contentUpdatedAt":"2025-01-24T13:25:28-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=16c9n1iy","languageCode":"eng","description":"Explore the latest improvements to our smallest screens.","title":"What's new in watchOS","articleID":"23a66827-1fcc-4d02-b31c-dfe1ed5c90bf","pageID":"23a66827-1fcc-4d02-b31c-dfe1ed5c90bf","articlePermalinkKey":"16c9n1iy","pagePermalinkKey":"16c9n1iy","originalPublishingDate":"2022-10-10T07:00:00-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"43773269-93E7-4838-AB2B-13CDB156A606","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-111039":{"id":"articles-111039","staticContentId":7742,"eventContentId":111039,"eventId":"articles","contentUpdatedAt":"2025-10-07T16:02:19-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=bkm73839","languageCode":"eng","description":"Learn how you can showcase live updates from your app on the Lock Screen and the Dynamic Island.","title":"Explore Live Activities and the Dynamic Island","articleID":"8a7f49af-c1ef-48e3-a583-920d45e351f3","pageID":"8a7f49af-c1ef-48e3-a583-920d45e351f3","articlePermalinkKey":"bkm73839","pagePermalinkKey":"bkm73839","originalPublishingDate":"2022-10-10T07:00:36-07:00","platforms":["iOS","iPadOS"],"keywords":["","swiftui","widgetkit"],"primaryTopicID":83,"topicIds":[83],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"5990A60B-0254-4E5D-B042-61128BC03DEC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"resources":[2968,2961,2960,2959,2505,924]}},"articles-111619":{"id":"articles-111619","staticContentId":9107,"eventContentId":111619,"eventId":"articles","contentUpdatedAt":"2026-07-28T13:18:50-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=j368ftil","languageCode":"eng","description":"Discover the languages, tools, and frameworks you\u2019ll need to build and test your apps in visionOS.","title":"Reimagine your enterprise apps on Apple Vision Pro","articleID":"8280772d-c353-45dc-9cdd-b88cb7e4c5d4","pageID":"8280772d-c353-45dc-9cdd-b88cb7e4c5d4","articlePermalinkKey":"j368ftil","pagePermalinkKey":"j368ftil","originalPublishingDate":"2023-11-08T10:00:07-08:00","primaryTopicID":89,"topicIds":[89],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"D1E83F5C-88CF-45F5-A07B-E290FBE594FC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-10703":{"id":"articles-10703","staticContentId":3712,"eventContentId":10703,"eventId":"articles","contentUpdatedAt":"2025-06-24T15:50:55-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=d9kd3m7g","languageCode":"eng","description":"Discover the latest improvements to UIKit and learn how you can build better interfaces, interactions, and iPhone and iPad apps.","title":"What's new in UIKit and iOS","articleID":"377030d4-6ba0-4f80-b8fa-d61777c033a6","pageID":"377030d4-6ba0-4f80-b8fa-d61777c033a6","articlePermalinkKey":"d9kd3m7g","pagePermalinkKey":"d9kd3m7g","originalPublishingDate":"2020-06-22T01:22:00-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS"],"primaryTopicID":100,"topicIds":[100],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"CA6F2448-2371-40A6-A70C-AF62FFE753AA","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10093","wwdc2020-10638","wwdc2020-10906","wwdc2020-10907","wwdc2020-10908"]}},"articles-111650":{"id":"articles-111650","staticContentId":9741,"eventContentId":111650,"eventId":"articles","contentUpdatedAt":"2024-08-23T14:12:48-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=o38yplz0","languageCode":"eng","description":"Browse the biggest moments from an incredible week of sessions.","title":"WWDC24 highlights","articleID":"af696add-4e08-4563-8986-5ab6680101dd","pageID":"af696add-4e08-4563-8986-5ab6680101dd","articlePermalinkKey":"o38yplz0","pagePermalinkKey":"o38yplz0","originalPublishingDate":"2024-06-14T08:00:59-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"E5052188-BBF7-4666-B75F-645C9309DA9D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"articles-110763":{"id":"articles-110763","staticContentId":7138,"eventContentId":110763,"eventId":"articles","contentUpdatedAt":"2023-04-17T16:08:16-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=v5kliro5","languageCode":"eng","description":"WWDC22 is here. Here\u2019s everything you need to know to get the most out of your week.","title":"Get the most out of WWDC22","articleID":"610c3b52-9e71-47c6-8e7f-64fc46f98192","pageID":"610c3b52-9e71-47c6-8e7f-64fc46f98192","articlePermalinkKey":"v5kliro5","pagePermalinkKey":"v5kliro5","originalPublishingDate":"2022-06-06T11:00:29-07:00","publishingExpiryDate":"2027-06-01T16:45:38-07:00","primaryTopicID":90,"topicIds":[90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"E8325DB9-B8E0-44D7-B9DB-B59DA5CBC66A","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2025-112003":{"id":"wwdc2025-112003","staticContentId":10510,"eventContentId":112003,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-09T11:00:26-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3185yyyb","languageCode":"eng","description":"Your guide to all the new features and tools for building apps for Apple\u00a0Watch.","title":"WWDC25 watchOS guide","articleID":"0be26b71-29f5-425d-b4db-e5571e382c0e","pageID":"0be26b71-29f5-425d-b4db-e5571e382c0e","articlePermalinkKey":"3185yyyb","pagePermalinkKey":"3185yyyb","originalPublishingDate":"2025-06-09T10:00:44-07:00","primaryTopicID":90,"topicIds":[90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"4BF69FDC-0709-403D-BFB4-2E4B7C424AD8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2025-440":{"id":"wwdc2025-440","staticContentId":10476,"eventContentId":440,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-09T11:04:24-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=892rul8r","languageCode":"eng","description":"Bring personal intelligence to your apps.","title":"WWDC25 Machine Learning & AI guide","articleID":"ff667f5b-e0bf-4e73-9c60-63f1a0e99bd0","pageID":"ff667f5b-e0bf-4e73-9c60-63f1a0e99bd0","articlePermalinkKey":"892rul8r","pagePermalinkKey":"892rul8r","originalPublishingDate":"2025-06-09T10:00:30-07:00","primaryTopicID":94,"topicIds":[94],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"A7E563E0-76FF-4EC0-B2DB-C03924E039F3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2025-445":{"id":"wwdc2025-445","staticContentId":10481,"eventContentId":445,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-09T11:01:54-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=r187kjaq","languageCode":"eng","description":"The infinite canvas is waiting for you.","title":"WWDC25 visionOS guide","articleID":"b89d337b-6fe3-4c04-8fcd-b69ab844ff50","pageID":"b89d337b-6fe3-4c04-8fcd-b69ab844ff50","articlePermalinkKey":"r187kjaq","pagePermalinkKey":"r187kjaq","originalPublishingDate":"2025-06-09T10:00:42-07:00","primaryTopicID":85,"topicIds":[85],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"44EA2EE9-4B02-4797-A043-C3CF4A3F86D1","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2025-442":{"id":"wwdc2025-442","staticContentId":10478,"eventContentId":442,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-09T11:04:39-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=aygr6s4v","languageCode":"eng","description":"Your guide to everything new in Swift, related tools, and supporting frameworks.","title":"WWDC25 Swift guide","articleID":"cc37abe0-2bee-4849-92a0-94d9ca18bd96","pageID":"cc37abe0-2bee-4849-92a0-94d9ca18bd96","articlePermalinkKey":"aygr6s4v","pagePermalinkKey":"aygr6s4v","originalPublishingDate":"2025-06-09T10:00:35-07:00","primaryTopicID":99,"topicIds":[99],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"3527F369-4DCA-4F44-978E-5C978D045269","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2025-448":{"id":"wwdc2025-448","staticContentId":10485,"eventContentId":448,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-06T17:14:57-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=us98zsgl","languageCode":"eng","description":"Tune in at 1 p.m. PT on June 9 to dive deep into the newest advancements on Apple platforms.","title":"Watch the WWDC25 Platforms State of the Union","articleID":"eddbb4d9-7f73-43e3-8c43-73fc45c64f6a","pageID":"eddbb4d9-7f73-43e3-8c43-73fc45c64f6a","articlePermalinkKey":"us98zsgl","pagePermalinkKey":"us98zsgl","originalPublishingDate":"2025-06-06T17:00:19-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"FA6771F2-DC79-4AEF-8EAC-5304B8FC7ED8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2025-443":{"id":"wwdc2025-443","staticContentId":10479,"eventContentId":443,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-09T11:03:46-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=t0ztgzyp","languageCode":"eng","description":"Design and build your apps like never before.","title":"WWDC25 SwiftUI & UI Frameworks guide","articleID":"92f5d437-3253-459a-badc-494eeb471fa3","pageID":"92f5d437-3253-459a-badc-494eeb471fa3","articlePermalinkKey":"t0ztgzyp","pagePermalinkKey":"t0ztgzyp","originalPublishingDate":"2025-06-09T10:00:37-07:00","primaryTopicID":100,"topicIds":[100],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"42988812-7BC5-4662-99BD-8FF43F7DA17D","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2025-111998":{"id":"wwdc2025-111998","staticContentId":10484,"eventContentId":111998,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-06T17:07:58-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=abhvy422","languageCode":"eng","description":"Tune in at 10 a.m. PT on June 9 to catch the exciting reveal of the latest Apple software and technologies.","title":"Watch the WWDC25 Keynote","articleID":"2ce626a6-495d-4573-b682-59df877f360d","pageID":"2ce626a6-495d-4573-b682-59df877f360d","articlePermalinkKey":"abhvy422","pagePermalinkKey":"abhvy422","originalPublishingDate":"2025-06-06T17:00:57-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"02C11324-A301-4158-B31C-9B0F192C3699","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2025-439":{"id":"wwdc2025-439","staticContentId":10475,"eventContentId":439,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-09T11:02:20-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=miawfx81","languageCode":"eng","description":"Your guide to all the new features and tools for building apps for iPad.","title":"WWDC25 iPadOS guide","articleID":"fba61aa8-2444-401b-b3c4-bd0d4c5ad9f8","pageID":"fba61aa8-2444-401b-b3c4-bd0d4c5ad9f8","articlePermalinkKey":"miawfx81","pagePermalinkKey":"miawfx81","originalPublishingDate":"2025-06-09T10:00:28-07:00","primaryTopicID":90,"topicIds":[90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"DD6A9118-E543-4159-9F40-DCED4E8E1224","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2025-437":{"id":"wwdc2025-437","staticContentId":10473,"eventContentId":437,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-09T11:01:28-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=4j6o09l2","languageCode":"eng","description":"Create the next generation of games for millions of players worldwide.","title":"WWDC25 Graphics & games guide","articleID":"fcc25115-c9b0-4408-a588-d918d2df62e5","pageID":"fcc25115-c9b0-4408-a588-d918d2df62e5","articlePermalinkKey":"4j6o09l2","pagePermalinkKey":"4j6o09l2","originalPublishingDate":"2025-06-09T10:00:23-07:00","primaryTopicID":91,"topicIds":[91],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"21143C9B-997B-47EF-BEB0-4A0290A22D66","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2025-436":{"id":"wwdc2025-436","staticContentId":10472,"eventContentId":436,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-09T10:59:54-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=8zpefw42","languageCode":"eng","description":"Explore a wave of updates to developer tools that make building apps and games easier and more efficient than ever.","title":"WWDC25 Developer Tools guide","articleID":"74d6daf0-4911-4231-8e18-ea0dae43fbc5","pageID":"74d6daf0-4911-4231-8e18-ea0dae43fbc5","articlePermalinkKey":"8zpefw42","pagePermalinkKey":"8zpefw42","originalPublishingDate":"2025-06-09T10:00:20-07:00","primaryTopicID":88,"topicIds":[88],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"EEBAD0BC-E7D9-4168-817A-989074753F82","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2025-444":{"id":"wwdc2025-444","staticContentId":10480,"eventContentId":444,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-09T11:03:25-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=g7cl9osr","languageCode":"eng","description":"","title":"WWDC25 tvOS guide","articleID":"d81dc47b-6d96-4e8a-8ca9-4c2bf9540a6a","pageID":"d81dc47b-6d96-4e8a-8ca9-4c2bf9540a6a","articlePermalinkKey":"g7cl9osr","pagePermalinkKey":"g7cl9osr","originalPublishingDate":"2025-06-09T10:00:39-07:00","primaryTopicID":90,"topicIds":[90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"7567618A-BFA7-4EE3-8A8C-846647A5D660","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2025-434":{"id":"wwdc2025-434","staticContentId":10470,"eventContentId":434,"eventId":"wwdc2025","contentUpdatedAt":"2025-08-06T14:19:10-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=mhu1zwj8","languageCode":"eng","description":"Distribute apps and games to people around the world.","title":"WWDC25 App Store guide","articleID":"7141c337-f109-4ce7-937b-e4fce8e2c578","pageID":"7141c337-f109-4ce7-937b-e4fce8e2c578","articlePermalinkKey":"mhu1zwj8","pagePermalinkKey":"mhu1zwj8","originalPublishingDate":"2025-06-09T10:00:15-07:00","primaryTopicID":86,"topicIds":[86],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"AB9548B5-2130-4101-9222-5A6906B365CC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2025-441":{"id":"wwdc2025-441","staticContentId":10477,"eventContentId":441,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-09T11:04:46-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=uf3qdaoe","languageCode":"eng","description":"","title":"WWDC25 macOS guide","articleID":"a895a355-82db-4bed-833f-e741c1754401","pageID":"a895a355-82db-4bed-833f-e741c1754401","articlePermalinkKey":"uf3qdaoe","pagePermalinkKey":"uf3qdaoe","originalPublishingDate":"2025-06-09T10:00:32-07:00","primaryTopicID":90,"topicIds":[90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"696298CF-22E9-4489-9CA7-578C54BC4BBC","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2025-438":{"id":"wwdc2025-438","staticContentId":10474,"eventContentId":438,"eventId":"wwdc2025","contentUpdatedAt":"2025-06-09T11:01:50-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=22qvjgtr","languageCode":"eng","description":"Your guide to all the new features and tools for building apps for iPhone.","title":"WWDC25 iOS guide","articleID":"a1c8796b-d509-4fb4-ad4f-ec4b1a040224","pageID":"a1c8796b-d509-4fb4-ad4f-ec4b1a040224","articlePermalinkKey":"22qvjgtr","pagePermalinkKey":"22qvjgtr","originalPublishingDate":"2025-06-09T10:00:25-07:00","primaryTopicID":90,"topicIds":[90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"3407131C-9996-4624-89E3-7DD94E1FD4F7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2024-111971":{"id":"wwdc2024-111971","staticContentId":9734,"eventContentId":111971,"eventId":"wwdc2024","contentUpdatedAt":"2024-07-19T09:47:27-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=5uxs103n","languageCode":"eng","description":"The infinite canvas is waiting for you.","title":"WWDC24 visionOS guide","articleID":"f0943f25-dfb2-4204-8910-156d0c9c29e0","pageID":"f0943f25-dfb2-4204-8910-156d0c9c29e0","articlePermalinkKey":"5uxs103n","pagePermalinkKey":"5uxs103n","originalPublishingDate":"2024-06-10T07:00:07-07:00","primaryTopicID":85,"topicIds":[85],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"6C8FF68C-6926-46B9-92E4-4EECAA8859E3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2024-111964":{"id":"wwdc2024-111964","staticContentId":9727,"eventContentId":111964,"eventId":"wwdc2024","contentUpdatedAt":"2024-07-19T09:51:24-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=1zzg8inp","languageCode":"eng","description":"Your guide to all the new features and tools for building apps for iPhone and iPad.","title":"WWDC24 iOS & iPadOS guide","articleID":"5a15ff51-d276-4615-9b19-2db20aee46d6","pageID":"5a15ff51-d276-4615-9b19-2db20aee46d6","articlePermalinkKey":"1zzg8inp","pagePermalinkKey":"1zzg8inp","originalPublishingDate":"2024-06-10T07:00:26-07:00","primaryTopicID":90,"topicIds":[90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"A4AA8C5E-A8CB-4E09-88A8-695AFE75CD1C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2024-111970":{"id":"wwdc2024-111970","staticContentId":9733,"eventContentId":111970,"eventId":"wwdc2024","contentUpdatedAt":"2024-07-19T09:49:09-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=zqzlvxlm","languageCode":"eng","description":"Design and build your apps like never before.","title":"WWDC24 SwiftUI & UI Frameworks guide","articleID":"403a3de7-ab09-490d-93b3-46eac8b23d4a","pageID":"403a3de7-ab09-490d-93b3-46eac8b23d4a","articlePermalinkKey":"zqzlvxlm","pagePermalinkKey":"zqzlvxlm","originalPublishingDate":"2024-06-10T07:00:31-07:00","primaryTopicID":100,"topicIds":[100],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"AB38D1DE-D751-4E78-805C-A5D9DD692D3C","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2024-111917":{"id":"wwdc2024-111917","staticContentId":9666,"eventContentId":111917,"eventId":"wwdc2024","contentUpdatedAt":"2024-07-05T10:05:17-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=91npyek7","languageCode":"eng","description":"Your guide to all the new features and tools for building apps for Apple\u00a0Watch.","title":"WWDC24 watchOS guide","articleID":"31524756-5d1d-4514-9bec-2042dd055b72","pageID":"31524756-5d1d-4514-9bec-2042dd055b72","articlePermalinkKey":"91npyek7","pagePermalinkKey":"91npyek7","originalPublishingDate":"2024-06-10T07:00:17-07:00","primaryTopicID":90,"topicIds":[90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"F0EC8841-D29B-496A-B0BB-9D7A723D3B86","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2024-111965":{"id":"wwdc2024-111965","staticContentId":9728,"eventContentId":111965,"eventId":"wwdc2024","contentUpdatedAt":"2024-09-16T12:18:57-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=pby7a6ex","languageCode":"eng","description":"Bring personal intelligence to your apps.","title":"WWDC24 Machine Learning & AI guide","articleID":"87173331-73c3-4fb4-acc4-738705256294","pageID":"87173331-73c3-4fb4-acc4-738705256294","articlePermalinkKey":"pby7a6ex","pagePermalinkKey":"pby7a6ex","originalPublishingDate":"2024-06-10T07:00:24-07:00","primaryTopicID":94,"topicIds":[94],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"775D2FD5-E6E3-4CF2-8229-B2F6A05F79AB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2024-111966":{"id":"wwdc2024-111966","staticContentId":9729,"eventContentId":111966,"eventId":"wwdc2024","contentUpdatedAt":"2024-07-18T11:31:27-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=s9s75a8k","languageCode":"eng","description":"Discover how this year\u2019s design announcements can help make your app shine on Apple platforms.","title":"WWDC24 Design guide","articleID":"b1b678a2-15b6-4e0e-a63b-685412b15418","pageID":"b1b678a2-15b6-4e0e-a63b-685412b15418","articlePermalinkKey":"s9s75a8k","pagePermalinkKey":"s9s75a8k","originalPublishingDate":"2024-06-10T07:00:57-07:00","primaryTopicID":87,"topicIds":[87],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"640EC347-933D-4D6E-A877-2350C4DB00D5","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2024-111967":{"id":"wwdc2024-111967","staticContentId":9730,"eventContentId":111967,"eventId":"wwdc2024","contentUpdatedAt":"2024-07-05T10:03:39-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=a693fazi","languageCode":"eng","description":"Explore a wave of updates to developer tools that make building apps and games easier and more efficient than ever.","title":"WWDC24 Developer Tools guide","articleID":"c3285b6c-f4bf-426e-b943-6fbf9363bfa7","pageID":"c3285b6c-f4bf-426e-b943-6fbf9363bfa7","articlePermalinkKey":"a693fazi","pagePermalinkKey":"a693fazi","originalPublishingDate":"2024-06-10T07:00:30-07:00","primaryTopicID":88,"topicIds":[88],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"CC83ED3F-6450-4B05-BEA7-10E28BEFAE47","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2024-111968":{"id":"wwdc2024-111968","staticContentId":9731,"eventContentId":111968,"eventId":"wwdc2024","contentUpdatedAt":"2024-09-16T12:25:48-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ibe0jb52","languageCode":"eng","description":"Create the next generation of games for millions of players worldwide.","title":"WWDC24 Games guide","articleID":"5ed1e2e6-41f3-4ded-a119-20bcb86513d8","pageID":"5ed1e2e6-41f3-4ded-a119-20bcb86513d8","articlePermalinkKey":"ibe0jb52","pagePermalinkKey":"ibe0jb52","originalPublishingDate":"2024-06-10T07:00:22-07:00","primaryTopicID":91,"topicIds":[91],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"EDC5597C-FF46-4570-9375-7F46C62747A7","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2024-111969":{"id":"wwdc2024-111969","staticContentId":9732,"eventContentId":111969,"eventId":"wwdc2024","contentUpdatedAt":"2024-09-16T12:25:11-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=0ofaehl4","languageCode":"eng","description":"Your guide to everything new in Swift, related tools, and supporting frameworks.","title":"WWDC24 Swift guide","articleID":"80cbfe5d-4975-474c-8c5e-6cd811322b56","pageID":"80cbfe5d-4975-474c-8c5e-6cd811322b56","articlePermalinkKey":"0ofaehl4","pagePermalinkKey":"0ofaehl4","originalPublishingDate":"2024-06-10T07:00:46-07:00","primaryTopicID":99,"topicIds":[99],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"FEB488F7-0242-4493-9ED3-D2C66C419218","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110994":{"id":"wwdc2022-110994","staticContentId":7434,"eventContentId":110994,"eventId":"wwdc2022","contentUpdatedAt":"2023-06-03T14:08:49-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ypt6oe0d","languageCode":"eng","description":"Take a deeper dive into the latest tools, technologies, and advances across Apple platforms to help you create even better apps","title":"Rewatch the Platforms State of the Union","articleID":"8f18d4f4-8edb-4cb1-902a-12097c3014c0","pageID":"8f18d4f4-8edb-4cb1-902a-12097c3014c0","articlePermalinkKey":"ypt6oe0d","pagePermalinkKey":"ypt6oe0d","originalPublishingDate":"2022-06-06T11:00:16-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"1BCF5E48-33B8-4336-84D1-CAE616ADAD91","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110993":{"id":"wwdc2022-110993","staticContentId":7433,"eventContentId":110993,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-06T14:07:06-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=psclzvmz","languageCode":"eng","description":"The Apple Design Awards honors excellence in innovation, ingenuity, and technical achievement in app and game design. Watch along as we reveal and celebrate the 2022 winners.","title":"Watch the Apple Design Awards","articleID":"dc344a2e-25b4-402a-998e-5c45cdfd2ca1","pageID":"dc344a2e-25b4-402a-998e-5c45cdfd2ca1","articlePermalinkKey":"psclzvmz","pagePermalinkKey":"psclzvmz","originalPublishingDate":"2022-06-06T14:00:45-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"D812AA2F-FF07-4508-89D1-4C859F4A99F3","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110783":{"id":"wwdc2022-110783","staticContentId":7158,"eventContentId":110783,"eventId":"wwdc2022","contentUpdatedAt":"2022-06-10T15:35:35-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=3lmt0p0f","languageCode":"eng","description":"WWDC may have come to a close, but there's still so much to explore. Catch up on the highlights and enjoy videos all year long.","title":"Best of WWDC22","articleID":"d6ed0c35-6ae2-4b86-9a8f-477905d48e9c","pageID":"d6ed0c35-6ae2-4b86-9a8f-477905d48e9c","articlePermalinkKey":"3lmt0p0f","pagePermalinkKey":"3lmt0p0f","originalPublishingDate":"2022-06-09T16:33:11-07:00","primaryTopicID":90,"topicIds":[90],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"726FD6FD-8847-49E2-9223-038EB61EECFF","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2022-110986":{"id":"wwdc2022-110986","staticContentId":7423,"eventContentId":110986,"eventId":"wwdc2022","contentUpdatedAt":"2023-06-03T14:08:20-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6nwqg9z5","languageCode":"eng","description":"The Apple Worldwide Developers Conference kicks off with exciting reveals, inspiration, and new opportunities. Join the worldwide developer community for an in-depth look at the future of Apple platforms, directly from Apple Park.","title":"Rewatch the Keynote","articleID":"d73331b7-a7f9-4ffa-8cd0-67c308a565b3","pageID":"d73331b7-a7f9-4ffa-8cd0-67c308a565b3","articlePermalinkKey":"6nwqg9z5","pagePermalinkKey":"6nwqg9z5","originalPublishingDate":"2022-06-06T03:00:00-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"F93849DB-0281-42E7-B717-02F922F7DF19","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2021-110131":{"id":"wwdc2021-110131","staticContentId":5792,"eventContentId":110131,"eventId":"wwdc2021","contentUpdatedAt":"2024-12-03T13:52:04-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=qz7jzyne","languageCode":"eng","description":"Work with image and video assets managed by the Photos app.","title":"Developer Documentation: PhotoKit","articleID":"7e02b8d1-2448-4adb-82c2-32a13246f2d4","pageID":"7e02b8d1-2448-4adb-82c2-32a13246f2d4","articlePermalinkKey":"qz7jzyne","pagePermalinkKey":"qz7jzyne","originalPublishingDate":"2021-06-07T08:07:15-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"E6E4992F-30D5-4FC4-8987-A70D9E2E9FB2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10160"]}},"wwdc2021-110132":{"id":"wwdc2021-110132","staticContentId":5793,"eventContentId":110132,"eventId":"wwdc2021","contentUpdatedAt":"2025-06-05T15:32:37-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=sddqkr9c","languageCode":"eng","description":"Build apps using a powerful open language.","title":"Developer Documentation: Swift","articleID":"8c8649e2-e0fd-4ff1-a0aa-b56fc70df945","pageID":"8c8649e2-e0fd-4ff1-a0aa-b56fc70df945","articlePermalinkKey":"sddqkr9c","pagePermalinkKey":"sddqkr9c","originalPublishingDate":"2021-06-07T08:07:17-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"DB2EB4DF-28CA-4CAB-9A4B-FF829A2EF236","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2021-10452":{"id":"wwdc2021-10452","staticContentId":5415,"eventContentId":10452,"eventId":"wwdc2021","contentUpdatedAt":"2024-05-31T11:51:00-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=0f27gknf","languageCode":"eng","description":"Discover tools, technologies, and guidance for designing great apps.","title":"Get started with app design","articleID":"60e2b4ce-df1d-4d56-b1b4-840b1e4f420f","pageID":"60e2b4ce-df1d-4d56-b1b4-840b1e4f420f","articlePermalinkKey":"0f27gknf","pagePermalinkKey":"0f27gknf","originalPublishingDate":"2021-06-07T08:07:47-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["collection","collections","design","wwdc21"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"A53DA531-7395-415B-84F6-F5DED2042FFE","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"resources":[3558]}},"wwdc2021-10496":{"id":"wwdc2021-10496","staticContentId":5459,"eventContentId":10496,"eventId":"wwdc2021","contentUpdatedAt":"2021-09-13T07:53:04-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ppkqgo2w","languageCode":"eng","description":"Build great apps for Apple TV with the latest tools and technologies.","title":"What\u2019s new in tvOS","articleID":"81a1259a-6ad6-4aba-bd64-8b4022f43103","pageID":"81a1259a-6ad6-4aba-bd64-8b4022f43103","articlePermalinkKey":"ppkqgo2w","pagePermalinkKey":"ppkqgo2w","originalPublishingDate":"2021-06-07T08:08:03-07:00","platforms":["tvOS"],"keywords":["apple tv","tvos"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"DE5944C5-8020-4EE8-8FA0-247071A8B19F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10183","wwdc2021-10191","wwdc2021-10279","wwdc2021-100235","wwdc2021-100258"]}},"wwdc2021-10348":{"id":"wwdc2021-10348","staticContentId":5307,"eventContentId":10348,"eventId":"wwdc2021","contentUpdatedAt":"2026-06-08T12:30:09-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=mdgc5mz3","languageCode":"eng","description":"Optimize your apps for peak power and performance.","title":"Power, performance, and you","articleID":"abb12a2e-5eb0-4cd2-9caa-882a3a672199","pageID":"abb12a2e-5eb0-4cd2-9caa-882a3a672199","articlePermalinkKey":"mdgc5mz3","pagePermalinkKey":"mdgc5mz3","originalPublishingDate":"2021-06-07T08:07:27-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"7FB0E7F3-C565-4DD3-8339-C679418D288C","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10087","wwdc2021-10180","wwdc2021-10181","wwdc2021-10252","wwdc2021-10258","wwdc2021-100138","wwdc2021-100216","wwdc2021-100226","wwdc2020-10057","wwdc2020-10076","wwdc2020-10081"],"resources":[1679,1629,836,733]}},"wwdc2021-10587":{"id":"wwdc2021-10587","staticContentId":5559,"eventContentId":10587,"eventId":"wwdc2021","contentUpdatedAt":"2021-09-13T07:14:31-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=jbprpg8c","languageCode":"eng","description":"Take the tedium out of paper surveys with ResearchKit and CareKit.","title":"Code-Along: Build a Research and Care app","articleID":"c528256a-8050-44c2-9f42-9f137e34bca6","pageID":"c528256a-8050-44c2-9f42-9f137e34bca6","articlePermalinkKey":"jbprpg8c","pagePermalinkKey":"jbprpg8c","originalPublishingDate":"2021-06-07T08:06:52-07:00","platforms":["iOS","iPadOS"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"A172EA9A-8AC4-41FD-A8AD-ED16EFA690A2","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10068","wwdc2021-10069","wwdc2021-10282","wwdc2021-10325"]}},"wwdc2021-10580":{"id":"wwdc2021-10580","staticContentId":5552,"eventContentId":10580,"eventId":"wwdc2021","contentUpdatedAt":"2025-04-11T16:40:46-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6bhgzi3v","languageCode":"eng","description":"Build safer, more secure device drivers in userspace.","title":"What's new in DriverKit","articleID":"ebca471b-f9ef-413d-a1da-f514485b28f8","pageID":"ebca471b-f9ef-413d-a1da-f514485b28f8","articlePermalinkKey":"6bhgzi3v","pagePermalinkKey":"6bhgzi3v","originalPublishingDate":"2021-06-07T08:06:44-07:00","platforms":["macOS"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"3761CA50-FB80-4D0B-88AC-86761F139E73","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10190"],"resources":[579]}},"wwdc2021-10346":{"id":"wwdc2021-10346","staticContentId":5305,"eventContentId":10346,"eventId":"wwdc2021","contentUpdatedAt":"2025-10-17T17:22:46-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=b7bdoh1j","languageCode":"eng","description":"Learn how to build great Mac Catalyst apps and ship iPhone and iPad apps for Macs with M1.","title":"Bring your iPhone and iPad apps to Mac","articleID":"d235caac-fa3d-45dd-917e-a2fa11e5b177","pageID":"d235caac-fa3d-45dd-917e-a2fa11e5b177","articlePermalinkKey":"b7bdoh1j","pagePermalinkKey":"b7bdoh1j","originalPublishingDate":"2021-06-07T08:06:42-07:00","platforms":["iOS","iPadOS","macOS"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"C33A55FE-C922-4CFE-9DD7-B1C2BC97A7CB","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10052","wwdc2021-10053","wwdc2021-10056","wwdc2021-10059","wwdc2021-10064","wwdc2021-10260","wwdc2021-100364","wwdc2020-10056","wwdc2020-10094","wwdc2020-10109","wwdc2020-10114","wwdc2020-10117","wwdc2020-10143","wwdc2020-10705"],"resources":[1719,1374,895,817,697,695]}},"wwdc2021-10422":{"id":"wwdc2021-10422","staticContentId":5384,"eventContentId":10422,"eventId":"wwdc2021","contentUpdatedAt":"2025-11-04T17:52:39-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=xa4ak3qr","languageCode":"eng","description":"Build and share documentation for Swift packages and frameworks, directly in Xcode.","title":"Create great documentation with DocC","articleID":"8e6b33fe-816a-4f73-bee7-45a6380193ff","pageID":"8e6b33fe-816a-4f73-bee7-45a6380193ff","articlePermalinkKey":"xa4ak3qr","pagePermalinkKey":"xa4ak3qr","originalPublishingDate":"2021-06-07T08:07:55-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"48943F94-1D1E-43F9-8061-F02FB696999D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2022-110368","wwdc2022-110369","wwdc2021-100282","wwdc2021-100287","wwdc2021-100337"]}},"wwdc2021-10536":{"id":"wwdc2021-10536","staticContentId":5502,"eventContentId":10536,"eventId":"wwdc2021","contentUpdatedAt":"2021-09-13T07:43:35-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=7yle0sah","languageCode":"eng","description":"Augment your reality.","title":"Produce high-quality AR experiences","articleID":"5540c139-6ed6-40bf-9ddb-366206c82716","pageID":"5540c139-6ed6-40bf-9ddb-366206c82716","articlePermalinkKey":"7yle0sah","pagePermalinkKey":"7yle0sah","originalPublishingDate":"2021-06-07T08:07:23-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["3d graphics","ar","arkit","realitykit"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"D325E80E-D591-41F8-863C-7D0BF91D5A91","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2021-110133":{"id":"wwdc2021-110133","staticContentId":5794,"eventContentId":110133,"eventId":"wwdc2021","contentUpdatedAt":"2024-05-31T11:50:00-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=y76vikhj","languageCode":"eng","description":"Learn more about notifications, delivery times, and Focus.","title":"Developer Documentation: Notifications","articleID":"d2241e46-a630-487e-8a76-d93a0b6207e2","pageID":"d2241e46-a630-487e-8a76-d93a0b6207e2","articlePermalinkKey":"y76vikhj","pagePermalinkKey":"y76vikhj","originalPublishingDate":"2021-06-07T08:07:05-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"C89D471F-0E1F-45D9-8BAA-F6F5BCFC8695","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2021-110129":{"id":"wwdc2021-110129","staticContentId":5790,"eventContentId":110129,"eventId":"wwdc2021","contentUpdatedAt":"2021-09-13T07:45:47-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ukx6dfbv","languageCode":"eng","description":"Explore daily challenges in Swift Playgrounds.","title":"Explore Swift Playgrounds Coding Challenges","articleID":"9c47a052-5cb7-4372-b7b9-fb13fcd2258c","pageID":"9c47a052-5cb7-4372-b7b9-fb13fcd2258c","articlePermalinkKey":"ukx6dfbv","pagePermalinkKey":"ukx6dfbv","originalPublishingDate":"2021-06-07T08:07:32-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["swift playgrounds","swift playgrounds challenge"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"78850E84-C0C0-4116-A58A-19635B9583E8","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2021-110135":{"id":"wwdc2021-110135","staticContentId":5796,"eventContentId":110135,"eventId":"wwdc2021","contentUpdatedAt":"2025-06-09T12:32:05-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6moiy7vu","languageCode":"eng","description":"","title":"Developer Documentation: WidgetKit","articleID":"44412403-c090-4567-95c8-307b28da588a","pageID":"44412403-c090-4567-95c8-307b28da588a","articlePermalinkKey":"6moiy7vu","pagePermalinkKey":"6moiy7vu","originalPublishingDate":"2021-06-07T08:06:40-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"6F03A574-0566-4FD8-A67B-71B012639FAB","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2021-100427":{"id":"wwdc2021-100427","staticContentId":5679,"eventContentId":100427,"eventId":"wwdc2021","contentUpdatedAt":"2021-09-13T07:38:01-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=rzdt1k6b","languageCode":"eng","description":"In-app events, product page customization, and so much more.","title":"What's new with the App Store","articleID":"d7397919-8c98-4869-9e0c-af9f2801186c","pageID":"d7397919-8c98-4869-9e0c-af9f2801186c","articlePermalinkKey":"rzdt1k6b","pagePermalinkKey":"rzdt1k6b","originalPublishingDate":"2021-06-07T08:07:14-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"7A2A0381-5327-442D-A65C-A938E32A177F","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10110","wwdc2021-10115","wwdc2021-10170","wwdc2021-10171","wwdc2021-10244","wwdc2021-10295"]}},"wwdc2021-10588":{"id":"wwdc2021-10588","staticContentId":5560,"eventContentId":10588,"eventId":"wwdc2021","contentUpdatedAt":"2025-01-15T14:08:43-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=mx6sy2ml","languageCode":"eng","description":"Optimize your graphics and compute pipelines for top-tier performance.","title":"Meet Metal Rendering and Compute","articleID":"bf0b0b1a-33d2-466e-b2f9-0a1dd295db05","pageID":"bf0b0b1a-33d2-466e-b2f9-0a1dd295db05","articlePermalinkKey":"mx6sy2ml","pagePermalinkKey":"mx6sy2ml","originalPublishingDate":"2021-06-07T08:07:53-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"keywords":["wwdc-collection"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"C4616E30-8624-4C60-995B-FCCB55F9E03E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10147","wwdc2021-10148","wwdc2021-10149","wwdc2021-10150","wwdc2021-10152","wwdc2021-10153","wwdc2021-10157","wwdc2021-10159","wwdc2021-10229","wwdc2021-10286"]}},"wwdc2021-10299":{"id":"wwdc2021-10299","staticContentId":5241,"eventContentId":10299,"eventId":"wwdc2021","contentUpdatedAt":"2025-10-07T16:02:37-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6ja307qu","languageCode":"eng","description":"Code along with us and build a Mac app from start to finish in SwiftUI.","title":"Code-Along: Build a great Mac app in SwiftUI","articleID":"91e0c669-8268-4695-998a-6630f590279d","pageID":"91e0c669-8268-4695-998a-6630f590279d","articlePermalinkKey":"6ja307qu","pagePermalinkKey":"6ja307qu","originalPublishingDate":"2021-06-07T08:07:59-07:00","platforms":["macOS"],"keywords":["accent color","alternative workflow","appstorage","button","code-along","commandgroup","command group","computed properties","continuity","continuity camera","custom command","customization","customization support","customize button","design principles","disclosure group","drag and drop","dragondrop","drop down","expansion","expansive","export","export database","familiar","fileexporter","file handling","fixed width","flatten","flexible","flexible experience","focus","focusedscenevalue","form","garden patch","great mac app","help menu","highlight color","identifiable","import",".itemprovider","item providers","label","list","main menu","main menu item","manage complexity","menu","multiple window","navigationview","observable object",".oninsert","outline view","part 1","part 2","persist value","picker","precise","resolutions","restore","row builder","scenestorage","screen sizes","search","segmented control","selection","selection persist","separate window","settings","settings scene","sidebar","source of truth","state","state restoration","store data","swift ui","table","tabview","toolbar","user default system","window group","windows","window scene"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"130F9CC7-6666-4D33-BB2E-6F6DB110AC4D","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10018","wwdc2021-10062","wwdc2021-10289","wwdc2021-10325","wwdc2021-100293"],"resources":[1606]}},"wwdc2021-10240":{"id":"wwdc2021-10240","staticContentId":5158,"eventContentId":10240,"eventId":"wwdc2021","contentUpdatedAt":"2025-05-23T23:01:03-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=nay84bp7","languageCode":"eng","description":"Build apps that help people live healthy lives.","title":"What's new in health and fitness","articleID":"0d0a8c34-ff9f-45e6-9878-7efb4cb20ed0","pageID":"0d0a8c34-ff9f-45e6-9878-7efb4cb20ed0","articlePermalinkKey":"nay84bp7","pagePermalinkKey":"nay84bp7","originalPublishingDate":"2021-06-07T08:08:02-07:00","platforms":["iOS","iPadOS","watchOS"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"98884964-4F54-4B8D-B105-9D46AB2D788A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10068","wwdc2021-10069","wwdc2021-10089","wwdc2021-10282","wwdc2021-10287"],"resources":[1823,1822,1821,1693,1692,1599,1598,1596,745,422]}},"wwdc2021-110118":{"id":"wwdc2021-110118","staticContentId":5748,"eventContentId":110118,"eventId":"wwdc2021","contentUpdatedAt":"2024-05-31T12:56:44-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=1ex59prc","languageCode":"eng","description":"Learn how to create great apps for Apple Watch.","title":"Get started developing for Apple Watch","articleID":"6fce709c-bff6-47dd-b6ce-5929f1f423b2","pageID":"6fce709c-bff6-47dd-b6ce-5929f1f423b2","articlePermalinkKey":"1ex59prc","pagePermalinkKey":"1ex59prc","originalPublishingDate":"2021-06-07T08:07:43-07:00","platforms":["watchOS"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"792AD913-E776-4068-9EB8-705771FC6FEC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"resources":[3104]}},"wwdc2021-10583":{"id":"wwdc2021-10583","staticContentId":5555,"eventContentId":10583,"eventId":"wwdc2021","contentUpdatedAt":"2021-09-13T07:33:46-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=p1k5budl","languageCode":"eng","description":"Level up your game design and development skills.","title":"The game developer's toolkit","articleID":"878c1fc5-c388-4217-ad13-b162dc8dbbfd","pageID":"878c1fc5-c388-4217-ad13-b162dc8dbbfd","articlePermalinkKey":"p1k5budl","pagePermalinkKey":"p1k5budl","originalPublishingDate":"2021-06-07T08:06:36-07:00","platforms":["iOS","iPadOS","macOS","tvOS"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"618B0E3A-F5B9-4257-A068-00274ECC4BF0","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10079"],"resources":[1726]}},"wwdc2021-10445":{"id":"wwdc2021-10445","staticContentId":5407,"eventContentId":10445,"eventId":"wwdc2021","contentUpdatedAt":"2024-05-31T13:16:27-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=7dsa45d4","languageCode":"eng","description":"Design and build with colorized symbols.","title":"Explore SF Symbols 3","articleID":"3ad176e4-76c0-44c1-ae37-d15fe49fa653","pageID":"3ad176e4-76c0-44c1-ae37-d15fe49fa653","articlePermalinkKey":"7dsa45d4","pagePermalinkKey":"7dsa45d4","originalPublishingDate":"2021-06-07T08:07:45-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"494BCA9A-B24A-4672-B6C0-88CDAB1F0BA6","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10052","wwdc2021-10054"],"resources":[1418,610]}},"wwdc2021-10535":{"id":"wwdc2021-10535","staticContentId":5501,"eventContentId":10535,"eventId":"wwdc2021","contentUpdatedAt":"2023-06-21T14:16:06-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=48xhsgu2","languageCode":"eng","description":"Bring your 3D assets to life.","title":"Create 3D content with Object Capture","articleID":"9dfb1237-ed66-4924-ac71-24e8e98629fb","pageID":"9dfb1237-ed66-4924-ac71-24e8e98629fb","articlePermalinkKey":"48xhsgu2","pagePermalinkKey":"48xhsgu2","originalPublishingDate":"2021-06-07T08:07:09-07:00","platforms":["iOS","iPadOS","macOS"],"keywords":["collection"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"81D468F3-3DE0-482C-BD2D-7655A2DDDCA4","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2021-110126":{"id":"wwdc2021-110126","staticContentId":5767,"eventContentId":110126,"eventId":"wwdc2021","contentUpdatedAt":"2024-08-02T15:18:31-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=e98wu7j3","languageCode":"eng","description":"Create web extensions that work in Safari and other browsers.","title":"Developer Documentation: Safari Web Extensions","articleID":"fc24a2f2-8667-4562-9f83-ab3b506a097b","pageID":"fc24a2f2-8667-4562-9f83-ab3b506a097b","articlePermalinkKey":"e98wu7j3","pagePermalinkKey":"e98wu7j3","originalPublishingDate":"2021-06-07T08:06:32-07:00","platforms":["iOS","iPadOS","macOS"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"563F0DA7-2103-4778-857D-2918AB327835","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2021-110134":{"id":"wwdc2021-110134","staticContentId":5795,"eventContentId":110134,"eventId":"wwdc2021","contentUpdatedAt":"2024-12-02T14:50:25-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ck4b2y7q","languageCode":"eng","description":"Explore the latest updates to the Intents and Intents UI frameworks.","title":"Developer Documentation: SiriKit","articleID":"6f3838d7-13a0-44da-88ca-fd7709feb660","pageID":"6f3838d7-13a0-44da-88ca-fd7709feb660","articlePermalinkKey":"ck4b2y7q","pagePermalinkKey":"ck4b2y7q","originalPublishingDate":"2021-06-07T08:07:19-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"5BB26CEE-FC8D-47FC-AB19-1DF7F9FCABB5","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2021-10347":{"id":"wwdc2021-10347","staticContentId":5306,"eventContentId":10347,"eventId":"wwdc2021","contentUpdatedAt":"2024-12-03T11:51:27-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ezrmhwjq","languageCode":"eng","description":"Discover Apple\u2019s four pillars of privacy.","title":"Build privacy in your app","articleID":"86b0db13-a47c-4d40-9e27-e229468c24ed","pageID":"86b0db13-a47c-4d40-9e27-e229468c24ed","articlePermalinkKey":"ezrmhwjq","pagePermalinkKey":"ezrmhwjq","originalPublishingDate":"2021-06-07T08:06:46-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"E2B4D963-39FE-41F5-9F31-8F5D0196CDCC","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10033","wwdc2021-10085","wwdc2021-10168","wwdc2021-100111","wwdc2021-100125"],"resources":[1568,1567,1566,475,181]}},"wwdc2021-10237":{"id":"wwdc2021-10237","staticContentId":5155,"eventContentId":10237,"eventId":"wwdc2021","contentUpdatedAt":"2021-09-13T07:37:47-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=f0qagouf","languageCode":"eng","description":"Access to the Always-On Display. Region-based user notifications. And so much more.","title":"Raise your wrist for watchOS 8","articleID":"a626ff55-e209-4766-8b53-36f93694e623","pageID":"a626ff55-e209-4766-8b53-36f93694e623","articlePermalinkKey":"f0qagouf","pagePermalinkKey":"f0qagouf","originalPublishingDate":"2021-06-07T08:06:59-07:00","platforms":["watchOS"],"keywords":["\u231a\ufe0f","clockkit","complications","watchconnectivity","watch face","watchkit","workouts"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"F60CE605-3AC5-4EF6-B215-4202667C3BAF","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10002","wwdc2021-10003","wwdc2021-10005","wwdc2021-10009","wwdc2021-10018","wwdc2021-10102","wwdc2021-10165","wwdc2021-10208","wwdc2021-10223","wwdc2021-100257","wwdc2021-100323","wwdc2021-100324","wwdc2021-100325","wwdc2021-100326","wwdc2021-100329","wwdc2021-100333","wwdc2021-100335"]}},"wwdc2021-10375":{"id":"wwdc2021-10375","staticContentId":5337,"eventContentId":10375,"eventId":"wwdc2021","contentUpdatedAt":"2021-09-13T07:37:59-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=vm5qjoj9","languageCode":"eng","description":"The easiest way to create apps on Apple platforms.","title":"Simplify with SwiftUI","articleID":"5e9fd1a2-ce5c-45b0-9bd5-1c93f20de886","pageID":"5e9fd1a2-ce5c-45b0-9bd5-1c93f20de886","articlePermalinkKey":"vm5qjoj9","pagePermalinkKey":"vm5qjoj9","originalPublishingDate":"2021-06-07T08:07:12-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["cross platform","declarative","multiplatform","source of truth","write once run everywhere"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"04EB28E8-EE16-4AD3-A2FE-1E09618D1367","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10017","wwdc2021-10018","wwdc2021-10019","wwdc2021-10021","wwdc2021-10022","wwdc2021-10023","wwdc2021-10119","wwdc2021-10176","wwdc2021-10220"]}},"wwdc2021-10446":{"id":"wwdc2021-10446","staticContentId":5408,"eventContentId":10446,"eventId":"wwdc2021","contentUpdatedAt":"2024-02-08T18:15:48-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6fkv5v5c","languageCode":"eng","description":"The process and practice of welcoming everyone into your app or game's experience.","title":"Inclusion by design","articleID":"6e5af316-a731-44be-8648-827ddedaaac9","pageID":"6e5af316-a731-44be-8648-827ddedaaac9","articlePermalinkKey":"6fkv5v5c","pagePermalinkKey":"6fkv5v5c","originalPublishingDate":"2021-06-07T08:07:03-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"5E48B46C-0CA9-4049-BCFE-363D50CC92E8","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"resources":[3558]}},"wwdc2021-10345":{"id":"wwdc2021-10345","staticContentId":5304,"eventContentId":10345,"eventId":"wwdc2021","contentUpdatedAt":"2025-10-17T17:22:46-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=sfvfiumj","languageCode":"eng","description":"Utilize the latest UIKit features to build great iPhone, iPad, and Mac Catalyst apps.","title":"Unleash UIKit","articleID":"829c7092-494f-4b51-a751-92e3c6d26e7d","pageID":"829c7092-494f-4b51-a751-92e3c6d26e7d","articlePermalinkKey":"sfvfiumj","pagePermalinkKey":"sfvfiumj","originalPublishingDate":"2021-06-07T08:07:29-07:00","platforms":["iOS","iPadOS","macOS"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"65F3C5CA-CDA8-4FF7-BFFB-D7241A00491A","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10057","wwdc2021-10059","wwdc2021-10063","wwdc2021-10064","wwdc2021-10251","wwdc2021-10260","wwdc2021-100228","wwdc2021-100229","wwdc2021-100231","wwdc2021-100249"],"resources":[892,740,697,695,598,10,3]}},"wwdc2021-10498":{"id":"wwdc2021-10498","staticContentId":5461,"eventContentId":10498,"eventId":"wwdc2021","contentUpdatedAt":"2023-05-20T11:15:21-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=l8y2tx0k","languageCode":"eng","description":"Gapless playback, dynamic pre-rolls, and new tooling to make your live streams look better than ever.","title":"What's new in HTTP Live Streaming","articleID":"65489e0d-a6b4-4066-b307-bf32ba63da1e","pageID":"65489e0d-a6b4-4066-b307-bf32ba63da1e","articlePermalinkKey":"l8y2tx0k","pagePermalinkKey":"l8y2tx0k","originalPublishingDate":"2021-06-07T08:06:39-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["content","fairplay streaming","hls","hls content authoring and spec","hls content steering","hls interstitials","hls low latency","media","movies","music","offline hls","other","spatial audio","streaming","tv","tv shows"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"B83F7A36-E130-4DA2-AA32-7CD6F54FCAED","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-10140","wwdc2021-10141","wwdc2021-10142","wwdc2021-10143","wwdc2021-10146","wwdc2021-100240","wwdc2021-100248"],"resources":[487]}},"wwdc2021-10454":{"id":"wwdc2021-10454","staticContentId":5417,"eventContentId":10454,"eventId":"wwdc2021","contentUpdatedAt":"2025-09-26T10:41:35-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=6ka7o7z9","languageCode":"eng","description":"The fastest path to a great app on iPhone, iPad, Mac, Apple Watch, and Apple TV.","title":"Get started with SwiftUI","articleID":"e1f900f1-cf36-4821-a5aa-91ad5d47823c","pageID":"e1f900f1-cf36-4821-a5aa-91ad5d47823c","articlePermalinkKey":"6ka7o7z9","pagePermalinkKey":"6ka7o7z9","originalPublishingDate":"2021-06-07T08:07:52-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"keywords":["collection","collections","swiftui","wwdc21"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"08D56FE1-A933-49B1-9C04-50C41F7C24F2","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2021-10420":{"id":"wwdc2021-10420","staticContentId":5382,"eventContentId":10420,"eventId":"wwdc2021","contentUpdatedAt":"2025-02-21T11:17:06-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=ewzuy254","languageCode":"eng","description":"Meet Apple's continuous integration service, Xcode Cloud.","title":"Explore Xcode Cloud essentials","articleID":"84dea61b-7eea-4c42-8acd-f02ed5fdceea","pageID":"84dea61b-7eea-4c42-8acd-f02ed5fdceea","articlePermalinkKey":"ewzuy254","pagePermalinkKey":"ewzuy254","originalPublishingDate":"2021-06-07T08:06:55-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"46280EE3-6E46-4191-AC90-4AA77CD4554E","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-100200","wwdc2021-100204","wwdc2021-100215","wwdc2021-100218","wwdc2021-100222","wwdc2021-100230","wwdc2021-100281","wwdc2021-100332","wwdc2021-100359","wwdc2021-100448","wwdc2021-110104"],"resources":[1653,1650,1649,1648,1647,1646,1645,1618]}},"wwdc2021-110130":{"id":"wwdc2021-110130","staticContentId":5791,"eventContentId":110130,"eventId":"wwdc2021","contentUpdatedAt":"2024-11-21T08:29:53-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=0okup7xo","languageCode":"eng","description":"Work with audiovisual assets, control device cameras, process audio, and configure system audio interactions.","title":"Developer Documentation: AVFoundation","articleID":"b16e020a-fab1-43aa-85b8-3a8772647869","pageID":"b16e020a-fab1-43aa-85b8-3a8772647869","articlePermalinkKey":"0okup7xo","pagePermalinkKey":"0okup7xo","originalPublishingDate":"2021-06-07T08:06:49-07:00","topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"B07C452F-DE72-4888-A754-2C43E0E4B879","images":["square","wide"],"availablePathExtensions":["heic","jpg"]},"wwdc2021-10421":{"id":"wwdc2021-10421","staticContentId":5383,"eventContentId":10421,"eventId":"wwdc2021","contentUpdatedAt":"2025-02-21T11:17:03-08:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=5mm81ukv","languageCode":"eng","description":"Bugs, beware: Time to learn about the latest in testing.","title":"Create great tests with Xcode 13","articleID":"e3a4513d-a922-46ac-91f2-51a2872f9d24","pageID":"e3a4513d-a922-46ac-91f2-51a2872f9d24","articlePermalinkKey":"5mm81ukv","pagePermalinkKey":"5mm81ukv","originalPublishingDate":"2021-06-07T08:06:57-07:00","platforms":["iOS","iPadOS","macOS","tvOS","watchOS"],"topicIds":[],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"AE2847A5-DFE4-4A4E-A176-F2E2214BD426","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2021-100215","wwdc2021-100218","wwdc2021-100222","wwdc2021-100230","wwdc2021-100359","wwdc2021-100448"]}},"wwdc2020-10739":{"id":"wwdc2020-10739","staticContentId":3770,"eventContentId":10739,"eventId":"wwdc2020","contentUpdatedAt":"2025-06-24T15:50:56-07:00","webPermalink":"https:\/\/developer.apple.com\/news\/?id=1n0fs0pi","languageCode":"eng","description":"Learn techniques and strategies from Apple designers to create great apps, widgets, app clips, and experiences.","title":"Design@WWDC20","articleID":"74565802-454f-472b-8981-7314d4b2c3a9","pageID":"74565802-454f-472b-8981-7314d4b2c3a9","articlePermalinkKey":"1n0fs0pi","pagePermalinkKey":"1n0fs0pi","originalPublishingDate":"2020-06-22T00:00:00-07:00","publishingExpiryDate":"2099-12-31T00:48:39-08:00","platforms":["iOS","iPadOS","macOS","watchOS"],"primaryTopicID":87,"topicIds":[87],"type":"Collection","typeSemanticID":"collection-page","deliveryLanguage":"eng","imagesUUID":"EB21E476-FC90-46F3-BDC4-286141928E2B","images":["square","wide"],"availablePathExtensions":["heic","jpg"],"related":{"activities":["wwdc2020-10103","wwdc2020-10162","wwdc2020-10171","wwdc2020-10205","wwdc2020-10640"]}}},"imageTypes":{"square":{"name":"square","variants":[{"width":162,"height":162}]},"wide":{"name":"wide","variants":[{"width":85,"height":48},{"width":162,"height":91},{"width":217,"height":122},{"width":250,"height":141},{"width":304,"height":171},{"width":375,"height":211},{"width":414,"height":233},{"width":466,"height":262},{"width":900,"height":506},{"width":1280,"height":720}]}}}}