Converting Xcode Test Runs to JUnit, the Fast Way
Testing is very important at PSPDFKit. We are building an SDK. When you give your API to other developers, there are many more things that can go wrong.
Testing is very important at PSPDFKit. We are building an SDK. When you give your API to other developers, there are many more things that can go wrong.
Few apps have the luxury to support only the most recent version of iOS. It's often necessary to set a lower deployment target and branch in code based on specific versions of iOS.
`UIImage` is one of the most important classes in UIKit. When compared to browsers, image handling on iOS is still quite tricky. Loading even a med...
Objective-C originates from the early 1980s, and while the language has evolved a lot over the years, it's still no match for really modern languages like Swift.
You might think the UI for [a PDF viewer/editor](/features/) would be trivial, however it’s anything but. At PSPDFKit we have a ton of simple and c...
At PSPDFKit we offer native SDKs for iOS, Android [and soon also for the browser](/web). Yet, invisible to the user, all share a large part of the ...
tl;dr: Swift extensions on Objective-C classes still need to be prefixed. You can use `@objc(prefix_name)` to keep the name pretty in Swift and exp...
At PSPDFKit we work with a very large codebase: over 600k lines and growing. Of course we aim to write compact, efficient code — but the PDF specif...
Explore a subtle but frustrating change in iOS 8.3 where Apple designated three initializers in UITableViewController, creating complications for proper subclassing. I examine how Apple's inconsistent implementation breaks the initializer chain when trying to follow best practices by marking superclass initializers as unavailable. This technical deep dive explains the conflict between UITableViewController's internal call order and Objective-C's designated initializer pattern, resulting in unexpected behavior. I present practical workarounds using compiler directives, with insights into how this issue originated from Swift's stricter initialization requirements.
Take an in-depth technical exploration of Apple's ResearchKit, their first major open-source project on GitHub. I analyze the codebase to uncover interesting implementation details including their approach to detecting first responders, dynamic type support, secure coding practices, and accessibility implementation. This comprehensive code review reveals practical solutions to common iOS development challenges, clever workarounds for radar issues, and interesting findings like how Apple implements HTML-to-PDF conversion and custom shader-based video tinting for animations.