{"id":7026332,"date":"2026-08-04T05:54:14","date_gmt":"2026-08-04T05:54:14","guid":{"rendered":"https:\/\/peraltafinancing.com\/apple-2\/issue-760-ios-dev-weekly\/"},"modified":"2026-08-04T05:54:14","modified_gmt":"2026-08-04T05:54:14","slug":"issue-760-ios-dev-weekly","status":"publish","type":"post","link":"https:\/\/fivemor.com\/?p=7026332","title":{"rendered":"Issue 760 \u2013 iOS Dev Weekly"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p>Hello, iOS dev weekly subscribers \ud83d\udc4b<\/p>\n<p>I have a habit of opening a project to make one small change and ending up thinking about the architecture around it. Sometimes that\u2019s useful. Sometimes it means the small change is no longer small. That instinct is also why developer experience ends up as top priority for me. Good architecture and good tooling have something in common: when they work, it\u2019s hard to notice them. When they don\u2019t, everyone feels the friction.<\/p>\n<p>Over the last few issues, you\u2019ve met the new members of the editorial team: <a href=\"https:\/\/www.linkedin.com\/in\/alex1ong\/\">Alex Ozun<\/a>, <a href=\"https:\/\/www.linkedin.com\/in\/andyyhope\/\">Andyy Hope<\/a>, and <a href=\"https:\/\/www.linkedin.com\/in\/j2marin\/\">Juan Marin<\/a>. That makes me the last one to introduce myself. With that, our new editorial team is complete.<\/p>\n<p>Hello, I\u2019m <a href=\"https:\/\/www.linkedin.com\/in\/nikoloutsosk\/\">Konstantinos Nikoloutsos<\/a>, a Lead iOS Engineer based in Greece. The perspective I hope to bring to the newsletter is related to architecture, performance, and the tools that make our everyday work a little easier.<\/p>\n<p>I hope you\u2019re already in a summer mood or at least compiling from somewhere with decent air conditioning. Enjoy this week\u2019s issue! \u2600\ufe0f<\/p>\n<p class=\"attribution\">\u2013 Konstantinos Nikoloutsos<\/p>\n<p><a href=\"https:\/\/tickets.droidcon.com\/next.app26\/redeem?voucher=IOSDEVWEEKLY25\" class=\"link\" id=\"PohOSby\">swiftCon Discount Code for iOS Dev Weekly<\/a><\/p>\n<p>The <a href=\"https:\/\/www.nextappcon.com\/swiftcon\">swiftCon<\/a> agenda is almost here, and we can\u2019t wait to show you the full lineup. With 110+ talks and 120+ speakers from swiftCon alone, this is shaping up to be something special for the world\u2019s largest conference for mobile app developer conference in Berlin. To celebrate, we\u2019re continuing to offer an exclusive 25% discount code for iOS Dev Weekly readers. 50 fresh coupons have been generated, so be quick: enter voucher code <code>IOSDEVWEEKLY25<\/code> on the <a href=\"https:\/\/www.nextappcon.com\/\">next.app devCon home page<\/a> or use this <a href=\"https:\/\/tickets.droidcon.com\/next.app26\/redeem?voucher=IOSDEVWEEKLY25\">registration link<\/a>.<\/p>\n<h2 class=\"category news\" id=\"news\">News<\/h2>\n<p><a href=\"https:\/\/code.claude.com\/docs\/en\/desktop-ios-simulator\" class=\"link\" id=\"cIosSim\">Test iOS apps in the simulator with Claude Code Desktop [Beta]<\/a><\/p>\n<p>Claude Code Desktop can now build, launch, and test your app in an iOS Simulator pane right beside the conversation. You can watch Claude tap through a flow, take control of the same device yourself, or give parallel sessions their own simulators\u2026all without letting computer use take over your screen. The feature is in public beta on macOS for Pro, Max, and Team plans.<\/p>\n<h2 class=\"category code\" id=\"code\">Code<\/h2>\n<p><a href=\"https:\/\/azamsharp.com\/2026\/07\/16\/syncing-swiftdata-with-a-custom-backend-using-historyobserver.html\" class=\"link\" id=\"hOb4Syn\">Syncing SwiftData with a custom backend using HistoryObserver<\/a><\/p>\n<p>Offline-first apps are great until it\u2019s time to sync with a remote server. I remember wrestling with exactly this while working at Blueground, a real estate company with offline-first apps. <a href=\"https:\/\/www.linkedin.com\/in\/mohammad-azam-5537993\/\">Mohammad Azam<\/a> shows how iOS 27\u2019s new <code>HistoryObserver<\/code> can power a one way synchronization pipeline without scattering sync logic throughout the app. It isn\u2019t a complete bidirectional sync engine, but it\u2019s a solid foundation for building one.<\/p>\n<hr\/>\n<p><a href=\"https:\/\/nilcoalescing.com\/blog\/GeometryCompositingAndDrawingGroupsInSwiftUI\/\" class=\"link\" id=\"gCdP7xK\">Geometry, compositing and drawing groups in SwiftUI<\/a><\/p>\n<p>We\u2019ve all stared at a SwiftUI animation and wondered why it isn\u2019t behaving as expected. <code>geometryGroup()<\/code>, <code>compositingGroup()<\/code>, and <code>drawingGroup()<\/code> are also easy APIs to confuse, so <a href=\"https:\/\/x.com\/natpanferova\">Natalia Panferova<\/a> gives us a clear mental model for what each one actually does, backed by practical visual examples.<\/p>\n<hr\/>\n<p><a href=\"https:\/\/antongubarenko.substack.com\/p\/ios-27-uibarminimization\" class=\"link\" id=\"uBar27M\">iOS 27: UIBarMinimization<\/a><\/p>\n<p>Tired of observing scroll views and calculating offsets by hand? iOS 27+ new <code>UIBarMinimization<\/code> handles the tedious part for you. <a href=\"https:\/\/substack.com\/@antongubarenko\">Anton Gubarenko<\/a> explains how to control when the navigation bar minimizes, when it returns, and whether the safe area follows the transition, in both UIKit and SwiftUI.<\/p>\n<h2 class=\"category videos\" id=\"videos\">Videos<\/h2>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=F7cvw2_m_b4&amp;list=PLTfL_qxsqzKw\" class=\"link\" id=\"pIos26V\">What does a \u201cperformant\u201d iOS app actually mean in 2026?<\/a><\/p>\n<p>Going for a walk alone or with company \ud83d\udc15? This is a good one for the headphones. Staff iOS engineers Bogdan Poplauschi and Artem Mirzabekian talk about performance, SwiftUI, best practices, and the architectural problems that emerge in large-scale projects.<\/p>\n<hr\/>\n<p><a href=\"https:\/\/developer.apple.com\/videos\/play\/wwdc2026\/258\/\" class=\"link\" id=\"pFvI8nS\">What\u2019s new in Xcode 27<\/a><\/p>\n<p>Yes, the new Delete Derived Data button in Xcode suprised me, but it wasn\u2019t the only thing. Device Hub gives us a clearer look at where Apple wants development to go, and Instruments keeps getting better at helping us diagnose performance problems. Xcode 27 is quickly becoming one of my favorite releases.<\/p>\n<p><a href=\"https:\/\/x.com\/claudeai\/status\/2079595988998554047\" class=\"link\" id=\"rSk7Cld\">New in Claude Cowork: Teach Claude a skill<\/a><\/p>\n<p>Anthropic has added a new way to create a skill: record your screen and talk through a task as you complete it, and Claude turns the demonstration into a reusable workflow. It is available in the Claude desktop app for Pro, Max, and Team plans.<\/p>\n<hr\/>\n<p><a href=\"https:\/\/swiftrocks.com\/a-system-prompt-to-get-ai-to-stop-pretending-to-be-human\" class=\"link\" id=\"rSk7Cld\">Make AI talk without human social patterns<\/a><\/p>\n<p><a href=\"https:\/\/x.com\/rockbruno_\">Bruno Rocha<\/a> of SwiftRocks shares a system prompt designed to remove fake human mannerisms from AI responses and make them more direct. It has two goals: favour conciseness over simulated human behaviour, and encourage the model to describe what it actually does. For example, saying \u201cthe algorithm predicted\u201d instead of \u201cI think\u201d.<\/p>\n<h2 class=\"category finally\" id=\"finally\">And finally&#8230;<\/h2>\n<p><a href=\"https:\/\/9to5mac.com\/2026\/07\/21\/apple-just-improved-testflight-for-users-with-a-lot-of-beta-apps\/\" class=\"link\" id=\"tfSrch4\">Apple just improved TestFlight for users with a lot of beta apps<\/a><\/p>\n<p>TestFlight 4.3 finally adds search for those of us juggling more beta apps than we can remember. You\u2019ll find it along the bottom on iPhone and at the top of the sidebar on Mac. It\u2019s a small addition, but a long-overdue one for frequent beta testers.<\/p>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Hello, iOS dev weekly subscribers \ud83d\udc4b I have a habit of opening a project to make one small change and ending up thinking about the architecture around it. Sometimes that\u2019s useful. Sometimes it means the small change is no longer small. That instinct is also why developer experience ends up as top priority for me. [&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-7026332","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 760 \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=7026332\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Issue 760 \u2013 iOS Dev Weekly - Som2ny Network\" \/>\n<meta property=\"og:description\" content=\"Hello, iOS dev weekly subscribers \ud83d\udc4b I have a habit of opening a project to make one small change and ending up thinking about the architecture around it. Sometimes that\u2019s useful. Sometimes it means the small change is no longer small. That instinct is also why developer experience ends up as top priority for me. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fivemor.com\/?p=7026332\" \/>\n<meta property=\"og:site_name\" content=\"Som2ny Network\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-04T05:54: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=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fivemor.com\/?p=7026332#article\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/?p=7026332\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\"},\"headline\":\"Issue 760 \u2013 iOS Dev Weekly\",\"datePublished\":\"2026-08-04T05:54:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=7026332\"},\"wordCount\":812,\"commentCount\":0,\"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=7026332#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fivemor.com\/?p=7026332\",\"url\":\"https:\/\/fivemor.com\/?p=7026332\",\"name\":\"Issue 760 \u2013 iOS Dev Weekly - Som2ny Network\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/#website\"},\"datePublished\":\"2026-08-04T05:54:14+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fivemor.com\/?p=7026332#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fivemor.com\/?p=7026332\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fivemor.com\/?p=7026332#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fivemor.com\/?bp_activities=1\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Issue 760 \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 760 \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=7026332","og_locale":"en_US","og_type":"article","og_title":"Issue 760 \u2013 iOS Dev Weekly - Som2ny Network","og_description":"Hello, iOS dev weekly subscribers \ud83d\udc4b I have a habit of opening a project to make one small change and ending up thinking about the architecture around it. Sometimes that\u2019s useful. Sometimes it means the small change is no longer small. That instinct is also why developer experience ends up as top priority for me. [&hellip;]","og_url":"https:\/\/fivemor.com\/?p=7026332","og_site_name":"Som2ny Network","article_published_time":"2026-08-04T05:54:14+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fivemor.com\/?p=7026332#article","isPartOf":{"@id":"https:\/\/fivemor.com\/?p=7026332"},"author":{"name":"admin","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371"},"headline":"Issue 760 \u2013 iOS Dev Weekly","datePublished":"2026-08-04T05:54:14+00:00","mainEntityOfPage":{"@id":"https:\/\/fivemor.com\/?p=7026332"},"wordCount":812,"commentCount":0,"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=7026332#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fivemor.com\/?p=7026332","url":"https:\/\/fivemor.com\/?p=7026332","name":"Issue 760 \u2013 iOS Dev Weekly - Som2ny Network","isPartOf":{"@id":"https:\/\/fivemor.com\/#website"},"datePublished":"2026-08-04T05:54:14+00:00","breadcrumb":{"@id":"https:\/\/fivemor.com\/?p=7026332#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fivemor.com\/?p=7026332"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fivemor.com\/?p=7026332#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fivemor.com\/?bp_activities=1"},{"@type":"ListItem","position":2,"name":"Issue 760 \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\/7026332","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=7026332"}],"version-history":[{"count":0,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/7026332\/revisions"}],"wp:attachment":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7026332"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7026332"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7026332"},{"taxonomy":"dealstore","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fdealstore&post=7026332"},{"taxonomy":"offerexpiration","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fofferexpiration&post=7026332"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}