Posts tagged "devtools"
Git is complicated, and it seems like everyone has a set of customizations they use to try and make it easier to use. Sometimes it aliases for clarifying what exactly
git checkoutwill do. Sometimes it’s a pre-built
~/.gitconfigfile that has lots of tweaks and display customizations and options configured.
Recently I was thinking about the idea I’d posted on simplifying backwards compatibility in Swift, and was also thinking about some of the principles of kindness that I wrote about in my article on API design.
App Extensions tend to somewhat problematic when it comes to conditional compilation, because there are methods and functionality that are not available in app extensions. For example, app extensions don’t have a
UIApplicationinstance, and so the
UIApplication.sharedproperty is marked as
In one of the online communities I participate in, another developer recently asked the question:
I love to browse through Github and see the sorts of frameworks people build. Pretty frequently I come across repositories that make a good effort to provide a cross-platform experience by offering iOS, watchOS, and tvOS versions. Sometimes there’ll even be the odd macOS version too!
In the previous post, we saw how the
SWIFT_ACTIVE_COMPILATION_CONDITIONSbuild setting can inject values in to our .swift files that we can use to conditionalize code depending on our active SDK and/or architecture.
When developing an app or a library, it’s pretty common that at least once in the course of development, you’ll need to conditionalize compilation of your code. Maybe you’ll be accounting for a bug in the operating system where things that don’t work quite the same on your device as they do on the simulator. Or perhaps you’ll want to simply exclude code from your simulator builds because the simulator simply doesn’t have that functionality (like invoking the camera).
(This was originally posted in April of 2009 and has been reposted here for posterity)