Fix for prohibitory symbol (do not enter, stop sign) when booting into or updating macOS Mojave 10.14 (including betas)

FLASH: Updated 10/25/18 with NEW INSIGHTS on how to deal with the prohibitory symbol. When installing the macOS Mojave 10.14 beta 11 and then the public macOS Mojave 10.14, I ran into the prohibitory symbol again, actually twice during both installations, but got through to the final install in both cases. You should read this entire article, but if you’re in a hurry, jump to the section covering working around hitting the prohibitory symbol twice.

TOP NEW TIPS
  • If you get the prohibitory symbol multiple times, you may have to shut down and restart your Mac multiple times.
  • Boot into another APFS-based partition, like High Sierra (macOS 10.13), run Disk Utility, and then run First Aid on the Mojave partition. If Disk Utility reports that it fixed the Mojave partition — or even if it just gave the partition a clean bill of health — I’ll bet your problems will be solved.

Continue reading “Fix for prohibitory symbol (do not enter, stop sign) when booting into or updating macOS Mojave 10.14 (including betas)”

Debugging: symbolicating crash reports manually (stack trace, backtrace)

Swift tutorials by iosbrain.comToday, we’ll talk about manually symbolicating iOS and OS X application “crash reports.” Why? When you hear about a crash in one of your apps from a customer, the first thing you should do is try to get a copy of the crash report. But there are times when you get crash reports that aren’t automatically symbolicated, or that you can’t symbolicate by dragging into Xcode, or are partially symbolicated. When not symbolicated, you’re reading numeric addresses when you want to be reading code, like your function/class names. There are workarounds and we’ll discuss one today. Download the sample Xcode 9 project written in Objective-C to follow along. What’s a crash report, anyway? According to Apple:

Continue reading “Debugging: symbolicating crash reports manually (stack trace, backtrace)”

Fix for IBOutlet, IBAction connections disappearing in Xcode 9

You’ve been working on your billion dollar app happily for days or weeks. It’s Monday morning, you open up Xcode 9 to get back to work and — dang, bummer — all your IBOutlet and IBAction connections look like they’ve been disconnected (see image below):

Continue reading “Fix for IBOutlet, IBAction connections disappearing in Xcode 9”

UPDATE: Renaming an Xcode 8 project, the easy way or the advanced way

NOTE: This article was first published on Jan 18, 2017. Since that time, I realized I missed one aspect of the project renaming process. Re-read the article or jump straight to the new content.

Sometimes you need to rename your Xcode projects. Not too long ago, this would’ve been problematic. Apple has built a project renaming feature into Xcode, but it’s not good enough for my needs. I’ll show you how I have to go above and beyond the standard functionality to get what I really want. Let’s walk through a concrete example, renaming an Xcode project we’ve been talking about in the post entitled “The UICollectionView is much more than a grid or matrix”.

Continue reading “UPDATE: Renaming an Xcode 8 project, the easy way or the advanced way”

Renaming an Xcode 8 project, the easy way or the advanced way

NOTE: This article was first published on Jan 18, 2017. Since that time, I realized I missed one aspect of the project renaming process. Re-read the article or jump straight to the new content.

Sometimes you need to rename your Xcode projects. Not too long ago, this would’ve been problematic. Apple has built a project renaming feature into Xcode, but it’s not good enough for my needs. I’ll show you how I have to go above and beyond the standard functionality to get what I really want. Let’s walk through a concrete example, renaming an Xcode project we’ve been talking about in the post entitled “The UICollectionView is much more than a grid or matrix”.

Continue reading “Renaming an Xcode 8 project, the easy way or the advanced way”

Using Xcode 7 with the iOS 10 SDK

Today, we’ll be discussing getting an older version of Xcode (7) to work with a newer version of the iOS SDK (10). When done reading this article, you’ll be able to build, link, install, and debug apps in/from Xcode 7 onto iPhones/iPads/iPods running iOS 10. (If you don’t need background, just skip to the solution.) The main reasons for doing this?

  • You have an app built for the last iOS version (9) that has a problem when running in the latest iOS version (10) and you’d like to debug the code; and/or,
  • Apple releases a new beta iOS (10) and beta Xcode (8), you want to see how your current, stable code (built for iOS 9) runs on the new beta iOS (10), but you don’t want to trash your current, stable Xcode (7) installation with the beta Xcode (8).

Continue reading “Using Xcode 7 with the iOS 10 SDK”

Installing multiple versions of Xcode (6, 7, 8) side-by-side, together on the same Mac

Let’s talk about cleanly installing multiple versions of Xcode (6, 7, 8) side-by-side, together on the same Mac desktop, MacBook Pro, or MacBook Air.

Apple keeps moving forward with new Xcode and iOS versions, but some of us in the developer community need the ability to support — or just experiment with — projects in older versions. I’m currently working on an iOS 9 app, developed in Xcode 7 that’s ready to be submitted to the App Store. At this eleventh hour, the last thing I want to do is go through the pain of upgrading to a new iOS SDK in a new Xcode version. I tried building the app and its constituent libraries in Xcode 8, and was presented with tens of compiler and linker errors. Oy… But I do need to to start moving the project to Xcode 8/iOS 10 — and start other projects, check out new features, and get up to speed…

Continue reading “Installing multiple versions of Xcode (6, 7, 8) side-by-side, together on the same Mac”