Цитирано от Технически въпроси и отговори QA1886:
Приложението Swift се срива при опит за препратка към библиотека Swift libswiftCore.dylib.
Въпрос: Какво мога да направя относно грешката при зареждане на libswiftCore.dylib в конзолата на моето устройство, която се случва, когато се опитам да стартирам езиковото си приложение Swift?
О: За да коригирате този проблем, ще трябва да подпишете приложението си с помощта на сертификати за подписване на код с организационна единица (OU), зададена на вашия ID на екипа. Всички корпоративни и стандартни сертификати за разработчици на iOS, които са създадени след пускането на iOS 8, имат новото поле за идентификатор на екип на правилното място, за да позволят на езиковите приложения на Swift да работят.
Обикновено тази грешка се появява в регистрационния файл на конзолата на устройството със съобщение, подобно на едно от следните: [....] [deny-mmap] картографираният файл няма идентификатор на екип и не е двоичен файл на платформа: /private/var/mobile/ Контейнери/пакет/приложение/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
Новите сертификати са необходими, когато създавате архив и опаковате приложението си. Дори и да имате един от новите сертификати, просто оставката на съществуващ архив на swift приложение няма да работи. Ако е създаден със сертификат преди iOS 8, ще трябва да създадете друг архив.
Важно: Моля, бъдете внимателни, ако трябва да отмените и настроите нов сертификат за корпоративно разпространение. Ако сте вътрешен разработчик на Enterprise, ще трябва да внимавате да не отмените сертификат за разпространение, който е бил използван за подписване на приложение, което някой от вашите служители на Enterprise все още използва като всички приложения, подписани с този сертификат за разпространение на предприятието веднага ще спре да работи. Горното се отнася само за корпоративни сертификати за разпространение. Сертификатите за разработка са безопасни за анулиране за корпоративни/стандартни iOS разработчици.
Както заявяват момчетата от AirSign, проблемът се корени в липсващия атрибут на OU в полето за тема на вътрешния сертификат.
Тема: UID=269J2W3P2L, CN=Разпространение на iPhone: Име на фирмата, OU=269J2W3P2L, O=Име на фирмата, C=FR
Имам сертификат за развитие на предприятието, създаването на нов реши проблема.
person
A.G
schedule
17.12.2015