SwiftRocks - NSReverseEngineering

Hi! My name is Bruno Rocha, and I'm a software engineer at Spotify and advisor at Unspun. I mostly write articles about advanced iOS / Swift topics, but I also occasionally write about general software engineering and my opinions on the industry.

Right now I don't have a fixed process for consultancy work, but if you'd like my assistance with your project and/or startup, feel free to send me an e-mail and we'll work from there. I'm a fan of startups and entrepeneurship, so if you're looking for a tech advisor, I'd love to help!

Are your frameworks bulletproof?

Mobile Platform Teams

Using a Macbook Pro as a gaming console

How necessary are the programming fundamentals?

Sentiment Analysis with NSTagger: Ranking popular subreddits by the negativity/hostility of its comments

Managing Provisioning Profiles as your team grows

Understanding Certificates and iOS Provisioning Profiles

How — and why — to think about mobile app versioning

Avoiding release anxiety, part II

Avoiding release anxiety, part I

Merge queues: An intro for mobile engineers

How successful mobile teams release apps at scale

Focus on concepts, not approaches

Detecting Broken Constraints in Swift

How To Solve Any iOS Crash Ever

Enabling Module Stability in Swift Package Manager Projects

Unit Testing Weak References / Retain Cycles in Swift

Solving CPU Usage Crashes with Xcode's Energy Organizer

How AsyncSequence works internally in Swift

Reverse engineering a 5 year old Xcode issue

Swift's Documentation Markup

Adding Intelligent Code Generation to Swift Projects with SourceKit

StaticString, and how it works internally in Swift

Extending / Creating Combine Publishers the Right Way

Benchmarking Swift Code Properly with Attabench

How Actors Work Internally in Swift

Creating 3D Models from Photographs with RealityKit in Swift

Thread Safety in Swift

Creating a licensing system for paid apps in Swift

Be careful with Obj-C bridging in Swift

Understanding @inlinable in Swift

DispatchSource: Detecting changes in files and folders in Swift

How Swift API Availability Works Internally

UI Testing Deeplinks and Universal Links in iOS

Improving Observer Pattern APIs in Swift With Weak Collections

App Attest: How to prevent an iOS app's APIs from being abused

Entry Points in Swift: How @main and @UIApplicationMain work internally

Adapting Objective-C APIs to Swift with NS_REFINED_FOR_SWIFT

Creating Debug Menus in Swift with UIContextMenuInteraction

How to create Widgets in iOS 14 in Swift

Benefits of using throwing functions (try) - Swift's most underrated feature?

How Random Numbers Work In Swift

Unit Testing Preprocessor Macros in Swift

Weak Dictionary Values in Swift

Understanding Swift's ObjectIdentifier

Useful Global Swift Functions

How Collection Diffing works in Swift

Swift Codable: Decoding / Encoding With Context

Reducing iOS Build Times by using Interface Modules

How Hashable works in Swift

Using Type Erasure to Build a Dependency Injecting Routing Framework in Swift

Faster Array Operations With CollectionOfOne in Swift

How OptionSet works inside the Swift Compiler

NSCopying uses in Swift

Swift's Sequence Inside The Compiler: How for loops work internally

Building a Face Detecting Robot with URLSessionWebSocketTask, CoreML, SwiftUI and an Arduino

Using SIMD Vector Types in Swift

Timsort and Introsort: Swift's Sorting Algorithms

Advanced lldb tricks for Swift - Injecting and changing code on the fly

Swift ExpressibleBy protocols: What they are and how they work internally in the compiler

Useful (and obscure!) Foundation types in Swift

Understanding Opaque Return Types in Swift

Inside SwiftUI's Declarative Syntax's Compiler Magic

autoreleasepool uses in Swift

Avoiding Release Anxiety 2: On the importance of creating a code Style Guide

Avoiding Release Anxiety 1: Block-based UI Testing in Swift

iOS Responder Chain: UIResponder, UIEvent, UIControl and uses

Adding iOS Home Shortcuts to Specific Parts of An App in Swift

Avoiding Callback Hell in Swift

How @dynamicMemberLookup Works Internally in Swift (+ Creating Custom Swift Attributes)

How Never Works Internally in Swift

What's .self, .Type and .Protocol? Understanding Swift Metatypes

Running Other Apps' Siri Shortcuts Through Deeplinks in Swift

How CaseIterable Works Internally in Swift

Swift Associated Types With Default Values

Lazy Sequences in Swift And How They Work

Writing Custom Pattern Matching in Swift

Writing Cleaner View Code in Swift By Overriding loadView()

The Forbidden @inline Attribute in Swift

Competitive Programming With Swift

Unowned Properties in Swift

Memory Management and Performance of Value Types

Understanding DispatchQueues

Detecting TouchID fingerprint/FaceID face changes

iOS Security: Reverse Engineering Messenger's Chat Bubbles