I've added Tapjoy to an iOS app.
It crashes on the simulator but runs fine on a device.
Output:
-[NSMutableURLRequest _propertyForKey:]: message sent to deallocated instance
and the specific line of code in TapjoyConnect.m is:
connectConnection_ = [[NSURLConnection alloc] initWithRequest:myRequest delegate:self];
Any reasons why it's crashing on the simulator?
The answer is that the variable 'myRequest' is not being retained by whoever created it, so by the time this line gets executed, it's already been released.
The way you solve this is track where that object came from (your code?), and make sure its retained until after this call is made.
The reason you get crashes on the simulator and not on the device (can be the reverse) is that the way memory is recycled in each environment is different, and if the object has not been re-used or moved out of scope, the system will happy continue to function.