2017-11-12 12 views
2

IBM Watson swift-sdk SpeechToTextV1 패키지를 사용하는 XCode 9.1 프로젝트에서 작업 중입니다. swift-sdk를 0.19.0 버전으로 업그레이드하고 Xcode 프로젝트를 작성한 후 컴파일러 오류가 발생했습니다. 필수 모듈 누락 : 'SSCZLib', 'SSCommonCrypto'가 SpeechToTextV1 가져 오기 문을 가리 킵니다. swift-sdk는 카르타고를 통해 업데이트되었습니다. Cartfile 내용 : github "watson-developer-cloud/swift-sdk". 명령 행 업데이트 : carthage update --platform ios --no-use-binaries.SpeechToTextV1 - 필수 모듈 누락 SSCZLib, SSCommonCrypto

어떻게하면 SSCZLib 및 SSCommonCrypto 모듈을 XCode 프로젝트에 포함시킬 수 있습니까?

도와주세요. 고마워.

답변

3

내 컴퓨터에서 문제를 재현하지 못했습니다. 저는 비어있는 새 Xcode 프로젝트로 시작하여 Speech to Text 서비스로 오디오를 기록 할 수있었습니다.

내 앱 here을 업로드했습니다. 다운로드하여 텍스트에 대한 자격 증명을 추가하고 응용 프로그램을 실행할 수 있습니까?

+0

안녕하세요 글렌 -이 문제도 있습니다. 프로젝트를 복제하고 컴파일하여 볼 수 있습니다 (https://github.com/etayluz/WatsonDemo). 나는 --no-use-binaries로 컴파일하려고 시도했지만 도움이되지 않는다. – etayluz

2

carthage update --platform iOS --no-use-binaries을 사용하십시오. 시간이 좀 걸리지 만 효과가 있습니다.

나를 위해
+0

나는 이것을 시도했지만 아무런 효과가 없었다. – etayluz

0

- --no 사용하기 바이너리 플래그를 사용하여 라이브러리를 구축뿐만 아니라 - 나는 또한 내 대상의

  • 빌드 Phases-> 삽입 프레임 워크에서
  • Phases-을 구축하도록했다 > 바이너리를 라이브러리와 연결이

SpeechToTextV1.framework는 또한

포함되어 있습니다 - 나는이 두 파일은 Carthag 내부의 모든 차이를 만들어 발견 전자 폴더 :

  • 카르타고/체크 아웃/IOS-SDK/소스/SupportingFiles/종속성/스타 스크림이/ZLIB/include.h
  • 카르타고/체크 아웃/IOS-SDK/소스/SupportingFiles/종속성/스타 스크림이/ZLIB /module.modulemap

내 프로젝트가 Carthage 폴더를 직접 참조한 후에 만이 작업을 수행 할 수있었습니다. 이 두 파일 중 하나를 삭제하면 오류가 반환됩니다.

0

새로 컴파일 된 프레임 워크가 사용중인 프레임 워크인지 확인하십시오. Carthage는 프로젝트 또는 작업 공간에서 참조되는 사용자 정의 위치에 프레임 워크를 배치하지 않습니다.

0

왓슨 스위프트 SDK의 v0.21.0 release이이 문제를 해결합니다. 더 이상 프로젝트 설정에서 zlib 폴더에 대한 링크를 추가 할 필요가 없습니다. 그러나 다른 프레임 워크를 복사하는 것과 동일한 방법으로 Starscream.framework을 응용 프로그램에 복사해야합니다.

해결 방법은 Starscream 종속성을 외부화하는 것이 었습니다. Starcream을 Swift SDK에 대한 재귀 적 종속성으로 추가하면 Starscream을 자체 환경과 독립적으로 구축 할 수 있습니다. Starscream 라이브러리가 응용 프로그램에 복사되면 SSCZLibSSCommonCrypto 종속 항목이 자동으로 포함됩니다.

출시되기 전에 각 SDK를 테스트하지만이 문제는 우리를 지나쳤습니다.우리의 테스트 머신은 경로에 SSCZLibSSCommonCrypto을 추가하는 다른 소프트웨어를 가지고있어서 Xcode 빌드에서 사용할 수 있습니다. 우리가 문제를 재현 할 수있는 새로운 macOS 설치로 시스템을 새로 고칠 때까지는 그렇지 않았습니다. 그리고 v0.21.0에서는이 문제가 해결되었습니다.

죄송합니다. 솔루션을 추적하는 동안 문제가 발생하여 양해 해 주셔서 감사합니다.