2013-05-22 2 views
2

ios 응용 프로그램을 빌드하고 보관하기 위해 PHP 스크립트 파일을 실행하려고합니다. 내가 쓴 build.sh에서PHP를 사용하여 ipa 파일을 만드는 방법

<?php 
    echo shell_exec("sh build.sh"); 
?> 

: : 여기까지

내 test.php 파일에서 내가 코드를 아래에 쓴 이렇게 한 것입니다 내가

PROJDIR="/Library/WebServer/Documents/ExpertIPA/IPA/MyApp" 
PROJECT_NAME="MyApp" 
APPLICATION_NAME="MyApp" 
TARGET_SDK="iphonesimulator6.0" 
PROJECT_BUILDDIR="${PROJDIR}/build/Release-iphoneos" 
TARGET_TEST_NAME="ExpertApp" 
BUILD_HISTORY_DIR="${PROJDIR}/ipa/" #where you want the .ipa to go 
DEVELOPER_NAME="iPhone Distribution: developer Name" 
PROVISONING_PROFILE="/Library/WebServer/Documents/ExpertIPA/IPA/ExpertApp/ 
MyApp_distribution.mobileprovision" 


echo Building Project 
cd "${PROJDIR}" 
build_type_iOS=$2 


xcodebuild clean -configuration "${build_type_iOS}" 
xcodebuild -target "${PROJECT_NAME}" -configuration Release 


if [ $? != 0 ] 
then 
    exit 1 
fi 

/usr/bin/xcrun -sdk iphoneos PackageApplication -v "${PROJECT_BUILDDIR}/${PROJECT_NAME}.app" -o "${BUILD_HISTORY_DIR}/${APPLICATION_NAME}.ipa" --embed "${PROVISONING_PROFILE}" 

을 실행하는 내 터미널에서 build.sh 파일을 성공적으로 MyApp.ipa를 만듭니다. 또한 test.php를 잘 작동하지만, test.php를 실행할 때 브라우저에서 test.php를 실행하면 다음과 같은 오류 메시지가 나타납니다.

오류 메시지 : 구성 릴리스 프로젝트의 MyApp의

빌드 NATIVE TARGET MyApp를 === 종속에게 코드 서명 오류를 확인하십시오 아이덴티티 '아이폰 배포 : PROFILE_NAME'은 유효한, 만료되지 않은 인증서와 일치하지 않습니다 당신의 열쇠 고리에/개인 키 쌍

+0

나는 동일한 요구 사항을 가지고 있으며, 나는 터미널을 사용하는 MAC 시스템에서 ipa 파일을 생성한다. 하지만 나는 리눅스 서버를 통해 PHP (브라우저)를 사용하여 ipa 파일을 생성 할 수 있습니다. 너는 제안을 해줄 수 있니? –

답변

1

개인 키 012에서 실행할 때 그것을 찾을 수있을 것 같아요 xcodebuild가 찾고있는인증서는 일반적으로 키 체인에 저장됩니다. 자신으로 로그인하면 키 체인 접근 GUI로 키 체인을 볼 수 있습니다. 해당 GUI를 사용하여 인증서 및 개인 키를 내 보냅니다.

그런 다음 'security'명령 줄 도구를 사용하여 xcodebuild가 _www 사용자의 키 체인으로 찾고있는 개인 키 & 인증서 쌍을 가져옵니다. _www 사용자를위한 키 체인을 실제로 만들어야 할 수도 있습니다 (로그인 할 수있는 일반 사용자 만 빌드했습니다).

0

나는 그것이 ~/.ssh/id_rsa 같은를 검색하고 브라우저 (사용자 www 또는 www-data)

+0

안녕하세요 Maxim, 당신이 말하고자하는 바를 이해하지 못했습니다. ~/.ssh/id_rsa에 대해 좀 더 구체적으로 말씀해주십시오. – YogiBhoi

+0

홈 디렉토리에서 특정 파일을 찾을 수 있습니다. 터미널에서 실행하면 사용자가 실행합니다. 브라우저에서 실행하면 다른 홈 디렉토리가있는 또 다른 사용자입니다. '~/.ssh/id_rsa'는 당신 개인 키 파일입니다. 하지만 대부분의 경우 iOS 인증서를 찾습니다 (홈 디렉토리에있을 가능성이 큽니다). –

+0

브라우저를 사용하여 동일한 사용자로부터 실행하는 방법을 알려주시겠습니까 – YogiBhoi

관련 문제