환경
mac 10.10.1(중요한버젼)
jenkins
개발환경
ionicframework
cordova
현상
10.10.1,xcode 6.1에서발생하는 문제
cordova 빌드 순서
1.cordova build --release --device ios
2.xcrun으로 사인하기
1번은 아무문제 없이 빌드가 잘된다.
하지만 2번을 실행한다면
Warning: --resource-rules has been deprecated in Mac OS X >= 10.10!
/var/folders/1f/nygt8pc56971kr4kjtp0v8sw0000gn/T/Y8knpt8G7w/Payload/GESS.app/ResourceRules.plist: cannot read resources
위와 같은 에러를 보게될것이다.
원인
답은 나와았다.
Output: Warning: usage of --preserve-metadata with option "resource-rules" (deprecated in Mac OS X >= 10.10)!
10.10에서 resource-rules를 사용하지 말라고 한다.
그래서 구글에서 찾은것이
http://stackoverflow.com/questions/26497863/xcode-6-1-error-while-building-ipa-using-testflight-app
xcode을 열어서 아래와 같이 편집하랜다. 하지만 cordova와 jenkins를 이용하다보니 xcode을 열수가 없다.
해결
그래서 더 찾아보니 CODE_SIGN_RESOURCE_RULES_PATH = $(SDKROOT)/ResourceRules.plist 값을 사이닝할때 전달해준다면 에러가 발생하지 않는다고 한다.
그러면 어디서 줄수 있느냐가 문제인데 찾아보니까 cordova/build.xconfig 파일에 값을 넣어주면 된다고 했다.
언제 넣어값을 수정해줄것인가?플랫폼이 추가 될때 마다 cordova/build.xconfig 값을 변경해주면 된다.
그럼 cordova의 hook을 이용하면 되겟다.
after_platform_add아래에 010_ios_resourcerules.js 파일을 생성하고 아래와 같이 코딩한다.
그리고 플랫폼을 지웠다가 다시 추가 하면 build.xconfig파일에 값이 추가된것을 볼수 있다.
이제 빌드하면 정상적으로 사인이 된다.
결과
xcode의 10.10에서만 발생하는 문제이므로 앞으로도 계속 발생할것이다.
cordova가 처음이다 보니 많은 점이 어렵고 헷갈린다.
하나씩 찾아보면서 제대로 된 빌드 방법을 더찾아봐야겟다.
'젠킨스' 카테고리의 다른 글
젠킨스 외부호출 (1) | 2015.07.15 |
---|---|
젠킨스에서 바이너리 파일 모을때 readme.md 작성해주기 (0) | 2014.12.18 |
mac jenkins 실행 에러 (0) | 2014.12.17 |
젠킨스 xcode 연동하기 (0) | 2014.12.15 |
mac에서 jenkins 업그레이드하기 (0) | 2014.12.14 |