I've had to write a number of native components for React Native applications -accessing location APIs, permissions APIs, and others.
Given that React Native base and core are implemented in Objective-C/C++ for iOS, I think adding bridging headers is unnecessary overhead just for the option to write native modules in Swift. And while I'm not arguing the practicality of Swift, I think it is helpful as a React Native developer to understand how thing work on the native side of the bridge.
I figured the best way to do this was to put together an iOS app in Objective-C and compare this to React Native's rendered iOS version. Finding resources on how to do this in Objective-C is difficult; between Xcode changes and the proliferation of Swift articles, no one really talks about how to create iOS apps in Objective-C anymore.
I came across this Learn Objective-C in 24 Days series that is almost 10 years old! But I liked the structure and format; experienced developers can mostly skip over the introductory material and get right to the app development projects.
I've decided to go through these and update them to reflect the development experience for 2021 with Xcode 12 on iOS 14.3.
Note that this does not necessarily reflect best practices here. For example, in the first entry, I have to forego scenes... but the exercise of working through it in Objective-C has been helpful to me, and I hope it is helpful to you, too.
Head over to Part 1 to get started.