1

신속하고 객관적인 C에 대한 전문가의 질문이 있습니다. 저는 신속하게 iOS 프로젝트를 개발 중입니다. 이 프로젝트에서 Objective-C 브리지와 함께 사용되는 이전에 소유 한 라이브러리 (Objective-C에서)를 가져 왔습니다.Objective-C에서 Swift로 이어지는 브리지 이후에 확장이 인식되지 않습니다.

Swift 프로젝트에서이 라이브러리의 일부 기능을 사용할 때 인식 할 수없는 확장으로 인해 충돌이 발생했습니다.

오류 메시지는 다음과 같습니다

- [NSConcreteMutableData AES128EncryptedDataWithKey :] : 인식 할 수없는 선택기 인스턴스에 전송

내 라이브러리의 확장 클래스에서 온이 방법 (을 NSData + AES128.h) 스위프트 쪽에서는 인정되지 않습니다. 누군가 Swift 측에서이 확장을 참조하는 방법을 알고 있습니까? 나는 정말로 길을 잃었다!

감사합니다.

답변

1

이것은 런타임 오류이며 컴파일러/신속 오류는 아닙니다. 매우 가능성이 높습니다.이 카테고리/확장을 구현하는 .m 파일을 프로젝트에 추가하는 것을 잊어 버렸지 만 헤더가 분명히 있어야합니다. 그렇지 않으면 컴파일러에서 경고를받을 수 있습니다.

+0

아니요, 그게 아닙니다. 라이브러리에는 경고가 없으며 Objective-C Project에서 제대로 작동합니다. 그러나 Swift 프로젝트의 경우 브리지가이 확장을 고려하지 않은 것처럼이 오류가 발생합니다. – user3281706