{"id":44819,"date":"2024-09-11T16:05:02","date_gmt":"2024-09-11T20:05:02","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=44819"},"modified":"2025-10-11T12:17:41","modified_gmt":"2025-10-11T16:17:41","slug":"group-container-names-in-sequoia","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2024\/09\/11\/group-container-names-in-sequoia\/","title":{"rendered":"Group Container Names in Sequoia"},"content":{"rendered":"<p><a href=\"https:\/\/www.goldenhillsoftware.com\/2024\/06\/migration-step-in-next-beta-of-unread-for-macos\/\">John Brayton<\/a>:<\/p>\n<blockquote cite=\"https:\/\/www.goldenhillsoftware.com\/2024\/06\/migration-step-in-next-beta-of-unread-for-macos\/\"><p>On both macOS and iOS, sandboxed apps use group container folders to share data between the main app and extensions, such as the <i>Subscribe in Unread<\/i> share extension and Unread&rsquo;s widgets.<\/p><p>[&#8230;]<\/p><p>On beta releases of Sequoia (macOS 15) using the &ldquo;group.&rdquo; prefix results in the customer getting an alert with this text at every launch:<\/p><blockquote><p>&ldquo;Unread.app&rdquo; would like to access data from other apps.<\/p><p>Keeping app data separate makes it easier to manage your privacy and security.<\/p><\/blockquote><p>I fixed this by changing the group container identifier.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.social\/@martinhoeller\/113085442803042084\">Martin H&ouml;ller<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@martinhoeller\/113085442803042084\">\n<p>I don&rsquo;t like [how] Sequoia restricts how shared group containers can be named. So far I used &ldquo;group.com.bluebanana-software.iyf&rdquo;, which leads to a permission dialog each time the app is started. Now it needs to be &ldquo;&lt;TeamID&gt;. com.bluebanana-software.iyf&rdquo;.<\/p>\n<p>To migrate to the new container, the user needs to actively give permission to access the old file as now it is outside of the app&rsquo;s sandbox.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/iosdev.space\/@adam\/113088303228020320\">Adam Overholtzer<\/a>:<\/p>\n<blockquote cite=\"https:\/\/iosdev.space\/@adam\/113088303228020320\">\n<p>Thankfully it only seems to impact &ldquo;native&rdquo; Mac apps built for Sequoia. Existing apps and Catalyst apps (mine anyway, knock on wood) don&rsquo;t seem to show the popup.<\/p>\n<\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/08\/08\/sequoia-screen-recording-prompts-and-the-persistent-content-capture-entitlement\/\">Sequoia Screen Recording Prompts and the Persistent Content Capture Entitlement<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/08\/02\/unread-rss-reader-for-mac\/\">Unread RSS Reader for Mac<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/07\/04\/chatgpt-privacy-and-mac-sandbox-containers\/\">ChatGPT Privacy and Mac Sandbox Containers<\/a><\/li>\n<\/ul>\n\n<p id=\"group-container-names-in-sequoia-update-2024-09-12\">Update (2024-09-12): <a href=\"https:\/\/mastodon.social\/@pvieito\/113121085120651240\">Pedro Jos&eacute; Pereira Vieito<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@pvieito\/113121085120651240\">\n<p>Mac Catalyst apps can use the <code>group.*<\/code> Group Container identifiers because Apple does add that identifier to their provisioning profile (like with iOS apps). Mac App Store apps can also use them as they are signed by Apple.<\/p>\n<p>Unfortunately, Apple is <a href=\"https:\/\/mastodon.social\/@pvieito\/112798331748106948\">not currently<\/a> adding the App Groups entitlement to the provisioning profiles of native Mac apps, so you will get the permission prompt when developing an app or when distributing it outside the App Store.<\/p>\n<\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2020\/02\/19\/which-os-services-are-app-storeonly\/\">Which OS Services Are App Store&#x2013;only?<\/a><\/li>\n<\/ul>\n\n<p id=\"group-container-names-in-sequoia-update-2024-10-08\">Update (2024-10-08): <a href=\"https:\/\/mastodon.social\/@pvieito\/113267341329277328\">Pedro Jos&eacute; Pereira Vieito<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@pvieito\/113267341329277328\">\n<p>Now even ChatGPT has this issue. They are distributing the app outside the Mac App Store with a <code>group.*<\/code> App Group and Apple is not adding that App Group in the provisioning profile&#8230;<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>John Brayton: On both macOS and iOS, sandboxed apps use group container folders to share data between the main app and extensions, such as the Subscribe in Unread share extension and Unread&rsquo;s widgets.[&#8230;]On beta releases of Sequoia (macOS 15) using the &ldquo;group.&rdquo; prefix results in the customer getting an alert with this text at every [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2024-09-11T20:05:04Z","apple_news_api_id":"c6252b6a-f8a9-44b9-8e7e-e7533db9e99a","apple_news_api_modified_at":"2024-10-08T15:25:33Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAQ==","apple_news_api_share_url":"https:\/\/apple.news\/AxiUravipRLmOfudTPbnpmg","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[30,39,2598,2848,53,1960,1553],"class_list":["post-44819","post","type-post","status-publish","format-standard","hentry","category-technology","tag-mac","tag-macappstore","tag-macos-15-sequoia","tag-provisioning-profiles","tag-sandboxing","tag-transparency-consent-and-control-tcc","tag-unread-app"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/44819","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=44819"}],"version-history":[{"count":3,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/44819\/revisions"}],"predecessor-version":[{"id":45279,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/44819\/revisions\/45279"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=44819"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=44819"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=44819"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}