<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://karan-pal.com</loc>
<lastmod>2026-08-01T11:33:41.169Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://karan-pal.com/work</loc>
<lastmod>2026-08-01T11:33:41.169Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://karan-pal.com/category/general</loc>
<lastmod>2026-08-01T11:33:41.169Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://karan-pal.com/category/ios</loc>
<lastmod>2026-08-01T11:33:41.169Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://karan-pal.com/category/ai</loc>
<lastmod>2026-08-01T11:33:41.169Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://karan-pal.com/category/trading</loc>
<lastmod>2026-08-01T11:33:41.169Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/leaving-medium</loc>
<lastmod>2026-07-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/data-is-the-model-the-most-ignored-part-of-ai</loc>
<lastmod>2026-01-17T07:31:58.834Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/ai-on-apple-platforms-what-runs-where-and-why</loc>
<lastmod>2026-01-16T12:22:12.727Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/how-to-use-geometryreader-in-swiftui-without-breaking-everything</loc>
<lastmod>2025-12-12T06:52:32.501Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/stop-using-just-button-better-ways-to-handle-taps-in-swiftui</loc>
<lastmod>2025-12-11T06:46:46.441Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/how-to-actually-understand-swiftui-layout-not-just-copy-paste</loc>
<lastmod>2025-12-10T06:52:12.042Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/stop-using-default-text-better-typography-for-swiftui-apps</loc>
<lastmod>2025-12-09T06:52:33.523Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/how-to-make-swiftui-apps-look-good-without-being-a-designer</loc>
<lastmod>2025-12-04T06:32:12.486Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/how-to-use-sf-symbols-in-swiftui-without-fighting-the-docs</loc>
<lastmod>2025-12-03T06:32:12.042Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swift-async-let-the-one-keyword-that-makes-your-app-3x-faster</loc>
<lastmod>2025-12-02T07:02:17.336Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swift-for-await-loops-handle-real-time-data-without-the-chaos</loc>
<lastmod>2025-12-01T07:02:11.809Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/how-to-convert-callback-hell-to-modern-async-await-in-swift</loc>
<lastmod>2025-11-28T07:02:37.054Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swift-actors-how-to-fix-data-races-in-your-ios-apps</loc>
<lastmod>2025-11-26T17:09:26.658Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swift-tasks-the-complete-guide-that-separates-hobbyists-from-professionals</loc>
<lastmod>2025-10-14T07:01:48.775Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/master-structured-concurrency-in-20-minutes-or-keep-writing-buggy-async-code</loc>
<lastmod>2025-10-13T07:01:55.409Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swift-protocols-that-look-the-same-but-do-completely-different-things</loc>
<lastmod>2025-10-10T07:02:08.607Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/learn-swift-generics-in-15-minutes-or-keep-writing-duplicate-code-forever</loc>
<lastmod>2025-10-08T08:23:49.583Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/the-swift-string-quirks-that-separate-juniors-from-seniors-complete-guide-2025</loc>
<lastmod>2025-10-07T07:01:55.414Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/arrays-in-swift-the-core-building-block-of-dsa</loc>
<lastmod>2025-10-06T07:01:54.201Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/the-swift-is-vs-as-vs-as-decision-that-separates-pros-from-beginners</loc>
<lastmod>2025-10-02T07:02:36.055Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/why-senior-ios-developers-always-use-lazy-properties-and-you-should-too</loc>
<lastmod>2025-10-01T07:01:56.852Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/the-ios-interview-question-that-exposes-junior-developers-every-time</loc>
<lastmod>2025-09-30T07:10:51.473Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/why-your-swift-enums-look-amateur-and-how-to-fix-them-in-15-minutes</loc>
<lastmod>2025-09-24T07:01:50.969Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/the-big-o-secret-that-separates-junior-from-senior-ios-developers</loc>
<lastmod>2025-09-23T09:01:53.743Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/i-rewrote-500-lines-of-swift-code-with-just-3-functions</loc>
<lastmod>2025-09-23T07:02:10.073Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/why-every-ios-developer-fails-at-dsa-and-the-roadmap-that-fixes-everything</loc>
<lastmod>2025-09-22T09:01:49.126Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/the-extension-trick-that-transforms-junior-code-into-senior-level-architecture</loc>
<lastmod>2025-09-22T07:01:46.712Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swift-computed-vs-stored-properties-why-90-of-developers-choose-wrong-complete-guide-2025</loc>
<lastmod>2025-09-18T07:01:46.914Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/the-swift-property-trick-that-makes-your-code-self-healing</loc>
<lastmod>2025-09-17T07:01:48.629Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/this-one-swift-feature-will-change-how-you-write-code-forever</loc>
<lastmod>2025-09-16T07:02:01.276Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swift-functions-the-parameter-tricks-that-separate-junior-from-senior-ios-developers</loc>
<lastmod>2025-09-11T07:49:51.755Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swift-loops-in-2025-the-hidden-performance-tricks-that-will-make-your-code-10x-faster</loc>
<lastmod>2025-09-10T07:01:49.921Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/why-your-swift-app-is-secretly-eating-memory-and-how-arc-is-both-saving-and-destroying-you</loc>
<lastmod>2025-09-09T07:01:40.378Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/i-spent-5-years-debugging-swift-apps-wrong-heres-what-i-wish-i-knew-day-one</loc>
<lastmod>2025-09-04T08:06:03.276Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swift-type-aliases-the-secret-weapon-senior-developers-use-for-cleaner-code</loc>
<lastmod>2025-09-03T07:17:40.511Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/7-swift-string-interpolation-tricks-that-will-make-you-a-better-developer</loc>
<lastmod>2025-09-02T08:35:48.746Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/master-swift-switch-statements-pattern-matching-value-binding-advanced-techniques-that</loc>
<lastmod>2025-08-25T06:36:17.326Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swift-enums-in-2025-associated-values-pattern-matching-advanced-techniques-every-ios-developer</loc>
<lastmod>2025-08-21T06:49:47.524Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/ios-live-activities-complete-guide-focusflow-part-2</loc>
<lastmod>2025-08-18T08:08:33.082Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/how-to-build-your-first-ios-widget-with-swiftui-focusflow-part-1</loc>
<lastmod>2025-08-12T07:33:20.772Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/ios-widget-guide-everything-beginners-need-to-know-about-widgetkit-in-2025</loc>
<lastmod>2025-08-06T07:35:15.662Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/understanding-sendable-swift-6-changes-interview-prep-and-real-examples</loc>
<lastmod>2025-08-05T08:14:38.920Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/mainactor-in-swift-6-2-complete-guide-to-thread-safety-new-features-and-2025-best-practices</loc>
<lastmod>2025-08-04T11:37:28.181Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/apple-ml-and-ai-for-developers-in-2025-foundation-models-smart-reply-and-vision-updates</loc>
<lastmod>2025-07-31T07:17:02.520Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swift-codable-decodable-encodable-in-2025-everything-you-need-to-know</loc>
<lastmod>2025-07-28T07:31:36.665Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/17-xcode-hacks-every-ios-developer-should-know-in-2025</loc>
<lastmod>2025-07-24T06:47:53.976Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swiftui-environment-complete-guide-system-values-custom-keys-best-practices-2025</loc>
<lastmod>2025-07-21T08:31:13.717Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/how-to-find-time-to-learn-ios-as-a-busy-student-or-full-time-developer</loc>
<lastmod>2025-07-18T13:55:02.442Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swiftui-list-complete-guide-move-delete-pin-and-custom-actions-in-2025</loc>
<lastmod>2025-07-16T11:48:08.418Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/build-custom-transitions-in-swiftui-guide-to-navigation-zoom-detents-custom-animations-in-views</loc>
<lastmod>2025-07-14T09:38:57.841Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swiftui-design-system-a-complete-guide-to-building-consistent-ui-components-2025</loc>
<lastmod>2025-07-10T13:57:26.195Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/mvi-architecture-in-swiftui-a-complete-guide-to-model-view-intent-pattern-2025</loc>
<lastmod>2025-07-09T09:17:47.622Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/building-redux-from-scratch-in-swiftui-production-ready-implementation</loc>
<lastmod>2025-07-05T12:28:04.374Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/understanding-redux-for-ios-beyond-the-web-hype</loc>
<lastmod>2025-07-04T06:35:11.568Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/redux-in-swiftui-when-web-patterns-meet-apples-declarative-world</loc>
<lastmod>2025-07-03T14:57:51.754Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swiftui-state-machines-explained-manage-complex-ui-states-the-right-way</loc>
<lastmod>2025-07-03T10:19:54.307Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swiftui-mastery-series-by-karan-pal-2025-edition</loc>
<lastmod>2025-07-02T14:29:36.465Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/pro-creating-custom-property-wrappers-in-swift-reduce-boilerplate-code</loc>
<lastmod>2025-07-02T11:17:04.636Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/make-your-swiftui-buttons-interactive-animation-guide-for-ios-developers</loc>
<lastmod>2025-07-01T14:05:02.093Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swiftui-shimmer-loading-animation-complete-implementation-guide</loc>
<lastmod>2025-07-01T10:37:39.777Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swiftui-navigation-with-enums-advanced-deep-linking-and-navigation-history</loc>
<lastmod>2025-07-01T05:32:54.447Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/how-to-customize-swiftui-tabbar-colors-icons-badges-and-animations</loc>
<lastmod>2025-06-30T07:50:34.820Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/building-a-smooth-sliding-sidebar-menu-a-k-a-drawer-in-swiftui-no-third-party-libraries</loc>
<lastmod>2025-06-29T07:25:33.693Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/how-to-create-and-customize-modal-sheets-in-swiftui</loc>
<lastmod>2025-06-28T12:45:19.293Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/master-resultbuilder-in-swift-advanced-patterns-production-guide</loc>
<lastmod>2025-06-28T08:27:26.130Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/building-your-own-dsl-with-resultbuilder-in-swift-html-builder</loc>
<lastmod>2025-06-28T06:32:41.888Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/demystifying-resultbuilder-the-magic-behind-swiftuis-dsl</loc>
<lastmod>2025-06-27T12:22:10.045Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swiftui-component-architecture-mastery-professional-styling-testing-performance-2025</loc>
<lastmod>2025-06-27T09:32:43.388Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swiftui-component-architecture-mastery-generic-components-advanced-state-management-2025</loc>
<lastmod>2025-06-27T05:31:53.973Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/how-to-build-reusable-swiftui-components-a-complete-2025-guide</loc>
<lastmod>2025-06-26T12:31:21.600Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/advanced-swift-package-management-dependencies-community-career-growth</loc>
<lastmod>2025-06-26T09:56:21.721Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swift-package-best-practices-structure-testing-publishing-2025-edition</loc>
<lastmod>2025-06-26T07:12:43.345Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/how-to-build-and-publish-swift-packages-turn-your-code-into-reusable-libraries-2025-edition</loc>
<lastmod>2025-06-26T05:32:41.196Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/cocoapods-vs-carthage-vs-swift-package-manager-spm-in-2025-which-one-should-ios-devs-use</loc>
<lastmod>2025-06-25T13:40:16.255Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/ios-snapshot-testing-complete-guide-for-uikit-and-swiftui-apps</loc>
<lastmod>2025-06-25T09:07:55.396Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/build-a-bulletproof-ios-networking-layer-that-works-across-all-environments</loc>
<lastmod>2025-06-24T13:43:04.153Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/how-to-set-up-multiple-environments-in-your-ios-app-dev-staging-prod-the-right-way</loc>
<lastmod>2025-06-24T06:57:58.518Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/ui-testing-a-swiftui-form-textfields-datepicker-toggles-and-validations-in-action</loc>
<lastmod>2025-06-23T11:38:06.666Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/ui-testing-in-swiftui-2025-guide-write-end-to-end-tests-for-reliable-ios-apps</loc>
<lastmod>2025-06-22T20:17:01.194Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/mastering-swiftui-drawing-build-animated-loaders-waves-and-custom-ui-with-shape-path-canvas</loc>
<lastmod>2025-06-22T11:08:04.414Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/protocol-oriented-vs-object-oriented-programming-in-swift-whats-better-and-when-to-use-each</loc>
<lastmod>2025-06-21T13:37:35.181Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/mastering-oop-in-swift-a-beginner-to-advanced-guide-to-object-oriented-programming</loc>
<lastmod>2025-06-21T11:42:03.550Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/protocol-oriented-programming-in-swift-explained-how-pop-works-why-it-matters</loc>
<lastmod>2025-06-21T08:06:52.010Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swiftui-lifecycle-in-2025-how-swiftui-ios-app-lifecycle-really-work-explained-clearly</loc>
<lastmod>2025-06-21T05:31:35.872Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/advanced-animations-in-swiftui-matchedgeometryeffect-timelineview-phaseanimator-beyond-2025</loc>
<lastmod>2025-06-20T13:04:48.923Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swiftui-animations-for-beginners-learn-with-simple-examples-2025-edition</loc>
<lastmod>2025-06-20T09:41:55.017Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swiftui-data-persistence-in-2025-swiftdata-core-data-appstorage-scenestorage-explained</loc>
<lastmod>2025-06-20T07:20:19.658Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swiftui-with-combine-real-time-data-publishers-subscribers-explained</loc>
<lastmod>2025-06-19T12:41:46.400Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swiftui-styling-guide-fonts-themes-dark-mode-why-order-matters</loc>
<lastmod>2025-06-19T10:22:59.879Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/building-forms-and-inputs-in-swiftui-textfields-pickers-toggles-more</loc>
<lastmod>2025-06-19T07:46:06.950Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/mvvm-in-swiftui-explained-build-scalable-testable-apps-with-clean-architecture</loc>
<lastmod>2025-06-19T06:32:37.186Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swiftui-navigation-navigationstack-deep-linking-and-tabview-explained</loc>
<lastmod>2025-06-19T05:32:37.146Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/mastering-swiftui-state-management-state-vs-binding-vs-observedobject-vs-stateobject-2025</loc>
<lastmod>2025-06-18T12:33:01.709Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swiftui-layout-guide-vstack-hstack-zstack-grids-explained-2025-edition</loc>
<lastmod>2025-06-18T08:08:58.480Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swiftui-for-beginners-in-2025-build-your-first-ios-app-step-by-step</loc>
<lastmod>2025-06-18T06:05:10.172Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swiftui-vs-uikit-in-2025-which-one-should-you-learn</loc>
<lastmod>2025-06-18T05:31:34.231Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/the-ultimate-ios-article-index-by-karan-pal</loc>
<lastmod>2025-06-17T14:58:16.123Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/test-driven-development-in-ios-benefits-challenges-and-is-it-worth-it</loc>
<lastmod>2025-06-17T12:55:55.063Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/unit-testing-in-swift-made-easy-a-beginners-guide-with-real-examples</loc>
<lastmod>2025-06-17T11:10:41.165Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/how-to-refresh-expired-tokens-in-swift-with-urlsession-alamofire-moya-examples</loc>
<lastmod>2025-06-17T09:58:36.107Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/moya-vs-alamofire-vs-urlsession-in-swift-which-one-should-you-choose-and-why</loc>
<lastmod>2025-06-17T05:32:40.144Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/swift-urlprotocol-explained-in-3-minutes-with-real-example-for-testing</loc>
<lastmod>2025-06-16T15:48:19.765Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/urlsession-in-swift-build-a-clean-and-testable-networking-layer</loc>
<lastmod>2025-06-16T15:30:54.966Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/understanding-actors-in-swift-write-safer-concurrent-code-with-ease</loc>
<lastmod>2025-06-16T11:23:51.094Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/gcd-vs-operations-vs-swift-concurrency-made-easy-for-ios-engineers</loc>
<lastmod>2025-06-16T09:24:20.421Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/mastering-async-await-in-swift-advanced-patterns-cancellation-and-gotchas-part-3</loc>
<lastmod>2025-06-16T06:57:06.731Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/mastering-async-await-in-swift-real-world-examples-for-ios-developers-part-2</loc>
<lastmod>2025-06-16T06:04:57.144Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/why-demo-trading-success-doesnt-translate-to-real-money-profits</loc>
<lastmod>2025-06-15T23:30:03.791Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/mastering-async-await-in-swift-a-beginners-guide-to-modern-concurrency-part-1</loc>
<lastmod>2025-06-15T18:39:23.064Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/solid-principles-in-swift-made-easy-with-real-life-examples</loc>
<lastmod>2025-06-15T14:43:18.005Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/dependency-injection-in-swift-a-beginner-to-advanced-guide</loc>
<lastmod>2025-06-15T08:53:24.512Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/how-to-structure-a-scalable-ios-app-with-modular-architecture</loc>
<lastmod>2025-06-15T03:03:22.544Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/understanding-clean-architecture-in-ios-a-beginners-guide</loc>
<lastmod>2025-06-15T02:08:30.082Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/what-is-forex-and-how-does-it-work-explained-like-youre-12</loc>
<lastmod>2025-06-14T16:34:11.850Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/mvc-vs-mvvm-vs-viper-in-ios-which-architecture-should-you-choose-in-2025</loc>
<lastmod>2025-06-14T11:15:36.231Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/secure-coding-in-swift-how-to-protect-ios-apps-with-ssl-pinning-keychain-and-obfuscation</loc>
<lastmod>2025-06-13T09:47:14.389Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/when-swift-code-goes-rogue-race-conditions-vs-deadlocks-explained</loc>
<lastmod>2025-06-13T02:32:36.066Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/how-forex-mentors-make-more-teaching-than-trading-oops-did-i-say-that</loc>
<lastmod>2025-06-12T16:32:19.750Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/is-forex-trading-a-hoax-heres-the-brutal-truth</loc>
<lastmod>2025-06-08T17:14:03.213Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/want-your-ios-app-to-show-live-updates-on-the-lock-screen-heres-the-secret-sauce</loc>
<lastmod>2025-06-06T13:24:35.933Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/why-im-creating-a-better-focus-app-because-freedom-didn-t-cut-it</loc>
<lastmod>2025-06-03T09:41:41.237Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/i-paused-my-coding-career-the-play-buttons-broken</loc>
<lastmod>2025-06-02T09:19:28.004Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/how-i-built-my-own-forex-trading-bot-and-why-i-trust-it-more-than-myself</loc>
<lastmod>2025-03-28T13:40:14.831Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/nine-months-of-forex-trading-heres-what-i-wish-i-d-known</loc>
<lastmod>2025-03-27T17:44:31.222Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://karan-pal.com/blog/i-tried-forex-trading-for-nine-months-and-heres-the-honest-truth</loc>
<lastmod>2025-03-27T13:55:30.792Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
