2013-09-24 9 views
5

Używam w mojej aplikacji zbar. Jeśli chcę go uruchomić na moim iphone 5s z procesorem 64-bitowym, otrzymuję następujące błędy:Uruchom bibliotekę 32-bitową na iPhonie 5s 64-bitowym

Trying to run on my iPhone 5s

Czy można korzystać z biblioteki 32 bitowe na urządzeniu 64 bitowej, bo don” Wydaje mi się, że biblioteka zostanie zaktualizowana.

+1

Po prostu usuń kompilację 64-bitową z aplikacji, aby to zrobić, przejdź do ustawień budowania celów. Tutaj w Architekturach usuń 'arm64' – rckoenes

+1

Czy znalazłeś rozwiązanie tego problemu? Mam ten sam problem, ale muszę zbudować 64-bitową wersję binarną, więc nie mogę użyć rozwiązania @ rckoenes – Chris

+0

Mam ten sam problem tutaj! – Daniel

Odpowiedz

5

Podsumowując powyższe komentarze. 64-bitowa aplikacja na iPhone'a wymaga, aby wszystkie biblioteki składowe i frameworki były 64-bitowe. Nie można mieszać i dopasowywać. Pozostawienie aplikacji 32-bitowej jest nieoptymalne długoterminowo, ponieważ iOS musi przechowywać dwie wersje bibliotek systemowych (32 i 64), gdy tylko uruchomi się jedna 32-bitowa aplikacja. Dlatego nie chcesz być ostatnią aplikacją obsługującą 64-bitową!

Możesz sprawdzić, czy twoja biblioteka zawiera 64-bitowy kod za pomocą lipo. Na przykład, oto ramy SBJson w 32bit:

$ lipo -info SBJson.framework/SBJson 
Architectures in the fat file: SBJson.framework/SBJson are: armv6 armv7 i386 

a z kodem 64-bitowym

$ lipo -info SBJson.framework/SBJson 
Architectures in the fat file: SBJson.framework/SBJson are: armv7 armv7s i386 x86_64 arm64 

W przypadku ZBar, jeśli nie jest dostępny zawsze można spróbować kompilacji się od źródła.