{"id":14844,"date":"2016-06-16T11:23:22","date_gmt":"2016-06-16T15:23:22","guid":{"rendered":"http:\/\/mjtsai.com\/blog\/?p=14844"},"modified":"2016-06-16T15:53:35","modified_gmt":"2016-06-16T19:53:35","slug":"cloudkit-and-map-kit-for-gatekeeper-apps","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2016\/06\/16\/cloudkit-and-map-kit-for-gatekeeper-apps\/","title":{"rendered":"CloudKit and Map Kit for Gatekeeper Apps"},"content":{"rendered":"<p>In 2011, I <a href=\"http:\/\/mjtsai.com\/blog\/2011\/03\/02\/dirty-percent\/\">wrote<\/a>:<\/p>\n<blockquote cite=\"http:\/\/mjtsai.com\/blog\/2011\/03\/02\/dirty-percent\/\"><p>Would anyone be surprised if future versions of Mac OS X made additional features and APIs available only to App Store apps?<\/p><\/blockquote>\n<p>In 2012, this <a href=\"http:\/\/mjtsai.com\/blog\/2012\/01\/25\/pdfpen-and-icloud\/\">came to pass<\/a>:<\/p>\n<blockquote cite=\"http:\/\/mjtsai.com\/blog\/2012\/01\/25\/pdfpen-and-icloud\/\"><p>It&rsquo;s no longer possible to write a single app that takes advantage of the full range of Mac OS X features. Some APIs only work <em>inside<\/em> the Mac App Store. Others only work <em>outside<\/em> it. Presumably, this gap will widen as more new features are App Store&#8211;exclusive, while sandboxing places greater restrictions on what App Store apps are allowed to do.<\/p><\/blockquote>\n<p>In macOS 10.12, this will be less true. Developer ID apps outside the Mac App Store will be able to do <a href=\"https:\/\/developer.apple.com\/library\/prerelease\/content\/releasenotes\/MacOSX\/WhatsNewInOSX\/Articles\/OSXv10.html\">almost everything<\/a>:<\/p>\n<blockquote cite=\"https:\/\/developer.apple.com\/library\/prerelease\/content\/releasenotes\/MacOSX\/WhatsNewInOSX\/Articles\/OSXv10.html\"><p>Developer ID-signed apps can now take advantage of CloudKit, iCloud Keychain, iCloud Drive, remote (push) notifications, MapKit, and VPN entitlements.<\/p><\/blockquote>\n<p>I say &ldquo;almost&rdquo; because iCloud <a href=\"https:\/\/developer.apple.com\/library\/mac\/documentation\/Miscellaneous\/Reference\/EntitlementKeyReference\/Chapters\/EnablingiCloud.html\">key-value storage<\/a> and <a href=\"https:\/\/developer.apple.com\/library\/mac\/documentation\/General\/Conceptual\/iCloudDesignGuide\/Chapters\/DesignForCoreDataIniCloud.html\">Core Data<\/a> are not mentioned in the document, although my impression from the <a href=\"https:\/\/developer.apple.com\/videos\/play\/wwdc2016\/102\/\">WWDC session<\/a> is that they will be included. Of course, this assumes that Apple does not renege on this, as it did with <a href=\"http:\/\/mjtsai.com\/blog\/2015\/06\/25\/map-kit-outside-of-the-mac-app-store\/\">Map Kit and El Capitan<\/a>.<\/p>\n\n<p>At WWDC, Apple is presenting the Mac App Store as the preferred way to distribute software. However, it <a href=\"http:\/\/mjtsai.com\/blog\/2016\/06\/09\/pre-wwdc-app-store-changes\/\">still<\/a> lags behind the iOS App Store in features. Developer ID apps have access to more APIs and more business models.<\/p>\n\n<p><a href=\"https:\/\/twitter.com\/andpoul\/status\/742831771390070785\">Andrew Pouliot<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/andpoul\/status\/742831771390070785\"><p>Feels good to decouple the two, let MAS have its own value proposition apart from CloudKit, vice-versa.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/milend\/status\/742489253628641281\">Milen Dzhumerov<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/milend\/status\/742489253628641281\"><p>Basically, they remove all the reasons for MAS (together with paying for direct Mac apps using Apple Pay).<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/drewmccormack\/status\/742615606797717504\">Drew McCormack<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/drewmccormack\/status\/742615606797717504\"><p>Question is whether they have just given up on it. Wouldn&rsquo;t be the first time Apple just leaves something for dead.<\/p><\/blockquote>\n\n<p>The situation continues to get worse for unsigned apps. In macOS 10.12, the (graphical) preference to enable them has been <a href=\"https:\/\/twitter.com\/mikeash\/status\/742760482579357696\">removed<\/a>, although there are <a href=\"https:\/\/developer.apple.com\/videos\/play\/wwdc2016\/706\/\">still<\/a> ways around that.<\/p>","protected":false},"excerpt":{"rendered":"<p>In 2011, I wrote: Would anyone be surprised if future versions of Mac OS X made additional features and APIs available only to App Store apps? In 2012, this came to pass: It&rsquo;s no longer possible to write a single app that takes advantage of the full range of Mac OS X features. Some APIs [&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":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","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":[101,916,466,109,465,16,30,39,1381,474,1074,53],"class_list":["post-14844","post","type-post","status-publish","format-standard","hentry","category-technology","tag-business","tag-cloudkit","tag-codesigning","tag-coredata","tag-gatekeeper","tag-icloud","tag-mac","tag-macappstore","tag-macos-10-12","tag-mapkit","tag-push-notifications","tag-sandboxing"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/14844","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=14844"}],"version-history":[{"count":3,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/14844\/revisions"}],"predecessor-version":[{"id":14860,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/14844\/revisions\/14860"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=14844"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=14844"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=14844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}