View Full Version : Well, Apple picked the worst possibly time to "feature" me.
detz
Jun 11, 2009, 07:11 AM
WTF, seriously Apple? I sent in a new version of my app about two weeks ago and I guess when I built it something was wrong with the binary and it crashed on all 2.x iPhones. Since I've followed their advice and upgraded to 3.0 to test on I had no way of testing on the 2.x device so I didn't know this when I sent it in.(It worked on 3.0 and 2.x in the simulator and 3.0 hardware) They let it slip through as well but since everyone buying from the store is on 2.x the app crashes for everyone. :mad:
After I got 10 emails I figured something was wrong so I got a 2.x device to test on and fixed the bug. I had it submitted within hours of being notified there was a bug but Apple is taking their pretty little time updating it(2 weeks). I get 40-50 emails a day complaining, request refunds and my rating has tanked from 4 star down to 1 star even though this could have been avoided if Apple would update apps quicker. I've emailed, I've called and still nothing. Now today a friend sent me this....so not only will more people download a broken app but if people read the reviews they wont purchase anyway so I'm loosing sales. I'm so pissed, sorry for the vent.
UngratefulNinja
Jun 11, 2009, 07:14 AM
That's awful! :( What bad timing :mad:
dejo
Jun 11, 2009, 09:36 AM
Perhaps it's time for an email to sjobs?
PhoneyDeveloper
Jun 11, 2009, 10:02 AM
The large print giveth and the small print taketh away.
I've thought that there aught to be some kind of a 'speedy review' that developer's could get. In order to avoid abuse maybe developers could get one or two 'speedy reviews' per year, or per product, or something. In this way if you had a critical bug fix that you really really wanted to release quickly there was a way to have this happen.
Another thought would be to remove the product from sale until the new version was available.
dejo
Jun 11, 2009, 10:05 AM
I've thought that there aught to be some kind of a 'speedy review' that developer's could get. In order to avoid abuse maybe developers could get one or two 'speedy reviews' per year, or per product, or something. In this way if you had a critical bug fix that you really really wanted to release quickly there was a way to have this happen
Agreed. Some sort of "bug-fix express-lane" would be a great addition.
detz
Jun 11, 2009, 10:16 AM
I called last night and the guy said there is nothing they can do. If I've sent an email then I have to wait for a response. :rolleyes:
boyplunder
Jun 11, 2009, 10:46 AM
I have read with interest. I started the developer enrollment process about 10 days ago, and haven't heard a thing, except the automated confirmation email.
I have two apps, one ready to go, but it's quite obvious that my enrollment is likely to take a month, if I'm lucky, and then another month to get my app on the store. [Again, if I'm lucky.]
This seems a pretty poor state of affairs. I know that Apple are adding hundreds, if not thousands of apps each week, and it's incredible that the Appstore is so successful, but they really do need to do something, as this is only going to get worse.
Getting the app accepted in the first place should involve comprehensive checks, but I'm amazed that there isn't an upgrade fast track once an app is accepted. Common sense tells me that's the way to do it.
Steve, if you're reading, go and distort someone!
Jeremy1026
Jun 11, 2009, 11:03 AM
So, this is the 3rd or 4th time you've been featured (in one way or another) by Apple. Wether its 'bad timing' or not, you still have gotten VERY lucky in the app store, no reason to complain as far as I see it.
DaveP
Jun 11, 2009, 11:20 AM
Unfortunately the way the update to 3.0 was done I know of at least a few small developers that got burned. If you only have one device there was really no way to test on 2.x while doing 3.0 development.
Apparently the "worked on 3.0 and 2.x sim" wasn't enough.
PhoneyDeveloper
Jun 11, 2009, 11:38 AM
DaveP, what should Apple have done differently re the update to 3.0?
I'm in that boat. I have a single device which I didn't want to update to 3.0b. I had an update to release couple weeks ago. I tested on 3.0b Sim. I found several issues that I had to fix but I never tested on a 3.0 device. I got lucky I guess and there were no issues that only show up on the device, or at least I'm not aware of them yet if they exist.
dejo
Jun 11, 2009, 11:48 AM
DaveP, what should Apple have done differently re the update to 3.0?
I wouldn't mind if Apple offered cheap "development-only" devices (or, at least, access to) to allow the developers better testing on actual devices.
detz
Jun 11, 2009, 12:08 PM
What's interesting is when I was talking with the guy last night asking how this "slipped" through their checks he said they check everything in the simulators(which it worked just not on the device) :confused: He said it takes a long time as it is so if they had to test on devices it would take too long. I was under the impression they tested on devices since the simulator is not an accurate representation of how it will run.
newb16
Jun 11, 2009, 01:47 PM
WTF, seriously Apple? I sent in a new version of my app about two weeks ago and I guess when I built it something was wrong with the binary and it crashed on all 2.x iPhones. Since I've followed their advice and upgraded to 3.0 to test on I had no way of testing on the 2.x device so I didn't know this when I sent it in.(It worked on 3.0 and 2.x in the simulator and 3.0 hardware)
It seems that lack of guaranteed way to test developed software on OS other than the latest and greatest is common for Apple. On Macintoshes, however, if you're lucky enough to get live machine that 10.4 can install on you can at least dual-boot it. Have no machine with 10.4? No luck. No second iphone to test on 2.x/3.0? No luck.
dejo
Jun 11, 2009, 01:52 PM
It seems that lack of guaranteed way to test developed software on OS other than the latest and greatest is common for Apple.
True. But this isn't exactly a restricted-to-Apple issue. It's all too common throughout the software industry.
detz
Jun 11, 2009, 02:32 PM
True. But this isn't exactly a restricted-to-Apple issue. It's all too common throughout the software industry.
Yeah but there is no middleman so if I release a bug in my software(Mac for instance) I can patch it and send it out instantly. That is the part that is hurting me more than the fact I couldn't test.
dougdawson
Jun 11, 2009, 05:18 PM
What's interesting is when I was talking with the guy last night asking how this "slipped" through their checks he said they check everything in the simulators(which it worked just not on the device) :confused: He said it takes a long time as it is so if they had to test on devices it would take too long. I was under the impression they tested on devices since the simulator is not an accurate representation of how it will run.
That's interesting, and contrary to the impression I had gotten as well. Did the person you talk to say what version (or versions) of the iPhone OS was used by the simulator they tested on? And by "simulator", I wonder if that was the actual "iPhone Simulator" that we have come to know and love and distrust, or some internal custom job. Certainly they are testing on some sort of iPhone OS 3.0 configuration, at least.
The dev-provided iPhone Simulator is worth Jack All for many functions that operate seamlessly on the device.
Doug
detz
Jun 11, 2009, 06:51 PM
WTF, so they finally released the update today but it still crashes!! What's odd is it was tested of multiple phones with different versions and it worked fine. Here is what happens. 2.2.2 iphone I downloaded the fresh version. Tried to use it and it crashes. So, I deleted the app and plugged in into the computer, build and installed the same version and it works fine. Does Apple do something to the binary before putting it up? Why does it crash if I get it from the store but not if it's installed via xcode? :mad:
gizabo
Jun 11, 2009, 07:08 PM
lol yo that sucks. Thats a sserious "FML" moment right there
PhoneyDeveloper
Jun 11, 2009, 07:09 PM
I assume that Apple does something with the code signing but aside from that I doubt that they change anything.
Do you get a crash report?
detz
Jun 11, 2009, 07:14 PM
I assume that Apple does something with the code signing but aside from that I doubt that they change anything.
Do you get a crash report?
Crash report from Apple...no, since I guess it doesn't crash for them since they've let two version through that crash people's phones. If I go into the Organizer I can see crash reports when it crashed tonight but they mean very little. Anyone shed some light onto this?
It doesn't make sense I can compile and build it right now, same code, same everything and it works fine. I delete it and download the itunes version and it crashes.
Incident Identifier: AFDD5ED1-CCB1-4D7A-8AC4-D87C548D8221
CrashReporter Key: 33c55c7d65e46fa81595fd49b368534b125f3a51
Process: iOwn [412]
Path: /var/mobile/Applications/3BEBC20B-8F85-4FCB-922C-55A5BF233AD0/iOwn.app/iOwn
Identifier: iOwn
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2009-06-11 19:37:38.385 -0400
OS Version: iPhone OS 2.2.1 (5H11)
Report Version: 103
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread: 0
Thread 0 Crashed:
0 libSystem.B.dylib 0x3145dc58 __kill + 8
1 libSystem.B.dylib 0x3145dc46 kill + 4
2 libSystem.B.dylib 0x3145dc3a raise + 10
3 libSystem.B.dylib 0x31478424 abort + 36
4 libstdc++.6.dylib 0x30075b3c __gnu_cxx::__verbose_terminate_handler() + 556
5 libobjc.A.dylib 0x300c20f8 _objc_terminate + 160
6 libstdc++.6.dylib 0x300730d0 std::terminate() + 88
7 libstdc++.6.dylib 0x300731d8 __cxa_throw + 92
8 libobjc.A.dylib 0x300c1f84 objc_exception_throw + 92
9 CoreFoundation 0x3029a598 +[NSException raise:format:arguments:] + 76
10 Foundation 0x306db3c0 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 56
11 UIKit 0x30b52c40 -[UILabel setFont:] + 156
12 UIKit 0x30c1bb68 -[UIButton layoutSubviews] + 1296
13 UIKit 0x30a73bd4 -[UIView(CALayerDelegate) _layoutSublayersOfLayer:] + 32
14 QuartzCore 0x31dd60e8 -[CALayer layoutSublayers] + 56
15 QuartzCore 0x31dd5ff8 CALayerLayoutIfNeeded + 192
16 QuartzCore 0x31dd576c CAContextCommitTransaction + 176
17 QuartzCore 0x31dd5434 CATransactionCommit + 260
18 CoreFoundation 0x3026a0e6 __CFRunLoopDoObservers + 380
19 CoreFoundation 0x3026991a CFRunLoopRunSpecific + 1508
20 CoreFoundation 0x30269320 CFRunLoopRunInMode + 44
21 GraphicsServices 0x31567e58 GSEventRunModal + 268
22 UIKit 0x30a4fa6c -[UIApplication _run] + 520
23 UIKit 0x30a591d0 UIApplicationMain + 1132
24 iOwn 0x00002090 0x1000 + 4240
25 iOwn 0x0000202c 0x1000 + 4140
Thread 1:
0 libSystem.B.dylib 0x3146baa4 mach_msg_trap + 20
1 libSystem.B.dylib 0x31468b70 mach_msg + 60
2 CoreFoundation 0x30269748 CFRunLoopRunSpecific + 1042
3 CoreFoundation 0x30269320 CFRunLoopRunInMode + 44
4 WebCore 0x32bc0740 RunWebThread + 340
5 libSystem.B.dylib 0x31461786 _pthread_body + 34
Thread 2:
0 libSystem.B.dylib 0x3146baa4 mach_msg_trap + 20
1 libSystem.B.dylib 0x31468b70 mach_msg + 60
2 GraphicsServices 0x3156aca8 EventReceiveThread + 504
3 libSystem.B.dylib 0x31461786 _pthread_body + 34
Thread 0 crashed with ARM Thread State:
r0: 0x00000000 r1: 0x00000000 r2: 0x00000001 r3: 0x393feb24
r4: 0x00000006 r5: 0x2fffe0c4 r6: 0x3823f0f8 r7: 0x2fffe0d4
r8: 0x301418d4 r9: 0x394346d0 r10: 0x001c84a0 r11: 0x00000000
ip: 0x00000025 sp: 0x2fffe0d4 lr: 0x3145dc4d pc: 0x3145dc58
cpsr: 0x000f0010
Binary Images:
0x1000 - 0x2efff +iOwn ??? (???) <bcf17cabb8797c026423727eae930fa7> /var/mobile/Applications/3BEBC20B-8F85-4FCB-922C-55A5BF233AD0/iOwn.app/iOwn
0xfa000 - 0xfbfff dns.so ??? (???) <7e54f40c0e9e0860314e49c290b340a3> /usr/lib/info/dns.so
0x3a24000 - 0x3a24fff TextInput_en ??? (???) <76dc770119e59a3ffc2af63f5e9221a4> /System/Library/TextInput/TextInput_en.bundle/TextInput_en
0x2fe00000 - 0x2fe22fff dyld ??? (???) <f6a50d5f57a676b54276d0ecef46d5f0> /usr/lib/dyld
0x30000000 - 0x30008fff libgcc_s.1.dylib ??? (???) <2c68d752c35e553ce4944253c3e7aa02> /usr/lib/libgcc_s.1.dylib
0x3000c000 - 0x30079fff libstdc++.6.dylib ??? (???) <810ba7a889418c2fa42c2d82676249be> /usr/lib/libstdc++.6.dylib
0x300bb000 - 0x301a8fff libobjc.A.dylib ??? (???) <9b4b6a1caf13c2adfb8d235e76ec0618> /usr/lib/libobjc.A.dylib
0x301f9000 - 0x30200fff libbsm.dylib ??? (???) <f07f6291583d6e883f529b925f767cf6> /usr/lib/libbsm.dylib
0x30204000 - 0x30212fff libz.1.dylib ??? (???) <b590559dfa798361013a0f6e31018df7> /usr/lib/libz.1.dylib
0x30237000 - 0x302ddfff CoreFoundation ??? (???) <e461335556641a9049d6e12c53ffc13a> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x303a1000 - 0x30430fff libsqlite3.0.dylib ??? (???) <693269a3109bff32213a75a815e6cfe4> /usr/lib/libsqlite3.0.dylib
0x3066c000 - 0x3073ffff Foundation ??? (???) <2f0bb76cfade98f2e82f6ca281bca713> /System/Library/Frameworks/Foundation.framework/Foundation
0x3085c000 - 0x30866fff CoreVideo ??? (???) <b6f9991ce47441fc89d4badec7f3c4e6> /System/Library/PrivateFrameworks/CoreVideo.framework/CoreVideo
0x30875000 - 0x30884fff AppSupport ??? (???) <db82c3fc166570ea397ee1a3db682d55> /System/Library/PrivateFrameworks/AppSupport.framework/AppSupport
0x30891000 - 0x30896fff liblockdown.dylib ??? (???) <31770f505dbc8e7f93165b075313dd93> /usr/lib/liblockdown.dylib
0x30a45000 - 0x30cc7fff UIKit ??? (???) <9d01f1e817aeeb32a7baa24dce8dcddf> /System/Library/Frameworks/UIKit.framework/UIKit
0x30f53000 - 0x30fd5fff com.apple.framework.IOKit 1.5.1 (???) <20aeee7efe340c9d7b2acc82221bb923> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x30ff3000 - 0x311a4fff com.apple.CoreGraphics 1.359.13 (???) <62747319453a181e5b507100afe3dac2> /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics
0x311f3000 - 0x31242fff CFNetwork ??? (???) <c99a3a401edecf543a6814982376fdea> /System/Library/Frameworks/CFNetwork.framework/CFNetwork
0x31270000 - 0x312a6fff OpenGLES ??? (???) <d93585c3ba5bc619845e0cbb931b2b82> /System/Library/Frameworks/OpenGLES.framework/OpenGLES
0x312b2000 - 0x3137afff JavaScriptCore ??? (???) <03567ce85a6b3f826de52833e35da633> /System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore
0x313fa000 - 0x31521fff libSystem.B.dylib ??? (???) <0fc9fef437491a94d875daf247f36fbc> /usr/lib/libSystem.B.dylib
0x31564000 - 0x3156ffff GraphicsServices ??? (???) <02da76f5933f98481eee4e3f1b4b1c10> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
0x3158b000 - 0x315c0fff Security ??? (???) <7c0b94dedc0363335b62de411a4c53c0> /System/Library/Frameworks/Security.framework/Security
0x315d9000 - 0x31686fff ImageIO ??? (???) <b85f0939025af03f5b006fe3cdbae76b> /System/Library/PrivateFrameworks/ImageIO.framework/ImageIO
0x31822000 - 0x3184ffff SystemConfiguration ??? (???) <b673ff214ecb18f48ab3809c68b9f82c> /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration
0x31946000 - 0x319b6fff CoreAudio ??? (???) <66c5fd8f095c2e6c399240959674756e> /System/Library/Frameworks/CoreAudio.framework/CoreAudio
0x31ad4000 - 0x31aeefff AddressBook ??? (???) <87f470763ba528f47d58f7e9486dfc42> /System/Library/Frameworks/AddressBook.framework/AddressBook
0x31bcd000 - 0x31bd2fff MBX2D ??? (???) <0f0d56c6fde0670732a89cc3166bbced> /System/Library/PrivateFrameworks/MBX2D.framework/MBX2D
0x31bd6000 - 0x31bd7fff MBXConnect ??? (???) <5cb05b6860d3e5d31e2907344c60ddbc> /System/Library/PrivateFrameworks/MBXConnect.framework/MBXConnect
0x31dcd000 - 0x31e4cfff QuartzCore ??? (???) <cb1aa94a3175bc326223fa7551b4d47c> /System/Library/Frameworks/QuartzCore.framework/QuartzCore
0x31e85000 - 0x31e87fff CoreSurface ??? (???) <6aabe16c45a9ac9ec358efcb8e74ee2b> /System/Library/PrivateFrameworks/CoreSurface.framework/CoreSurface
0x31e8c000 - 0x31e8dfff IOMobileFramebuffer ??? (???) <2622d9270459e18635ac3b9abe184249> /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/IOMobileFramebuffer
0x3213e000 - 0x32223fff libicucore.A.dylib ??? (???) <ae540de6fb39ea79d564dded1607e1ae> /usr/lib/libicucore.A.dylib
0x32409000 - 0x324dafff libxml2.2.dylib ??? (???) <8784b9ffec64404a6a26fefe67ba45bd> /usr/lib/libxml2.2.dylib
0x325ec000 - 0x32c89fff WebCore ??? (???) <5ddaa2736116d1f8fae09e113b64037b> /System/Library/PrivateFrameworks/WebCore.framework/WebCore
0x32fcb000 - 0x33051fff WebKit ??? (???) <5cba5d32b2f5de0b72384b14f13df575> /System/Library/PrivateFrameworks/WebKit.framework/WebKit
0x33404000 - 0x33442fff libCGFreetype.A.dylib ??? (???) <adbae889ac28b4d42297bcf951c9ae2e> /System/Library/Frameworks/CoreGraphics.framework/Resources/libCGFreetype.A.dylib
0x33cc8000 - 0x33ceafff libRIP.A.dylib ??? (???) <ee70d178b545087d3b93cebac2f44270> /System/Library/Frameworks/CoreGraphics.framework/Resources/libRIP.A.dylib
0x33d10000 - 0x33d16fff SpringBoardServices ??? (???) <dffc7baf9374e6ccc3dc75bfa4294ae1> /System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices
0x344ec000 - 0x34509fff libresolv.9.dylib ??? (???) <d2cf3f40b8297909dcfd2ee83326af8c> /usr/lib/libresolv.9.dylib
0x34884000 - 0x3499dfff AudioToolbox ??? (???) <176bbb6b69d15cf4262fe5de5874eba3> /System/Library/Frameworks/AudioToolbox.framework/AudioToolbox
synth3tik
Jun 11, 2009, 07:20 PM
I don't understand why Apple wouldn't have a separate submission process for updates. It makes no sense to fully review each update of an app. For an update they should really only need to check that it is functional and not malicious.
It cost developers money and reputation and it also could keep people away from buying apps.
Honestly just hearing all the issues developers are having when things don't just "work" and I seriously am wherry of purchasing any apps. Not because of the developers, but because Apple is still not with it.
Ttownbeast
Jun 11, 2009, 07:26 PM
Perhaps more testing would have been appropriate before releasing a defective product in the first place. And rather than trusting a simulation you should've just checked it directly on an I phone with the older software before problems cropped up considering that the market share of phones were still using 2.x--I say take it as a lesson learned rather than complain about Apple being slow to help and fix the issue now you have twice the work ahead of you trying to save your reputation. Impatience and lack of thoroughness is a horrible thing apparently a common problem among programmers with so little business experience.
PhoneyDeveloper
Jun 11, 2009, 07:26 PM
It looks like there is an assertion failure on line 11 when a button is trying to set its font.
Do you use any unusual fonts for buttons?
Do you see anything in the console for the device related to this crash report? Usually the assertion failures write out what caused the failure.
Are all the crash reports that you got the same crash?
detz
Jun 11, 2009, 07:28 PM
It looks like there is an assertion failure on line 11 when a button is trying to set its font.
Do you use any unusual fonts for buttons?
Do you see anything in the console for the device related to this crash report? Usually the assertion failures write out what caused the failure.
Are all the crash reports that you got the same crash?
I don't have a console since if I compile the app and install it it works fine and doesn't crash. ;) The only way I can get it to crash is to download it form the itunes store and then I can't see anything since there is no debugger. There are no crash reports in itunes connect but the few that are on the phone from it crashing tonight(via the organizer) all seem to crash at the same point. I'm not using any custom fonts or anything special.
PhoneyDeveloper
Jun 11, 2009, 08:30 PM
The organizer shows you the device console, which is stored in a log file. It's the tab at the top next to crash Logs. That's what I meant by 'console for the device' as opposed to the debugger console.
detz
Jun 11, 2009, 08:39 PM
The organizer shows you the device console, which is stored in a log file. It's the tab at the top next to crash Logs. That's what I meant by 'console for the device' as opposed to the debugger console.
Wow, I never knew that was there! ;-) Thanks.
Here is what is says, it appears it's crashing from within one of Apple's libraries?
Thu Jun 11 21:36:44 unknown iOwn[691] <Warning>: *** Assertion failure in -[UILabel setFont:], /SourceCache/UIKit/UIKit-747.38/UILabel.m:443
Thu Jun 11 21:36:44 unknown iOwn[691] <Error>: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: font != nil'
Thu Jun 11 21:36:44 unknown iOwn[691] <Error>: Stack: (
808221155,
806100816,
808035743,
812495815,
817179720,
818002800,
816266204,
836591856,
836591616,
836589428,
836588604,
807837933,
807835937,
807834407,
827752032,
816118388,
816157144,
8343,
8244
)
Thu Jun 11 21:36:44 unknown UIKitApplication:com.FifthFloorMedia.iOwn[0x6379][691] <Notice>: terminate called after throwing an instance of 'NSException'
PhoneyDeveloper
Jun 11, 2009, 08:52 PM
Well, it says that the font that's being set is nil. That causes the assertion failure and the app then get's killed.
Are those two lines about the NSIndexPath from NSLogs in your code?
This will not be easy to debug since you can't make it crash in the debugger.
Overall here's what I think is happening based on the crash log and these console messages. I assume this is at app startup. Your first screen is being loaded. Does anything appear and then it crashes or is it while your Default.png is still visible? A font is set for a button in your code. At a shortly later time the view hierarchy is being set up or adjusted, you can see [UIButton layoutSubviews] in the stack trace. For some reason the font doesn't exist and fontWithName has returned nil. If you have hard-coded the names of any fonts they might not exist. If you are using nibs check the fonts that you're using for buttons in the nibs.
The exact process of how the UIKit classes set themselves up obviously isn't documented so we can only make guesses based on the stack trace but it seems like something like this has happened. This is why it's failing in the Apple UIKit library. But most likely it's caused by something that your code or nib has done earlier.
detz
Jun 11, 2009, 09:03 PM
Well, it says that the font that's being set is nil. That causes the assertion failure and the app then get's killed.
Are those two lines about the NSIndexPath from NSLogs in your code?
This will not be easy to debug since you can't make it crash in the debugger.
Overall here's what I think is happening based on the crash log and these console messages. I assume this is at app startup. Your first screen is being loaded. Does anything appear and then it crashes or is it while your Default.png is still visible? A font is set for a button in your code. At a shortly later time the view hierarchy is being set up or adjusted, you can see [UIButton layoutSubviews] in the stack trace. For some reason the font doesn't exist and fontWithName has returned nil. If you have hard-coded the names of any fonts they might not exist. If you are using nibs check the fonts that you're using for buttons in the nibs.
The exact process of how the UIKit classes set themselves up obviously isn't documented so we can only make guesses based on the stack trace but it seems like something like this has happened. This is why it's failing in the Apple UIKit library. But most likely it's caused by something that your code or nib has done earlier.
Well, it doesn't crash on open. I can use the app up until the same point, if I try to move from one screen to the next it crashes. At least this part is consistent. I've grep'ed my source files and the fonts I'm setting are
Helvetica-Bold
Helvetica-Italics
Helvetica
italicSystemFontOfSize
So I'm guessing it's not that. Also, it's odd because these didn't change, if anything I would expect it to crash 3.0 because something was removed but not the other way around.
I found one font that has been removed in 3.0 that was there in 2.x but that shouldn't matter(yet). What sucks is it doesn't crash for me so I have no way of testing. My guess is it's using the libraries I currently have installed(3.0) but when it goes on an actual phone through the store it doesn't have those since they are on the phone. Something that is being used with I compile doesn't exist on the current version.
admanimal
Jun 11, 2009, 09:27 PM
Helvetica-Italics
Is that the correct name of the font or should it be Helvetica-Italic ? This isn't a rhetorical question, just the only thing that stood out to me.
PhoneyDeveloper
Jun 11, 2009, 10:10 PM
Given that this failure happens when a particular screen is being shown I'd look over the code that builds buttons and sets fonts for that screen very carefully. I would step through that code and inspect all the fonts closely. Maybe you get a nil font but the runtime exception isn't thrown in one case but is in another.
When you say the test code is the same as the version from apple I assume that means you're checking a release build.
It might be possible for gdb to attach to an app running on the phone. I really don't know. There is a menu item in Xcode for 'attach to process' but the processes are all on the Mac. There might be a way to attach to a process running on the phone but I don't know how. If you could do that you could debug the app that you know fails.
Macman1993
Jun 11, 2009, 10:56 PM
AHH WTF YOUR APP KEEPS CRASHING FOR ME!!!!!
Sorry man couldn't help myself there I don't actually own your app but I really like the idea and I'll get it in 10 min. I think what apple did to you totally sucks, granted you did submit the error but when they put your app on the pedestal they should at least make sure it works as not to kill your ratings.
imPoddible
Jun 14, 2009, 06:58 PM
Did you manage to fix this issue in the end?
The possibility of a fonts issue has got me paranoid.
I've been building an update to my app in 2.x SDK without any probs. Then, a couple of days ago I updated to the 3.1.3 GM SDK.
However, I now notice when I build, I get some font related warnings (not errors):
Warning: 'setFont:' is deprecated (declared at /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library..."
Warning: 'setText:' is deprecated (declared at /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library..."
Is this anything to worry about?
I don't want to build with this version and release an update which then starts crashing all over the place!
Cheers,
imPoddble.
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.