2017-09-13 54 views
15

Mam natywną aplikację reagowania i po prostu zauważyłem, że kilka linii zostały dodane do Recovered References w moim pliku project.pbxproj w XCode.Dlaczego są odzyskiwane odwołania w moim pliku projektu xcode?

Nie pamiętam dodawania ani usuwania żadnych odwołań, a odzyskane odwołania pokazują biblioteki, których normalnie używam. Waham się, aby sprawdzić lokalne zmiany w gitarze, nie wiedząc, jakie to zmiany. Czy powinienem po prostu odrzucić te zmiany?

Czy ktoś może wyjaśnić, dlaczego te linie mogą zostać dodane, jeśli nie dodałem ani nie usunąłem tych pakietów? Czy to oznacza, że ​​niektóre referencje zostały usunięte, aby później je odzyskać? Jedyne o czym mogę myśleć to to, że uruchomiłem link "native-native", czy to spowodowałoby te zmiany?

Ta linia została dodana

E3C5B1001F6966D2006296E1 /* Recovered References */, 

Cały ten odcinek jest nowa:

E3C5B1001F6966D2006296E1 /* Recovered References */ = { 
      isa = PBXGroup; 
      children = (
       E602D61E379048BF92DC0C6D /* libRNDeviceInfo.a */, 
       DEE39860F1B042208F193884 /* libRNVectorIcons.a */, 
       C193FEFE9F3B45388016E921 /* libRNShare.a */, 
       58B3A26CAB2543FB941C3D8D /* libRNFIRMessaging.a */, 
       0BFBA42D662C492EBC1957A0 /* libreact-native-branch.a */, 
       4BC248DD95524DE091A41CEC /* libCodePush.a */, 
       6DB0E4FE64B34B68A29B262E /* libRNImagePicker.a */, 
       E1502CC537D94CF4A5711814 /* libRNAddCalendarEvent.a */, 
       065361D30B3F47D4A5101A1D /* libRNAccountKit.a */, 
      ); 
      name = "Recovered References"; 
      sourceTree = "<group>"; 
     }; 

Odpowiedz

4

Od: Uwagi do wydania Xcode 9 Beta 2:

Jeżeli projekt jest otwarty, Xcode wykryje, czy wszystkie pliki budować w celów w projekcie stanowią odnośniki do plików, które nie są obecne że projektu drzewo grupy. Wszelkie takie referencje zostaną dodane do grupy plików o nazwie "Odzyskane odniesienia", która zostanie utworzona, jeśli będzie to konieczne, jeśli wymagana jest . Te odniesienia należy ręcznie zreorganizować w projekcie , stosownie do potrzeb. (22924751)

+5

W jaki sposób mam zrobić to, co jest napisane w ostatnim zdaniu, tj. "Te odniesienia powinny być ręcznie reorganizowane w projekcie, jeśli to właściwe." – Andru

+4

Czy ktoś może wyjaśnić, jak to zrobić? – chetstone

0

Jak gheni4 wspomniano, Xcode 9 dodaje kilka plików * .a pod odzyskanej Referencje dla jakiegoś powodu. Usuwając folder i wszystkie obiekty docelowe, z wyjątkiem systemu iOS (test iOS, tvOS, test tvOS), nie są one już automatycznie tworzone i mogę w końcu budować bez błędów.

+0

Próbowałem tego i naprawdę spieprzyło to. Zdjąłem cel iOS test a odzyskany Referencje folderu i teraz mój związek nie z ' Undefined symboli dla architektury x86_64: "_OBJC_CLASS _ $ _ Orientacja", odwołuje się od: objc-klasa-ref w AppDelegate.o „_OBJC_CLASS _ $ _ CodePush ", cytowane z: objc-class-ref w AppDelegate.o' i nie mam pojęcia, jak to naprawić. – chetstone

+0

Udało mi się odzyskać, przywracając plik pbxproj z git. xcode ponownie dodał folder Odzyskane referencje, ale nic nie zaszkodzi. Kompilacja działa dobrze, a ja tylko pogodzę się z brzydotą tego. – chetstone

0

Naprawiono go przez zmianę nazwy pliku, ręcznego usuwania wszystko w pliku projektu związanego Recovered References porzuceniem Xcode i działa synx - użyteczne narzędzie Ruby. Kiedy otworzyłem go ponownie, mogłem zbudować i wszystko było w porządku.