S Link
Buddybuild: build, deploy and gather feedback for your apps with a single, seamless solution.
Buddybuild is the simplest and fastest way to automate building, deploying and gathering actionable feedback from your testers. Forget the headaches of app processing times, UDIDs, provisioning profiles and signing identities - with a built in email based deployment system, new users and their devices are provisioned in real time. Then, testers can send annotated screenshots, feedback notes and device metadata to give you perfect insight into the bugs they're experiencing. Finally, when your app is ready, send it directly to iTunes Connect & the App Store!
Take the buddybuild tour and see how thousands of developers ship their apps hassle free!
iOS Dev Links, Tutorials, & Tips Beyond The Usual News
Looking for the best iOS dev links, tutorials, marketing ideas & tips beyond the usual news? Indie iOS Focus Weekly avoids the big stories youโve already read and digs deeper into the iOS ecosystem to uncover cool tools, Xcode tricks, tutorials, and marketing strategies you can use to grow your knowledge and apps. Hand curated by independent iOS developer, Chris Beshore. Get issue #56 straight to your email this Thursday for free.
Swift Around the Web
Generate Swift Playgrounds for any library.
So cool! Easily play around with any CocoaPod (or a mix of them!) in a Swift Playground! ๐ฏ
Transitioning From Objective C to Swift in 4 Steps โ Without Rewriting The Existing Code
Good steps for those looking to start using Swift in existing projects without the option of throwing everything away and starting from scratch in Swift!
Coding
A Protocol-Oriented State Machine for Layout Constraints
Whoa! A super clever way to deal with having different constraints based on state (e.g. comment should be on the right vs left of the screen).
Using Xcode Bots
I've used Xcode Bots once, and actually really liked the experience. However, it wasn't a super complicated use case. This is a super comprehensive must-read analysis of the pros and cons of using Xcode Bots if you're thinking about it. I really hope it'll get even better at the next WWDC!
Apple News
Interactive Playgrounds
Check out this ๐ Newton's Cradle Playground from Apple! Make sure to open in Xcode 7.3 beta 3!
Swift Benchmark Suite now Available
Swiftโs benchmark suite is now open source ๐
"The suite contains source code for benchmarks, libraries, and utilities designed to help track Swift performance and catch performance regressions before they are committed"
Other Cool Stuff
In Case You Missed It
iOS 9: How to Peek & Pop A Specific View Inside a UITableViewCell
Over the past few days, Iโve been hectically working on the try! Swift Conference app (now only two more weeks to show time ๐ฑ)! One of my stretch goal MVP features was implementing 3D Touch to Peek & Pop for speaker and presentation information in the app. But I had one slightly challenging problem...
Make sure to read the UPDATE section for better architecture on this! Thanks @davedelong for the help!
try! Swift Conference App
If you're attending try! Swift in Tokyo in two weeks, make sure to download the open source version of our app if you don't want to wait for the App Store Review period :)
Videos
Swift Protocols and the Promised Land, with Michele Titolo
Swiftโs design promotes language features like generics and first-class protocols as key architectural components in application development. However, many of the logical patterns that arise, including ones imported from Objective-C, donโt work as we expect them to. In many cases, Swiftโs type system resists certain straightforward patterns, such as constraining a property to both a class and a protocol. This talk highlights several of these challenges, discusses the underlying causes, and evaluates workarounds.
Presenting Coordinators
So this is in Objective-C, but the architectural idea can definitely be applied to any iOS application written in Swift. Must watch if you're looking to improve your app architecture! Thanks @ayanonagon for the tip!
Swift Evolution
SE-0030: Property Behaviors
There is a lot of excitement about this proposal in the community:
"There are property implementation patterns that come up repeatedly. Rather than hardcode a fixed set of patterns into the compiler, we should provide a general "property behavior" mechanism to allow these patterns to be defined as libraries."
However, after glancing through it, I find all the different property behavior keywords a bit confusing. Hopefully the implementation is easy to understand if this is accepted!
๏ฃฟWATCH
Watch Apps Worth Making
"What doesnโt work is easiest to say. Apps that try to re-create the functionality of an iPhone app simply donโt work. If you can perform a particular operation on an iPhone, then it is better to do it there. The promise of never having to take your iPhone out of your pocket just isnโt quite here yet. The Apple Watch may advance (in hardware and software) to a point where this is no longer true but the platform has a ways to grow first."
Totally agree with the things listed as do work on the Apple Watch!
Podcasts
The Talk Show โช: Ep. 146, With Very Special Guests Eddy Cue and Craig Federighi
As an Apple Developer, it's always important to hear from the execs! One thing that stood out to me was thinking about language and Siri on the Apple TV. Since I've been organizing a bi-lingual conference and living in Japan for the past month, it's been fascinating to see how tech companies deal with the language issue.
I was pleasantly surprised when the Apple Ginza Store site figured out that I'm in Japan, but I want the site to be in English. Unlike Google, which redirects me to the Japanese language site (and translates it for me) even though I've been using Google in English for as long as I've used Google! But at the same time, the Google Translate app magically helps me fill out complex forms in Japanese!
Swift Code
- Redbird - Pure-Swift implementation of a Redis client from the original protocol spec. OS X + Linux compatible.
- blackfish - A fast HTTP web server based on Node.js and Express written in Swift
- RAMReel - RAMReel is a controller that allows you to choose options from a list
- Scale - Unit converter in Swift. Blog post here.
- XLPagerTabStrip - Android PagerTabStrip for iOS.
- ValentinesSwift - You love Swift & Swift loves you! More fun here! And a fun write-up here! ๐
Other Platforms
Swift available for all the ARMv6 RaspberryPi (1,Zero)
Swift on RaspberryPi ๐ Get it via Dropbox here!