Evgeniy Kleban
Evgeniy Kleban

Reputation: 6940

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

Upvotes: 5

Views: 1423

Answers (2)

Jonah
Jonah

Reputation: 17958

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.

Upvotes: 10

Evgeniy Kleban
Evgeniy Kleban

Reputation: 6940

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.

Upvotes: 8

Related Questions