<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6850465458431924365</id><updated>2011-07-07T17:53:29.416-07:00</updated><title type='text'>iPhone dev notes</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://iphonedevnotes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://iphonedevnotes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6850465458431924365.post-5683107568437169351</id><published>2009-04-28T10:27:00.000-07:00</published><updated>2009-04-28T11:05:23.263-07:00</updated><title type='text'>zlib.h "_deflate", referenced from:</title><content type='html'>Just added some simple zipping capability which references zlib.h but when trying to build it, there's a set of errors resolving references from the .o (object) files. This is obviously something to do with the linking to the dynamic libraries, but it's a bugger to find out what exactly and how to solve it.&lt;br /&gt;&lt;br /&gt;The problem is that you need to alert Xcode to the fact that you want that library loaded. The easiest solution is Project&gt;Edit Active Target, choose the General tab, and press the + button under linked libraries. This allows you to choose from the frameworks and directories appropriate to your chosen Base SDK (see the Build tab to change this).&lt;br /&gt;&lt;br /&gt;Of course, guessing that zlib.h and libz.dylib are related is the easy part.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6850465458431924365-5683107568437169351?l=iphonedevnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonedevnotes.blogspot.com/feeds/5683107568437169351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/04/zlibh-deflate-referenced-from.html#comment-form' title='34 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/5683107568437169351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/5683107568437169351'/><link rel='alternate' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/04/zlibh-deflate-referenced-from.html' title='zlib.h &quot;_deflate&quot;, referenced from:'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>34</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6850465458431924365.post-4620803166096130249</id><published>2009-04-26T02:22:00.000-07:00</published><updated>2009-04-26T02:23:37.786-07:00</updated><title type='text'>/Users/mike/Documents/Development/xcode/iPhone/WordBuilder/WordStore.m:457: error: nested functions are disabled, use -fnested-functions to re-enable</title><content type='html'>You accidentally deleted the '[' at the beginning of the method call. Put it back.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6850465458431924365-4620803166096130249?l=iphonedevnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonedevnotes.blogspot.com/feeds/4620803166096130249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/04/usersmikedocumentsdevelopmentxcodeiphon.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/4620803166096130249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/4620803166096130249'/><link rel='alternate' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/04/usersmikedocumentsdevelopmentxcodeiphon.html' title='/Users/mike/Documents/Development/xcode/iPhone/WordBuilder/WordStore.m:457: error: nested functions are disabled, use -fnested-functions to re-enable'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6850465458431924365.post-344478253197660869</id><published>2009-03-30T12:51:00.000-07:00</published><updated>2009-03-30T12:59:17.156-07:00</updated><title type='text'>STAssertEquals doesn't work for NSString (or any object for that matter)</title><content type='html'>STAssertEquals looks like a useful convenience function when you first stumble upon it, but it's not. &lt;code&gt;SenTestCase_Macros.h&lt;/code&gt; reveals its dirty secret in the comments:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Generates a failure when a1 is not equal to a2. This test is for C scalars, structs and unions.&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;So it's fine for ints and so on, but not a simple workaround for the cumbersome-looking string equality test [string isEqualTo:@"hi!"]. Unfortunately, it doesn't warn you that you're using inappropriate arguments; that realisation is a couple of minutes investigation away.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6850465458431924365-344478253197660869?l=iphonedevnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonedevnotes.blogspot.com/feeds/344478253197660869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/03/stassertequals-doesnt-work-for-nsstring.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/344478253197660869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/344478253197660869'/><link rel='alternate' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/03/stassertequals-doesnt-work-for-nsstring.html' title='STAssertEquals doesn&apos;t work for NSString (or any object for that matter)'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6850465458431924365.post-2581687184440169608</id><published>2009-03-29T08:36:00.000-07:00</published><updated>2009-03-29T14:02:16.961-07:00</updated><title type='text'>SenTestingKit "no such file or directory"</title><content type='html'>When trying to add unit tests to your Xcode project, there's some very useful information on &lt;a href="http://developer.apple.com/documentation/DeveloperTools/Conceptual/UnitTesting/Articles/CreatingTests.html"&gt;setting up Xcode for unit testing&lt;/a&gt; on the Apple site, but one key piece of information is missing - you may need to manually add the SenTestingKit.framework to your project.  Otherwise you'll end up with errors such as 'SenTestingKit no such file or directory' when trying to build your test project.&lt;br /&gt;&lt;br /&gt;Add the framework from the context menu on the Frameworks icon. SenTestingKit.framework should be in /Developer/Library/Frameworks. Make sure that you &lt;span style="font-style: italic;"&gt;only&lt;/span&gt; link it to your test target  and not your core project, as this can cause you more problems when trying to run the core project.&lt;br /&gt;&lt;br /&gt;When running the tests, failing tests are reported in the standard "Errors and Warnings" section of Xcode, just to confuse you...&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Actually, since writing the above, I've found a much better &lt;a href="http://developer.apple.com/tools/unittest.html"&gt;overview of unit testing in Xcode&lt;/a&gt; which does cover the points I made above.&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6850465458431924365-2581687184440169608?l=iphonedevnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonedevnotes.blogspot.com/feeds/2581687184440169608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/03/sentestingkit-no-such-file-or-directory.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/2581687184440169608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/2581687184440169608'/><link rel='alternate' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/03/sentestingkit-no-such-file-or-directory.html' title='SenTestingKit &quot;no such file or directory&quot;'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6850465458431924365.post-8328563940133626577</id><published>2009-03-23T15:53:00.000-07:00</published><updated>2009-03-23T15:56:38.728-07:00</updated><title type='text'>nested functions are disabled use -fnested-functions to re-enable</title><content type='html'>You'll get this error for a weird variety of tricky syntax errors - forgetting to close blocks etc. You'll also get it if you try to use Java syntax for iterators rather than Obj-C2.0 syntax. Don't write this:&lt;div&gt;&lt;br /&gt;&lt;code&gt;for (NSString *value : myArray) {&lt;/code&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;write this instead:&lt;/div&gt;&lt;br /&gt;&lt;code&gt;for (NSString *value in myArray) {&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6850465458431924365-8328563940133626577?l=iphonedevnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonedevnotes.blogspot.com/feeds/8328563940133626577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/03/nested-functions-are-disabled-use.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/8328563940133626577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/8328563940133626577'/><link rel='alternate' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/03/nested-functions-are-disabled-use.html' title='nested functions are disabled use -fnested-functions to re-enable'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6850465458431924365.post-5270997030960636111</id><published>2009-03-23T13:32:00.000-07:00</published><updated>2009-03-23T13:37:04.211-07:00</updated><title type='text'>EXC_BAD_ACCESS</title><content type='html'>gdb getting narked and shouting about &lt;code&gt;EXC_BAD_ACCESS&lt;/code&gt; is a sign that you've either released something you should have, or you've forgotten to retain something. Unfortunately, the nature of these problems is that they're Heisenbugs - they may not be obvious when you go hunting with the debugger. See &lt;a href="http://developer.apple.com/qa/qa2004/qa1367.html"&gt;Apple's notes&lt;/a&gt; for more help.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6850465458431924365-5270997030960636111?l=iphonedevnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonedevnotes.blogspot.com/feeds/5270997030960636111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/03/excbadaccess.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/5270997030960636111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/5270997030960636111'/><link rel='alternate' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/03/excbadaccess.html' title='EXC_BAD_ACCESS'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6850465458431924365.post-1220111238856145158</id><published>2009-03-19T15:55:00.001-07:00</published><updated>2009-03-19T15:59:16.233-07:00</updated><title type='text'>getting and setting the string value of an NSTextField</title><content type='html'>I can't believe what a mess I made of this, when it's so easy:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;code&gt;[textField stringValue]&lt;/code&gt; gets the contents of the field.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;code&gt;[textField setString:@"some text"]&lt;/code&gt; updates the field.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Of course, there's always Key-Value Coding and Key-Value Observing if you want to make it harder on yourself...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6850465458431924365-1220111238856145158?l=iphonedevnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonedevnotes.blogspot.com/feeds/1220111238856145158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/03/getting-and-setting-string-value-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/1220111238856145158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/1220111238856145158'/><link rel='alternate' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/03/getting-and-setting-string-value-of.html' title='getting and setting the string value of an NSTextField'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6850465458431924365.post-7621279807999825254</id><published>2009-03-16T11:46:00.000-07:00</published><updated>2009-03-16T12:28:50.683-07:00</updated><title type='text'>selector element does not have a valid object type</title><content type='html'>&lt;div&gt;One of the changes Apple made to simplify coding in Objective-C 2.0 for OS X and the iPhone was the addition of a simple enumeration syntax. Previously you would have written something like: &lt;br /&gt;&lt;pre&gt;for (int i; i&lt;[array count]; i++) {&lt;/pre&gt;&lt;pre&gt;  [[array objectAtIndex: i] doSomething];&lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;But now you can write&lt;/div&gt;&lt;div&gt;&lt;pre&gt;for (NSString *string in array) {&lt;br /&gt;    [string doSomething];&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;This is much nicer, but there is a gotcha lying in wait: you can only apply fast enumeration for iterating over Objective-C objects, not primitive types, so the following:&lt;br /&gt;&lt;pre&gt;for (int i in array) { &lt;/pre&gt;&lt;pre&gt;... &lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;gives you the almost meaningful error "selector element does not have a valid object type". Unfortunately, it places the error message after the closing bracket of the body of the loop, so you may spend some time wondering how a bracket can cause that error...&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6850465458431924365-7621279807999825254?l=iphonedevnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonedevnotes.blogspot.com/feeds/7621279807999825254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/03/selector-element-does-not-have-valid.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/7621279807999825254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/7621279807999825254'/><link rel='alternate' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/03/selector-element-does-not-have-valid.html' title='selector element does not have a valid object type'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6850465458431924365.post-7251298589382149009</id><published>2009-03-15T14:22:00.000-07:00</published><updated>2009-03-15T14:33:34.582-07:00</updated><title type='text'>assignment from distinct Objective-C type</title><content type='html'>If you want to overwrite the contents of an Objective C object, you might be tempted to do something like the following:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;wordarray = [[NSMutableArray alloc] init];&lt;br /&gt;... interesting things here ...&lt;br /&gt;wordarray = [sentence componentsSeparatedByString:@" "];&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;You'll find that the second line there gets an enigmatic message "warning:assignment from distinct Objective-C type". If you ignore the message and run the code, everything runs fine so what's the problem? Well, you're stamping all over Objective-C's memory allocation and garbage collection, so at some point in the future, when you're least expecting it, your program will crash dramatically. The safe way to refine the contents of an object is by using a &lt;code&gt;setXXXX:&lt;/code&gt; message:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;[wordarray setArray:[sentence componentsSeparatedByString:@" "]];&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6850465458431924365-7251298589382149009?l=iphonedevnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonedevnotes.blogspot.com/feeds/7251298589382149009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/03/assignment-from-distinct-objective-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/7251298589382149009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/7251298589382149009'/><link rel='alternate' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/03/assignment-from-distinct-objective-c.html' title='assignment from distinct Objective-C type'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6850465458431924365.post-7595212759528280673</id><published>2009-03-14T02:28:00.000-07:00</published><updated>2009-03-14T04:06:22.131-07:00</updated><title type='text'>Unable to read symbols for "/System/Library/Frameworks/UIKit.framework/UIKit"</title><content type='html'>&lt;div&gt;So you've been playing the XCode and wrapping your head round Cocoa and the Interface Builder, and then you make one inconsequential change, and your whole world falls apart: instead of the gloriously lickable application appearing in the iPhone simulator, the simulator launches and then closes, and XCode reports __TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION__. When you open the debugger window, you see a worrying set of messages such as: &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;code&gt;warning: Unable to read symbols for "/System/Library/Frameworks/UIKit.framework/UIKit" (file not found).&lt;/code&gt;&lt;div&gt;&lt;code&gt;warning: Unable to read symbols from "UIKit" (not yet mapped into memory).&lt;br /&gt;warning: Unable to read symbols for "/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics" (file not found).&lt;br /&gt;warning: Unable to read symbols from "CoreGraphics" (not yet mapped into memory).&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"What the hell did I do? I deleted my frameworks?? How???" may be the thoughts going through your head right now - but don't worry! All that is happening is the the gdb debugger is looking in the wrong place for the iPhoneOS frameworks; it's looking in the MacOS framework directory &lt;code&gt;/System/Library/Frameworks&lt;/code&gt; instead of the iPhoneOS directory which would be something like &lt;code&gt;/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.1.sdk/System/Library/Frameworks/CoreGraphics.framewor&lt;/code&gt;. Unfortunately, these messages take up most of the space on the default tiny gdb window, so the error that caused gdb to be launched has scrolled off the top of the screen. If you scroll up, you'll find the real error that your minor change caused.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've not found a clear explanation why gdb is using the wrong path, or how to correct this, but if you're desperate to suppress these messages, you can set up symbolic links to the appropriate frameworks e.g.&lt;/div&gt;&lt;div&gt;&lt;code&gt;sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.1.sdk/System/Library/Frameworks/UIKit.framework/  /System/Library/Frameworks/UIKit.framework&lt;/code&gt; &lt;/div&gt;&lt;br /&gt;If anyone knows how to fix gdb's path information, please let me know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6850465458431924365-7595212759528280673?l=iphonedevnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonedevnotes.blogspot.com/feeds/7595212759528280673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/03/unable-to-read-symbols-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/7595212759528280673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6850465458431924365/posts/default/7595212759528280673'/><link rel='alternate' type='text/html' href='http://iphonedevnotes.blogspot.com/2009/03/unable-to-read-symbols-for.html' title='Unable to read symbols for &quot;/System/Library/Frameworks/UIKit.framework/UIKit&quot;'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
