{"id":27861,"date":"2020-01-14T20:21:44","date_gmt":"2020-01-15T01:21:44","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=27861"},"modified":"2020-01-24T15:27:10","modified_gmt":"2020-01-24T20:27:10","slug":"aerial-screensaver-and-catalina","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2020\/01\/14\/aerial-screensaver-and-catalina\/","title":{"rendered":"Aerial Screensaver and Catalina"},"content":{"rendered":"<p><a href=\"https:\/\/github.com\/JohnCoates\/Aerial\/issues\/801\">Guillaume Louel<\/a> (via <a href=\"https:\/\/twitter.com\/NSExceptional\/status\/1214283607663153155\">Tanner Bennett<\/a>):<\/p>\n<blockquote cite=\"https:\/\/github.com\/JohnCoates\/Aerial\/issues\/801\"><p>In macOS Catalina, 3rd party screensavers are now running in a sandboxed container which limits everything. As of right now there are no workarounds for many of the restrictions.<\/p>\n<p>[&#8230;]<\/p>\n<p>Aerial can <strong>only write<\/strong> in the legacyScreenSaver.appex sandbox container, which means in Catalina, JSON files and videos can <strong>only<\/strong> be downloaded in <code>~\/Library\/Containers\/com.apple.ScreenSaver.Engine.legacyScreenSaver\/Data\/Library\/Application Support\/Aerial<\/code>. Aerial can still read (only) the rest of your system disk so you can still store the videos in another folder after they are downloaded by manually setting the Cache. But Aerial cannot download videos to this cache.<\/p>\n<p>[&#8230;]<\/p>\n<p>Your cache may be wiped by the Catalina installer<\/p>\n<p>[&#8230;]<\/p>\n<p>[Because] a screen saver is not an app (we are a plugin run by legacyScreenSaver) we can&rsquo;t ask for entitlements for, say, accessing filesystem.<\/p>\n<p>[&#8230;]<\/p>\n<p>Some (not all) of Apple screensavers are now bundled as an <code>.appex<\/code> too, with their own permissions. As far as I know that format is still not documented to this day nor available to 3rd parties.<\/p><\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2019\/08\/28\/preference-panes-and-catalina\/\">Preference Panes and Catalina<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2019\/07\/23\/annoying-catalina-security-features\/\">Annoying Catalina Security Features<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2016\/03\/31\/gatekeeper-bug-in-mac-os-x-10-11-4\/\">Gatekeeper Bug in Mac OS X 10.11.4<\/a><\/li>\n<\/ul>\n\n<p id=\"aerial-screensaver-and-catalina-update-2020-01-24\">Update (2020-01-24): <a href=\"https:\/\/twitter.com\/DocterD\/status\/1218474976711446529\">Dennis<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/DocterD\/status\/1218474976711446529\">\n<p>Yesterday I thought it would be a good idea to clean up my certificates under developer.apple. Turned out I <a href=\"https:\/\/github.com\/docterd\/MusaicFM\/issues\/21\">broke everything<\/a> since it broke the notarized binary. Guess I need to pay forever too support it.<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Guillaume Louel (via Tanner Bennett): In macOS Catalina, 3rd party screensavers are now running in a sandboxed container which limits everything. As of right now there are no workarounds for many of the restrictions. [&#8230;] Aerial can only write in the legacyScreenSaver.appex sandbox container, which means in Catalina, JSON files and videos can only be [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2020-01-15T01:21:47Z","apple_news_api_id":"a3eec08a-7b6c-4a65-955a-c621cabfab31","apple_news_api_modified_at":"2020-01-24T20:27:14Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAA==","apple_news_api_share_url":"https:\/\/apple.news\/Ao-7AintsSmWVWsYhyr-rMQ","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,1666,71,53,1917],"class_list":["post-27861","post","type-post","status-publish","format-standard","hentry","category-technology","tag-mac","tag-macos-10-15","tag-programming","tag-sandboxing","tag-screensaver"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/27861","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=27861"}],"version-history":[{"count":2,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/27861\/revisions"}],"predecessor-version":[{"id":27941,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/27861\/revisions\/27941"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=27861"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=27861"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=27861"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}