2016-07-12 4 views
0

시계 응용 프로그램에서 이미 개발 된 NSObject 클래스를 사용하고 싶습니다 (시계 응용 프로그램 대상이 동일한 프로젝트에 추가됨).시계 응용 프로그램에서 iPhone 응용 프로그램 클래스에 액세스

내 아이폰 응용 프로그램은 오브젝티브 C로 작성되어 지금은 시계 확장에 대한 스위프트를 사용하고, 그래서 확장 대상을 보려면 시계 앱에서이 클래스를 사용하여 클래스를 추가 할 브리지 헤더를 만들었습니다. 그들이이 보일

이 xxxxClass

그리고이 모든 오류 파일의, UIControllerView위한 슈퍼 클래스를 인터페이스 선언을 찾을 수 없습니다 : 나는 응용 프로그램을 빌드 할 때,이 이유 저에게 다른 클래스에서 많은 오류를 제공합니다 WatchKit Extension의 대상 이었지만 포함하지 않았습니다. 이 파일들에서 대상 구성원보기 확장 또한 선택 해제되어 있습니다 (확장 대상이 아님을 의미). 보기 확장에 추가하지 않은 클래스는 다음과 같습니다. 그러나보기 확장 클래스로 실행 중입니다.

enter image description here

+0

'UIViewController'와 같은 UIKit 클래스는 WatchKit에 존재하지 않습니다. –

+0

@PetahChristian 나는 그들을 추가하지 않았다. 왜 그들이 참조되었는지는 모르겠다. NSObject Class Target to Watch Extension 만 추가했습니다. 이 클래스는 watchApp의 클래스를 사용하여 원하지 않는 게스트로 컴파일합니다. – Ali

답변

0

당신은 그 클래스를 선택하고 파일 관리자에서 WatchKit 연장을 대상 회원 자격을 확인해야합니다. 스위프트 클래스

: 오브젝티브 C 클래스의 경우

enter image description here

당신은 당신은 대상 파일이 추가되지 않았거나 검사를해야하는 .m 파일

+0

예,이 일을했습니다. 모든 단계를 완료했습니다 .. 내가 새 프로젝트에서 동일한 절차를 수행하면 오류없이 잘 실행되고 그 클래스를 공유하고 있습니다 ..이 프로젝트의 유일한 문제는 설정이나 다른 것일 수 있습니다. – Ali

+1

@Ali Apple Watch 응용 프로그램에서 UIKit 클래스를 사용할 수 없음을 알아야합니다. 그래서 UIView 또는 UIViewController는 UIKit 프레임 워크에 포함되어 있습니다. 대신 WatchKit 프레임 워크를 사용하는 Apple Watch 응용 프로그램에서 사용할 수 없습니다. – AaoIi

+0

@Aaoli 나는 시계 응용 프로그램에서 사용할 수 없다는 것을 알고 watchkit 확장에이 클래스들을 추가하지 않았지만 내 프로젝트는 자동으로이 클래스들을 드래그하여 응용 프로그램을 감시합니다. NSObject 클래스 인 하나의 클래스 만 추가했습니다 – Ali

0

을 위해 그것을합니다. 이를 위해

: 프로젝트 파일 1.select

-> 빌드 단계 -> 컴파일 소스. 바로 제거하고 모든 컴파일 소스에서 누락 된 파일을 추가하지 2.if

-Check the file present or not. 

.

3. 소스를 빌드하고 빌드하십시오.

+0

파일이 있음 컴파일 소스 (내가 추가하고 싶은). 그러나 문제는 내가 Watch Extension에 추가하지 않은 파일을 컴파일하는 프로젝트입니다. 오류를 생성합니다. – Ali

관련 문제