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

Over the last week, I encountered the dreaded Apple “prohibitory symbol” — do not enter sign or stop sign — twice: once when just booting into macOS Mojave 10.14 beta 4 and again when updating to macOS Mojave 10.14 beta 8. Here’s what my MacBook Pro’s screen showed me:

The is one of the symbols that users of Apple products running macOS rightfully fear. Of course, we’re talking about products like the Mac Pro, Mac mini, iMac, MacBook, MacBook Air, and MacBook Pro.

When you see the prohibitory symbol, please don’t panic. Please don’t go through any lengthy reinstalls or plunge down the troubleshooting rabbit hole before you hear me out. Apple says you should “try reinstalling macOS using macOS recovery.” Another Apple support page suggests that you “revert to a previous version of macOS if you experience trouble after installing an update” (using Time Machine). Several Apple forums advise booting from a recovery hard drive, reinstalling macOS, repairing your hard drive with Disk Utility… These are all valid solutions… ones you should only use after trying something simple first.

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

Controlling chaos: Why you should care about adding error checking to your iOS apps

NOTE: The second installment of this article, “Controlling chaos: Error Handling in Swift 4 with do, try, catch, defer, throw, throws, Error, and NSError,”, has just been released.

In this tutorial, the first in a series of tutorials, we’re going to discuss the arduous topic of looking for unexpected values, events, and conditions that arise during program execution, using a technique I like to call “error checking.” Today, I’ll concentrate on the reasons why you should check for errors. I’ll mention a number of techniques I use but leave detailed discussion of those techniques and sample code to subsequent articles. The purpose of this tutorial is to convince you to make use of error checking in your apps. You ignore errors at your own dire peril. This is sink or swim. If you put out a crappy app, no one’s going to use it because you’ll get a bad reputation at Internet speed, and employers/customers will be more than happy to leave you behind forever for other app developers who aren’t too lazy to write quality code.

Continue reading “Controlling chaos: Why you should care about adding error checking to your iOS apps”

Downloading and installing an old version of OS X (mac OS) on your Mac

We’re going to talk about installing a version of your Mac’s operating system (OS), known as “macOS” or “OS X,” on your Mac, older than the one you’re currently running, on a partition of your primary hard drive or on an external hard drive. You may find that your current instance of OS X is too unstable for normal day-to-day usage or more heavy-duty tasks like development. Remember all the problems people had when they upgraded to OS X 10.13, also known as “High Sierra?” Oy, vey. You might have been like “Get me the heck outta Dodge!” You wanted or needed to get back to a stable OS, like Sierra (OS X 10.12) or El Capitan (OS X 10.11). For developers, you may have to install an older version of Xcode not supported by your latest OS. For Cocoa/macOS developers, you may need to make absolutely sure that your desktop apps are backward compatible, and the only way to do that for sure is to install and run your apps on older versions of macOS. I will show you, step by step, how to get a valid copy of an older version of macOS, make a bootable installer disk, and install the old OS.

Continue reading “Downloading and installing an old version of OS X (mac OS) on your Mac”

Welcome to iOS Brain

Stayed tuned as we get our infrastructure together. We’ll be publishing information, tutorials, news, tips, workarounds, reviews, etc., of all things iOS. Look for articles on developing iOS apps using Xcode, Interface Builder, Objective-C, Swift, Adaptive Layout, Auto Layout, and more. Related technologies like Git, BitBucket, GitHub, Photoshop, and Sketch will also be covered.

Don’t be surprised if we go off on tangents into subjects like object-oriented programming, debugging, Agile, Test-Driven Development, Continuous Integration, and more.

Thanks for checking in!

Continue reading “Welcome to iOS Brain”