2017-05-23 21 views
0

Android 및 iOS 플랫폼 용 기능을 제공하는 Cordova 플러그인을 개발 중입니다. 또한 데모 응용 프로그램에 설치된 플러그인을 테스트 할 데모 Cordova 응용 프로그램을 가지고 있는데, 플러그인이 안드로이드 플랫폼에서 제대로 작동하지만 플러그인이 설치 될 때 빌드 할 iOS 플랫폼을 빌드 할 데모 응용 프로그램을 가져올 수 없습니다.코드 바 플러그인 설치시 ios 프레임 워크 심볼릭 링크

나는 데모 응용 프로그램에 플러그인 폴더를 검사이 오류를

"fatal error:'TestPlugin/TestPlugin.h' file not found"

를 얻을. 플러그인이 사용하는 iOS 프레임 워크의 심볼릭 링크가 프레임 워크가 제대로 이동되지 않았다고 믿을 정도로 완전히 빠져있는 것처럼 보였습니다. 또한, 문제의 프레임 워크를 수동으로 데모 앱의 플러그인 폴더로 이동하고 Xcode에서 앱을 실행하여 데모 앱을 실행할 수 있습니다.

here 해결책을 시도했지만 MacOS Sierra (버전 10.12), Xcode 8.31 및 Cordova를 실행하는 Mac에서 문제가 해결되지 않았습니다. 버전 7.

+0

또한 ** after_plugin_add ** 및 ** before_plugin_install *에서 [this] (https://stackoverflow.com/questions/28974791/plugman-framework-skips-mac-os-x-symbolic-links)를 테스트했습니다. * 폴더가 연결되지만 심볼릭 링크가 "platfors/ios/PROJECT_NAME/Plugins/.."폴더에서 손상됩니다. 플러그인을 개발 중이며 프레임 워크에서 파일을 복제하지 않고이 문제를 해결할 수있는 방법을 찾을 수 없습니다. – martin

+0

테스트 할 때 뭔가 잘못되었습니다. 나는 나를 위해 일한 것에 대한 답을 추가했다. – martin

답변

0

This 실제로 나를 위해 일했다. 나는 뭔가 다른 것을했다. 나는 before_plugin_install 폴더 아래에 내 스크립트를 넣어 다음과 같이 폴더 내에서 심볼릭 링크를 생성 :

내가 스크립트를 준
#!/bin/sh 
cd plugins/MY_PLUGIN/src/ios/MY_FWK.framework/ 
ln -s -f Versions/A/Headers/ Headers 
ln -s -f Versions/A/MY_FWK MY_FWK 
ln -s -f Versions/A/ Current 
cd - 

는 실행 권한을, 플러그인을 제거하고 다시 추가했다. Cordova는 프로젝트 내에서 symlink를 유지하는 대신 프레임 워크의 전체 파일을 복사하지만 프로젝트는 현재 작동합니다.

[UPDATE] 후크 폴더를 사용하는 것이 deprecated

참고.