Iphone - Construiește o bibliotecă statică grasă (simulator de dispozitiv) folosind Xcode și SDK 4 - Stack Overflow
Se pare că putem - teoretic - să construim o singură bibliotecă statică care să includă atât simulator, cât și iPhone și iPad.
Cu toate acestea, Apple nu are nicio documentație pe care să o găsesc, iar șabloanele implicite ale Xcode NU sunt configurate pentru a face acest lucru.
Caut o tehnică simplă, portabilă, reutilizabilă care poate fi realizată în Xcode.
- În 2008, am fost capabili să realizăm libere statice simple care includeau atât sim, cât și dispozitiv. Apple a dezactivat asta.
- De-a lungul anului 2009, am realizat perechi de lib-uri statice - una pentru sim, una pentru dispozitiv. Apple a dezactivat și asta.
Aceasta este o idee grozavă, este o abordare excelentă, dar nu funcționează: http://www.drobnik.com/touch/2010/04/universal-static-libraries/
- Există câteva erori în scriptul său, ceea ce înseamnă că funcționează doar pe mașina sa - ar trebui să folosească BUILT_PRODUCTS_DIR și/sau BUILD_DIR în loc să le „ghicimească”.
- Cel mai recent Xcode Apple vă împiedică să faceți ceea ce a făcut - pur și simplu nu va funcționa, datorită modificării (documentate) a modului în care Xcode procesează țintele)
Un alt întrebător SO a întrebat cum să o facă FĂRĂ xcode și cu răspunsuri care s-au concentrat pe partea arm6 vs arm7 - dar a ignorat partea i386: Cum compilez o bibliotecă statică (grăsime) pentru armv6, armv7 și i386
- De la ultimele modificări ale Apple, partea Simulator nu mai este aceeași cu diferența arm6/arm7 - este o problemă diferită, vezi mai sus)

10 Răspunsuri 10
Copiere/lipire ușoară a ultimei versiuni (dar instrucțiunile de instalare se pot modifica - vezi mai jos!)
Biblioteca lui Karl necesită mult mai mult efort pentru configurare, dar o soluție mult mai frumoasă pe termen lung (vă convertește biblioteca într-un Framework).
Utilizați acest lucru, apoi modificați-l pentru a adăuga suport pentru versiunile de arhive - c.f. Comentariul lui @ Frederik de mai jos cu privire la modificările pe care le folosește pentru a face acest lucru să funcționeze frumos cu modul Arhivă.
MODIFICĂRI RECENTE: 1. Adăugat suport pentru iOS 10.x (menținând în același timp suport pentru platforme mai vechi)
Informații despre cum să utilizați acest script cu un proiect încorporat-într-un alt-proiect (deși recomand cu tărie NU să faceți asta, vreodată - Apple are câteva erori show-stopper în Xcode dacă încorporați proiecte unul în celălalt, de la Xcode 3.x până la Xcode 4.6.x)
Script bonus pentru a vă permite să includeți automat pachete (adică să includeți fișiere PNG, fișiere PLIST etc. din biblioteca dvs.!) - consultați mai jos (derulați în jos)