{"id":34464,"date":"2021-12-16T16:43:45","date_gmt":"2021-12-16T21:43:45","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=34464"},"modified":"2022-01-07T14:27:42","modified_gmt":"2022-01-07T19:27:42","slug":"swift-playgrounds-4","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2021\/12\/16\/swift-playgrounds-4\/","title":{"rendered":"Swift Playgrounds 4"},"content":{"rendered":"<p><a href=\"https:\/\/www.macrumors.com\/2021\/12\/15\/apple-releases-swift-playgrounds-4\/\">Juli Clover<\/a> (<a href=\"https:\/\/news.ycombinator.com\/item?id=29570871\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"https:\/\/www.macrumors.com\/2021\/12\/15\/apple-releases-swift-playgrounds-4\/\">\n<p>Apple today released Swift Playgrounds 4, an update to the Swift Playgrounds app that&rsquo;s been in the works for some time. The newest version of the app allows iPhone and iPad apps to be created directly on an  iPad  without the need for a Mac.<\/p>\n<p>Swift Playgrounds 4 includes App Store Connect integration for uploading a finished app to the  App Store , plus there is an App Preview feature that shows live updates as you make changes.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/stroughtonsmith\/status\/1471237484734464006\">Steve Troughton-Smith<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/stroughtonsmith\/status\/1471237484734464006\">\n<p>While you can monetize your app as a paid-upfront app just fine, there&rsquo;s no access to In-App Purchase, which feels like an unnecessary restriction on people learning to develop iOS apps through Playgrounds &mdash; paid-upfront is extremely hard to make work even for experienced devs<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/krzyzanowskim\/status\/1471245979995226113\">Marcin Krzyzanowski<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/krzyzanowskim\/status\/1471245979995226113\">\n<p>Tim Cook: We have 60 apps on the App Store. They go through the same rules that the 1.7 million do<\/p>\n<p>also Tim Cook&rsquo;s company app from the App Store:<\/p>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pbs.twimg.com\/media\/FGrpP0zWUAQlYbw?format=png&amp;name=large\" width=\"666\" height=\"440\" alt=\"Playgrounds Entitlements\" \/>\n<\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2020\/07\/29\/tim-cooks-app-store-testimony\/\">Tim Cook&rsquo;s App Store Testimony<\/a><\/li>\n<\/ul>\n\n<p id=\"swift-playgrounds-4-update-2021-12-20\">Update (2021-12-20): <a href=\"https:\/\/twitter.com\/DamienPetrilli\/status\/1472131662955884546\">Damien Petrilli<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/DamienPetrilli\/status\/1472131662955884546\"><p>So you can&rsquo;t even use Core Data in Swift Playgrounds 4? (+ no git)<\/p><p>&ldquo;We can&rsquo;t wait to see what you are going to ship with it&rdquo;<\/p><p>Let&rsquo;s be honest, Playgrounds is so limited that most Apps would be rejected during the App review for being too simple.<\/p><\/blockquote>\n<p>You can use Core Data, but you have to create the managed object model in code. I like to do that, anyway, but it&rsquo;s not very friendly for beginners. Not having version control is an even more serious problem.<\/p>\n\n<p><a href=\"https:\/\/twitter.com\/rileytestut\/status\/1473032392654921739\">Riley Testut<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/rileytestut\/status\/1473032392654921739\">\n<p>Here&rsquo;s the full code to export .ipa&rsquo;s from Swift Playgrounds 4.<\/p>\n<\/blockquote>\n\n<p id=\"swift-playgrounds-4-update-2022-01-07\">Update (2022-01-07): <a href=\"https:\/\/www.cephalopod.studio\/blog\/lessons-from-developing-an-app-on-the-ipad-from-start-to-finish-on-the-app-store\">Matt Waller<\/a>:<\/p>\n<blockquote cite=\"https:\/\/www.cephalopod.studio\/blog\/lessons-from-developing-an-app-on-the-ipad-from-start-to-finish-on-the-app-store\"><p>In the end, this is exactly what it says it is: Swift Playgrounds. It&rsquo;s a playground! It&rsquo;s a place that is primarily great to figure things out. It&rsquo;s certainly not Xcode on the iPad, nor is it a brand new App Composer app or anything like that. It will shine mostly as a great educational and prototyping tool.<\/p>\n<p>And heck, it&rsquo;s pretty great as a sideproject engine so far. I say that because there is a sweet spot where constraints enable creativity, like the limitations of a sonnet.<\/p><\/blockquote>\n\n<p>Via <a href=\"https:\/\/daringfireball.net\/linked\/2022\/01\/07\/todont\">John Gruber<\/a>:<\/p>\n<blockquote cite=\"https:\/\/daringfireball.net\/linked\/2022\/01\/07\/todont\">\n<p>Waller&rsquo;s post is a great write-up delineating both the pros and cons of using Swift Playgrounds to develop (and publish) an entire app. He also kept <a href=\"https:\/\/twitter.com\/wattmaller1\/status\/1472263788233641988\">a public development journal<\/a> on Twitter, replete with animated screencasts of the app in-progress.<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Juli Clover (Hacker News): Apple today released Swift Playgrounds 4, an update to the Swift Playgrounds app that&rsquo;s been in the works for some time. The newest version of the app allows iPhone and iPad apps to be created directly on an iPad without the need for a Mac. Swift Playgrounds 4 includes App Store [&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":"2021-12-16T21:43:47Z","apple_news_api_id":"e50466b9-5afc-4038-bf86-1dc7544672a0","apple_news_api_modified_at":"2022-01-07T19:27:45Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAABA==","apple_news_api_share_url":"https:\/\/apple.news\/A5QRmuVr8QDi_hh3HVEZyoA","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":[91,101,109,522,1814,2079,71,2080,901,376],"class_list":["post-34464","post","type-post","status-publish","format-standard","hentry","category-technology","tag-appstore","tag-business","tag-coredata","tag-inapppurchase","tag-ipados","tag-ipados-15","tag-programming","tag-swift-playgrounds","tag-swift-programming-language","tag-versioncontrol"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/34464","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=34464"}],"version-history":[{"count":6,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/34464\/revisions"}],"predecessor-version":[{"id":34637,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/34464\/revisions\/34637"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=34464"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=34464"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=34464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}