# Rambo Codes

Gui Rambo writes about his coding and reverse engineering adventures.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## LightBuddy: A Mac Display Lighting Prototype Superseded by macOS Edge Light

DevFeed: [LightBuddy: A Mac Display Lighting Prototype Superseded by macOS Edge Light](<https://devfeed.tech/articles/sherlocked-before-it-was-born-lightbuddy-39531.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2025-12-15-sherlocked-before-it-was-born-lightbuddy>)

Published: 2025-12-16T18:00:00Z

Content type: opinion

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [GUI](<https://devfeed.tech/topics/gui.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [coding](<https://devfeed.tech/topics/coding.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [gui](<https://devfeed.tech/tags/gui.md>), [macos](<https://devfeed.tech/tags/macos.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

Gui Rambo recounts creating LightBuddy, a Mac display-based lighting prototype for video calls, and how Apple later integrated a similar Edge Light feature into macOS. He reflects on how shipping the app first might have felt to be overshadowed by Apple.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## CVE-2025-31212 Let iOS Apps Access Nearby Bluetooth LE Data Before Consent

DevFeed: [CVE-2025-31212 Let iOS Apps Access Nearby Bluetooth LE Data Before Consent](<https://devfeed.tech/articles/a-privacy-mechanism-that-backfired-39529.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2025-05-12-a-privacy-mechanism-that-backfired>)

Published: 2025-05-12T20:20:00Z

Content type: opinion

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [Bluetooth LE](<https://devfeed.tech/topics/bluetooth-le.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Reverse Engineering](<https://devfeed.tech/topics/reverse-engineering.md>)

Tags: [bluetooth-le](<https://devfeed.tech/tags/bluetooth-le.md>), [ios](<https://devfeed.tech/tags/ios.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [reverse-engineering](<https://devfeed.tech/tags/reverse-engineering.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>)

### AI overview

Gui Rambo describes CVE-2025-31212, an iOS vulnerability that allowed an app to obtain information about nearby Bluetooth LE devices before the user granted permission.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## Investigating the Dave & Buster's iMessage Audio Message Bug

DevFeed: [Investigating the Dave & Buster's iMessage Audio Message Bug](<https://devfeed.tech/articles/cracking-the-dave-buster-s-anomaly-39530.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2025-05-12-cracking-the-dave-and-busters-anomaly>)

Published: 2025-05-12T14:50:00Z

Content type: article

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [bug](<https://devfeed.tech/topics/bug.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [iphone](<https://devfeed.tech/topics/iphone.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [ios](<https://devfeed.tech/tags/ios.md>), [iphone](<https://devfeed.tech/tags/iphone.md>)

### AI overview

The author investigates an iOS Messages bug in which audio messages containing "Dave and Buster's" are not received. They report reproducing it between two iPhones running iOS 18.5 RC.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## A Simple iOS Vulnerability Involving Darwin Notifications

DevFeed: [A Simple iOS Vulnerability Involving Darwin Notifications](<https://devfeed.tech/articles/how-a-single-line-of-code-could-brick-your-iphone-39528.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2025-04-24-how-a-single-line-of-code-could-brick-your-iphone>)

Published: 2025-04-26T14:00:00Z

Content type: article

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [Reverse Engineering](<https://devfeed.tech/topics/reverse-engineering.md>), [Exploit](<https://devfeed.tech/topics/exploit.md>), [Processes](<https://devfeed.tech/topics/processes.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [exploit](<https://devfeed.tech/tags/exploit.md>), [ios](<https://devfeed.tech/tags/ios.md>), [iphone](<https://devfeed.tech/tags/iphone.md>), [processes](<https://devfeed.tech/tags/processes.md>), [reverse-engineering](<https://devfeed.tech/tags/reverse-engineering.md>)

### AI overview

The article describes an iOS vulnerability involving Darwin notifications, a legacy public API that enables low-level message exchange and shared state between processes on Apple operating systems. It explains that processes can register for notifications without special entitlements, including from within an iOS sandbox.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## macOS Security Bugs Exposed Safari History and Device Location to Unauthorized Apps

DevFeed: [macOS Security Bugs Exposed Safari History and Device Location to Unauthorized Apps](<https://devfeed.tech/articles/macos-security-bugs-exposed-safari-history-and-device-location-to-unauthorized-apps-39527.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2023-04-04-macos-security-bugs-exposed-safari-history-and-device-location-to-unauthorized-apps>)

Published: 2023-04-04T18:00:00Z

Content type: article

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [macOS](<https://devfeed.tech/topics/macos.md>), [Security](<https://devfeed.tech/topics/security.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [Reverse Engineering](<https://devfeed.tech/topics/reverse-engineering.md>)

Tags: [cve](<https://devfeed.tech/tags/cve.md>), [cves](<https://devfeed.tech/tags/cves.md>), [macos](<https://devfeed.tech/tags/macos.md>), [macos-security](<https://devfeed.tech/tags/macos-security.md>), [reverse-engineering](<https://devfeed.tech/tags/reverse-engineering.md>), [safari](<https://devfeed.tech/tags/safari.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

This article examines Apple operating-system security vulnerabilities, including CVE-2023-23506/28192, involving improper validation of clients by XPC services. It explains how assumptions about local XPC service isolation can fail and discusses the potential exposure of sensitive data.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## SiriSpy - iOS bug allowed apps to eavesdrop on your conversations with Siri

DevFeed: [SiriSpy - iOS bug allowed apps to eavesdrop on your conversations with Siri](<https://devfeed.tech/articles/sirispy-ios-bug-allowed-apps-to-eavesdrop-on-your-conversations-with-siri-39526.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2022-10-25-sirispy-ios-bug-allowed-apps-to-eavesdrop>)

Published: 2022-10-26T16:00:00Z

Content type: article

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [bug](<https://devfeed.tech/topics/bug.md>), [Security](<https://devfeed.tech/topics/security.md>), [sensitive data](<https://devfeed.tech/topics/sensitive-data.md>), [Reverse Engineering](<https://devfeed.tech/topics/reverse-engineering.md>)

Tags: [bluetooth](<https://devfeed.tech/tags/bluetooth.md>), [bug](<https://devfeed.tech/tags/bug.md>), [ios](<https://devfeed.tech/tags/ios.md>), [reverse-engineering](<https://devfeed.tech/tags/reverse-engineering.md>), [security](<https://devfeed.tech/tags/security.md>), [security-and-privacy](<https://devfeed.tech/tags/security-and-privacy.md>), [sensitive-data](<https://devfeed.tech/tags/sensitive-data.md>)

### AI overview

The article describes an iOS bug that allowed apps with Bluetooth access to record conversations with Siri and audio from keyboard dictation when users wore AirPods or Beats headsets. Recording could occur without microphone permission and without leaving a listening trace.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## Creating custom extension points for Mac apps with ExtensionKit

DevFeed: [Creating custom extension points for Mac apps with ExtensionKit](<https://devfeed.tech/articles/creating-custom-extension-points-for-mac-apps-with-extensionkit-39525.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2022-06-27-creating-custom-extension-points-with-extensionkit>)

Published: 2022-06-27T20:00:00Z

Content type: article

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [Extension](<https://devfeed.tech/topics/extension.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [coding](<https://devfeed.tech/topics/coding.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [coding](<https://devfeed.tech/tags/coding.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [extension](<https://devfeed.tech/tags/extension.md>), [extensions](<https://devfeed.tech/tags/extensions.md>), [frameworks](<https://devfeed.tech/tags/frameworks.md>), [guide](<https://devfeed.tech/tags/guide.md>), [mac](<https://devfeed.tech/tags/mac.md>)

### AI overview

This article explains how to create custom extension points for Mac apps using Apple's ExtensionFoundation and ExtensionKit frameworks. It describes their discovery, management, and declaration mechanisms, explains that communication protocols are separate, and demonstrates how to declare an extension point using a property list in an app bundle.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## How a macOS bug could have allowed for a serious phishing attack against users

DevFeed: [How a macOS bug could have allowed for a serious phishing attack against users](<https://devfeed.tech/articles/how-a-macos-bug-could-have-allowed-for-a-serious-phishing-attack-against-users-39524.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2022-03-15-how-a-macos-bug-could-have-allowed-for-a-serious-phishing-attack-against-users>)

Published: 2022-03-14T18:00:00Z

Content type: article

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [macOS](<https://devfeed.tech/topics/macos.md>), [bug](<https://devfeed.tech/topics/bug.md>), [Social engineering](<https://devfeed.tech/topics/social-engineering.md>), [passwords](<https://devfeed.tech/topics/passwords.md>), [App](<https://devfeed.tech/topics/app.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [bug](<https://devfeed.tech/tags/bug.md>), [macos](<https://devfeed.tech/tags/macos.md>), [password](<https://devfeed.tech/tags/password.md>), [phishing](<https://devfeed.tech/tags/phishing.md>), [social-engineering](<https://devfeed.tech/tags/social-engineering.md>), [users](<https://devfeed.tech/tags/users.md>)

### AI overview

This article explains how a macOS bug could make phishing more convincing by allowing any running app to display a notification that appeared to come from System Preferences. Following the alert could open a fake Apple ID login panel that sent entered credentials to an attacker, with a possible two-factor authentication deception scenario.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## MaskerAid by Casey Liss

DevFeed: [MaskerAid by Casey Liss](<https://devfeed.tech/articles/maskeraid-by-casey-liss-39520.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2021-03-02-maskeraid-by-casey-liss>)

Published: 2022-03-03T15:00:00Z

Content type: opinion

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [App](<https://devfeed.tech/topics/app.md>), [Development](<https://devfeed.tech/topics/development.md>), [image editing](<https://devfeed.tech/topics/image-editing.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [app-development](<https://devfeed.tech/tags/app-development.md>), [image-editing](<https://devfeed.tech/tags/image-editing.md>), [indie-developers](<https://devfeed.tech/tags/indie-developers.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>)

### AI overview

A commentary on Casey Liss's MaskerAid, an app that adds emoji to images and automatically places emoji over detected faces using machine learning. The article presents it as an example of focused indie software and discusses designing apps that perform one task quickly and well.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## Encoding and decoding references to other types with Codable

DevFeed: [Encoding and decoding references to other types with Codable](<https://devfeed.tech/articles/encoding-and-decoding-references-to-other-types-with-codable-39523.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2022-01-04-encoding-and-decoding-references-to-other-types-with-codable>)

Published: 2022-01-04T18:00:00Z

Content type: tutorial

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [JSON](<https://devfeed.tech/topics/json.md>), [coding](<https://devfeed.tech/topics/coding.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [identifier](<https://devfeed.tech/topics/identifier.md>)

Tags: [coding](<https://devfeed.tech/tags/coding.md>), [identifier](<https://devfeed.tech/tags/identifier.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [json](<https://devfeed.tech/tags/json.md>), [swift](<https://devfeed.tech/tags/swift.md>), [version-control](<https://devfeed.tech/tags/version-control.md>)

### AI overview

This article discusses modeling references between user-configurable objects in a Swift app's document-based JSON model. It explains storing identifiers instead of duplicated nested data and considers customizing Codable encoding and decoding so the rest of the codebase remains unaware of the lookup implementation.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## A document-based app in Swift Playgrounds for iPad

DevFeed: [A document-based app in Swift Playgrounds for iPad](<https://devfeed.tech/articles/a-document-based-app-in-swift-playgrounds-for-ipad-39522.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2021-12-28-a-document-based-app-in-swift-playgrounds-for-ipad>)

Published: 2021-12-28T17:00:00Z

Content type: tutorial

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [plist](<https://devfeed.tech/topics/plist.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>)

Tags: [coding](<https://devfeed.tech/tags/coding.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ipad](<https://devfeed.tech/tags/ipad.md>), [plist](<https://devfeed.tech/tags/plist.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swift-playgrounds](<https://devfeed.tech/tags/swift-playgrounds.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>)

### AI overview

A developer describes building a document-based app in Swift Playgrounds 4 for iPad. The article discusses adapting to Swift Playgrounds, comparing its code editor experience with Xcode, using SwiftUI for the app interface, and declaring custom document types in Info.plist.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## Using CloudKit for content hosting and feature flags

DevFeed: [Using CloudKit for content hosting and feature flags](<https://devfeed.tech/articles/using-cloudkit-for-content-hosting-and-feature-flags-39521.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2021-12-06-using-cloudkit-for-content-hosting-and-feature-flags>)

Published: 2021-12-06T15:00:00Z

Content type: tutorial

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [feature flags](<https://devfeed.tech/topics/feature-flags.md>), [hosting](<https://devfeed.tech/topics/hosting.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Databases](<https://devfeed.tech/topics/databases.md>)

Tags: [coding](<https://devfeed.tech/tags/coding.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [databases](<https://devfeed.tech/tags/databases.md>), [feature-flags](<https://devfeed.tech/tags/feature-flags.md>), [hosting](<https://devfeed.tech/tags/hosting.md>)

### AI overview

This tutorial explains how to use CloudKit's public database for app configuration, feature flags, and content hosting. It reviews CloudKit's private, shared, and public databases and discusses the implications of allowing authenticated users to read, write, and create public records.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## Programming the ESP8266 on an M1 Mac

DevFeed: [Programming the ESP8266 on an M1 Mac](<https://devfeed.tech/articles/programming-the-esp8266-on-an-m1-mac-39519.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2021-02-16-programming-the-esp8266-on-an-m1-mac>)

Published: 2021-02-16T17:30:00Z

Content type: tutorial

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [ESP8266](<https://devfeed.tech/topics/esp8266.md>), [Arduino](<https://devfeed.tech/topics/arduino.md>), [Microcontrollers](<https://devfeed.tech/topics/microcontrollers.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [arduino](<https://devfeed.tech/tags/arduino.md>), [esp8266](<https://devfeed.tech/tags/esp8266.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [microcontrollers](<https://devfeed.tech/tags/microcontrollers.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

This article explains how to program an ESP8266 microcontroller with the Arduino Pro IDE on an M1 Mac. It documents a workaround involving Homebrew-installed Python 3 and changing the ESP8266 upload tool to use that Python installation.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## Distributing Mac apps outside the App Store, a quick start guide

DevFeed: [Distributing Mac apps outside the App Store, a quick start guide](<https://devfeed.tech/articles/distributing-mac-apps-outside-the-app-store-a-quick-start-guide-39518.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2021-01-08-distributing-mac-apps-outside-the-app-store>)

Published: 2021-01-08T13:00:00Z

Content type: tutorial

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [macOS](<https://devfeed.tech/topics/macos.md>), [App](<https://devfeed.tech/topics/app.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [app-store](<https://devfeed.tech/tags/app-store.md>), [apple](<https://devfeed.tech/tags/apple.md>), [article](<https://devfeed.tech/tags/article.md>), [developers](<https://devfeed.tech/tags/developers.md>), [guide](<https://devfeed.tech/tags/guide.md>), [mac](<https://devfeed.tech/tags/mac.md>), [macos](<https://devfeed.tech/tags/macos.md>)

### AI overview

A guide to distributing Mac apps outside the Mac App Store. It explains the available distribution choices, compares direct distribution with App Store distribution, and discusses constraints such as sandboxing, App Review, billing, licensing, and private API use.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## Creating configurable widgets for Big Sur (UPDATED)

DevFeed: [Creating configurable widgets for Big Sur (UPDATED)](<https://devfeed.tech/articles/creating-configurable-widgets-for-big-sur-updated-39517.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2020-09-08-creating-configurable-widgets-for-macos-big-sur>)

Published: 2020-09-08T12:00:00Z

Content type: tutorial

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [macOS](<https://devfeed.tech/topics/macos.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Template](<https://devfeed.tech/topics/template.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [coding](<https://devfeed.tech/tags/coding.md>), [configure](<https://devfeed.tech/tags/configure.md>), [macos](<https://devfeed.tech/tags/macos.md>), [templates](<https://devfeed.tech/tags/templates.md>), [ui](<https://devfeed.tech/tags/ui.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A tutorial explains how to create configurable macOS Big Sur widgets with dynamic options by adapting the iOS intents extension template into a custom Xcode template. It also provides a sample project and setup instructions.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## Turning the ChibiStudio canvas into an App Clip for iOS 14

DevFeed: [Turning the ChibiStudio canvas into an App Clip for iOS 14](<https://devfeed.tech/articles/turning-the-chibistudio-canvas-into-an-app-clip-for-ios-14-39516.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2020-08-29-turning-the-chibistudio-canvas-into-an-app-clip>)

Published: 2020-08-29T13:00:00Z

Content type: tutorial

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [App Clips](<https://devfeed.tech/topics/app-clips.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [coding](<https://devfeed.tech/topics/coding.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [app-clips](<https://devfeed.tech/tags/app-clips.md>), [apple](<https://devfeed.tech/tags/apple.md>), [coding](<https://devfeed.tech/tags/coding.md>), [ios](<https://devfeed.tech/tags/ios.md>), [wwdc](<https://devfeed.tech/tags/wwdc.md>)

### AI overview

A technical account of adapting the ChibiStudio chibi-creation experience into an App Clip for iOS 14. The article explains how the 10 MB App Clip limit and offline asset requirements made reducing the app's bundled item inventory the central challenge.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## The big Facebook crash of 2020 and the problem of third-party SDK creep

DevFeed: [The big Facebook crash of 2020 and the problem of third-party SDK creep](<https://devfeed.tech/articles/the-big-facebook-crash-of-2020-and-the-problem-of-third-party-sdk-creep-39515.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2020-05-07-the-big-facebook-crash>)

Published: 2020-05-07T12:00:00Z

Content type: opinion

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [SDKs](<https://devfeed.tech/topics/sdks.md>), [Security](<https://devfeed.tech/topics/security.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [App](<https://devfeed.tech/topics/app.md>), [Library](<https://devfeed.tech/topics/library.md>), [Pi-hole](<https://devfeed.tech/topics/pihole.md>)

Tags: [crash](<https://devfeed.tech/tags/crash.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [facebook](<https://devfeed.tech/tags/facebook.md>), [security](<https://devfeed.tech/tags/security.md>), [third-party](<https://devfeed.tech/tags/third-party.md>)

### AI overview

Gui Rambo recounts how faulty data sent by Facebook caused its SDK to crash during initialization, making many iOS apps unusable. He uses the incident to discuss the risks of third-party SDK creep and describes blocking Facebook domains with Pi-hole as a workaround.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## Implementing mouse pointer interactions on iPad

DevFeed: [Implementing mouse pointer interactions on iPad](<https://devfeed.tech/articles/implementing-mouse-pointer-interactions-on-ipad-39514.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2020-03-19-implementing-mouse-interactions-on-ipad>)

Published: 2020-03-24T21:00:00Z

Content type: tutorial

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [ui](<https://devfeed.tech/topics/ui.md>), [coding](<https://devfeed.tech/topics/coding.md>), [GUI](<https://devfeed.tech/topics/gui.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [keyboard](<https://devfeed.tech/topics/keyboard.md>)

Tags: [animations](<https://devfeed.tech/tags/animations.md>), [apple](<https://devfeed.tech/tags/apple.md>), [coding](<https://devfeed.tech/tags/coding.md>), [gui](<https://devfeed.tech/tags/gui.md>), [implementing](<https://devfeed.tech/tags/implementing.md>), [interaction](<https://devfeed.tech/tags/interaction.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ipad](<https://devfeed.tech/tags/ipad.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [sdk](<https://devfeed.tech/tags/sdk.md>)

### AI overview

A guide to implementing mouse and trackpad pointer interactions on iPadOS 13.4. It covers the relevant APIs, setup requirements, UIHoverGestureRecognizer, and hover animations while noting that iPad pointer behavior differs from macOS.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## Writing command line interfaces for iOS apps

DevFeed: [Writing command line interfaces for iOS apps](<https://devfeed.tech/articles/writing-command-line-interfaces-for-ios-apps-39513.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2020-03-01-writing-command-line-interfaces-for-ios-apps>)

Published: 2020-03-01T21:00:00Z

Content type: tutorial

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [coding](<https://devfeed.tech/topics/coding.md>), [debug](<https://devfeed.tech/topics/debug.md>), [networking](<https://devfeed.tech/topics/networking.md>)

Tags: [command-line](<https://devfeed.tech/tags/command-line.md>), [integration](<https://devfeed.tech/tags/integration.md>), [ios](<https://devfeed.tech/tags/ios.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [multipeerconnectivity](<https://devfeed.tech/tags/multipeerconnectivity.md>), [networking](<https://devfeed.tech/tags/networking.md>)

### AI overview

The article explains how to build a command-line interface for an iOS app. It introduces the chibictl tool for ChibiStudio and describes using MultipeerConnectivity to exchange data between a Mac and iOS devices or the Simulator over nearby Wi-Fi, peer-to-peer Wi-Fi, or Bluetooth.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## CloudKit 101

DevFeed: [CloudKit 101](<https://devfeed.tech/articles/cloudkit-101-39512.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2020-02-25-cloudkit-101>)

Published: 2020-02-25T05:00:00Z

Content type: tutorial

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [coding](<https://devfeed.tech/topics/coding.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [data](<https://devfeed.tech/topics/data.md>), [client](<https://devfeed.tech/topics/client.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [client](<https://devfeed.tech/tags/client.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [coding](<https://devfeed.tech/tags/coding.md>), [data](<https://devfeed.tech/tags/data.md>), [firebase](<https://devfeed.tech/tags/firebase.md>)

### AI overview

An introductory guide to Apple CloudKit as a backend and synchronization solution for apps on Apple platforms. It discusses CloudKit's production suitability, client-driven implementation, common use cases, and alternatives such as Realm Mobile Platform, Firebase, iCloud KVS, iCloud Documents, and custom web apps.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## Managing Massive View Controllers in iOS MVC Applications

DevFeed: [Managing Massive View Controllers in iOS MVC Applications](<https://devfeed.tech/articles/mvc-many-view-controllers-39511.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2020-02-20-mvc-with-sugar>)

Published: 2020-02-20T18:00:00Z

Content type: opinion

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [mvc](<https://devfeed.tech/topics/mvc.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [iOS development](<https://devfeed.tech/topics/ios-development.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [app-architecture](<https://devfeed.tech/tags/app-architecture.md>), [apple](<https://devfeed.tech/tags/apple.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [testing](<https://devfeed.tech/tags/testing.md>), [unit-tests](<https://devfeed.tech/tags/unit-tests.md>)

### AI overview

The article discusses problems that arise when iOS MVC applications develop massive view controllers, tightly coupled screens, and difficult-to-write unit tests. It considers how to split view controllers while supporting older iOS versions and UIKit alongside SwiftUI.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## Common pitfalls when using Keychain Sharing on iOS

DevFeed: [Common pitfalls when using Keychain Sharing on iOS](<https://devfeed.tech/articles/common-pitfalls-when-using-keychain-sharing-on-ios-39510.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2020-01-16-common-pitfalls-when-using-keychain-sharing-on-ios>)

Published: 2020-01-16T14:00:00Z

Content type: tutorial

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [coding](<https://devfeed.tech/topics/coding.md>), [sensitive data](<https://devfeed.tech/topics/sensitive-data.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [coding](<https://devfeed.tech/tags/coding.md>), [ios](<https://devfeed.tech/tags/ios.md>), [pitfalls](<https://devfeed.tech/tags/pitfalls.md>), [sensitive-data](<https://devfeed.tech/tags/sensitive-data.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

An article about common Keychain Sharing problems on iOS, including incorrect group names and limitations of using Keychain Sharing in the iOS Simulator. It also discusses checking entitlements in the final binary with jtool.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## You can use SwiftUI today

DevFeed: [You can use SwiftUI today](<https://devfeed.tech/articles/you-can-use-swiftui-today-39509.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2020-01-03-you-can-use-swiftui-today>)

Published: 2020-01-04T02:50:00Z

Content type: opinion

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Low-Code / Internal Tools](<https://devfeed.tech/topics/internal-tools.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [Risk](<https://devfeed.tech/topics/risk.md>)

Tags: [internal-tools](<https://devfeed.tech/tags/internal-tools.md>), [ios](<https://devfeed.tech/tags/ios.md>), [macos](<https://devfeed.tech/tags/macos.md>), [risk](<https://devfeed.tech/tags/risk.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>)

### AI overview

The author argues that using SwiftUI immediately for App Store production apps is risky because the technology is new, has rough edges, and may change significantly. They nevertheless recommend that iOS developers learn SwiftUI through substantial hands-on projects, including internal tools, rather than only tutorials or small test projects.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## Quick tip: clearing your app's launch screen cache on iOS

DevFeed: [Quick tip: clearing your app's launch screen cache on iOS](<https://devfeed.tech/articles/quick-tip-clearing-your-app-s-launch-screen-cache-on-ios-39508.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2019-12-09-clearing-your-apps-launch-screen-cache-on-ios>)

Published: 2019-12-09T18:00:00Z

Content type: tutorial

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [App](<https://devfeed.tech/topics/app.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [coding](<https://devfeed.tech/topics/coding.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [cache](<https://devfeed.tech/tags/cache.md>), [code](<https://devfeed.tech/tags/code.md>), [coding](<https://devfeed.tech/tags/coding.md>), [ios](<https://devfeed.tech/tags/ios.md>), [launch](<https://devfeed.tech/tags/launch.md>)

### AI overview

This quick tip explains how to clear an iOS app's launch screen cache when cached launch images fail to update, including after the app is deleted. It describes locating the cache in the app container and running code packaged as an extension, with testing noted for iOS 13.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

[Next page](<https://devfeed.tech/sources/rambo-codes.md?cursor=WyIyMDE5LTEyLTA5VDE4OjAwOjAwKzAwOjAwIiwgImQzZjAxZDk3LTc0MjEtNGYyMy05MzJiLWUxMGI0ZDgwYzExYyJd>)