Xcode Tutorial

EECS280 Foundation

This guide is built on the EECS280 macOS XCode Setup Tutorial.

The following changes were made for EECS281:

  • Use EECS281 Makefile instead of EECS280 Makefile
  • Use EECS281 Project 0 instead of EECS280 Project 1
  • Use updated input redirection technique (we are working on updating their guide to have this)
    • You will need to download the header used for this technique at a certain point the guide. When you reach that point of the guide, you can download the header with the following command:

      wget https://raw.githubusercontent.com/eecs281staff/xcode_redirect/refs/heads/master/xcode_redirect.hpp
      

Video Tutorial

Our video walkthrough contains the aforementioned changes, and is the recommended approach.

You can click here to watch it.

Written Tutorial

If you don’t want to watch the video, and would instead prefer a written version, you can follow the linked EECS280 tutorial.

We are still working on updating their guide’s input redirection method. You should use this method for input redirection in the meantime.

Once you have finished that tutorial, follow their EECS281 Project Setup Tutorial.

Appendix A: malloc: nano zone abandoned [...]

  • Cause: AddressSantizer and Apple Clang incompatibility (read more here)
  • Effect: No effect on program (for our purposes), just adds a line to the output.
  • Fix: Add MallocNanoZone=0 to your Run environment variables:
    • Select your scheme, then “Edit Scheme”. You can also use menu: Product > Scheme > Edit Scheme.

      Image credit: EECS280 Staff

    • Click the Run target, then the Arguments tab, then the + under Environment Variables

    • Enter MallocNanoZone for the name

    • Double click the value box, and enter 0