최소 배포 목표가 10.7 인 앱을 작성 중입니다. 따라서 JSExport를 준수하는 프로토콜을 포함하려고 할 때마다 컴파일러는 'JSExport'에 대한 프로토콜 선언을 찾을 수 없다고 말합니다.10.7 이상의 앱에서 조건 적으로 JSExport 프로토콜을 사용 하시겠습니까?
최소 배포 대상을 최대 10.9로 설정하면 잘 컴파일됩니다. 다음은 비 컴파일 코드 예제입니다. 나는 동적 예에 따라 런타임에 MyJSExport 프로토콜을 만드는 시도했습니다
#import <Cocoa/Cocoa.h>
#import <JavaScriptCore/JavaScriptCore.h>
#import <WebKit/WebKit.h>
@protocol MyJSExport <JSExport>
-(void)doSomething;
@end
는 here을 설정하지만, 그들의 결론은 그것이 작동하지 않았다이었다.
그렇다면 10.7 최소 배포 대상을 유지하면서 JSExport를 준수하는 프로토콜을 어떻게 작성합니까?
최소한 컴파일해야합니다. 10.7과 10.8을 테스트하지는 못했지만 코드를 피하기 위해 런타임 검사를 추가하는 것이 더 쉬워야합니다. Obj-C와 Javascript 사이의 다리 역할을하기 위해 JSContext를 주로 사용하고 있습니다. 나는 낡은 가짜 계획 해킹으로 돌아 가기를 정말로 원하지 않는다. – Andrew