{"id":22724,"date":"2025-01-11T12:03:14","date_gmt":"2025-01-11T12:03:14","guid":{"rendered":"https:\/\/peraltafinancing.com\/apple-2\/issue-694-ios-dev-weekly\/"},"modified":"2025-01-11T12:03:14","modified_gmt":"2025-01-11T12:03:14","slug":"issue-694-ios-dev-weekly","status":"publish","type":"post","link":"https:\/\/fivemor.com\/?p=22724","title":{"rendered":"Issue 694 \u2013 iOS Dev Weekly"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p>The tools and setup I have for writing and distributing this newsletter have changed very infrequently over the 13 years and almost 700 issues since I started publishing it. I started in 2011 with some Markdown files, a Mailchimp account, and <a href=\"https:\/\/jekyllrb.com\/\">Jekyll<\/a>. Then, in 2013\/2014, I decided I needed something more sophisticated. With a small team, I built a publishing tool that enabled me to construct issues via the web, host the site, and send the emails. That project went so well that it even ended up turning into a product: <a href=\"https:\/\/curated.co\/\">Curated<\/a>.<\/p>\n<p>I ended up selling Curated to another company, and it\u2019s been sold a couple more times over the years. I was still a happy customer until recently, but that <a href=\"https:\/\/bsky.app\/profile\/daveverwer.com\/post\/3lbafhmp6e22i\">all changed at the end of last year<\/a>. Even though they did eventually get the system working again, my confidence in their ability to run the site has gone and I needed to leave Curated behind.<\/p>\n<p>So while I was originally planning a restful break over the holidays, instead I spent most of it at my desk trying to get this complete re-build of the site and publishing platform finished. It has been an <em>enormous<\/em> amount of work, but I\u2019m pretty happy with how it turned out. I also took the opportunity to tweak the design and to make some other small changes. You can still see the <a href=\"https:\/\/iosdevweekly.curated.co\/\">old design<\/a> for a little while if you\u2019d like to compare the two. One change that some of you will be pleased to see is that there are no more <code>cur.at<\/code> shortened links. Every link in the newsletter is now a plain and simple hypertext link that you can hover to see the URL, and I know that has been something some of you have wanted for years.<\/p>\n<p>Most importantly, this rebuild puts me back in control of this website. If I\u2019d like to try some new things, that\u2019s much easier now that I control the entire rendering of the site and email.<\/p>\n<p>That said, there are still some rough edges and things I didn\u2019t get to before shipping the site. The most important, and I know I\u2019ll get plenty of email if I don\u2019t mention it, is that there\u2019s no full-text RSS feed yet. This is not intentional, but I hit an issue with creating it that I couldn\u2019t easily fix. I\u2019m also aware there\u2019s no plain text version of the email right now, but I\u2019m not sure that\u2019s something anyone cares about? Let me know if you do.<\/p>\n<p>My todo list also includes better mobile device support, dark mode support for both the website and email, and tidying up some other loose ends. I\u2019ll make those changes over the next few weeks, but if you see anything wrong with today\u2019s email or <a href=\"https:\/\/iosdevweekly.com\/\">the website<\/a>, please let me know so I can get it fixed!<\/p>\n<p><a href=\"https:\/\/www.nutrient.io\/blog\/tags\/ios\/?utm_campaign=issue-694&amp;utm_source=ios-dev-weekly&amp;utm_medium=sponsoring\" class=\"link\" id=\"rsnBveX\">PSPDFKit is now Nutrient<\/a><\/p>\n<p>New name, same trusted SDK with a slick UI and dozens of out-of-the-box features for document viewing and editing. Powering hundreds of popular iOS apps like Dropbox, Box, and Autodesk, as well as our own PDF Viewer. <a href=\"https:\/\/www.nutrient.io\/blog\/tags\/ios\/?utm_campaign=issue-694&amp;utm_source=ios-dev-weekly&amp;utm_medium=sponsoring\">Check out our blog<\/a> to learn more about what we\u2019re doing \u2014 from designing SwiftUI APIs, to debugging weird linking issues.<\/p>\n<h2 class=\"category news\" id=\"news\">News<\/h2>\n<p><a href=\"https:\/\/developer.apple.com\/swift-student-challenge\/\" class=\"link\" id=\"DqJhqqU\">Swift Student Challenge 2025<\/a><\/p>\n<p>There are many reasons you might want to participate in the Swift Student Challenge. Yes, 50 winners will get to attend WWDC 2025, but participation is also its own reward, too. Whether you want to build a project to flesh out your portfolio, or just want to learn something new, now\u2019s the time to get started. Submissions open on the 3rd of February and close three weeks later. That means you\u2019ve got about 6 weeks to make something amazing. Check the <a href=\"https:\/\/developer.apple.com\/swift-student-challenge\/eligibility\/\">eligibility requirements<\/a> and get cracking.<\/p>\n<hr\/>\n<p><a href=\"https:\/\/developer.apple.com\/news\/?id=2x8awlvm\" class=\"link\" id=\"djJjVNa\">Changes to server connections for Apple Pay on the Web<\/a><\/p>\n<p>This won\u2019t affect a large number of you since it\u2019s limited to Apple Pay on the Web. That said, I\u2019d bet there are a few of you reading that\u2019ll need to make a change, or at least check that your code isn\u2019t affected. The deadline for making this change is soon, too, on February 4th.<\/p>\n<p><a href=\"https:\/\/bsky.app\/profile\/typ0genius.bsky.social\/post\/3lerdlkos522k\" class=\"link\" id=\"qlnissC\">Quickly paste text into a new Xcode file<\/a><\/p>\n<p>Thanks so much to <a href=\"https:\/\/bsky.app\/profile\/typ0genius.bsky.social\">Florian Seida<\/a> for this tip for quickly making new files in Xcode. I had absolutely no idea this existed!<\/p>\n<h2 class=\"category code\" id=\"code\">Code<\/h2>\n<p><a href=\"https:\/\/codingwithvera.com\/swift-6-typed-throws\/\" class=\"link\" id=\"erAGdvp\">Swift 6: Typed Throws<\/a><\/p>\n<p>Strict concurrency has tended to overshadow everything else that Swift 6 brought with it, so it\u2019s great to see <a href=\"https:\/\/github.com\/Sailor-Saturn\">Vera Dias<\/a> write up this very readable guide to typed throws. You\u2019ll learn what they are and why you should use them. Great stuff.<\/p>\n<hr\/>\n<p><a href=\"https:\/\/www.cocoawithlove.com\/blog\/copilot-raindrop-generator.html\" class=\"link\" id=\"qbcspZF\">Using Copilot to write a raindrop audio synthesizer using AVAudioEngine<\/a><\/p>\n<p>I doesn\u2019t matter if you read <a href=\"https:\/\/mastodon.social\/@cocoawithlove\">Matt Gallagher<\/a>\u2019s latest post because you want to hear his experience developing code with CoPilot or because you\u2019re interested in Core Audio. Either way, you\u2019re in for an interesting article. It\u2019s also really nice to see Matt back blogging again after a little break!<\/p>\n<hr\/>\n<p><a href=\"https:\/\/adamwulf.me\/2024\/12\/translating-an-ios-mac-app-with-ai-and-humans\/\" class=\"link\" id=\"egislzB\">Translating an iOS\/Mac app with AI and humans<\/a><\/p>\n<p>I\u2019ve not used generative AI to translate UI text in an app yet, but I believe it\u2019s a a step ahead of using something like Google or Apple Translate. Obviously, it\u2019s no substitute for a human translator, but depending on your app\u2019s budget you might want to check out <a href=\"https:\/\/mstdn.social\/@adamwulf\">Adam Wulf<\/a>\u2019s latest article on using AI as a starting point before moving to <a href=\"https:\/\/poeditor.com\/\">POEditor<\/a> to translate an app.<\/p>\n<h2 class=\"category business\" id=\"business\">Business and Marketing<\/h2>\n<p><a href=\"https:\/\/david-smith.org\/blog\/2025\/01\/10\/accomplish-one-thing\/\" class=\"link\" id=\"tcIGgoA\">Accomplish One Thing<\/a><\/p>\n<p>If you\u2019re struggling to get back into the swing of things this year, these wise words from <a href=\"https:\/\/mastodon.social\/@_Davidsmith\">David Smith<\/a> might help you:<\/p>\n<blockquote>\n<p>The goal here is not to make massive progress; it isn\u2019t about getting back up to full speed again, going from 0 to 100 miles\/hour in one swift step. It is about building up my working inertia again. Speed is useful, but inertia is powerful.<\/p>\n<\/blockquote>\n<h2 class=\"category finally\" id=\"finally\">And finally&#8230;<\/h2>\n<p>Are you a <a href=\"https:\/\/www.codingfont.com\/\">Fira Code or an Inconsolata<\/a>?<\/p>\n<p>I\u2019m a very happy <a href=\"https:\/\/www.monolisa.dev\/\">MonoLisa<\/a> user after purchasing it a few years ago. It\u2019s not in this quiz, and I\u2019m kinda glad! Imagine if it turns out I prefer one of the free fonts over the one I paid for. I\u2019ll live in blissful ignorance, thank you very much. \ud83d\ude02<\/p>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>The tools and setup I have for writing and distributing this newsletter have changed very infrequently over the 13 years and almost 700 issues since I started publishing it. I started in 2011 with some Markdown files, a Mailchimp account, and Jekyll. Then, in 2013\/2014, I decided I needed something more sophisticated. With a small [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11768],"tags":[15295,3554,15294,6039],"dealstore":[],"offerexpiration":[],"class_list":["post-22724","post","type-post","status-publish","format-standard","hentry","category-apple-2","tag-dev","tag-ios","tag-issue","tag-weekly"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Issue 694 \u2013 iOS Dev Weekly - Som2ny Network<\/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:\/\/fivemor.com\/?p=22724\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Issue 694 \u2013 iOS Dev Weekly - Som2ny Network\" \/>\n<meta property=\"og:description\" content=\"The tools and setup I have for writing and distributing this newsletter have changed very infrequently over the 13 years and almost 700 issues since I started publishing it. I started in 2011 with some Markdown files, a Mailchimp account, and Jekyll. Then, in 2013\/2014, I decided I needed something more sophisticated. With a small [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fivemor.com\/?p=22724\" \/>\n<meta property=\"og:site_name\" content=\"Som2ny Network\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-11T12:03:14+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fivemor.com\/?p=22724#article\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/?p=22724\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\"},\"headline\":\"Issue 694 \u2013 iOS Dev Weekly\",\"datePublished\":\"2025-01-11T12:03:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=22724\"},\"wordCount\":1076,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"keywords\":[\"Dev\",\"iOS\",\"Issue\",\"Weekly\"],\"articleSection\":[\"Apple\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fivemor.com\/?p=22724#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fivemor.com\/?p=22724\",\"url\":\"https:\/\/fivemor.com\/?p=22724\",\"name\":\"Issue 694 \u2013 iOS Dev Weekly - Som2ny Network\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/#website\"},\"datePublished\":\"2025-01-11T12:03:14+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fivemor.com\/?p=22724#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fivemor.com\/?p=22724\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fivemor.com\/?p=22724#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fivemor.com\/?bp_activities=1\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Issue 694 \u2013 iOS Dev Weekly\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fivemor.com\/#website\",\"url\":\"https:\/\/fivemor.com\/\",\"name\":\"Som2ny Network\",\"description\":\"Daily Deals\",\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fivemor.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/fivemor.com\/#organization\",\"name\":\"Som2ny Network\",\"url\":\"https:\/\/fivemor.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"width\":300,\"height\":86,\"caption\":\"Som2ny Network\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/fivemor.com\"],\"url\":\"https:\/\/fivemor.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Issue 694 \u2013 iOS Dev Weekly - Som2ny Network","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:\/\/fivemor.com\/?p=22724","og_locale":"en_US","og_type":"article","og_title":"Issue 694 \u2013 iOS Dev Weekly - Som2ny Network","og_description":"The tools and setup I have for writing and distributing this newsletter have changed very infrequently over the 13 years and almost 700 issues since I started publishing it. I started in 2011 with some Markdown files, a Mailchimp account, and Jekyll. Then, in 2013\/2014, I decided I needed something more sophisticated. With a small [&hellip;]","og_url":"https:\/\/fivemor.com\/?p=22724","og_site_name":"Som2ny Network","article_published_time":"2025-01-11T12:03:14+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fivemor.com\/?p=22724#article","isPartOf":{"@id":"https:\/\/fivemor.com\/?p=22724"},"author":{"name":"admin","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371"},"headline":"Issue 694 \u2013 iOS Dev Weekly","datePublished":"2025-01-11T12:03:14+00:00","mainEntityOfPage":{"@id":"https:\/\/fivemor.com\/?p=22724"},"wordCount":1076,"commentCount":2,"publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"keywords":["Dev","iOS","Issue","Weekly"],"articleSection":["Apple"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fivemor.com\/?p=22724#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fivemor.com\/?p=22724","url":"https:\/\/fivemor.com\/?p=22724","name":"Issue 694 \u2013 iOS Dev Weekly - Som2ny Network","isPartOf":{"@id":"https:\/\/fivemor.com\/#website"},"datePublished":"2025-01-11T12:03:14+00:00","breadcrumb":{"@id":"https:\/\/fivemor.com\/?p=22724#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fivemor.com\/?p=22724"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fivemor.com\/?p=22724#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fivemor.com\/?bp_activities=1"},{"@type":"ListItem","position":2,"name":"Issue 694 \u2013 iOS Dev Weekly"}]},{"@type":"WebSite","@id":"https:\/\/fivemor.com\/#website","url":"https:\/\/fivemor.com\/","name":"Som2ny Network","description":"Daily Deals","publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fivemor.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/fivemor.com\/#organization","name":"Som2ny Network","url":"https:\/\/fivemor.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","width":300,"height":86,"caption":"Som2ny Network"},"image":{"@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","caption":"admin"},"sameAs":["https:\/\/fivemor.com"],"url":"https:\/\/fivemor.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/22724","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=22724"}],"version-history":[{"count":0,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/22724\/revisions"}],"wp:attachment":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=22724"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=22724"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=22724"},{"taxonomy":"dealstore","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fdealstore&post=22724"},{"taxonomy":"offerexpiration","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fofferexpiration&post=22724"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}