2014-03-13 3 views
2

Xcode IDE를 5.1로 업데이트 한 후 컴파일 할 때 제 응용 프로그램의 제 3 자 라이브러리 (Facebook-iOS SDK, RestKit 등)에서 이상한 경고를 받기 시작했습니다.Xcode 5.1 시맨틱 문제 경고 생략

@property (copy, nonatomic, readwrite) NSString *methodName; 

No 'assign', 'retain' or 'copy' attribute is specified - 'assign' is assumed. 
Default property 'assign' is not appropriate for non-GC object. 

enter image description here 어떻게 엑스 코드에 경고의 그런 종류는 억제 할 수 있습니까?

감사합니다.

+0

경고를 억제하는 것은 항상 잘못된 접근 방법입니다. 여기서 실제로 일어나고있는 것을 찾아야합니다. 경고는 잘못되었지만 이유가있을 수 있습니다. 컴파일러가 이것이 옳은지 여부에 상관없이 "할당"속성이라고 생각하면 코드가 문제가 될 것입니다. 원래 FBSessionAppSwitchingLoginStrategy에 대한 @interface를 확인했는데 아마도 methodName이 다른 방법으로 언급되었을 것입니다. – gnasher729

+0

경고 메시지를 보내는 것은 제 3 자 라이브러리입니다. 경고를 제거하는 코드를 변경하는 것이 좋은 방법이라고 생각하지 않습니다. 다음 'pod install'호출은 모든 수정 사항을 지울 것입니다. – ozgur

답변

1

Facebook SDK의 문제는 속성이 이미 부모 클래스에서 정의되었지만 속성이 다르다는 것입니다. 53 :

이 문제를 해결하려면 FBSessionLoginStrategy.h에서 부모의 정의를 변경하려고하여 컴파일 에러를 해결한다

@property (copy, nonatomic, readonly) NSString *methodName; 

합니다.