S Link
See video, network calls & console logs leading up to bugs or crashes. 20% off Bugsee today!
Bugsee is a bug & crash reporter for iOS. Like a black box on an airplane, Bugsee locally records everything that your app is doing. Whenever a bug occurs, everything you need to debug has already been recorded: video of usersβ actions, network traffic, console logs (including swift on iOS10) & more. Also, CrashProbe crowned Bugsee as #1 in crash symbolication accuracy.
This Week in Swift readers get 20% discount on all tiers. Signup today!
One Application, 4,000+ Opportunities - Try Hired
Hired puts the power back in your hands, by having companies apply to you, not the other way around. With Hired you only talk to companies you're interested in.
Swift Around the Web
Bridging Swift Types to Objective-C
Wow! Great advice on how to keep writing amazing Swift code with the best of Swift features (yay enums and structs!) while still stuck in a hybrid Swift / Objective-C app.
Since weβre anticipating our entire codebase to move to Swift over time, we shouldnβt compromise our new types for bridgeability. Instead, letβs create a wrapper type..."
Swift Hashable
"To use a type in a
Set
orDictionary
it has to beHashable
which means providing ahashValue
property...."
Coding
Build an iOS, watchOS and tvOS framework with a dependency using CocoaPods
One of my biggest goals for the try! Swift App was extracting the data layer into a pod that could be used across iOS, watchOS, and different extensions that I plan to make. But my data layer included a Realm dependency, which I had trouble connecting due to my limitations of knowledge of creating CocoaPods.
Anyway, I asked @aaalveee to help, and he wrote up how he did it! Here is the current trySwiftData pod that works across platforms and includes Realm (thanks @TimOliverAU!). More cool stuff to come there!
Other Cool Stuff
The Great Buddha of Kamakura
Last week, I ventured out to Kamakura to visit the giant Buddha statue recommended to me by @gillygize. It was unbelievable. Giant and so peaceful. I just sat there and looked at it for a while. Highly recommend if you're traveling in π―π΅!
Tutorials
Developing iOS 10 Apps with Swift - Free Course by Stanford on iTunes U
The popular Stanford iOS course is back... new with iOS 10 and Swift! If you're newer to iOS, this is something to definitely follow along with!
Videos
Data Consistency in an Unpredictable World
@wendyluwho talks about how Pinterest migrated to an immutable model architecture, including handling data consistency of a complex object graph π
Swift Evolution
Swift 4: Release Process and Phase 2
The super big news here is that ABI stability has been deferred:
Deferring ABI stability enables Swift to focus on language fundamentals. An ABI dashboard will be wired up from the Swift Evolution Github repository. This will present a table of remaining ABI tasks and display their status.
Ownership Manifesto
Super important read - might need to read a few times π€
"The widespread use of copy-on-write value types in Swift has generally been a success. It does, however, come with some drawbacks..."
"Ownership is the responsibility of some piece of code to eventually cause a value to be destroyed. An ownership system is a set of rules or conventions for managing and transferring ownership."
Swift Code
- Spots - π Spots is a cross-platform view controller framework for building component-based UIs
- Dance - A radical & elegant animation library built for iOS.
- MeetupTweet - Show live tweets on a Mac screen or Keynote live presentation!
- SwipeCellKit - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift.
- WCLShineButton - This is a UI lib for iOS. Effects like shining.
- FSPagerView - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banners, Product Shows, Welcome/Guide Pages, Screen/ViewController Sliders.
On Open Source
Open Source Guide - A community guide for open source creators.
I remember when I first started coding, for a while, I thought people who contributed to open source were some sort of magicians way beyond my skill level. But I soon learned that even updating a README is a HUGE help to any project. And small changes really add up to make a great big project! Anyone can contribute! Thanks Github for putting this together π
Swift Thoughts
I'll be taking the next two weeks off from the newsletter as I focus on try! Swift Tokyo (and take a short break traveling with friends afterwards!). Say hi if you're there π