It would be worth learning about serialization, but if you didn't want to it is pretty easy to encode this with a bunch of short ints or something similar. I would say you need 65 pieces of data if you were to store the state of each square and which player's turn is going on. This seems better to me because otherwise if you use 33 pieces of data to store information about which color's turn it is and where each piece is, you also have to track if the pawns have been promoted and to what. In the prior case, you just need to choose a number for each type of piece and its color. For example, 1-6 could be the black pieces and 7-12 could be the white pieces, with 0 indicating that space is vacant. If you need to track if castling is still legal for each side in a match, you need to track if the king and the rooks have moved. This is just 6 extra pieces of data that would just be 0 or 1.
You'd end up with an encoding like:
0/1: Is it what or black's turn?
64 entries for pieces:
0: vacant
1: black pawn
2: black rook
3: black knight
4: black bishop
5: black queen
6: black king
7: white pawn
8: white rook
9: white knight
10: white bishop
11: white queen
12: white king
6 entries for castling reqs:
0/1: white king has moved
0/1: white rook at file a has moved
0/1: white rook at file h has moved
0/1: black king has moved
0/1: black rook at file a has moved
0/1: black rook at file h has moved
You could probably contract this to 4, stating if castling is allowed with rooks at rank a or h for each color, but it may be easier to just keep all six.
You could either assign a line for each of these valeus, or one line each except for the positions which would get one line, etc.
As long as you picked a consistent encoding how you write it doesn't matter.
Once you'd picked this actually reading/writing a file shouldn't be too hard. I'm not familiar with the cocoa methods for doing so, but I'd expect that you'd keep the game state someplace in the Library or something outside of your bundle.
For C you'd just use fopen/fprintf/fread, etc. but others here might be able to help cocoa-fy this.
-Lee