Śledziłem kilka wątków wokół nowego ustawienia ENABLE_BITCODE w Xcode, próbowałem też tyle, ile mogłem (przyznał, że nie jestem xcode pro), ale nadal nie mogę skompilować projektu do użytku na moim telefonie testowym?
Moja aplikacja działa dobrze na symulatorze, ale nie mogę jej wdrożyć na moim iPhonie w celu przetestowania. Na drugim właśnie zainstalowałem iOS 9 beta.
Oto otrzymany komunikat o błędzie. Wygląda na to, że ustawienie nie ma wpływu na bibliotekę PARSE.com, która jest częścią mojego projektu? Jak mogę uruchomić mój projekt na moim telefonie? Dzięki za każdą radę.
Ld /Users/xxxxxx/Library/Developer/Xcode/DerivedData/graffiti- bnmizxueojwiqcbbnsvilljhosrw/Build/Products/Debug-iphoneos/Pods/Parse.framework/Parse normal armv7
cd /Users/xxxxxx/Documents/DigitalTempusDev/graffiti/Pods
export IPHONEOS_DEPLOYMENT_TARGET=8.0
export PATH="/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode-beta.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -dynamiclib -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk -L/Users/xxxxxx/Library/Developer/Xcode/DerivedData/graffiti-bnmizxueojwiqcbbnsvilljhosrw/Build/Products/Debug-iphoneos/Pods -L/Users/xxxxxx/Documents/DigitalTempusDev/graffiti/Pods/Parse -F/Users/xxxxxx/Library/Developer/Xcode/DerivedData/graffiti-bnmizxueojwiqcbbnsvilljhosrw/Build/Products/Debug-iphoneos/Pods -filelist /Users/xxxxxx/Library/Developer/Xcode/DerivedData/graffiti-bnmizxueojwiqcbbnsvilljhosrw/Build/Intermediates/Pods.build/Debug-iphoneos/Pods-Parse.build/Objects-normal/armv7/Parse.LinkFileList -install_name @rpath/Parse.framework/Parse -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -miphoneos-version-min=8.0 -dead_strip -fembed-bitcode-marker -ObjC -lParseLib -lz -framework AudioToolbox -framework CFNetwork -framework CoreGraphics -framework CoreLocation -framework QuartzCore -framework Security -framework StoreKit -framework SystemConfiguration -weak_framework Accounts -weak_framework Social -ObjC -fobjc-arc -fobjc-link-runtime -framework AudioToolbox -framework Bolts -framework CFNetwork -framework CoreGraphics -framework CoreLocation -framework Foundation -framework QuartzCore -framework Security -framework StoreKit -framework SystemConfiguration -single_module -compatibility_version 1 -current_version 1 -Xlinker -dependency_info -Xlinker /Users/xxxxxx/Library/Developer/Xcode/DerivedData/graffiti-bnmizxueojwiqcbbnsvilljhosrw/Build/Intermediates/Pods.build/Debug-iphoneos/Pods-Parse.build/Objects-normal/armv7/Parse_dependency_info.dat -o /Users/xxxxxx/Library/Developer/Xcode/DerivedData/graffiti-bnmizxueojwiqcbbnsvilljhosrw/Build/Products/Debug-iphoneos/Pods/Parse.framework/Parse
---
ld: warning: -weak_framework is treated as -framework when used with -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES). Weak linking may still happen based on availability mark-up in headers
ld: warning: -weak_framework is treated as -framework when used with -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES). Weak linking may still happen based on availability mark-up in headers
ld: '/Users/xxxxxx/Documents/DigitalTempusDev/graffiti/Pods/Parse/libParseLib.a(PFSQLiteDatabase.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Enable Bitcode
sięNO
przeciwko budowie config używasz (npDEBUG
)? Możesz to sprawdzić w project-> target-> build settings-> searchenable bitcode
-> setNO
in DEBUG (warto pamiętać, aby spróbować zaktualizować biblioteki przed wydaniem testowym, być może będzie już zawierał bitcode). NastępnieEdit Scheme
->Run
-> sprawdź, czy maszDEBUG
config atm.Odpowiedzi:
Czy jesteś pewien, że wybrałeś
Enable Bitcode
sięNO
przeciwko budowie config używasz (npDEBUG
)? Możesz to sprawdzić w projekt-> cel-> ustawienia kompilacji-> wyszukiwanieenable bitcode
-> zestawNO
inDEBUG
(warto pamiętać, aby spróbować zaktualizować biblioteki przed wydaniem testowym, być może będzie już zawierał bitcode). Następnie Edytuj schemat -> Uruchom -> sprawdź, czy maszDEBUG
konfigurację atm.źródło
Enable Bitcode
jest ustawiona naNO
?Pamiętaj, że w przypadku projektów korzystających z CocoaPods powinieneś ustawić
ENABLE_BITCODE = NO
cele projektu i kontenera Pods.Ten błąd
został rozwiązany przez:
źródło
Miałem też ten sam problem w Xcode7. Rozwiązanie tego problemu:
PROJECT
Settings
All Tab
Enable Bitcode
Update Flag
doNo
(który będzie pod Twoim projektem (druga kolumna))źródło
Miałem podobny problem z biblioteką pod kakao GoogleAnalytics, a biblioteka nie kompilowała się dla iPhone'a 6 z iOS 8.
Moim rozwiązaniem było włączenie flagi NIE „Włącz Bitcode” w celu projektu aplikacji, a nie w projekcie Pods.
źródło
Jeśli Twój Bitcode nie jest wyświetlany, wybierz opcję Wszystkie. Gdy xcode wybiera opcję Basic, opcja Bitcode nie jest wyświetlana.
Po wybraniu opcji All you can see Bitcode. Następnie ustaw Nie dla konfiguracji reklam
źródło
Po prostu ustawiłem to dla mojego projektu.
MyProjectTarget -> Ustawienia kompilacji -> Włącz Bitcode = NIE
źródło
Jak wszyscy mówili, że odpowiedź jest ustawiony
Enable Bitcode
naNo
w ustawieniach kompilacji , ale myślę, że niektórzy z was mogą być zainteresowani w ten sposób z linii poleceń .Mój projekt Xcode jest generowany przez Unity i nie chcę żadnej ręcznej interwencji w ustawienia projektu Xcode. Może jest lepszy sposób lub narzędzie, które może edytować ustawienia kompilacji, podobnie jak PlistBuddy pozwala aktualizować wartości w
plist
plikach. Nie znam żadnego narzędzia, które robi to do ustawień kompilacji, więc używam seda .Jak ustawić
Enable Bitcode
, abyNo
z linii poleceń:Tutaj nazwa mojego projektu jest
Unity-iPhone
taka, że uruchamiam następujące polecenie z katalogu głównego mojego projektu Xcode:Usunąć
-i
jeśli chcesz tylko podgląd tego, co robi;)Zauważ, że wszystkie konfiguracje kompilacji zostaną zmienione za pomocą tego polecenia, linia
ENABLE_BITCODE = YES;
pojawiła się 6 razy w pliku myproject.pbxproj
.Teraz moje kroki kompilacji mogą być w pełni zautomatyzowane, ponieważ fastlane zajmie się resztą!
źródło
Jeśli nie znajdziesz flagi enable_bitcode. Kliknij kartę „Wszystkie” na górnym pasku narzędzi obok paska wyszukiwania.
źródło
spróbuj tego polecenia w terminalu, jeśli nie możesz zmienić ustawień BITCODE w projekcie,
xcodebuild -target "target" -configuration "configuration" ENABLE_BITCODE = NO
źródło