2015-02-25 8 views
12

Sto provando a caricare la mia app iOS 8 nell'app store per la distribuzione. La mia app contiene un framework creato con Xcode 6. Ricevo il seguente errore del profilo di provisioning dallo strumento uploader.Il mio framework iOS 8 ha bisogno del proprio codice per la firma?

"ERRORE ITMS-90161: Profilo di provisioning non valido. Il profilo di provisioning incluso nel pacchetto com.auraishere.AuraClient [Payload/hipgroup.app/Frameworks/AuraCore.framework] non è valido. Certificato di firma codice mancante."

L'archiviazione funziona correttamente e sto utilizzando un certificato di distribuzione e un profilo appena creati sia per l'obiettivo che per il progetto. L'ID app è specifico del nome del bundle e non di quello jolly.

Il framework compila in un progetto quadro separato utilizzando con successo un certificato di sviluppo di un'organizzazione diversa. Devo compilarlo usando un certificato di distribuzione per quell'organizzazione o non è necessario?

Ho uno script che crea un binario grasso utilizzando lo strumento lipo per supportare più architetture e copia il fat binary nella cartella del progetto dell'app. Non penso che questo sia il problema ma l'ho incluso nel caso.

# define output folder environment variable 
UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/${CONFIGURATION}-universal 

# Build framework for iPhoneOS 
xcodebuild -target AuraCore ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" 

# Build framework for iPhoneSimulator 
xcodebuild -target AuraCore -configuration ${CONFIGURATION} -sdk iphonesimulator -arch i386 BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" 

mkdir -p "${UNIVERSAL_OUTPUTFOLDER}" 

# Build the universal library 
lipo -create -output "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}" "${BUILD_DIR}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework/${PROJECT_NAME}" "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${PROJECT_NAME}.framework/${PROJECT_NAME}" 

# Copy the .framework folder of iphoneos 
cp -R "${BUILD_DIR}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework" "${UNIVERSAL_OUTPUTFOLDER}/" 

# Delete the library for iphoneos 
rm "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}.framework/${PROJECT_NAME}" 

# Move the Universal Library into our framework 
mv "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}" "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}.framework/" 

# Copy the framework 
cp -R "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}.framework" "${PROJECT_DIR}" 
rm -Rf "${PROJECT_DIR}/../../aura-ios-demo/{PROJECT_NAME}.framework" 
cp -Rf "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}.framework" "${PROJECT_DIR}/../../aura-ios-demo" 

if [ -d "${PROJECT_DIR}/../../concierge" ]; then 
    echo "dir exsits" 
# Copy the framework 
cp -R "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}.framework" "${PROJECT_DIR}" 
rm -Rf "${PROJECT_DIR}/../../concierge/{PROJECT_NAME}.framework" 
cp -Rf "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}.framework" "${PROJECT_DIR}/../../concierge" 
fi 

Qualsiasi aiuto sarebbe molto apprezzato. Grazie.

risposta

4

Per quanto riguarda this sviluppatore thread del forum: "Frameworks hanno bisogno di essere codice firmato, ma Xcode si prende cura di questo per voi Non hanno bisogno di alcun profilo extra o ID applicazione per eseguire L'unica cosa che devi fare.. per poterli usare è quello di assicurarsi che vengano copiati correttamente durante il processo di compilazione con la fase di build extra. "

La casella "Code Sign On Copy" è stata verificata nella fase di compilazione?

enter image description here

+0

Questo è quello che ho pensato. Sì, ho il segno di codice sulla copia spuntato per il mio quadro. L'unica differenza è il nome della fase di costruzione. Il mio è "Copia file" mentre il tuo è "Incorpora framework" - non so se questo faccia differenza. – brodeo

+0

Sì, lo fa. Come hai aggiunto il tuo framework embedded? Si sta presentando nel "Framework embedded" e anche nel "Framework e librerie collegate" e in parte nella scheda Generale? Dovrebbe essere presentato in entrambi i posti. – ingaham

+0

Ok era nella sezione binari incorporati L'ho rimosso e poi aggiunto tramite il pulsante Linked Frameworks and Libraries +. Ma ora non ho la parte di Embed Frameworks nella fase di build. – brodeo

Problemi correlati