I'm having a strange issue. I had been using Xcode 4.0 for the past little with with no problems. My application had been using a base SDK of 4.3, as well as a deployment of 4.3. My app was working fine, until I upgraded to Xcode 4.2. Now, the base SDK is set to 5.0 and the deployment is set to 4.3... Now my application crashes randomly. Do i have to downgrade to Xcode 4.0 again? Or do I need to set my base SDK to 4.3? And if it's the latter option, how would I do that, because it's not a default option?
I'm having a strange issue. I had been using Xcode 4.0 for the past little with with no problems. My application had been using a base SDK of 4.3, as well as a deployment of 4.3. My app was working fine, until I upgraded to Xcode 4.2. Now, the base SDK is set to 5.0 and the deployment is set to 4.3... Now my application crashes randomly. Do i have to downgrade to Xcode 4.0 again? Or do I need to set my base SDK to 4.3? And if it's the latter option, how would I do that, because it's not a default option?
Thanks
That sounds about right
The base is the sdk for the code your developing with.
The deployment target is 4.3 which is the minimal sdk a device must have to run the application.
Usually current - one version makes sense. Unless you want to use a lot of the new iOS 5 features.
You need to provide more info , build output , console logs etc. before anyone can give you advice.
__________________
Help us build great applications or let us make your applications exceptional. find us on Facebook
The base is the sdk for the code your developing with.
The deployment target is 4.3 which is the minimal sdk a device must have to run the application.
Usually current - one version makes sense. Unless you want to use a lot of the new iOS 5 features.
You need to provide more info , build output , console logs etc. before anyone can give you advice.
Hi Michelle,
As for the debug output, it looks like somewhere in the application, I'm mutating an Array that is being enumerated. I tried setting breakpoints, but it's not giving the the exact file in which this exception is occurring; however, I'm pretty sure it is the enemy array that is giving me trouble. For the record, I've switched from enumerating the array, to iterating through it using a standard for (int i = 0; i < [myArray count]; i++) type of approach, but it still raises an exception.
Code:
2012-01-01 16:13:51.827 SliceDiceNinja[494:707] *** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSArrayM: 0x89d500> was mutated while being enumerated.'
*** First throw call stack:
(0x3714b8bf 0x318191e5 0x3714b3e3 0x249351 0x24a095 0x463a5 0x4d2bf 0x6ab03 0x6c8e5 0x336a5423 0x336a5379 0x307cdf93 0x36203891 0x37114f43 0x3711f553 0x3711f4f5 0x3711e343 0x370a14dd 0x370a13a5 0x31257fcd 0x32713743 0x3727 0x36e0)
terminate called throwing an exception(gdb)
Is there a way to ignore this exception, like XCode 4.0 did?
I'm going to guess you are trying to delete stuff from your array. Create a new NSMutableArray before your loop, and in the loop, instead of deleting it directly, just add the object to your newly created NSMutableArray. Then at the end, use NSMutableArray's removeObjectsInArray: method. Then release your array.
Code:
NSMutableArray *objectsToRemove = [[NSMutableArray alloc] init];
//just pretend there are strings in your array
for (NSString *string in yourArray) {
if (stringRequiresDeletion) {
[objectsToRemove addObject:string];
}
}
[yourArray removeObjectsInArray:objectsToRemove];
[objectsToRemove release];
__________________
If you are looking for a quality developer, I'm your man. Give me a PM if you are interested.
I've had similar issues with my application as well. Figured I can add my experience as well here to have one thread with all issues encountered from the upgrade.
Been able to remediate most of them except I can't test on the device. I receive one of two errors.
My iPhone shows
Code:
warning: UUID mismatch detected with the loaded library - on disk is:
/Users/kapsolas/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/Frameworks/CoreLocation.framework/CoreLocation
warning: UUID mismatch detected with the loaded library - on disk is:
/Users/kapsolas/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/Frameworks/CoreMotion.framework/CoreMotion
My iPad runs and crashes when I try to use a UITextField. Once the control is clicked and the keyboard is to open, it has the error
Code:
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.0 (9A334)/Symbols/System/Library/TextInput/Riven.bundle/Riven (file not found).
warning: No copy of Riven.bundle/Riven found locally, reading from memory on remote device. This may slow down the debug session.
I tried to re-flash my device and re-installed Xcode and the issues still remain.
Riven.bundle is present in the iPhoneSimulator.platform, but is not in iPhoneOS.platform.
Went as far as decrypting the iOS5.0 and iOS 5.01 (94A05 and 95A06) root file system images to ensure that my upgrade to iOS5x on my devices didnt go wrong. All are missing Riven.bundle/Riven which means the installation was correct.