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=0to 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
MallocNanoZonefor the name
-
Double click the value box, and enter
0
-