2016-08-05 43 views
0

Ich benutzte xcrun mit Xcode 6.3 und ich bekam kein Problem.xCodeBuild Kommandozeile/Code-Signierung fehlgeschlagen

<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> 

jedoch Nachdem ich xCode Upgrade 7.3.1, begann der Befehl Probleme auf unserer App zu machen und nach der Untersuchung, las ich, dass ich xcodebuild Befehl zum Erstellen eines Archivs und exportieren Sie eine signierte IPA-Datei verwenden muß mit unsere Störung cert.

Ich bin mit dem folgenden:

Erstens: Sauber:

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

Zweitens: Kompilieren:

<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> 

Drittens: Archiv erstellen:

 <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> 

Weiter: Exportieren Sie das Archiv in signierte IPA.

  <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> 

Allerdings bin ich immer diese Fehlermeldung:

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 

Ich bin nicht in der Lage eine signierte IPA-Datei zu erstellen, was bin ich dabei?

Antwort

0

Nach drei Tagen auf diese Arbeit fand ich die vollständige Lösung, die ist die folgende:

Erste

In Ihrem Xcode-Projekt müssen Sie ResourcesRules.plist von Code Signing Resource Rules Path entfernen und legen Sie die other code signing flags---no-strict:

enter image description here

Zweitens:

Ich entfernte die alle Skripte in der Frage erwähnt und fügte hinzu, die folgenden:

<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> 

Der schwierige Teil ist der Wert für -exportProvisioningProfile. Dieser Wert ist NICHT die UUID des Bereitstellungsprofils.

Es ist der genaue Name erscheint in Ihrem xCode-Konto unter Bereitstellungsprofile, es MUSS von doppelten Anführungszeichen wie "" umgeben sein.

[Überprüfen Sie die PROVISONING_PROFILE_SRC Wert Eigenschaft sorgfältig und Aktualisierung auf der Grundlage Ihrer eigenen Provisioning Namen wie ich umgeben erste Apostrophe hinzugefügt dann meine Bestimmung Name mit doppelten Anführungszeichen]:

enter image description here