RaiseMan Non-appearances, Help!


#1

Hi,
I would appreciate any insight on the following interesting phenomena:

  1. I install a clean copy of Xcode 4.7.1
  2. I download a fresh copy of the Solutions to Cocoa-4th edition (thank you Adam!)
  3. I proceed to open and run each project found in the downloaded files.
  4. All build successfully without errors. And the menus for the projects all display fine.
  5. The project window views display in chapters 2,3,4,5,6,7,RaiseMan-Challenge2 of chapter 8, 11,17,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,34,35, iPing of chapter 36. Those projects all operate as they are meant to.

The project windows and controls do not display in the RaiseMan and RaiseMan-Challenge1 project of chapter 8, nor any of the RaiseMan’s of the chapters 9,10,12,13,14,15,16,27, nor in the ZipInspector of chapter 36.

Any suggestions? Insights?


#2

Clarification, and Another data point:
I install Xcode 4.2.1 on my macbookpro (i7); I download the solutions from bignerdranch; I run each assignment:
except for RaiseMan Challenge-2 of Chapter 8, no RaiseMan assignment will display the window; all other project assignments run beautifully, except for ZIPspector.

New data point:
If I invoke from Xcode 3.2.6, all the assignments run and display, except for ZIPspector.

Ideas???

By the way, here are some minor corrections to the text:
p. 41, that lovely word: indiciating will probably need to be changed to something in english.
p. 68 explicity probably needs to be more explicitly spelled.
p. 93 ‘the complier will automatically create…’ we are all trying to be compliers, Adam[!]
p. 102 startButton is speakButton.
p 114 you may want try…AppController.m : you may want to try…SpeakLineAppDelegate.m
p123 at bottom: action=incrementFido
p165 at bottom: NSError *error;


#3

Just for fun try this: Create a new project like you were going to make a new RaiseMan project making sure you check the document based application and let Xcode (I am using 4.2.1) do its thing. Run the program, do not add any other code. When I do this I can get it to run at least once with the default window being displayed then it does not display any more. I have done this and placed NSLog statements in the methods that Xcode creates and it displays ‘autoSavesInPlace’ three times, ‘windowNibName’ then ‘autoSavesInPlace’ 2 times, ‘windowControllerDidLoadNib’ then ‘autoSavesInPlace’ 4 times. After it fails to appear, only ‘autoSavesInPlace’ shows three times and then nothing.

I have been trying to get this to work since December and nothing has worked. I have asked this on StackOverFlow and have not received any help. So I echo your plea for help. HELP!!!


#4

Hi,
I am glad that someone else is having the same problem! so we can keep actively working on it!
So, I did a RaiseManStage0, creating a document-based application, checking only the ARC flag.

And, I did send method invocation messages to the Log from my document .m file. The results of each Run are:
3 autosavesinplace
1 init (with self non-nil)
1 windownibname
2 autosavesinplace
1 windowcontrollerdidloadnib
5 autosavesinplace
(a 6th autosavesinplace occurs when i close the run.)

This repeats consistently each time I run the code, with window always appearing (though titled Untitled), and on separate sessions.
Where I differ from you is that I am using Xcode 4.3. You may want to try that?
-Bill.


#5

I installed 4.3 and tried it again with the same results. It ran 3 times and then the window would no longer appear. I wonder what the difference is between my setup and yours, I am running Lion 10.7.3.

Did not put an NSLog in the init method so I am missing that result. The solution from Big Nerd Ranch runs correctly and I have tried comparing them and cannot find any differences. I have even copied their code in place of mine which did not make any difference. I haven’t figured out how to copy their window to replace mine. I thought the difference might be in the bindings or in the way the build process is configured but I can not find where the difference is. I do not know much about Xcode and compiliers so I am kind of stumbling around in the dark.


#6

I am not sure I understand what you mean by “ran 3 times and then …” At the conclusion of each run did you 1. close the project from the project menu; 2. close the project from the Xcode window; 3. quit Xcode. Do this 3 times. At the 4th time no project window?

Or: i)close the project from the project menu; ii)re-run the project. Do this 3 times. At 4th time no project window? or…? And, all of this is with RaiseMan project start configuration? (which i have called RaiseManStage0?)

But, when you open the RaiseMan solution for Chapter 8, (or, presumably all the RaiseMan chapter solutions), it runs correctly each time??

I seem to have a situation rather orthogonal to yours. My RaiseManStage0 will run each time. However, for none of the RaiseMan project solutions from the various Chapters will Xcode 4.3.1 open the Window correctly UNLESS I first invoke the project from my Xcode 3.2.6[!]


#7

Go for Number 2. I just stopped the app and then reran it. Did not try shutting everything down until after the window failed to appear. And yes the RaiseMan solution for challenge 2 runs correctly every time. Interestingly, the beginning RaiseMan project, and Challenge 1 solutions do not work, just Challenge 2.

I dug up an old Snow Leopard disk and installed Xcode 3.2 but I must have done something wrong because it quits ‘unexpectedly’ so I cannot see if it will run under 3.2


#8

I just deleted all my Xcode stuff (had to use secure delete to empty the trash as some of the files said they were being used) and then downloaded and installed 4.3.1. Created a new document based project and ran it. Ran successfully about 5 times and I quit trying. Do not have time right now to troubleshoot the other projects but that is encouraging. Will try some more in the next few days and let you know if I have any progress.


#9

All of the solutions for Cocoa-4th Chp 8 work correctly. I finally changed the name of the project to BaseRaiseMan and tried it. It actually worked. I created the Person file and added the code to the document file (.h & .m) and it ran with the window showing up as expected. I deleted the default label from the .xib file and it did not work.

From my perspective so far, it does not seem to like the name RaiseMan. Maybe something in my system is corrupted - does not make any sense. And, if I modify the .xib file it quits working. Maybe deleting the default label disconnected a binding or something that needs to be there. Back to comparing to see if I can spot some differences.

I hope someone is reading these and has an idea because I sure do not know what I am looking for.