{"@attributes":{"version":"2.0"},"channel":{"title":"Emerge Tools Blog","link":"https:\/\/www.emergetools.com\/blog","description":"The Emerge blog is dedicated to exploring the latest advancements and trends in mobile app development. From the latest in mobile technology to cutting-edge optimization strategies, we cover it all. Stay up-to-date with our informative articles, thought-provoking analysis, and engaging discussions that delve into the most pressing issues in the world of mobile app performance.","language":"en","lastBuildDate":"Jul 08 2025 16:00:00 GMT","item":[{"guid":"https:\/\/blog.sentry.io\/monitor-reduce-mobile-app-size-analysis-early-access\/","title":"Monitor and reduce your mobile app size in Sentry","link":"https:\/\/blog.sentry.io\/monitor-reduce-mobile-app-size-analysis-early-access\/","description":"Size Analysis is now available in Sentry Early Access. ","pubDate":"Nov 06 2025 16:00:00 GMT"},{"guid":"https:\/\/blog.sentry.io\/an-open-source-sdk-for-finding-dead-code\/","title":"An open-source SDK for finding dead code","link":"https:\/\/blog.sentry.io\/an-open-source-sdk-for-finding-dead-code\/","description":"A new open source tool to find dead code for iOS and Android apps. ","pubDate":"Jul 08 2025 16:00:00 GMT"},{"guid":"https:\/\/blog.sentry.io\/open-source-tool-speed-up-ios-app-launch\/","title":"An open source tool to speed up iOS app launch","link":"https:\/\/blog.sentry.io\/open-source-tool-speed-up-ios-app-launch\/","description":"A new open source tool to generate order files for iOS apps. ","pubDate":"23 Jun 2025 16:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/emerge-tools-is-joining-sentry","title":"Emerge Tools is joining Sentry","link":"https:\/\/www.emergetools.com\/blog\/posts\/emerge-tools-is-joining-sentry","description":"Emerge Tools is joining Sentry to build the best mobile tooling in the world.","pubDate":"6 May 2025 13:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/april-2025","title":"Emerge's Bits and Bytes: April 2025","link":"https:\/\/www.emergetools.com\/newsletter\/april-2025","description":"Hermes bytecode stripping, Custom Precision for Android, and more...","pubDate":"30 Apr 2025 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/march-2025","title":"Emerge's Bits and Bytes: March 2025","link":"https:\/\/www.emergetools.com\/newsletter\/march-2025","description":"Snapshot UI updates, Gradle Plugin Update, Tinder Case Study, T-Life breakdown...","pubDate":"31 Mar 2025 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/february-2025","title":"Emerge's Bits and Bytes: February 2025","link":"https:\/\/www.emergetools.com\/newsletter\/february-2025","description":"Hacker News on the App Store, module attribution for app clips, Binance breakdown...","pubDate":"28 Feb 2025 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/the-emerge-cli","title":"The Emerge CLI","link":"https:\/\/www.emergetools.com\/blog\/posts\/the-emerge-cli","description":"Detailing the Emerge CLI, a new tool for mobile developers to integrate Emerge into their workflow.","pubDate":"6 Feb 2025 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/january-2025","title":"Emerge's Bits and Bytes: January 2025","link":"https:\/\/www.emergetools.com\/newsletter\/january-2025","description":"Build Distribution for free, Hacker News iOS beta, UBS banking app analysis...","pubDate":"31 Jan 2025 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/december-2024","title":"Emerge's Bits and Bytes: December 2024","link":"https:\/\/www.emergetools.com\/newsletter\/december-2024","description":"End of year recap, Bring Your Own Snapshots, Intesa Sanpaolo app analysis...","pubDate":"20 Dec 2024 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/bring-your-own-snapshots","title":"Bring Your Own Snapshots","link":"https:\/\/www.emergetools.com\/blog\/posts\/bring-your-own-snapshots","description":"How to upload any images to Emerge's Snapshots","pubDate":"16 Dec 2024 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/openai-on-mobile-development-previews-and-snapshot-testing","title":"OpenAI on Mobile Development, Previews, & Snapshot Testing","link":"https:\/\/www.emergetools.com\/blog\/posts\/openai-on-mobile-development-previews-and-snapshot-testing","description":"A deep dive into how OpenAI approaches mobile development, previews, and snapshot testing in their mobile apps","pubDate":"10 Dec 2024 19:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/unit-test-xcode-previews","title":"Enhance Xcode Previews with Unit Test Coverage","link":"https:\/\/www.emergetools.com\/blog\/posts\/unit-test-xcode-previews","description":"Enhance Xcode Previews with Unit Test Coverage","pubDate":"5 Dec 2024 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/november-2024","title":"Emerge's Bits and Bytes: November 2024","link":"https:\/\/www.emergetools.com\/newsletter\/november-2024","description":"Various Reaper improvements, Snapshot Glossary, Order File improvements, Calling hidden Swift functions...","pubDate":"26 Nov 2024 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/calling-hidden-swift-functions","title":"Calling Hidden Swift Functions","link":"https:\/\/www.emergetools.com\/blog\/posts\/calling-hidden-swift-functions","description":"Apple frameworks hide some public functions through the SPI, this post reveals how to find and use them in your projects","pubDate":"25 Nov 2024 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/october-2024","title":"Emerge's Bits and Bytes: October 2024","link":"https:\/\/www.emergetools.com\/newsletter\/october-2024","description":"Introducing Build Distribution, Snapshot History, Preview Driven Development, Proton Deep Dive...","pubDate":"31 Oct 2024 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/preview-driven-development","title":"Preview Driven Development","link":"https:\/\/www.emergetools.com\/blog\/posts\/preview-driven-development","description":"How preview driven development can help you make better apps","pubDate":"30 Oct 2024 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/deep-dives\/proton-vpn","title":"Deep Dive: Proton VPN","link":"https:\/\/www.emergetools.com\/deep-dives\/proton-vpn","description":"Emerge Tools analysis of Proton VPN app size changes","pubDate":"24 Oct 2024 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/are-android-apps-really-that-much-smaller-than-ios","title":"Are Android apps THAT much smaller than iOS?","link":"https:\/\/www.emergetools.com\/blog\/posts\/are-android-apps-really-that-much-smaller-than-ios","description":"An in-depth analysis of Android vs. iOS app sizes and why Android apps might be larger than they appear","pubDate":"10 Oct 2024 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/september-2024","title":"Emerge's Bits and Bytes: September 2024","link":"https:\/\/www.emergetools.com\/newsletter\/september-2024","description":"Our Hacker News app launch, Droidcon NY 2024, macOS Snapshots, the Panels wallpaper app...","pubDate":"30 Sept 2024 17:15:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/the-memory-leak-an-xcode-detective-story","title":"The Memory Leak: An Xcode Detective Story","link":"https:\/\/www.emergetools.com\/blog\/posts\/the-memory-leak-an-xcode-detective-story","description":"A deep-dive into debugging on iOS","pubDate":"11 Sep 2024 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/emerge-joining-open-source-pledge","title":"Emerge Tools Joins the Open Source Pledge","link":"https:\/\/www.emergetools.com\/blog\/posts\/emerge-joining-open-source-pledge","description":"Emerge Tools is proud to join the Open Source Pledge, supporting the projects that make our work possible.","pubDate":"6 Sep 2024 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/open-sourcing-emerge-tools-hackernews-app","title":"Dogfooding Emerge Tools: Open-sourcing an Android Hacker News App","link":"https:\/\/www.emergetools.com\/blog\/posts\/announcing-emerge-tools-hackernews-app","description":"Introducing our new open-source Hacker News client for Android, built to dogfood Emerge Tools\n                products and showcase best practices in Android development.\n            ","pubDate":"4 Sep 2024 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/august-2024","title":"Emerge's Bits and Bytes: August 2024","link":"https:\/\/www.emergetools.com\/newsletter\/august-2024","description":"One year of Bits and Bytes, network monitoring, and finding dead code in a dead app...","pubDate":"30 Aug 2024 19:15:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/deep-dives\/apollo","title":"Deep Dive: Apollo","link":"https:\/\/www.emergetools.com\/deep-dives\/apollo","description":"Using Reaper to find out how much dead code is in Apollo","pubDate":"16 Aug 2024 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/july-2024","title":"Emerge's Bits and Bytes: July 2024","link":"https:\/\/www.emergetools.com\/newsletter\/july-2024","description":"Mobile Mahjong, Reaper on Android, automatically optimize images \ud83d\udcda...","pubDate":"31 July 2024 15:45:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/swift-async-await-the-full-toolkit","title":"Async await in Swift: The Full Toolkit","link":"https:\/\/www.emergetools.com\/blog\/posts\/swift-async-await-the-full-toolkit","description":"Get a full understanding of everything Swift concurrency has to offer.","pubDate":"22 July 2024 16:25:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/june-2024","title":"Emerge's Bits and Bytes: June 2024","link":"https:\/\/www.emergetools.com\/newsletter\/june-2024","description":"New Size Analysis Insights, Compose Preview Parameters, and SwiftData vs.\n                Realm \u2696\ufe0f...","pubDate":"27 June 2024 20:45:00 GMT"},{"guid":"\n                https:\/\/www.emergetools.com\/blog\/posts\/make-your-ios-app-smaller-with-dynamic-frameworks","title":"SwiftData vs Realm: Performance Comparison","link":"\n                https:\/\/www.emergetools.com\/blog\/posts\/make-your-ios-app-smaller-with-dynamic-frameworks","description":"Benchmarking the performance of SwiftData vs. Realm to help you decide on\n                your persistence framework.","pubDate":"20 Jun 2024 17:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/may-2024","title":"Emerge's Bits and Bytes: May 2024","link":"https:\/\/www.emergetools.com\/newsletter\/may-2024","description":"Open Source and Indie tiers, Android Snapshots 1.0, and Rabbit R1 deep dive\n                \ud83d\udd2c...","pubDate":"30 May 2024 19:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/deep-dives\/rabbit-r1","title":"Deep Dive: Rabbit R1","link":"https:\/\/www.emergetools.com\/deep-dives\/rabbit-r1","description":"A deep dive into the Rabbit R1 APK","pubDate":"2 May 2024 21:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/april-2024","title":"Emerge's Bits and Bytes: April 2024","link":"https:\/\/www.emergetools.com\/newsletter\/april-2024","description":"ReaperAI, publicly shareable links, and Deep Dish Swift \ud83c\udf55...","pubDate":"30 Apr 2024 16:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/march-2024","title":"Emerge's Bits and Bytes: March 2024","link":"https:\/\/www.emergetools.com\/newsletter\/march-2024","description":"Performance Profiles, Emerge gets a facelift, and folklore...","pubDate":"28 Mar 2024 19:00:00 GMT"},{"guid":"\n                https:\/\/www.emergetools.com\/blog\/posts\/make-your-ios-app-smaller-with-dynamic-frameworks","title":"Make Your iOS App Smaller with Dynamic Frameworks","link":"\n                https:\/\/www.emergetools.com\/blog\/posts\/make-your-ios-app-smaller-with-dynamic-frameworks","description":"How to make your iOS apps smaller using Dynamic Frameworks","pubDate":"20 Mar 2024 18:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/deep-dives\/general-motors","title":"App Deep Dive: General Motors","link":"https:\/\/www.emergetools.com\/deep-dives\/general-motors","description":"Deep dive into the how General Motors builds their apps","pubDate":"4 Mar 2024 20:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/february-2024","title":"Emerge's Bits and Bytes: February 2024","link":"https:\/\/www.emergetools.com\/newsletter\/february-2024","description":"Reaper enhancements, Extraterrestrial life, and Apple commentary...","pubDate":"29 Feb 2024 19:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/how-to-use-variadic-view","title":"How to use VariadicView, SwiftUI's private View API","link":"https:\/\/www.emergetools.com\/blog\/posts\/how-to-use-variadic-view","description":"An overview of Variadic View in SwiftUI include a practical use case for\n                Emerge snapshot tests, and why it is safe to use this private API in production.","pubDate":"26 Feb 2024 20:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/glossary\/app-thinning","title":"Mobile Glossary: App Thinning","link":"https:\/\/www.emergetools.com\/glossary\/app-thinning","description":"An explanation of App Thinning in iOS development.","pubDate":"23 Feb 2023 17:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/deep-dives\/twitter-vs-x","title":"App Deep Dive: Twitter vs. X","link":"https:\/\/www.emergetools.com\/deep-dives\/twitter-vs-x","description":"Deep dive into the transition from Twitter to X.","pubDate":"22 Feb 2024 17:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/january-2024","title":"Emerge's Bits and Bytes: January 2024","link":"https:\/\/www.emergetools.com\/newsletter\/january-2024","description":"Reaper enhancements, Extraterrestrial life, and Apple commentary...","pubDate":"26 Jan 2024 20:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/deep-dives\/alltrails","title":"App Deep Dive: AllTrails","link":"https:\/\/www.emergetools.com\/deep-dives\/alltrails","description":"Deep dive into AllTrails, the 2023 iPhone app of the year winner. We look\n                at what changed in 2023 for iOS and Android.","pubDate":"24 Jan 2024 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/deep-dives\/acorns","title":"App Deep Dive: Acorns","link":"https:\/\/www.emergetools.com\/deep-dives\/acorns","description":"Deep dive into how the Acorns iOS app changed its architecture in 2023","pubDate":"03 Jan 2024 17:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/december-2023","title":"Emerge's Bits and Bytes: December 2023","link":"https:\/\/www.emergetools.com\/newsletter\/december-2023","description":"Emerge Tools newsletter for December 2023","pubDate":"22 Dec 2023 17:00:00 GMT"},{"guid":"\n                https:\/\/www.emergetools.com\/blog\/posts\/symbolicating-swiftui-and-any-apple-framework-part-2","title":"Symbolicating SwiftUI (and any Apple Framework), Part 2","link":"\n                https:\/\/www.emergetools.com\/blog\/posts\/symbolicating-swiftui-and-any-apple-framework-part-2","description":"How we managed to symbolicate SwiftUI crash logs.","pubDate":"12 Dec 2023 15:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/november-2023","title":"Emerge's Bits and Bytes: November 2023","link":"https:\/\/www.emergetools.com\/newsletter\/november-2023","description":"Emerge Tools newsletter for November 2023","pubDate":"16 Nov 2023 20:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/glossary\/swift-protocols","title":"Mobile Glossary: Swift Protocols","link":"https:\/\/www.emergetools.com\/glossary\/swift-protocols","description":"An explanation of Swift Protocols in iOS development.","pubDate":"24 Oct 2023 15:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/october-2023","title":"Emerge's Bits and Bytes: October 2023","link":"https:\/\/www.emergetools.com\/newsletter\/october-2023","description":"Emerge Tools newsletter for October 2023","pubDate":"12 Oct 2023 19:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/comparing-top-analytics-sdks-for-ios","title":"Comparing the Performance of the Top 6 Analytics SDKs for iOS","link":"https:\/\/www.emergetools.com\/newsletter\/september-2023","description":"Emerge Tools newsletter for Sweptember 2023Comparing the size and\n                performance impacts of the most popular analytics SDKs for iOS","pubDate":"4 Oct 2023 16:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/newsletter\/september-2023","title":"Emerge's Bits and Bytes: September 2023","link":"https:\/\/www.emergetools.com\/newsletter\/september-2023","description":"Emerge Tools newsletter for September 2023","pubDate":"13 Sep 2023 20:00:00 GMT"},{"guid":"\n                https:\/\/www.emergetools.com\/blog\/posts\/symbolicating-swiftui-and-any-apple-framework","title":"Symbolicating SwiftUI (and any Apple Framework)","link":"\n                https:\/\/www.emergetools.com\/blog\/posts\/symbolicating-swiftui-and-any-apple-framework","description":"How we managed to symbolicate SwiftUI crash logs.","pubDate":"7 Sep 2023 15:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/glossary\/fastlane","title":"Mobile Glossary: fastlane","link":"https:\/\/www.emergetools.com\/glossary\/fastlane","description":"An explanation of fastlane.","pubDate":"6 Sep 2023 15:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/deep-dives\/peacock","title":"App Deep Dive: Peacock","link":"https:\/\/www.emergetools.com\/deep-dives\/peacock","description":"Deep dive into the Peacock app and how changing from React Native to native\n                affected app performance.","pubDate":"17 Aug 2023 15:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/dead-code-detection-with-reaper","title":"Dead Code Detection With Reaper","link":"https:\/\/www.emergetools.com\/blog\/posts\/dead-code-detection-with-reaper","description":"An exploration of dead code in iOS apps and how runtime detection expands\n                the amount we can find.","pubDate":"10 Aug 2023 15:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/deep-dives\/candy-crush-saga","title":"App Deep Dive: Candy Crush Saga","link":"https:\/\/www.emergetools.com\/deep-dives\/candy-crush-saga","description":"Deep dive into the Candy Crush Saga app and the impact of having many files\n                on iOS","pubDate":"17 Jul 2023 15:30:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/deep-dives\/threads","title":"App Deep Dive: Threads","link":"https:\/\/www.emergetools.com\/deep-dives\/threads","description":"Deep dive into the how the Threads app was made.","pubDate":"10 Jul 2023 15:30:00 GMT"},{"guid":"\n                https:\/\/www.emergetools.com\/blog\/posts\/moving-from-cocoapods-to-swift-package-manager","title":"Moving ETTrace from CocoaPods to Swift Package Manager","link":"\n                https:\/\/www.emergetools.com\/blog\/posts\/moving-from-cocoapods-to-swift-package-manager","description":"How we built ETTrace with Swift Package Manager.","pubDate":"28 Jun 2023 11:00:00 GMT"},{"guid":"\n                https:\/\/www.emergetools.com\/blog\/posts\/ettrace-reliable-ios-profiling-with-flamecharts","title":"ETTrace: Reliable iOS Profiling With Flame Charts","link":"\n                https:\/\/www.emergetools.com\/blog\/posts\/ettrace-reliable-ios-profiling-with-flamecharts","description":"Remember this open source profiler the next time Instruments crashes.\n            ","pubDate":"27 Apr 2023 11:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/announcing-android-performance-testing","title":"announcing-android-performance-testing","link":"https:\/\/www.emergetools.com\/blog\/posts\/announcing-android-performance-testing","description":"Announcing Emerge's Android Performance Testing Suite - built to provide\n                meaningful, controllable testing results to mobile.\n            ","pubDate":"1 Feb 2023 15:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/glossary\/split-apks","title":"Mobile Glossary: Split APKs","link":"https:\/\/www.emergetools.com\/glossary\/split-apks","description":"An explanation of what Split APKs are and how they make Android apps\n                smaller.","pubDate":"31 Jan 2023 15:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/glossary\/ui-automator","title":"Mobile Glossary: UI Automator","link":"https:\/\/www.emergetools.com\/glossary\/ui-automator","description":"An explanation of UI Automator tests.","pubDate":"31 Jan 2023 15:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/how-order-files-speed-up-protocols","title":"How To Speed Up Swift By Ordering Conformances","link":"https:\/\/www.emergetools.com\/blog\/posts\/how-order-files-speed-up-protocols","description":"How to easily make the slowest operation in Swift ~20% faster with an order\n                file.\n            ","pubDate":"25 Jan 2023 11:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/glossary\/dynamic-frameworks","title":"Mobile Glossary: Dynamic Frameworks","link":"https:\/\/www.emergetools.com\/glossary\/dynamic-frameworks","description":"An explanation of dynamic frameworks in iOS development.","pubDate":"24 Jan 2023 15:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/glossary\/static-frameworks","title":"Mobile Glossary: Static Frameworks","link":"https:\/\/www.emergetools.com\/glossary\/static-frameworks","description":"An explanation of static frameworks in iOS development.","pubDate":"24 Jan 2023 15:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/glossary\/dyld","title":"Mobile Glossary: dyld","link":"https:\/\/www.emergetools.com\/glossary\/dyld","description":"An explanation of what the \"dynamic link editor\" (dyld) does in macOS and\n                iOS.","pubDate":"11 Jan 2023 15:00:00 GMT"},{"guid":"\n                https:\/\/www.emergetools.com\/blog\/posts\/static-vs-dynamic-frameworks-ios-discussion-chat-gpt","title":"Static vs Dynamic Frameworks on iOS \u2014 a discussion with ChatGPT","link":"\n                https:\/\/www.emergetools.com\/blog\/posts\/static-vs-dynamic-frameworks-ios-discussion-chat-gpt","description":"A detailed review of what ChatGPT thinks of Static vs. Dynamic Frameworks\n                on iOS with an examination of what it got right and wrong.\n            ","pubDate":"14 Dec 2022 13:27:00 GMT"},{"guid":"\n                https:\/\/www.emergetools.com\/blog\/posts\/how-xcode14-unintentionally-increases-app-size","title":"How Xcode 14 unintentionally increases app size","link":"\n                https:\/\/www.emergetools.com\/blog\/posts\/how-xcode14-unintentionally-increases-app-size","description":"Examining why some popular iOS apps suddenly got bigger after releasing\n                with Xcode 14.\n            ","pubDate":"10 Nov 2022 05:31:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/improve-popular-iOS-app-startup-times","title":"How 5 iOS apps could improve their startup time by an average of 28%","link":"https:\/\/www.emergetools.com\/blog\/posts\/improve-popular-iOS-app-startup-times","description":"A detailed look at the startup times for 5 popular apps from the App Store\n                and actionable\n                insights for how they can be improved.\n            ","pubDate":"14 Sep 2022 03:31:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/iOS16LaunchTime","title":"How iOS 16 makes your app launch faster","link":"https:\/\/www.emergetools.com\/blog\/posts\/iOS16LaunchTime","description":"WWDC22's state of the union promised to bring some big launch time\n                improvements","pubDate":"06 Jul 2022 00:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/DyldInterposing","title":"Code Injection with Dyld Interposing","link":"https:\/\/www.emergetools.com\/blog\/posts\/DyldInterposing","description":"Swizzling C functions in compiled iOS apps with dyld interposing.","pubDate":"24 May 2022 00:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/FasterAppStartupOrderFiles","title":"How Order Files Reduce App Startup Time","link":"https:\/\/www.emergetools.com\/blog\/posts\/FasterAppStartupOrderFiles","description":"An in depth look at how long it takes to read an app binary from disk, and\n                why order files make apps launch faster.","pubDate":"27 Jan 2022 00:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/CostOfAByte","title":"The Cost of a Byte","link":"https:\/\/www.emergetools.com\/blog\/posts\/CostOfAByte","description":"A summary of where energy is consumed when downloading an app and the\n                carbon footprint of downloads at scale.","pubDate":"06 Jan 2022 00:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/SwiftProtocolConformance","title":"The Surprising Cost of Protocol Conformances in Swift","link":"https:\/\/www.emergetools.com\/blog\/posts\/SwiftProtocolConformance","description":"A deep dive into the Swift runtime to see how protocol conformance checks\n                slow down post-main startup time as your binary size increases.","pubDate":"01 Dec 2021 00:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/iOS15LaunchTime","title":"How iOS 15 makes your app launch faster","link":"https:\/\/www.emergetools.com\/blog\/posts\/iOS15LaunchTime","description":"The most intriguing feature from WWDC21 was buried deep in the Xcode 13\n                release notes:","pubDate":"23 Jun 2021 00:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/SwiftReferenceTypes","title":"Why Swift Reference Types Are Bad for App Startup Time","link":"https:\/\/www.emergetools.com\/blog\/posts\/SwiftReferenceTypes","description":"The app launch experience is the first impression you make on a user. Every\n                millisecond they wait for your app to start is valuable time\u2026","pubDate":"04 Mar 2021 00:00:00 GMT"},{"guid":"https:\/\/www.emergetools.com\/blog\/posts\/7AppsThatCouldSaveYou500MB","title":"How 7 iOS Apps Could Save You 500MB of Storage","link":"https:\/\/www.emergetools.com\/blog\/posts\/7AppsThatCouldSaveYou500MB","description":"An in-depth size analysis of top iOS apps","pubDate":"14 Jan 2021 00:00:00 GMT"}]}}