2016-08-05 3 views
0

Я использовал xcrun с Xcode 6.3, и я не получал никаких проблем.Ошибка командной строки xCodeBuild/

<exec executable="xcrun" dir="${IOS_PROJECT_ROOT_SRC}" failonerror="true"> 
      <arg line="-sdk ${TARGET_SDK}" /> 
      <arg line="PackageApplication"/> 
      <arg line="-v ${PROJECT_BUILD_LOCATION_SRC}/${IOS_APP_BUNDLE_NAME}.app" /> 
      <arg line="-o ${PACKAGE_DIR_SRC}/${APP_TARGET}.ipa" /> 
      <arg line="--sign '${CODE_SIGNING_IDENTITY_SRC}'" /> 
      <arg line="--embed ${basedir}/${PROVISONING_PROFILE_SRC}" /> 
     </exec> 

Однако, после того как я повышен до Xcode 7.3.1, команда начала делать вопросы нашего приложения и после изучения, я прочитал, что мне нужно использовать xcodebuild команду, чтобы создать архив и экспортировать подписанный файл ипа с наш сертификат нарушения.

Я использую следующие:

Первое: Гладко:

<exec executable="xcodebuild" dir="${IOS_PROJECT_ROOT_SRC}" failonerror="true"> 
      <arg line="-project ${XCODE_PROJECT_NAME}.xcodeproj"/> 
      <arg line="-alltargets clean"/> 
     </exec> 

Второе: Компиляция:

<exec executable="xcodebuild" dir="${IOS_PROJECT_ROOT_SRC}" 
      failonerror="true"> 
      <arg line="-project ${XCODE_PROJECT_NAME}.xcodeproj"/> 
      <arg line="-alltargets" /> 
      <arg line="-sdk ${TARGET_SDK}" /> 
      <arg line="-arch armv7"/> 
      <arg line="-configuration ${CONFIGURATION_NAME}" /> 
      <arg line="CONFIGURATION_BUILD_DIR='${PROJECT_BUILD_LOCATION_SRC}'"/> 
      <arg value="clean"/> 
      <arg value="build"/> 
     </exec> 

Третье: Создать архив:

 <exec executable="xcodebuild" dir="${IOS_PROJECT_ROOT_SRC}" failonerror="true"> 
      <arg line="-scheme ${XCODE_PROJECT_NAME}" /> 
      <arg line="-sdk ${TARGET_SDK}" /> 
      <arg line="-archivePath ${IOS_PROJECT_ROOT_SRC}/${XCODE_PROJECT_NAME}.xcarchive" /> 
      <arg line="-configuration ${CONFIGURATION_NAME}" /> 
      <arg line="archive"/> 
     </exec> 

Форт: Экспорт архива в подписанный ПНД.

  <exec executable="xcodebuild" dir="${IOS_PROJECT_ROOT_SRC}" failonerror="true"> 

      <arg line="-exportArchive"/> 
      <arg line="-archivePath ${IOS_PROJECT_ROOT_SRC}/${XCODE_PROJECT_NAME}.xcarchive" /> 
      <arg line="-exportPath ${PACKAGE_DIR_SRC}" /> 
      <arg line="-exportFormat" /> 
      <arg line="IPA" /> 
      <arg line="PROVISIONING_PROFILE ${basedir}/${PROVISONING_PROFILE_SRC}" /> 

     </exec> 

Однако, я получаю эту ошибку:

Codesign check fails : /var/folders/_y/069ykjxd3hv51j9l62flnq2m0000gn/T/12AEA489-05B5-4682-BE29-7527661382B4-14940-000038AD332AE345/BankMobile.app: a sealed resource is missing or invalid 
    [exec] file missing: /private/var/folders/_y/069ykjxd3hv51j9l62flnq2m0000gn/T/12AEA489-05B5-4682-BE29-7527661382B4-14940-000038AD332AE345/BankMobile.app/archived-expanded-entitlements.xcent 

Я не смог создать подписанный файл IPA, что мне не хватает?

ответ

0

После трех дней работы на этом я нашел полное решение, которое заключается в следующем:

Первый

В вашем Xcode проекте вам необходимо удалить ResourcesRules.plist из Code Signing Resource Rules Path и установите other code signing flags в --no-strict:

enter image description here

Второе:

Я удалил все скрипты, упомянутые в этом вопросе и добавил следующее:

<property name="CONFIGURATION_NAME" value="Release"/> 
    <property name="TARGET_SDK" value="iphoneos"/> 
    <property name="PROVISONING_PROFILE_SRC" value='"Company Mobile In House Distribution"'/> 

    <exec executable="xcodebuild" dir="${IOS_PROJECT_ROOT_SRC}" failonerror="true"> 

       <arg line="-scheme ${XCODE_PROJECT_NAME}" /> 
       <arg line="-sdk ${TARGET_SDK}" /> 
       <arg line="-archivePath ${IOS_PROJECT_ROOT_SRC}/${XCODE_PROJECT_NAME}.xcarchive" /> 
       <arg line="-configuration ${CONFIGURATION_NAME}" /> 
       <arg line="clean"/> 
       <arg line="archive"/> 

      </exec> 

      <echo level="info">Exporting the Archive file ${XCODE_PROJECT_NAME}.xcarchive</echo> 
      <exec executable="xcodebuild" dir="${IOS_PROJECT_ROOT_SRC}" failonerror="true"> 

       <arg line="-exportArchive"/> 
       <arg line="-archivePath ${IOS_PROJECT_ROOT_SRC}/${XCODE_PROJECT_NAME}.xcarchive" /> 
       <arg line="-exportPath ${PACKAGE_DIR_SRC}/${APP_TARGET}.ipa" /> 
       <arg line="-exportProvisioningProfile ${PROVISONING_PROFILE_SRC}"/> 
      </exec> 

Хитрость это значение -exportProvisioningProfile. Это значение NOT UUID профиля обеспечения.

Это точное имя отображается в вашей учетной записи xCode в разделе Provisioning Profiles, ДОЛЖЕН быть окружен двойными кавычками типа "".

[Обзор свойства PROVISONING_PROFILE_SRC значения тщательно и обновление на основе своего имени инициализации, как я добавил одиночные кавычки первой окружил мое имя Обеспеченности двойных кавычек]:

enter image description here

Смежные вопросы