S Link
New Book: Advanced Apple Debugging & Reverse Engineering
Learn the powerful secrets of Apple's software debugger, LLDB, that can get more information out of any program than you ever thought possible.
In Advanced Apple Debugging & Reverse Engineering, you'll come to realize debugging is an enjoyable process to help you better understand software. Not only will you learn to find bugs faster, but you’ll also learn how other developers have solved problems similar to yours. You'll also learn how to create custom, powerful debugging scripts that will help you quickly find the secrets behind any bit of code that piques your interest.
Building an iOS photo feed with Pusher and Raspberry Pi
In this tutorial, you will learn how to build an iOS photo feed app that updates in real-time from a Raspberry Pi camera.
Swift Around the Web
Swift Tricks: Searching for Objects by Type
Good use of lazy
with flatMap
for when you only need the first result in a collection!
Using lazy properties in Swift
A good lazy
refresh here!
Lazy properties allow you to create certain parts of a Swift type when needed, rather than doing it as part of its initialization process. This can be useful in order to avoid optionals, or to improve performance when certain properties might be expensive to create. It can also help with keeping initializers more clean, since you can defer some of the setup of your types until later in their lifecycle."
Coding
A Simple Undo/Redo Implementation in Swift
Throw out the NSUndoManager
and roll your own Swifty one!
" By leveraging Swift’s value types we can keep track of multiple versions of an entity. We can then implement undo/redo as switching between entity states. This has the advantage that we don’t need to generate counteractions for all user actions."
Using SwiftLint and Danger for Swift Best Practices
The best part of using SwiftLint and Danger is no more conflict. You all decide the rules as a team once, and then everyone follows them. These tools automate reminding you when you're not following the coding style or not writing tests, so there is no ego clashing in code reviews. If you're not using these on a team yet, follow this article to set these up!
Design
Improving our iOS Share Extension Installation Guide
Unfortunately, getting users to install a share extensions is super confusing on iOS. Great story from Buffer on how they analyzed other apps and improved their installation and usage numbers.
Other Cool Stuff
The real reason why Spaniards eat late
Fascinating history here...
"Spaniards are living in the wrong time zone, and have been for more than 70 years."
Videos
A Neatly Typed Message: Improving Code Readability
"Programs must be written for people to read, and only incidentally for machines to execute" - Structure and Interpretation of Computer Programs
A beautiful, must-watch journey into code readability in Swift. Amazing examples that everyone can learn from, especially if you're looking to think in Swift vs Objective-C!
What We Actually Know About Software Development, and Why We Believe It’s True
A bit of a divergence from the usual talks I post, but definitely something to watch that makes you really think about our field. As Swift matures, there will be more and more frameworks and tooling around it, but it's super important to stop and think and maybe even find some proof before jumping on the latest and coolest bandwagon!
Swift Code
- SpreadsheetView - Full configurable spreadsheet view user interfaces for iOS applications.
- AppIcon - AppIcon generates *.appiconset contains each resolution image for iOS
- Pastel - 🎨 Gradient animation effect like Instagram
- SwiftShareBubbles - Animated Social share buttons control for iOS written in Swift
- SRCountdownTimer - This is the simple circle countdown with a configurable timer for iOS.
- TLPhotoPicker - 📷 multiple phassets picker for iOS lib. like a facebook