2016-08-18 5 views
0

가져 오기를 시도 할 때 자동 생성 된 Project-Swift.h 파일에 문제가 있습니다. 컴파일을 시도project-Swift.h 컴파일러 오류

SWIFT_CLASS("_TtC7ProjectName20InviteToComposer") 
@interface InviteToComposer : NSObject <MFMessageComposeViewControllerDelegate *> 
- (nonnull instancetype)initWithRecipient:(NSArray<NSString *> * _Nonnull)recipient name:(NSString * _Nonnull)name OBJC_DESIGNATED_INITIALIZER; 
- (void)messageComposeViewController:(MFMessageComposeViewController * _Nonnull)controller didFinishWithResult:(MessageComposeResult)result; 
@end 

, 난이 클래스에서 두 가지 오류를 얻을 : 다음 -Swift.h 파일에서

(MessageComposeResult) "에 관해서"유형을 예상 "
"unknown type name 'MFMessageComposeViewControllerDelegate'; did you mean 'MFMessageComposeViewController'? 

"

클래스 및 함수 이름 앞에 @nonobjc를 포함 시켜서 -Swift.h 파일에 포함시키지 않으려 고 시도했지만 분명히 클래스 a에 할 수 없습니다. 차 오류가있는 함수 자체가 나에게주는 "Type 'InviteToComposer' does not conform to protocol 'MFMessageComposeViewControllerDelegate'"은 다음 -swift에서 "protocol is not @objc but requires it."

+0

[스위프트 오류 : ''SKScene ', superclass "의 인터페이스 선언을 찾을 수 없습니다."(http://stackoverflow.com/questions/33809938/swift-error-cannot-find-interface-declaration-for -skscene-superclass-of). swiftc가'@import MessageUI;'를 -Swift.h에 추가하지 못했습니다. –

+0

안녕하세요, Brian, 그 링크를 확인해 보았습니다.하지만 SpriteKit을 가져 왔을 때 아무 말도하지 않았습니다. 어떤 아이디어? 내 브리징 헤더에 메시지를 가져와야한다고 말 했나요? 나를 분명히하는 마음? –

+0

누락 된 프레임 워크를 브리징 헤더에 가져와야합니다. 귀하의 경우 그것은'@import MessageUI;'입니다. –

답변

0

는 클래스 선언 앞에 @protocol MFMessageComposeViewControllerDelegate를 추가 상태.

사과입니다. "당신은 아마 신속히 사용해야합니다. 우리는 당신을 그것에 대해 충분히 신경 쓰지 않아도됩니다."

또한 내 수정 사항은 프로젝트를 정리하거나 빌드 장치를 전환 할 때마다 코드가 지워지고 다시 추가해야한다는 것입니다.

투과 ​​물 해결 방법은 objective-c에있는 MFMessageComposeViewControllerDelegate의 하위 프로토콜을 만들고 거기에서 참조하십시오.