Sharing Localizations In A Reusable Framework

February 6, 2018 | Swift, Localization, iOS, macOS, tvOS, watchOS

Localization is a great way to expand the potential customer base of your apps. Xcode makes it easy to add localization to an app, but what if you want to provide reusable localizations in a framework? You may be using the same strings in multiple apps or on multiple platforms, or you may be writing an open-source framework . . .

Using URLSession & Codable Together

January 23, 2018 | Swift, Networking, iOS, macOS, tvOS, watchOS

Almost every app we write needs to retrieve and serialize data from an API. Networking and serialization are not easy problems to solve, which is why open-source frameworks like Alamofire, Moya, and SwiftyJSON have been written to simplify this task. However, using URLSession and the new Codable protocol introduced in Swift 4 . . .

Keychain Services Core Concepts

January 9, 2018 | Swift, Authentication, Security, iOS, macOS, tvOS, watchOS

Most apps need to store sensitive user information at some point. Most commonly it's a service-specific credential like a password or authentication token, but it could also be an encryption key, expiration date, or really anything private to the user that shouldn't be easily accessible on the device.

Machine Learning in Swift: Document Classification with Core ML

January 2, 2018 | Swift, Machine Learning, Core ML, iOS, macOS, tvOS, watchOS

It's an exciting time for Swift developers to get into machine learning. With Apple's new Core ML framework, support on all four platforms, and a growing library of models available for the framework, incorporating machine learning solutions in Swift apps has never been easier.

Making Private, Cross-Platform Swift Frameworks With CocoaPods

July 10, 2016 | Swift, Dependency Management, CocoaPods, iOS, macOS, tvOS, watchOS

With technologies like handoff and continuity, a unified developer program, and many of the same system frameworks available on all four of its platforms, Apple has been moving over the past few years to more seamlessly integrate its ecosystem of devices. This presents a great opportunity for us to bring our apps to . . .