Après plusieurs modifications de mon projet, l'erreur de construction s'est produite:
Reference to 'kCGImageAlphaPremultipliedLast' is ambiguous
et quand je regarde l'erreur, elle me montre qu'elle est référencée 4 fois
Quelqu'un peut-il me dire, s'il vous plaît, comment cela peut se produire et comment puis-je savoir ce qui le cause? Je n’importe rien explicitement à partir de CoreGraphics et mon fichier de préfixe n’importe que ‘Foundation.h ’et quelques macros faites par vous-même. J'importe cependant plusieurs en-têtes contenant du code pur, mais ils sont tous encapsulés dans quelque chose comme ceci:
#ifndef __MYCCODE_H
#define __MYCCODE_H
// imports here
// c code here
#endif
Cela se produit dans xcode 5 en utilisant LLVM 5.1
Edit: cela semble être un problème différent avec ce projet. après avoir commenté cette ligne de code, j'obtiens une autre erreur:
Malformed or corrupted AST file: 'Unable to load module "/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache/1NHZ5MC2OSMJV/CoreImage.pcm": module file out of date'
retirer le module et l'ajouter à nouveau n'a pas aidé. la suppression des données dérivées n'a pas non plus aidé. cette erreur apparaît également lors du retour à une commande active
Ok, après la création d’un nouveau projet et l’adoption de tout dans ce projet, la construction a réussi. Toutefois, j’ai eu plusieurs fois l’erreur "Fichier mal formé ou corrompu AST", mais elle peut être résolue par:
après que cela fonctionne très bien sauf que je dois faire ce correctif de temps en temps
j'ai également fait un diff pour l'ancien projet et il semble que beaucoup de frameworks et d'autres vieux trucs soient restés coincés après avoir testé des choses, donc si vous avez ceci, vérifiez dans votre fichier de paramètres de projet les vieux trucs.
je pensais que xcode et moi pouvions être amis un jour. je ne pense pas...
J'ai eu ce problème quand j'ai importé un fichier d'en-tête deux fois. Une fois l’un d’eux supprimé, le problème disparaît.
C'est peut-être que vous importez comme ceci:
#import "xxxx.h"
Je résous le problème par ceci:
#import <xxxx/xxxx.h>
Pour tous ceux qui ont encore des problèmes: Aucune des solutions proposées n'a fonctionné dans mon cas. Je compile tous mes frameworks en utilisant Carthage et ces erreurs apparaissaient dans mon projet principal lorsque j'importais l'en-tête d'un framework utilisant un framework utilisé également par mon projet principal. Ce qui a finalement résolu le problème, c’est de désactiver les «modules» sur le projet principal .
Eh bien, certaines solutions sont intéressantes, mais use_frameworks! C’est exactement ce dont j’ai besoin maintenant même si cela a posé ce problème. Mais il semble que la construction ne ressemble pas à l'utilisation de frameworks et que l'en-tête est référencé deux fois, comme ceci
#import "TSMessage.h"
#import "TSMessage+CSExtension.h"
mais le problème s'éloigne quand il compile comme ça
#import "TSMessage+CSExtension.h"
Supprimer use_frameworks! depuis le fichier pod corrige mon problème ambigu.
utilisation
#import "anyviewcontroller.h"
au lieu de n'importe quel module
@import anymodule;
J'utilise LGSideMenuController, lorsque je l'intègre pour la première fois, cela fonctionne bien, mais je ne sais pas pourquoi j'ai cette erreur après un certain temps.
donc j'ai remplacé le module @import LGSideMenuController;
dans le fichier d'en-tête Comme ceci #import "UIViewController+LGSideMenuController.h"
et l'erreur disparaît.
Je viens d'avoir les mêmes avertissements qui jonchent mon rapport de construction (mais seulement sous le triangle). En fin de compte, ce qui a fonctionné pour moi a été d’assurer que CHAQUE utilisation de:
#import <Module/Module.h>
dans l'application a été remplacé par:
@import Module;
Maintenant, tous ces avertissements ennuyeux ont disparu!