Plik jest uniwersalny (trzy plasterki), ale nie zawiera (N) ARMv7-s błąd plasterka dla bibliotek statycznych na iOS, w każdym razie do obejścia?

Zaktualizowałem wersję Xcode i podczas korzystania z zewnętrznych bibliotek statycznych dostaję następujący komunikat:

Ld: plik jest uniwersalny (3 plasterki), ale nie zawiera (n) plasterka armv7s: / file / location for architecture armv7s clang: błąd: polecenie linkera nie powiodło się z kodem wyjścia 1 (Użyj-v, aby zobaczyć wywołanie)

Czy Jest jakiś sposób, aby ominąć to i dodać obsługę biblioteki, jeśli twórca biblioteki nie zaktualizował jeszcze swojej biblioteki?

Author: Peter Mortensen, 2012-09-13

8 answers

Jeśli chcesz usunąć obsługę dowolnej architektury, na przykład ARMv7-S w Twoim przypadku użyj menu Project -> Ustawienia budowania - > Usuń architekturę z "poprawnych architektur".

Można tego używać jako tymczasowego rozwiązania do czasu aktualizacji biblioteki. Musisz usunąć architekturę z głównego projektu, a nie z biblioteki.

Alternatywnie, możesz ustawić flagę dla konfiguracji debugowania " Build Active Architecture Only" na tak. Pozostaw konfigurację release "Build Active Architecture Only" dla No, tylko po to, aby przed wydaniem otrzymać przypomnienie, że powinieneś uaktualnić wszelkie biblioteki innych firm, których używasz.

 417
Author: Nicholas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-16 09:32:39

Po prostu przełączyłem "Build Active Architecture Only" Na "Yes" w Ustawieniach budowania celu i jest już OK!

 191
Author: Blasco73,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-16 09:35:59

Aby usunąć ten problem dla telefonu z systemem iOS 5.1, spróbuj usunąć armv7s z projektu "poprawna Architektura".]}

 27
Author: Arthur Jen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-14 07:44:22

Właśnie opublikowałem poprawkę tutaj , która również miałaby zastosowanie w tym przypadku - zasadniczo robisz hex find-and-replace w swojej zewnętrznej bibliotece, aby myśleć, że to kod ARMv7s. Powinieneś być w stanie użyć lipo, aby podzielić ją na 3 Statyczne biblioteki, zduplikować / zmodyfikować ARMv7, a następnie ponownie użyć lipo, aby złożyć nową bibliotekę dla wszystkich 4 architektur.

 13
Author: Ertebolle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:34:42

Flurry wsparcie dla iPhone 5 (ARMv7s) Jak wspomniałem we wczorajszym poście, Flurry rozpoczął pracę nad wersją iOS SDK obsługującą procesor ARMv7s w nowym iPhone 5 natychmiast po ogłoszeniu w środę.

Z przyjemnością informuję, że prace zostały zakończone i SDK jest już dostępny na stronie.

 5
Author: RAZ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-15 18:52:02

Użyj menu Project - > Build Settings - >

Następnie usuń armv7s z "ważnych architektur". Jeśli wybrano standard, usuń go, a następnie dodaj armv7.

 4
Author: Panky,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-27 14:48:45

Na wypadek, gdyby komuś się to przydarzyło. Zbudowałem własną bibliotekę do użycia z kodem stron trzecich. Podczas gdy budowałem go do dostarczania, przypadkowo zostawiłem mój iPhone 4s podłączony, a więc Xcode zbudował moją bibliotekę tylko dla podłączonej architektury, zamiast podążać za ustawieniami projektu. Usuń wszystkie podłączone urządzenia i Przebuduj bibliotekę, połącz ją, a wszystko będzie dobrze.

Mam nadzieję, że to pomoże.

 1
Author: Raphael Ayres,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-31 17:55:39

W moim przypadku linkowałem do biblioteki innej firmy, która była nieco stara (opracowana dla iOS 6, na XCode 5 / iOS 7). Dlatego musiałem zaktualizować bibliotekę innych firm, czyścić i budować, a teraz buduje się pomyślnie.

 0
Author: Jay Imerman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-25 18:19:52