{"id":918,"date":"2017-02-24T21:07:52","date_gmt":"2017-02-25T04:07:52","guid":{"rendered":"https:\/\/dreness.com\/blog\/?p=918"},"modified":"2019-12-07T17:10:31","modified_gmt":"2019-12-08T00:10:31","slug":"a-low-but-significant-bar","status":"publish","type":"post","link":"https:\/\/dreness.com\/blog\/archives\/918","title":{"rendered":"A Low But Significant Bar"},"content":{"rendered":"<p>A friend got a 4th gen AppleTV in late 2015\u00a0&#8211; a friend that\u00a0enjoys retro video games, but that\u00a0doesn&#8217;t own any consoles. I tried <a href=\"https:\/\/github.com\/Provenance-Emu\/Provenance\">Provenance<\/a> on my iPad and was pretty satisfied, and figured it would be pretty nifty on the AppleTV. This friend is not a developer, and at the time didn&#8217;t own a computer new enough to interface with a modern iOS device. Even if she did, she objected to paying\u00a0$100 \/ year\u00a0for the permission to run a self-built app (an objection I share), so I figured I would handle the building and installing part during one of my occasional visits to her town (~6 hours away by car).<\/p>\n<p>You&#8217;re probably already thinking about how this is likely to blow up, and you&#8217;re right: roughly 1 year after I deployed the app to the AppleTV, the provisioning profile expired, and then nobody could play pokemon anymore. I felt truly terrible about this. DRM sucks.<\/p>\n<p>Then just a few days ago, the black macbook was replaced with one of the fancy new ones &#8211; new enough to speak directly to an AppleTV, new enough to run the current version of Xcode. With the help of a reverse SSH tunnel, I screen shared to her machine to build and install the current version of Provenance, only to find out that the current version uses a different bundle ID. I had no luck convincing Xcode to replace the old Provenance app bundle with the newly built\u00a0one, using the existing data container.<\/p>\n<p>To my pleasant surprise, <a href=\"https:\/\/help.apple.com\/xcode\/mac\/8.3\/#\/dev816c242e1\">Xcode&#8217;s Download \/ Replace Container feature<\/a> actually saved the day, and I was able to export the ~2 GB container\u00a0from\u00a0the old broken-for-years Provenance version, and hand that container\u00a0to the new Provenance version. This is sort of a bare minimum level of data portability, but it&#8217;s more than I expected, so &#8220;props&#8221;. My friend is pretty excited\u00a0about picking up where she left off with the pokemans!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A friend got a 4th gen AppleTV in late 2015\u00a0&#8211; a friend that\u00a0enjoys retro video games, but that\u00a0doesn&#8217;t own any consoles. I tried Provenance on my iPad and was pretty satisfied, and figured it would be pretty nifty on the &hellip; <a href=\"https:\/\/dreness.com\/blog\/archives\/918\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,5,14],"tags":[],"class_list":["post-918","post","type-post","status-publish","format-standard","hentry","category-bitbucket","category-development","category-pro-tip"],"_links":{"self":[{"href":"https:\/\/dreness.com\/blog\/wp-json\/wp\/v2\/posts\/918","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dreness.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dreness.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dreness.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dreness.com\/blog\/wp-json\/wp\/v2\/comments?post=918"}],"version-history":[{"count":3,"href":"https:\/\/dreness.com\/blog\/wp-json\/wp\/v2\/posts\/918\/revisions"}],"predecessor-version":[{"id":1262,"href":"https:\/\/dreness.com\/blog\/wp-json\/wp\/v2\/posts\/918\/revisions\/1262"}],"wp:attachment":[{"href":"https:\/\/dreness.com\/blog\/wp-json\/wp\/v2\/media?parent=918"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dreness.com\/blog\/wp-json\/wp\/v2\/categories?post=918"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dreness.com\/blog\/wp-json\/wp\/v2\/tags?post=918"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}