Emil Dzwonek 🧑💻
@emildzwonek
How many Xcode versions do you have currently installed? I have 7 😅 Xcodes helps me with managing all those installations. With one click you can: - Install a new version - Remove one - Select as default It also makes unxipping much quicker! xcodes.app

Tip: Xcode offers support for multi-cursors. You can utilize two methods: 1. Hold the option key and move your cursor while holding the mouse button to create cursors on neighboring lines. 2. Click on multiple lines while holding the shift + control keys.
Implement a function that takes a string as input and checks if all elements are unique. Would you like to find a solution? Get a free copy of my ebook to discover it. swiftinterview.tech

Have you ever heard about indirect enums? Those are the enums, which reference themselves. They are indirect because they modify the way Swift stores them so they can grow to any size. Without it, they could theoretically grow infinitely in size.
What is the thing you know it's bad, but you do it anyway?
Treat your knowledge as an investment portfolio. ➡️ Invest regularly ➡️ Keep it diversified ➡️ Balance between safe, conservative investments and high-risk, high-reward ons ➡️ Learn when it's low, and earn from the knowledge at the highest ➡️ Review and rebalance periodically
➡️ Side project check ⬅️ What’s on your bucket list?
Don't use print function for logging. It's meant to be used for command-line UI. Use OSLog instead. Why? ➡️ structured data is easier to analyze and filter with categories and levels ➡️ logs, unlike prints, are stripped in release builds for security reasons ➡️ logs are faster

Content creators, do you recycle your content? What tools do you use to make it quick? 🚀
Great community macro: Swift Spyable Automatically generated spies for your protocols are possible. Usage of the @Spyable annotation on a protocol generates a spy that implements the same interface as the protocol and keeps track of interactions with it. github.com/Matejkob/swift…

Great community macro: CodingKeysMacro Macro automatically generates CodingKeys for converting snake_case to lowerCamelCase. github.com/Ryu0118/Coding…

Periphery will help you to find and remove dead code in your project. Try it out yourself. You will see that there is a lot of forgotten code to remove. Enjoy your smaller project and improved build time! github.com/peripheryapp/p…

PhaseAnimator is kind of animator that allows one to animate SwiftUI view. Comparing to KeyframeAnimator, it has a simpler API and allows us to build simpler animations quicker. It animates automatically cycling through a collection of phases that you provide.

Great community macro: URL URL is a freestanding Swift macro that provides an unwrapped Foundation URL for the string literal argument. The macro checks the validity of the literal and throws an error if it does not represent a valid Foundation URL github.com/davidsteppenbe…

Test out the official Xcode Plugin for Oh My Zsh Speed up your work with a terminal with those convenient shortcuts. My favorite ones are: xcdd - clear Derived Data xcp - show selected Xcode directory xcsel - Xcode select xx - open files in Xcode github.com/ohmyzsh/ohmyzs…

Xcode 15.1 RC is here developer.apple.com/documentation/… Highlights: ➡️ Fixed: Executing Unit/UI tests from Xcode on the iOS Simulator takes an extended time to launch on first run of the suite. (115187363) (110330776) (FB12237092) ➡️ Fixed: The simulator may crash when opening Settings or…
New in Swift 5.9: Swift Macros (SE-0382, SE-0389, SE-0397) Basically a code generation at a compile time level. This one will allow us to replace repetitive code with beautiful annotations. Xcode 15 even has a UI integration for it, so we can take a look at a generated code.


Great community macro: AssociatedObject Variable declaration in extension is impossible? Not really. You can use objc_getAssociatedObject/objc_setAssociatedObject pair to achieve this. This macro wraps this logic into convenient Macro. github.com/p-x9/Associate…
