{"id":241,"date":"2018-07-05T06:01:19","date_gmt":"2018-07-05T06:01:19","guid":{"rendered":"https:\/\/www.thecodehub.ie\/news\/?p=241"},"modified":"2018-07-05T06:01:19","modified_gmt":"2018-07-05T06:01:19","slug":"authoring-swift-playgrounds-subscription-feeds","status":"publish","type":"post","link":"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/","title":{"rendered":"Authoring Swift Playgrounds Subscription Feeds"},"content":{"rendered":"<p><strong>WARNING: Technical content ahead. This one is for those people monkeying around with their own\u00a0Swift Playgrounds for teaching or just for fun.\u00a0<\/strong><\/p>\n<p>If you, like me, author <a href=\"http:\/\/apple.com\/swift-playgrounds\/\">Swift Playgrounds<\/a>, you might want to use Apple&#8217;s new subscription format to distribute your playgrounds to people. You can visit\u00a0<a href=\"https:\/\/thecodehub.ie\/playgrounds\/\">https:\/\/thecodehub.ie\/playgrounds\/<\/a> on an iPad and our first three playgrounds will show up on your device.<\/p>\n<figure id=\"attachment_242\" aria-describedby=\"caption-attachment-242\" style=\"width: 840px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_7D0AFFE4EFDA-1.jpeg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"242\" data-permalink=\"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/img_7d0affe4efda-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_7D0AFFE4EFDA-1.jpeg?fit=1500%2C502&amp;ssl=1\" data-orig-size=\"1500,502\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}\" data-image-title=\"Subscribing to Playgrounds\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;Subscribing to Playgrounds&lt;\/p&gt;\n\" data-large-file=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_7D0AFFE4EFDA-1.jpeg?fit=840%2C281&amp;ssl=1\" class=\"size-large wp-image-242\" src=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_7D0AFFE4EFDA-1.jpeg?resize=840%2C281&#038;ssl=1\" alt=\"Subscribing to Playgrounds\" width=\"840\" height=\"281\" srcset=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_7D0AFFE4EFDA-1.jpeg?resize=1024%2C343&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_7D0AFFE4EFDA-1.jpeg?resize=300%2C100&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_7D0AFFE4EFDA-1.jpeg?resize=768%2C257&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_7D0AFFE4EFDA-1.jpeg?resize=1200%2C402&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_7D0AFFE4EFDA-1.jpeg?w=1500&amp;ssl=1 1500w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><figcaption id=\"caption-attachment-242\" class=\"wp-caption-text\">Subscribing to Playgrounds<\/figcaption><\/figure>\n<p>There are some great tutorials and tips for writing playgrounds out there (<a href=\"https:\/\/andyshep.org\/2016\/10\/2016-10-06-writing-playground-book\/\">Andy Shep<\/a> has some excellent advice on the subject). In the future I&#8217;ll go into how I made the Code Hub Swift Playgrounds, but for now, I have a tip for debugging the feed format.<\/p>\n<h3>Creating (and Debugging) a Swift Playground Subscription<\/h3>\n<p>With the latest version of Swift Playgrounds, you can <a href=\"https:\/\/developer.apple.com\/library\/archive\/documentation\/Xcode\/Conceptual\/swift_playgrounds_doc_format\/CreatingSubscriptions.html\">create a feed<\/a> so that your content shows up in the list of playgrounds available to run. That link will give you a bit of insight into the nitty gritty of how you need to format your feed, but for a really clear walk-through it&#8217;s worth watching the &#8220;<a href=\"https:\/\/developer.apple.com\/videos\/play\/wwdc2018\/413\/\">Creating Your Own Swift Playground Subscription<\/a>&#8221; session from WWDC this year.<\/p>\n<p>All of which I did, but I really struggled with a feed that just wouldn&#8217;t work and presented me with a very generic failure message. So I filed a bug with <a href=\"https:\/\/bugreport.apple.com\">bugreport.apple.com<\/a> and waited. In the latest version of Swift Playgrounds you can now go to the preferences for the app (through the System Preferences app) and toggle this little switch:<\/p>\n<figure id=\"attachment_244\" aria-describedby=\"caption-attachment-244\" style=\"width: 840px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_C9C9DA3E501C-1.jpeg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"244\" data-permalink=\"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/img_c9c9da3e501c-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_C9C9DA3E501C-1.jpeg?fit=2048%2C637&amp;ssl=1\" data-orig-size=\"2048,637\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}\" data-image-title=\"Authoring Debug Mode\" data-image-description=\"&lt;p&gt;Authoring Debug Mode&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Authoring Debug Mode!&lt;\/p&gt;\n\" data-large-file=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_C9C9DA3E501C-1.jpeg?fit=840%2C262&amp;ssl=1\" class=\"size-large wp-image-244\" src=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_C9C9DA3E501C-1.jpeg?resize=840%2C262&#038;ssl=1\" alt=\"Authoring Debug Mode\" width=\"840\" height=\"262\" srcset=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_C9C9DA3E501C-1.jpeg?resize=1024%2C319&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_C9C9DA3E501C-1.jpeg?resize=300%2C93&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_C9C9DA3E501C-1.jpeg?resize=768%2C239&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_C9C9DA3E501C-1.jpeg?resize=1200%2C373&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_C9C9DA3E501C-1.jpeg?w=2048&amp;ssl=1 2048w, https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_C9C9DA3E501C-1.jpeg?w=1680&amp;ssl=1 1680w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><figcaption id=\"caption-attachment-244\" class=\"wp-caption-text\">Authoring Debug Mode!<\/figcaption><\/figure>\n<p>Suddenly I was getting far more useful error messages like this:<\/p>\n<figure id=\"attachment_245\" aria-describedby=\"caption-attachment-245\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_127416D74FF1-1.jpeg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"245\" data-permalink=\"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/img_127416d74ff1-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_127416D74FF1-1.jpeg?fit=571%2C573&amp;ssl=1\" data-orig-size=\"571,573\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}\" data-image-title=\"Ah ha!\" data-image-description=\"&lt;p&gt;Ah ha!&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Ah ha!&lt;\/p&gt;\n\" data-large-file=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_127416D74FF1-1.jpeg?fit=571%2C573&amp;ssl=1\" class=\"wp-image-245 size-medium\" src=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_127416D74FF1-1.jpeg?resize=300%2C300&#038;ssl=1\" alt=\"Ah ha!\" width=\"300\" height=\"300\" srcset=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_127416D74FF1-1.jpeg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_127416D74FF1-1.jpeg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_127416D74FF1-1.jpeg?w=571&amp;ssl=1 571w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-245\" class=\"wp-caption-text\">Ah ha!<\/figcaption><\/figure>\n<p>And that was it! Now, you want to make sure you <a href=\"https:\/\/developer.apple.com\/library\/archive\/documentation\/Xcode\/Conceptual\/swift_playgrounds_doc_format\/SubscriptionFeedFormat.html\">read through all the keys and acceptable values in the feed format<\/a> closely. There are quite specific sizes for your thumbnail, preview, and banner images. The content identifier, version, and name in your Manifest.plist must match the values you put in the feed.<\/p>\n<figure id=\"attachment_247\" aria-describedby=\"caption-attachment-247\" style=\"width: 840px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/Manifest-1.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"247\" data-permalink=\"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/manifest-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/Manifest-1.png?fit=1250%2C401&amp;ssl=1\" data-orig-size=\"1250,401\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"The Manifest.plist\" data-image-description=\"&lt;p&gt;The Manifest.plist&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;The Manifest.plist&lt;\/p&gt;\n\" data-large-file=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/Manifest-1.png?fit=840%2C269&amp;ssl=1\" class=\"size-large wp-image-247\" src=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/Manifest-1.png?resize=840%2C269&#038;ssl=1\" alt=\"The Manifest.plist\" width=\"840\" height=\"269\" srcset=\"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/Manifest-1.png?resize=1024%2C328&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/Manifest-1.png?resize=300%2C96&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/Manifest-1.png?resize=768%2C246&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/Manifest-1.png?resize=1200%2C385&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/Manifest-1.png?w=1250&amp;ssl=1 1250w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><figcaption id=\"caption-attachment-247\" class=\"wp-caption-text\">The Manifest.plist<\/figcaption><\/figure>\n<p>But once you&#8217;ve taken care of the details, it&#8217;ll be a piece of cake for people to install your playgrounds.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WARNING: Technical content ahead. This one is for those people monkeying around with their own\u00a0Swift Playgrounds for teaching or just for fun.\u00a0 If you, like me, author Swift Playgrounds, you might want to use Apple&#8217;s new subscription format to distribute your playgrounds to people. You can visit\u00a0https:\/\/thecodehub.ie\/playgrounds\/ on an iPad and our first three playgrounds &hellip; <a href=\"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Authoring Swift Playgrounds Subscription Feeds&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_price":"","_stock":"","_tribe_ticket_header":"","_tribe_default_ticket_provider":"","_tribe_ticket_capacity":"0","_ticket_start_date":"","_ticket_end_date":"","_tribe_ticket_show_description":"","_tribe_ticket_show_not_going":false,"_tribe_ticket_use_global_stock":"","_tribe_ticket_global_stock_level":"","_global_stock_mode":"","_global_stock_cap":"","_tribe_rsvp_for_event":"","_tribe_ticket_going_count":"","_tribe_ticket_not_going_count":"","_tribe_tickets_list":"[]","_tribe_ticket_has_attendee_info_fields":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[8],"tags":[],"class_list":["post-241","post","type-post","status-publish","format-standard","hentry","category-swift-playgrounds"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Authoring Swift Playgrounds Subscription Feeds &#060; The Code Hub<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Authoring Swift Playgrounds Subscription Feeds &#060; The Code Hub\" \/>\n<meta property=\"og:description\" content=\"WARNING: Technical content ahead. This one is for those people monkeying around with their own\u00a0Swift Playgrounds for teaching or just for fun.\u00a0 If you, like me, author Swift Playgrounds, you might want to use Apple&#8217;s new subscription format to distribute your playgrounds to people. You can visit\u00a0https:\/\/thecodehub.ie\/playgrounds\/ on an iPad and our first three playgrounds &hellip; Continue reading &quot;Authoring Swift Playgrounds Subscription Feeds&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/\" \/>\n<meta property=\"og:site_name\" content=\"The Code Hub\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/facebook.com\/thecodehub\" \/>\n<meta property=\"article:published_time\" content=\"2018-07-05T06:01:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_7D0AFFE4EFDA-1-1024x343.jpeg\" \/>\n<meta name=\"author\" content=\"mhanlon\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@thecodehubIE\" \/>\n<meta name=\"twitter:site\" content=\"@thecodehubIE\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"mhanlon\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/2018\\\/07\\\/05\\\/authoring-swift-playgrounds-subscription-feeds\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/2018\\\/07\\\/05\\\/authoring-swift-playgrounds-subscription-feeds\\\/\"},\"author\":{\"name\":\"mhanlon\",\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/#\\\/schema\\\/person\\\/5a4e2bec3c92667356dda979a9f61fcd\"},\"headline\":\"Authoring Swift Playgrounds Subscription Feeds\",\"datePublished\":\"2018-07-05T06:01:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/2018\\\/07\\\/05\\\/authoring-swift-playgrounds-subscription-feeds\\\/\"},\"wordCount\":388,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/2018\\\/07\\\/05\\\/authoring-swift-playgrounds-subscription-feeds\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/wp-content\\\/uploads\\\/2018\\\/07\\\/IMG_7D0AFFE4EFDA-1-1024x343.jpeg\",\"articleSection\":[\"Swift Playgrounds\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/2018\\\/07\\\/05\\\/authoring-swift-playgrounds-subscription-feeds\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/2018\\\/07\\\/05\\\/authoring-swift-playgrounds-subscription-feeds\\\/\",\"url\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/2018\\\/07\\\/05\\\/authoring-swift-playgrounds-subscription-feeds\\\/\",\"name\":\"Authoring Swift Playgrounds Subscription Feeds &#060; The Code Hub\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/2018\\\/07\\\/05\\\/authoring-swift-playgrounds-subscription-feeds\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/2018\\\/07\\\/05\\\/authoring-swift-playgrounds-subscription-feeds\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/wp-content\\\/uploads\\\/2018\\\/07\\\/IMG_7D0AFFE4EFDA-1-1024x343.jpeg\",\"datePublished\":\"2018-07-05T06:01:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/2018\\\/07\\\/05\\\/authoring-swift-playgrounds-subscription-feeds\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/2018\\\/07\\\/05\\\/authoring-swift-playgrounds-subscription-feeds\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/2018\\\/07\\\/05\\\/authoring-swift-playgrounds-subscription-feeds\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.thecodehub.ie\\\/news\\\/wp-content\\\/uploads\\\/2018\\\/07\\\/IMG_7D0AFFE4EFDA-1.jpeg?fit=1500%2C502&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/www.thecodehub.ie\\\/news\\\/wp-content\\\/uploads\\\/2018\\\/07\\\/IMG_7D0AFFE4EFDA-1.jpeg?fit=1500%2C502&ssl=1\",\"width\":1500,\"height\":502,\"caption\":\"Subscribing to Playgrounds\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/2018\\\/07\\\/05\\\/authoring-swift-playgrounds-subscription-feeds\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Authoring Swift Playgrounds Subscription Feeds\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/#website\",\"url\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/\",\"name\":\"The Code Hub\",\"description\":\"News from the Code Hub\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/#organization\",\"name\":\"The Code Hub\",\"url\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.thecodehub.ie\\\/news\\\/wp-content\\\/uploads\\\/2018\\\/02\\\/TheCodeHubLogo.001-copy.png?fit=226%2C264&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/www.thecodehub.ie\\\/news\\\/wp-content\\\/uploads\\\/2018\\\/02\\\/TheCodeHubLogo.001-copy.png?fit=226%2C264&ssl=1\",\"width\":226,\"height\":264,\"caption\":\"The Code Hub\"},\"image\":{\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"http:\\\/\\\/facebook.com\\\/thecodehub\",\"https:\\\/\\\/x.com\\\/thecodehubIE\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCx4bznoGDfjJRPfTa4LF9dA\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.thecodehub.ie\\\/news\\\/#\\\/schema\\\/person\\\/5a4e2bec3c92667356dda979a9f61fcd\",\"name\":\"mhanlon\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b9c657ee2e998340415a9b0faf3625ca2ae609c77433fb6c67b3e7f547e5ba1b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b9c657ee2e998340415a9b0faf3625ca2ae609c77433fb6c67b3e7f547e5ba1b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b9c657ee2e998340415a9b0faf3625ca2ae609c77433fb6c67b3e7f547e5ba1b?s=96&d=mm&r=g\",\"caption\":\"mhanlon\"},\"sameAs\":[\"https:\\\/\\\/www.thecodehub.ie\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Authoring Swift Playgrounds Subscription Feeds &#060; The Code Hub","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/","og_locale":"en_US","og_type":"article","og_title":"Authoring Swift Playgrounds Subscription Feeds &#060; The Code Hub","og_description":"WARNING: Technical content ahead. This one is for those people monkeying around with their own\u00a0Swift Playgrounds for teaching or just for fun.\u00a0 If you, like me, author Swift Playgrounds, you might want to use Apple&#8217;s new subscription format to distribute your playgrounds to people. You can visit\u00a0https:\/\/thecodehub.ie\/playgrounds\/ on an iPad and our first three playgrounds &hellip; Continue reading \"Authoring Swift Playgrounds Subscription Feeds\"","og_url":"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/","og_site_name":"The Code Hub","article_publisher":"http:\/\/facebook.com\/thecodehub","article_published_time":"2018-07-05T06:01:19+00:00","og_image":[{"url":"https:\/\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_7D0AFFE4EFDA-1-1024x343.jpeg","type":"","width":"","height":""}],"author":"mhanlon","twitter_card":"summary_large_image","twitter_creator":"@thecodehubIE","twitter_site":"@thecodehubIE","twitter_misc":{"Written by":"mhanlon","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/#article","isPartOf":{"@id":"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/"},"author":{"name":"mhanlon","@id":"https:\/\/www.thecodehub.ie\/news\/#\/schema\/person\/5a4e2bec3c92667356dda979a9f61fcd"},"headline":"Authoring Swift Playgrounds Subscription Feeds","datePublished":"2018-07-05T06:01:19+00:00","mainEntityOfPage":{"@id":"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/"},"wordCount":388,"commentCount":0,"publisher":{"@id":"https:\/\/www.thecodehub.ie\/news\/#organization"},"image":{"@id":"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/#primaryimage"},"thumbnailUrl":"https:\/\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_7D0AFFE4EFDA-1-1024x343.jpeg","articleSection":["Swift Playgrounds"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/","url":"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/","name":"Authoring Swift Playgrounds Subscription Feeds &#060; The Code Hub","isPartOf":{"@id":"https:\/\/www.thecodehub.ie\/news\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/#primaryimage"},"image":{"@id":"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/#primaryimage"},"thumbnailUrl":"https:\/\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_7D0AFFE4EFDA-1-1024x343.jpeg","datePublished":"2018-07-05T06:01:19+00:00","breadcrumb":{"@id":"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/#primaryimage","url":"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_7D0AFFE4EFDA-1.jpeg?fit=1500%2C502&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/07\/IMG_7D0AFFE4EFDA-1.jpeg?fit=1500%2C502&ssl=1","width":1500,"height":502,"caption":"Subscribing to Playgrounds"},{"@type":"BreadcrumbList","@id":"https:\/\/www.thecodehub.ie\/news\/2018\/07\/05\/authoring-swift-playgrounds-subscription-feeds\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.thecodehub.ie\/news\/"},{"@type":"ListItem","position":2,"name":"Authoring Swift Playgrounds Subscription Feeds"}]},{"@type":"WebSite","@id":"https:\/\/www.thecodehub.ie\/news\/#website","url":"https:\/\/www.thecodehub.ie\/news\/","name":"The Code Hub","description":"News from the Code Hub","publisher":{"@id":"https:\/\/www.thecodehub.ie\/news\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.thecodehub.ie\/news\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.thecodehub.ie\/news\/#organization","name":"The Code Hub","url":"https:\/\/www.thecodehub.ie\/news\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.thecodehub.ie\/news\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/02\/TheCodeHubLogo.001-copy.png?fit=226%2C264&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.thecodehub.ie\/news\/wp-content\/uploads\/2018\/02\/TheCodeHubLogo.001-copy.png?fit=226%2C264&ssl=1","width":226,"height":264,"caption":"The Code Hub"},"image":{"@id":"https:\/\/www.thecodehub.ie\/news\/#\/schema\/logo\/image\/"},"sameAs":["http:\/\/facebook.com\/thecodehub","https:\/\/x.com\/thecodehubIE","https:\/\/www.youtube.com\/channel\/UCx4bznoGDfjJRPfTa4LF9dA"]},{"@type":"Person","@id":"https:\/\/www.thecodehub.ie\/news\/#\/schema\/person\/5a4e2bec3c92667356dda979a9f61fcd","name":"mhanlon","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/b9c657ee2e998340415a9b0faf3625ca2ae609c77433fb6c67b3e7f547e5ba1b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b9c657ee2e998340415a9b0faf3625ca2ae609c77433fb6c67b3e7f547e5ba1b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b9c657ee2e998340415a9b0faf3625ca2ae609c77433fb6c67b3e7f547e5ba1b?s=96&d=mm&r=g","caption":"mhanlon"},"sameAs":["https:\/\/www.thecodehub.ie"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9ABLU-3T","jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/www.thecodehub.ie\/news\/wp-json\/wp\/v2\/posts\/241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thecodehub.ie\/news\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.thecodehub.ie\/news\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.thecodehub.ie\/news\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thecodehub.ie\/news\/wp-json\/wp\/v2\/comments?post=241"}],"version-history":[{"count":1,"href":"https:\/\/www.thecodehub.ie\/news\/wp-json\/wp\/v2\/posts\/241\/revisions"}],"predecessor-version":[{"id":248,"href":"https:\/\/www.thecodehub.ie\/news\/wp-json\/wp\/v2\/posts\/241\/revisions\/248"}],"wp:attachment":[{"href":"https:\/\/www.thecodehub.ie\/news\/wp-json\/wp\/v2\/media?parent=241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thecodehub.ie\/news\/wp-json\/wp\/v2\/categories?post=241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thecodehub.ie\/news\/wp-json\/wp\/v2\/tags?post=241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}