xcode

I ❤️ cocoapods-binary by Paulo Fierro

I've been using Cocoapods for dependencies for as long as I can remember. Personally I never really got along with Carthage, but some people prefer it.

Over the weekend I came across a post titled "Using CocoaPods with pre-built frameworks instead of source files" which has radically decreased the build time on some of my projects. It describes how you can set up the cocoapods-binary plugin to precompile your dependencies which dramatically reduces the amount of time Xcode needs to build your app.

In two small-to-medium sized apps with 5-10 dependencies I saw upto 10x improvements. A clean build (with nuked derived data) going from about 90 seconds down to 9. 🤯🤯🤯

If you're using Cocoapods you really should try it out.

Xcode 8 and XcodeColors redux by Paulo Fierro

A few months ago I wrote about the issues with Xcode 8 and XcodeColors. I never felt good about that solution, but today I ran into a nicer way of doing this.

The XVim project lists instructions on how to self-sign Xcode which allows the loading of external bundles. You can skip the Build XVim step.

Once Xcode has been self-signed, download the XcodeColors project and follow the install instructions. You do have to run ./update_compat.sh to add the Xcode 8.2.1 UUID.

This feels less dirty and means I can get rid of this icon in my dock as it stopped being amusing.

Xcode 8 and XcodeColors by Paulo Fierro

I ❤️ XcodeColors.

Being able to use different text color for log levels in Xcode is invaluable to me, especially on larger projects. It is one of several Xcode plugins I've been using via Alcatraz — the unofficial package manager for Xcode — a great tool and an easy way to browse through a collection of very useful plugins.

Unfortunately Xcode 8 crashes this party.

Xcode 8 now uses library validation which is good because it should prevent future occurrences of XcodeGhost style malware. Simultaneously it sucks because it means Xcode 8 no longer supports plugins. Instead, Apple introduced Source Editor Extensions at WWDC 2016 but unfortunately they are currently quite limited and only support text manipulation.

Fortunately there's a workaround, but its dodgy, dirty and potentially risky.

You probably shouldn't do this.

Seriously.

MakeXcodeGr8Again is a Mac app that duplicates Xcode.app and after a few minutes creates an unsigned copy of Xcode 8 in your Applications folder called XcodeGr8. This copy will happily load plugin bundles but as its unsigned its also open to vulnerabilities. You probably shouldn't do this, and you definitely shouldn't submit any apps with it.

If you don't have ~12GB to spare, you can use this workaround which makes a copy of, and unsigns the app binary (12KB). You then toggle which one you want to use by linking to it in the Terminal.

Personally I prefer running a completely separate app so I can easily tell which mode I'm in.

I also made a quick icon to so I can tell them apart in the Dock.

Spot the app

I feel very dirty, but I do have my colors back.

Please file or duplicate a radar and hopefully Source Editor Extensions will give us back the flexibility we want without requiring us to jump through these ridiculous hoops and make ourselves vulnerable.