2017-09-13 2 views
15

J'ai une application native et j'ai juste remarqué que quelques lignes ont été ajoutées pour Recovered References dans mon fichier project.pbxproj en XCode.Pourquoi y a-t-il des références récupérées dans mon fichier de projet xcode?

Je ne me souviens pas d'avoir ajouté ou supprimé des références et les références récupérées montrent des bibliothèques que j'utilise normalement. J'hésite à vérifier les changements locaux à git sans savoir quels étaient ces changements. Devrais-je simplement jeter ces changements? Est-ce que quelqu'un peut expliquer pourquoi ces lignes pourraient être ajoutées si je n'ai pas ajouté ou supprimé ces paquets moi-même? Cela signifie-t-il que certaines références ont été supprimées pour être récupérées plus tard? La seule chose que je peux penser est que j'ai couru réac-lien natif, cela aurait-il fait ces changements?

Cette ligne a été ajouté

E3C5B1001F6966D2006296E1 /* Recovered References */, 

Cette section entière est nouvelle:

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>"; 
     }; 

Répondre

4

De: Notes de version pour Xcode 9 Beta 2:

Lorsqu'un projet est ouvert, Xcode détecte si des fichiers de construction dans cibles du projet représentent des références de fichiers qui ne sont pas présents dans ce ce projet arbre de groupe. Toutes ces références seront ajoutées à un groupe de fichiers nommé "Références récupérées", qui sera créé si nécessaire. Ces références doivent être réorganisées manuellement dans le projet selon le cas. (22924751)

+5

Comment pourrais-je faire ce qui est écrit dans la dernière phrase, c'est-à-dire 'Ces références devraient être réorganisées manuellement dans le projet selon le cas. – Andru

+4

Quelqu'un peut-il expliquer comment faire cela? – chetstone

0

Comme mentionné gheni4, Xcode 9 ajoute plusieurs fichiers * .a sous un Références récupéré pour être une raison. En supprimant le dossier et toutes les cibles à l'exception de l'iOS (iOS-Test, tvOS, tvOS-Test), ils ne sont plus créés automatiquement et je peux enfin construire sans erreurs.

+0

J'ai essayé cela et ça a vraiment tout gâché. J'ai enlevé mon objectif de test iOS et les références récupérés dossier et maintenant mon lien échoue avec ' symboles non définis pour x86_64 architecture: "_OBJC_CLASS _ $ _ Orientation", fait référence à partir de: objc classe-ref dans AppDelegate.o « _OBJC_CLASS _ $ _ CodePush ", référencé par: objc-class-ref dans AppDelegate.o' et je n'ai aucune idée de comment le réparer. – chetstone

+0

J'ai réussi à récupérer en retournant le fichier pbxproj de git. xcode a de nouveau ajouté le dossier Recovered References, mais il ne semble pas vraiment blesser quoi que ce soit. La construction fonctionne bien et je vais supporter la laideur. – chetstone

0

fixe par renommer le fichier, supprimer manuellement tout dans le fichier de projet lié à Recovered References quitter Xcode, et en cours d'exécution synx - un utilitaire rubis utile. Quand je l'ai rouvert, je pouvais construire et tout allait bien.