2015-01-09 13 views

risposta

6

Trovato la risposta. Ecco come si fa:

  • Spostarsi destinazione>fasi di creazione
  • Fare clic sull'icona piccola "+" e selezionare "Nuovo Esegui script di build Fase"
  • Incollare il seguente:

    cd $BUILT_PRODUCTS_DIR 
    
    mkdir $PROJECT_NAME.framework/Frameworks &>/dev/null 
    
    for framework in *.framework; do 
        if [ $framework != $PROJECT_NAME.framework ]; then 
         cp -r $framework $PROJECT_NAME.framework/Frameworks/ &>/dev/null 
        fi 
    done 
    
+3

Questo funziona, ma solo aggiungere che un quadro che incorpora sub -framework è noto come un "quadro ombrello" ed è scoraggiato da Apple. Vedi questa domanda per una risposta eccellente sul perché questo è il caso: http://stackoverflow.com/questions/7365578/why-are-umbrella-frameworks-discouraged Cosa dovresti fare: invece di incorporare sotto-framework, dovresti preferibilmente distribuisci il tuo framework insieme alle sue dipendenze separatamente. –

+1

@ JonathanEllis Questo non è sempre l'ideale. Ad esempio, ho aggiunto il supporto WebP usando WebP.framework. Non voglio che la mia app principale, l'estensione per il fotoritocco e l'estensione iMessage debbano includere una copia separata di WebP.framework. Spreca spazio ... – jjxtra

6

risposta di @Vatsal Manot è stato molto utile per me. L'ho modificato un po 'e avevo anche bisogno di firmare il framework incorporato copiato. La mia sceneggiatura è sotto

cd $BUILT_PRODUCTS_DIR/$PRODUCT_NAME.app/Frameworks/Custom.framework/Frameworks 
for framework in *.framework; do 
    mv $framework $BUILT_PRODUCTS_DIR/$PRODUCT_NAME.app/Frameworks/ 
    /usr/bin/codesign --force --sign "iPhone Developer" --preserve-metadata=identifier,entitlements --timestamp=none $BUILT_PRODUCTS_DIR/$PRODUCT_NAME.app/Frameworks/$framework 
done 
1

di creare un quadro ombrello che contiene un sub-framework è possibile seguire il passo-passo guida scritto qui: Umbrella framework

Problemi correlati