Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cant launch app with new Xcode 6

My app work perfectly fine until I download new Xcode, now it stopped by error "signal SIGABRT" and point for this:

[PlaceHolder setDescription:]: unrecognized selector sent to instance 0x79838900
    Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[PlaceHolder setDescription:]: unrecognized selector sent to instance 0x79838900'

I know, that information may not be enough to understand what's going on, but i have no idea where to start search. If there was errors with setter methods, why my app works before? Is there any new changes that prevent app from launching?

PlaceHolder is an object, that hold properties (like image links, text etc.). Also, there is a new "yellow" warning - Auto property synthesis will not synthesize property 'description' because it is 'read-write' but it will be synthesized 'read-only' via another property

like image 432
Evgeniy Kleban Avatar asked Sep 19 '14 05:09

Evgeniy Kleban


2 Answers

It appears that you have defined a description property. Unfortunately NSObject already has a description method. Since you are presumably not deliberately attempting to override this method in your subclass this is probably not a safe operation. It looks like under the iOS 7 SDK and Xcode 5 your property replaced the method on NSObject. In the iOS 8 SDK and Xcode 6 this is not the case (possibly due to changes in the way the -description method is defined) so you get different behavior.

Consider renaming this property to avoid such conflicts. description is a useful debugging tool and one you might not want to give up on this class accidentally.

like image 115
Jonah Avatar answered Oct 04 '22 23:10

Jonah


thank you very much for helping.

Description is a property of PlaceHolder class:

@property (nonatomic, retain) NSString *description;

Problem was solved simply putting @synthesize description; in implementation (.m) file of PlaceHolder class. For some reason, new Xcode synthesise it via "read only" property, and that cause an SIGBART error, because app tried write to this property (which was readonly for some reason).

I hope that information might be helpful for someone, who face similar issue.

like image 22
Evgeniy Kleban Avatar answered Oct 05 '22 00:10

Evgeniy Kleban