Construire la graisse bibliothèque statique (appareil + simulateur) à l'aide de Xcode et le SDK 4+

Il semble que l'on peut - en théorie - construire une bibliothèque statique, qui comprend le simulateur et l'iPhone et l'iPad.

Toutefois, Apple n'a pas de documentation sur ce que je peux trouver, et Xcode modèles par défaut ne sont PAS configurés pour ce faire.

Je suis à la recherche d'un simple, portable, réutilisable technique qui peut être fait à l'intérieur de Xcode.

Un peu d'histoire:

  • En 2008, nous avons utilisé pour être en mesure de rendre statique unique-libs qui incluait à la fois la carte sim et le périphérique. Apple désactivé.
  • Tout au long de 2009, nous avons fait des paires de bibliothèques statiques - on pour sim, l'une pour l'appareil. Apple a maintenant désactivé aussi.

Références:

  1. C'est une excellente idée, c'est une excellente approche, mais il ne fonctionne pas: http://www.drobnik.com/touch/2010/04/universal-static-libraries/

    • Il y a quelques bugs dans son script qui signifie qu'il ne fonctionne que sur sa machine, il doit être à l'aide de BUILT_PRODUCTS_DIR et/ou BUILD_DIR au lieu de "guesstimating" entre eux)
    • Les plus récents Xcode ne vous empêche de faire ce qu'il a fait - il aura tout simplement pas de travail, en raison de l' (Documenté) changement dans la façon de Xcode processus cibles)
  2. L'autre, de SORTE interlocuteur demandé comment le faire SANS xcode, et avec des réponses qui mettait l'accent sur la arm6 vs arm7 partie - mais pas pour l'architecture i386 partie: Comment puis-je compiler une bibliothèque statique (fat) pour armv6, armv7 et i386

    • Depuis Apple dernières modifications, le Simulateur n'est pas le même que le arm6/arm7 différence plus - c'est un problème différent, voir ci-dessus)
  • Demandais - pourquoi voudriez-vous que? N'est-il pas l'appareil bibliothèque de plus grand et plus lourd sur l'appareil?
  • le "poids" de la bibliothèque n'est pas pertinent dans 95% des situations du monde réel - pour la plupart d'entre nous, les libs sont minuscules, en particulier par rapport à par exemple en affichant même un seul UIImageView.
  • pendant ce temps, la valeur est ici que vous faites, il est BEAUCOUP plus facile pour d'autres personnes à l'utiliser/l'utilisation d'une bibliothèque. Il devient une étape de glisser/déposer.
  • enfin, un surprenant précieux avantage: il est si facile d'envoyer accidentellement quelqu'un de "mauvais" compilé une bibliothèque - XCode zéro n'contrôles, et sera heureux de compiler les "mauvais" de l'architecture pour le nom de fichier que vous pensiez être la "bonne" architecture. Apple garde la rupture Xcode dans ce domaine, chaque nouvelle version contient des modifications qui signifie "le bouton activé hier pour compiler votre lib correctement aujourd'hui compiler de manière incorrecte". Jusqu'à ce qu'Apple arrête de déconner nous tous autour de nous, nous devons idiot-la preuve de leur mauvaise UI :).
  • Adam, donc, essentiellement, le point est de maintenir le même comportement sur simulateur et l'iPhone?
  • yep ... avec plusieurs prestations autonomes
  • Ce serait vraiment génial! Parce qu'en ce moment tel qu'il est, nous ne pouvons pas compter sur le simulateur pour les tout petit peu plus complexe.
  • Veuillez répondre à cette question: lipo augmenter la taille du binaire?

InformationsquelleAutor Adam | 2010-08-19