We’ve had reports that our FixMyStreet iPhone app is crashing on iPhone 3.0, and so have withdrawn it from the App Store until we are able to find out what’s wrong and fix it. I’m afraid I don’t know when that will be, as it’s all rather busy at present – if anyone has the skills and would like to volunteer to help, the code is available and should just import into XCode. I can supply some crash logs too.
RSS feed
July 7th, 2009 at 10:26am
I don’t have an iPhone, but I’m interested in trying my hand at writing a Google Android version of this app. I’ll look at the code, but is there somewhere where I can see screenshots or a feature list or similar, just so I know what it should roughly look like?
July 7th, 2009 at 10:29am
There already is a Google Android version, available in the Android store: https://secure.mysociety.org/admin/lists/pipermail/developers-public/2009-May/004803.html (that thread also contains a link to a page of some iPhone screenshots). The Android code is available in our CVS.
July 7th, 2009 at 11:13am
Oh, neat!
July 7th, 2009 at 11:17am
PS, the android/iPhone apps could do with a mention on the fixmystreet site!
July 7th, 2009 at 12:17pm
Hi there!
I’ve downloaded and compiled your iPhone code, but I do not have the 2.1 SDK installed, so I have compiled it for the 3.0 SDK (which oddly enough does not include the 2.1 libs), and the only thing I’ve spotted are a couple of memory leaks and other problems, most reported by the Clang static analyzer (bundled with Xcode 3.2 for Snow Leopard):
1) SettingsViewController.m (line 88): try to initialize the *text and *placeholder NSString variables, as they are used later in line 140 and they might not be initialized, which might crash the application completely (class fields are initialized to nil by default, but variables are not, AFAIK).
2) MyCLController.m (line 156): your singleton definition does not look correct… shouldn’t you be assigning the value of the alloc/init call to sharedCLDelegate? Take a look at how Matt Gallagher defines singletons using macros here: http://url.akosma.com/ye3dqa
3) FixMyStreetAppDelegate.m (line 222): replace the line
NSString *errorString = [[NSString alloc] init];
with
NSString *errorString = @”"; // autoreleased!
Otherwise you’re leaking errorString in line 225…
4) FixMyStreetAppDelegate.m (line 208): the returnString NSString instance you create in line 208 is not released… leak! You should release it in line 231, right after the closing bracket of the else block.
Finally, if you plan to support OS 3.0, there are a couple of API changes regarding UITableViewCell instances; many instance methods are now deprecated, like setText:, setTextColor: and setFont:. That’s an easy fix. In any case, the API methods above are *deprecated*, not removed, which means that the code should run fine.
Try applying the fixes above and see if it still crashes. Sorry I can’t help you with more information! Feel free to contact me to my email if you need more help.
Cheers!
Adrian
July 7th, 2009 at 12:38pm
By the way, you might want to read this article:
http://url.akosma.com/agx82l
It explains (brilliantly!) how to compile an app for OS 3.0 and make it usable under 2.1…
September 7th, 2009 at 12:04am
Hi,
I’ve created a first-cut at a ‘FixMyStreet’ application for an Australian ‘FixMyStreet’ style site. It is not completely finished – but does run OK on version 3.0 of the iPhone OS (and even uses the new map view API to let people specify where the problem is).
You’re welcome to use my code for the UK version too if you like. I’ve written it so that it submits problems using the same protocol as the UK version.
Let me know if you’re interested in using it and/or if you have any questions.
Cheers,
Jake
The code can be found here:
http://github.com/jmacmullin/fixmystreet-australia/tree/v0.1