Cytowane z pytań technicznych i odpowiedzi QA1886 :
Aplikacja Swift ulega awarii podczas próby odwołania się do biblioteki Swift libswiftCore.dylib.
P: Co mogę zrobić z błędem ładowania libswiftCore.dylib w konsoli mojego urządzenia, który występuje, gdy próbuję uruchomić aplikację języka Swift?
O: Aby rozwiązać ten problem, musisz podpisać aplikację przy użyciu certyfikatów do podpisywania kodu z jednostką organizacyjną podmiotu (OU) ustawioną na identyfikator zespołu. Wszystkie certyfikaty dewelopera w wersji Enterprise i standardowej iOS, które zostały utworzone po wydaniu iOS 8, mają nowe pole Team ID w odpowiednim miejscu, aby umożliwić uruchamianie aplikacji języka Swift.
Zwykle ten błąd pojawia się w dzienniku konsoli urządzenia z komunikatem podobnym do jednego z następujących: [....] [deny-mmap] mapowany plik nie ma identyfikatora zespołu i nie jest plikiem binarnym platformy: / private / var / mobile / Kontenery / Pakiet / Aplikacja / 5D8FB2F7-1083-4564-94B2-0CB7DC75C9D1 / YourAppNameHere.app / Frameworks / libswiftCore.dylib
Dyld Error Message:
Library not loaded: @rpath/libswiftCore.dylib
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x0000000120021088
Triggered by Thread: 0
Referenced from: /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/TestApp
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib: mmap() error 1 at address=0x1001D8000, size=0x00194000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib
Dyld Version: 353.5
Nowe certyfikaty są potrzebne podczas tworzenia archiwum i pakowania aplikacji. Nawet jeśli masz jeden z nowych certyfikatów, po prostu rezygnacja z istniejącego archiwum szybkiej aplikacji nie zadziała. Jeśli został utworzony z certyfikatem w wersji wcześniejszej niż iOS 8, musisz zbudować kolejne archiwum.
Ważne: zachowaj ostrożność, jeśli musisz unieważnić i skonfigurować nowy certyfikat Enterprise Distribution. Jeśli jesteś wewnętrznym programistą dla przedsiębiorstw, musisz uważać, aby nie unieważnić certyfikatu dystrybucyjnego, który został użyty do podpisania aplikacji, której którykolwiek z pracowników przedsiębiorstwa nadal używa jako wszystkich aplikacji podpisanych tym certyfikatem dystrybucyjnym przedsiębiorstwa natychmiast przestanie działać. Powyższe dotyczy tylko certyfikatów Enterprise Distribution. Certyfikaty programistyczne można bezpiecznie odwołać w przypadku deweloperów systemu iOS w przedsiębiorstwie / standardu.
Jak mówią pracownicy AirSign, problem ma swoje źródło w brakującym atrybucie OU w polu tematu certyfikatu In-House.
Temat: UID = 269J2W3P2L, CN = iPhone Dystrybucja: nazwa firmy, OU = 269J2W3P2L, O = nazwa firmy, C = FR
Mam certyfikat rozwoju przedsiębiorstwa, utworzenie nowego rozwiązało problem.