Z tego co zrozumiałem, bitcode pozwala na generowanie plików binarnych z pośrednim formatem binarnym. Jest to więc krok przed skompilowaniem do architektury ARM lub x64.Czy można utworzyć uniwersalny framework iOS za pomocą bitcode?
Możliwe jest utworzenie "prawdziwego" pliku .framework
dla systemu iOS od wersji iOS 8. Pliki szkieletowe są jednak kompilowane domyślnie tylko dla jednej architektury (emulator, iPhone). Gdy chce się rozpowszechniać plik .framework
, lepiej jest dostarczyć plik zgodny z emulatorem iOS, a także można go wdrożyć na iPhonie. Można znaleźć różne przykłady skryptów, aby utworzyć taki gruby plik za pomocą lipo
.
Czy możliwe jest jednak rozpowszechnianie tylko pliku .framework
skompilowanego jako bitcod, bez konieczności tworzenia grubego pliku z różnymi architekturami?
Niestety, nawet z bitcode włączona do mojego .framework
:
- różne pliki są domyślnie tworzone w zależności od docelowej architektury
- nawet jeśli menu „Archiwum” wydaje się być włączona cel ramowej nie mogę znaleźć wynik, nawet moim zdaniem Organizatora
czy rozumieją coś w pojęciu bitcode, czy brakuje czegoś?
Proszę ponownie przeczytać pytanie. Dokładnie tego chciałbym uniknąć (wspomniałem o "lipo" w moim pytaniu). Nie rozumiem celu, jakim jest skompilowanie czegoś w postaci bitu, jeśli i tak muszę utworzyć uniwersalny plik binarny. I nie mogę znaleźć pliku szkieletu utworzonego za pomocą kompilacji 'archive'. –
Bitcode jest pośrednim LLVM IR skompilowanym przez Xcode, i jest zależne od architektury, a nie jak kod bajtowy Java, więc każdy kawałek potrzebuje własnej sekcji bitcodowej. Ponieważ jest to kod pośredni, więc Apple może go użyć do optymalizacji do ostatecznego kodu maszynowego w przyszłości bez przesłania nowej wersji, to jest główny cel – xfdai
A framework stworzony z 'archive' ze skryptu jest na' $ {DEVICE_LIBRARY_PATH}/Moduły/$ {FRAMEWORK_NAME} ' zobacz [tutaj] (https://developer.apple.com/library/mac/documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html#// apple_ref/doc/uid/TP40003931-CH3-SW39) – xfdai