{"id":43685,"date":"2024-06-14T16:20:48","date_gmt":"2024-06-14T20:20:48","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=43685"},"modified":"2024-11-26T14:18:24","modified_gmt":"2024-11-26T19:18:24","slug":"utm-blocked-outside-app-store-via-notarization","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2024\/06\/14\/utm-blocked-outside-app-store-via-notarization\/","title":{"rendered":"UTM Blocked Outside App Store via Notarization"},"content":{"rendered":"<p><a href=\"https:\/\/9to5mac.com\/2024\/06\/09\/apple-blocks-pc-emulator-utm-app-store\/\">Benjamin Mayo<\/a> (<a href=\"https:\/\/news.ycombinator.com\/item?id=40636331\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"https:\/\/9to5mac.com\/2024\/06\/09\/apple-blocks-pc-emulator-utm-app-store\/\"><p>App Review has <a href=\"https:\/\/x.com\/UTMapp\/status\/1799647652134654045\">rejected a submission<\/a> from the developers of <a href=\"https:\/\/getutm.app\">UTM<\/a>, a generic PC system emulator for iPhone and iPad. <\/p><p>The open source app was submitted to the store, given the recent rule change that allows retro game console emulators, like Delta or Folium. App Review rejected UTM, deciding that a &ldquo;PC is not a console&rdquo;. What is more surprising, is the fact that UTM says that Apple is also blocking the app from being listed in third-party app stores in the EU.<\/p><p>As written in the App Review Guidelines, Rule 4.7 covers &ldquo;mini apps, mini games, streaming games, chatbots, plug-ins and game emulators&rdquo;. <\/p><p>UTM says Apple refused to notarize the app because of the violation of rule 4.7, as that is included in Notarization Review Guidelines. However, the App Review Guidelines page disagrees. It does not annotate rule 4.7 as being part of the Notarization Review Guidelines. Indeed, if you select the &ldquo;Show Notarization Review Guidelines Only&rdquo; toggle, rule 4.7 is greyed out as not being applicable.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/x.com\/UTMapp\/status\/1800168874840895921\">UTM<\/a>:<\/p>\n<blockquote cite=\"https:\/\/x.com\/UTMapp\/status\/1800168874840895921\">\n<p>Apple has reached out and clarified that the notarization was rejected under rule 2.5.2 and that 4.7 is an exception that only applies to App Store apps (but which UTM SE does not qualify for).<\/p>\n<\/blockquote>\n\n<p>This is confusing, but I think what Apple is saying is that, even with notarization, apps are <a href=\"https:\/\/developer.apple.com\/support\/dma-and-apps-in-the-eu\/\">not allowed<\/a> to &ldquo;download executable code.&rdquo; <a href=\"https:\/\/social.treehouse.systems\/@curioustommy\/112584688843571641\">Rule 2.5.2<\/a> says apps may not &ldquo;download, install, or execute code&rdquo; except for limited educational purposes. <a href=\"https:\/\/developer.apple.com\/app-store\/review\/guidelines\/\">Rule 4.7<\/a> makes an exception to this so that retro game emulators and some other app types <em>can<\/em> run code &ldquo;that is not embedded in the binary.&rdquo; This is grayed out when you select <strong>Show Notarization Review Guidelines Only<\/strong>, meaning that the exception only applies <em>within<\/em> the App Store. Thus, the general prohibition remains in effect for App Marketplaces and Web Distribution. But it seems like this wasn&rsquo;t initially clear to Apple, either, because the review process <a href=\"https:\/\/appleinsider.com\/articles\/24\/06\/09\/apple-appears-to-have-drawn-a-fuzzy-line-for-iphone-about-what-counts-as-console-emulation\">took two months<\/a>.<\/p>\n\n<p>This also seems inconsistent with the fact that the Delta emulator <em>is<\/em> allowed to be notarized outside the App Store. It doesn&rsquo;t make much sense for the rules to be <em>more<\/em> lax <em>within<\/em> the App Store. I first thought the mistake was that Apple didn&rsquo;t mean to gray out 4.7 for notarization. Then everything would make sense. But the clarification states that 4.7 is <em>not<\/em> intended to apply to notarization.<\/p>\n\n<p>The bottom line for me is that Apple doesn&rsquo;t want general-purpose emulators, it&rsquo;s questionable whether the DMA lets it block them, and even siding with Apple on this it isn&rsquo;t consistently applying its own rules.<\/p>\n\n<p><a href=\"https:\/\/news.ycombinator.com\/item?id=40636485\">kelthuzad<\/a>:<\/p>\n<blockquote cite=\"https:\/\/news.ycombinator.com\/item?id=40636485\"><p>If Apple can block what&rsquo;s on &ldquo;independent&rdquo; third-party app stores, then the letter of the DMA may be violated or not, but its spirit is most certainly violated. Hope the EU cracks down on such malicious compliance.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.social\/@stroughtonsmith\/112586137515242213\">Steve Troughton-Smith<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@stroughtonsmith\/112586137515242213\"><p>Apple needs to read the terms of the DMA again; Apple <em>can&rsquo;t<\/em> reject UTM from distribution in third party marketplaces, in just the same way it can&rsquo;t prevent Epic from building an App Store. App Review is going to land them yet another \nclash with the EU, and potential fine-worthy rule violation.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.online\/@tclementdev\/112586394955660290\">Thomas Clement<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.online\/@tclementdev\/112586394955660290\"><p>Sigh&#8230; what is even the point of third-party distribution if Apple is going to block whatever competition it does not want to see there?<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.social\/@arroz\/112585814799813661\">Miguel Arroz<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@arroz\/112585814799813661\"><p>This is so stupid. UTM is an essential tool for my work, running stuff I need 24\/7. This shows that 1. The EU didn&rsquo;t go far enough in telling tech companies the products people buy belong to them and they <em>must<\/em> be able to run whatever the hell they want on those products regardless of what some multinational company likes it or not, and 2. Every platform Apple makes is not targeted for real work and productivity except macOS and that&rsquo;s mostly for historic reasons.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/x.com\/UTMapp\/status\/1799647652134654045\">UTM<\/a>:<\/p>\n<blockquote cite=\"https:\/\/x.com\/UTMapp\/status\/1799647652134654045\"><p>We will adhere by Apple&rsquo;s content and policy decision because we believe UTM SE (which does not have JIT) is a subpar experience and isn&rsquo;t worth fighting for. We do not wish to invest any additional time or effort trying to get UTM SE in the App Store or third party stores unless Apple changes their stance.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/news.ycombinator.com\/item?id=40636673\">gorkish<\/a>:<\/p>\n<blockquote cite=\"https:\/\/news.ycombinator.com\/item?id=40636673\"><p>I remember the flash-in-the-pan moment where through some strange conflux of exploits and firmware features UTM on iOS was able to access full hardware virtualization support. It was a glorious glimpse into an alternate reality that we will likely never get to see again.<\/p><p>I don&rsquo;t have enough superlatives to express my disappointment when seeing all of that effort suppressed and restricted by Apple.<\/p><p>When the UTM authors say &ldquo;it&rsquo;s not worth it&rdquo; -- they may be onto something. Apple is slowly but surely beginning to be &ldquo;not worth it&rdquo; for me and for many other professional users.<\/p><\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/05\/30\/ios-retro-console-game-emulators\/\">iOS Retro Console Game Emulators<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/05\/16\/deltas-10-year-journey-to-the-top-of-the-app-store\/\">Delta&rsquo;s 10-Year Journey to the Top of the App Store<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/05\/02\/delta-emulator-in-the-app-store\/\">Delta Emulator in the App Store<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/04\/08\/allowing-ios-game-emulators-and-mini-apps\/\">Allowing iOS Game Emulators and Mini Apps<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/03\/17\/ios-notarizations-human-review\/\">iOS Notarization&rsquo;s Human Review<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2020\/08\/25\/potential\/\">Potential<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2010\/04\/08\/section-3-3-1\/\">Section 3.3.1<\/a><\/li>\n<\/ul>\n\n<p id=\"utm-blocked-outside-app-store-via-notarization-update-2024-06-19\">Update (2024-06-19): <a href=\"https:\/\/daringfireball.net\/linked\/2024\/06\/18\/utm-notarization\">John Gruber<\/a>:<\/p>\n<blockquote cite=\"https:\/\/daringfireball.net\/linked\/2024\/06\/18\/utm-notarization\">\n<p>Apple&rsquo;s stance on this seems inscrutable and arbitrary: retro game emulators are, <a href=\"https:\/\/sixcolors.com\/post\/2024\/04\/emulate-all-the-things-apple\/\">at long last<\/a>, acceptable, but general PC emulators are not. Such arbitrary policy decisions related to the purpose of the app are fine for the App Store (legally speaking), but clearly not compliant with the DMA. That&rsquo;s one of the few areas where the DMA is clear. Apple can, of course, ban (say) porno apps from the App Store, but can&rsquo;t refuse to notarize them for distribution outside the App Store in the EU.<\/p>\n\n<p>Apple has a security leg to stand on <a href=\"http:\/\/wingolog.org\/archives\/2011\/06\/21\/security-implications-of-jit-compilation\">when it comes to JIT compilation<\/a>, but the version of UTM (UTM SE) that was held up in review for two months, and ultimately rejected by Apple, <em>doesn&rsquo;t use a JIT<\/em>. [&#8230;] That restriction should, in theory, be permitted under the DMA on security grounds. But how the no-JIT version of UTM could be rejected for notarization, I do not see.<\/p>\n<\/blockquote>\n\n<p>And, again, Delta is a retro game emulator, but that&rsquo;s, officially at least, not why it&rsquo;s able to be notarized, because the retro game emulator exception doesn&rsquo;t apply for notarization. If Apple were being consistent it would either notarize both Delta and UTM or neither.<\/p>\n\n<p><a href=\"https:\/\/sixcolors.com\/link\/2024\/06\/apple-refuses-to-notarize-emulator-app\/\">Jason Snell<\/a>:<\/p>\n<blockquote cite=\"https:\/\/sixcolors.com\/link\/2024\/06\/apple-refuses-to-notarize-emulator-app\/\">\n<p>In other words, parts of Apple apparently think that they can enforce inconsistent and arbitrary rules even outside the App Store, which is contrary to the entire regulatory process that led to the DMA and the concept of alternative App Stores in the first place.<\/p>\n<p>[&#8230;]<\/p>\n<p>The whole point of the DMA is that <em>Apple does not get to act as an arbitrary approver or disapprover of apps<\/em>. If Apple can still reject or approve apps as it sees fit, what&rsquo;s the point of the DMA in the first place?<\/p>\n<\/blockquote>\n\n<p>See also: <a href=\"https:\/\/atp.fm\/592\">Accidental Tech Podcast<\/a>, <a href=\"https:\/\/9to5mac.com\/2024\/06\/19\/iphone-pc-emulator-block-illegal\/\">Ben Lovejoy<\/a>.<\/p>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/06\/18\/idos-3-rejected-from-the-app-store\/\">iDOS 3 Rejected From the App Store<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/06\/17\/eu-to-charge-apple-for-violating-dma\/\">EU to Charge Apple for Violating DMA<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Benjamin Mayo (Hacker News): App Review has rejected a submission from the developers of UTM, a generic PC system emulator for iPhone and iPad. The open source app was submitted to the store, given the recent rule change that allows retro game console emulators, like Delta or Folium. App Review rejected UTM, deciding that a [&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-06-14T20:20:52Z","apple_news_api_id":"53620970-018d-44b7-8fce-c4d3e7af8c61","apple_news_api_modified_at":"2024-06-19T20:05:53Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAABw==","apple_news_api_share_url":"https:\/\/apple.news\/AU2IJcAGNRLePzsTT56-MYQ","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":[2085,2542,91,130,2571,2570,733,1927,31,2321,26,817,1842,74,1227,2202,2569,219],"class_list":["post-43685","post","type-post","status-publish","format-standard","hentry","category-technology","tag-antitrust","tag-app-marketplaces","tag-appstore","tag-rejection","tag-delta-emulator","tag-digital-markets-act-dma","tag-emulator","tag-european-union","tag-ios","tag-ios-17","tag-iosapp","tag-just-in-time-compilation-jit","tag-notarization","tag-opensource","tag-top-posts","tag-utm","tag-web-distribution-of-ios-apps","tag-windows"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/43685","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=43685"}],"version-history":[{"count":9,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/43685\/revisions"}],"predecessor-version":[{"id":43792,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/43685\/revisions\/43792"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=43685"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=43685"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=43685"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}