11
votes

Pouvons-nous importer des paquets .Apparchive dans Xcode 4

en Xcode 3, les applications ont été archivées dans des dossiers .Apparchive.

en Xcode 4, les applications sont désormais archivées dans un ensemble .xcarchive.

Y a-t-il un moyen de convertir des dossiers .Apparchive dans des faisceaux .xcarchive ou d'ouvrir des dossiers .Apparchive avec Xcode 4?


0 commentaires

3 Réponses :


3
votes

Je fais juste une à la main, donc c'est certainement possible, mais fastidieux pour plus d'un ou deux. Avec un peu de temps, quelqu'un pourrait écrire un script pour le faire.

.xcarchive Les bundliers ne sont que des répertoires, tels que .Apparchive des paquets avant eux. Le nouveau format nouveau déplacé des choses autour et simplifié le niveau supérieur info.plist .

xcode 3 stocke les archives dans ~ / Bibliothèque / Développeur / Developer / Partagé / Applications archivées . Les forfaits d'archives individuels sont nommés GUID. À l'intérieur de chacun est le archiveInfo.plist , l'ensemble réel .app BUNDLE et le .ddsym BUNDLE.

Xcode 4 magasins Les archives en ~ / bibliothèque / développeur / xcode / archives , séparées dans des dossiers nommés après la date de création de la date de création de l'archive. Dans chaque dossier Date, le dossier .xcarchive , à l'aide d'un nom lisible au lieu d'un GUID. Dans celui-ci est le info.plist , un dossier produits où le .app vit, et un dsyms dossier à Tenez les paquets .dsym .

Un moyen rapide et sale de copier un .Apparchive à un .xcarchive :

  1. Créez un nouveau dossier avec la date à laquelle l'archive a été créée.
  2. Copiez le contenu du .Apparchive dans un nouveau dossier se terminant par .xcarchive à l'intérieur de ce nouveau dossier.
  3. CD dans ce nouveau dossier .xcarchive . Tout est relatif à cela de ce point en avant.
  4. Créer produits et dsyms dossiers.
  5. Déplacez votre .app Bundle dans Produits .
  6. Déplacez votre .dsym BUNDLE EN DSYMS .
  7. Supprimer l'ancien archiveInfo.plist fichier.
  8. créer un nouveau info.plist qui ressemble à cela, en substituant le cas échéant.

    (fin de la liste afin que Stackoverflow formate le XML correctement ...) xxx


0 commentaires

5
votes

Voici un script macruby que j'ai écrit pour le faire pour moi. XXX


6 commentaires

Pourriez-vous nous dire comment l'utiliser? Je reçois "CONV.RB: 36: Erreur de syntaxe, inattendue") ", attendant kdo_block"


OK en supprimant "atomiquement:" Je reçois une erreur sur la ligne 3 "Framework"


Enfin, il fallait travailler (je ne sais même pas comment) mais je dois faire beaucoup de travail seul. En fait, dans les archives plus anciennes, la date a été sauvée comme float et ainsi de suite.


Le script nécessite macruby. J'ai utilisé la version 0.9, je ne sais pas si cela fonctionnera sur des versions antérieures. @Portable, on dirait que vous n'utilisez pas MACRUBY ou d'utiliser une ancienne version.


Merci Dave! J'ai fait des ajustements mineurs à votre script pour importer un numéro de version également (voir ma réponse). (Et icône d'importation lorsqu'il était dans CFBundleIconFile au lieu de CFBUNDLEICONFiles.)


Installé MacRuby 0.9 et le script ont couru avec succès. Je ne pouvais toujours pas symboliser un journal d'accident de l'un de mes utilisateurs cependant :(



11
votes

Le script de Dave Dunkin a fonctionné super, mais j'ai manqué l'icône et la version dans certains cas. En dessous d'une version légèrement ajustée du script. Vous devez installer MacRuby, disponible ici: http://www.macruby.org/downloads.html . xxx


2 commentaires

La modification CFBUNDLEICONFILE est une bonne idée, mais cela ne fonctionne pas comme présenté. Iconpaths doit être un tableau, pas une chaîne.


FWIW, vous pouvez obtenir ce script pour travailler sur Lion sans rien installer en changeant la première ligne en "#! / System / bibliothèque / privéframeworks / macruby.framework / VERi ONS / A / USR / BIN / MACRUB Y" (à l'exclusion les guillemets extérieurs).