Nach einigen Änderungen an meinem Projekt bekomme ich plötzlich den Build-Fehler:
Reference to 'kCGImageAlphaPremultipliedLast' is ambiguous
und wenn man sich den Fehler anschaut, zeigt es mir, dass er 4-mal referenziert wird
Kann mir bitte jemand sagen, wie das passieren kann und wie kann ich herausfinden, was das verursacht? Ich importiere nichts explizit von CoreGraphics und meine Prefix-Datei importiert nur "Foundation.h" und einige selbst erstellte Makros. Ich importiere jedoch mehrere Header, die reinen c-Code enthalten, aber alle sind in etwa wie folgt gekapselt:
#ifndef __MYCCODE_H
#define __MYCCODE_H
// imports here
// c code here
#endif
Dies geschieht in xcode 5 mit LLVM 5.1
Edit: Dies scheint ein anderes Problem bei diesem Projekt zu sein. Nachdem ich diese Codezeile kommentiert habe, bekomme ich einen weiteren Fehler:
Malformed or corrupted AST file: 'Unable to load module "/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache/1NHZ5MC2OSMJV/CoreImage.pcm": module file out of date'
das Entfernen des Moduls und das erneute Hinzufügen half nicht. Das Löschen der abgeleiteten Daten half auch nicht. Dieser Fehler tritt auch auf, wenn Sie zu einem Working Commit zurückkehren
Nachdem ich ein neues Projekt erstellt und alles in dieses Projekt kopiert hatte, war der Build erfolgreich. Allerdings erhielt ich diese Fehlermeldung "Malformed or brokened AST file" "mehrmals. Dieser Fehler kann jedoch behoben werden durch:
danach funktioniert es gut, außer dass ich diese Korrektur von Zeit zu Zeit durchführen muss
ich habe auch einen Unterschied zu dem alten Projekt gemacht und es scheint, dass eine Menge Frameworks und anderes altes Zeug dort beim Testen von Dingen stecken.
ich dachte, dass Xcode und ich eines Tages Freunde sein können. Schätze nicht...
Ich habe dieses Problem, wenn ich zweimal eine Header-Datei importiert habe. Nachdem einer von ihnen entfernt wurde, verschwindet das Problem.
Vielleicht importieren Sie so:
#import "xxxx.h"
Ich repariere es durch:
#import <xxxx/xxxx.h>
Für alle, die immer noch Probleme haben: In meinem Fall hat keine der vorgeschlagenen Lösungen funktioniert. Ich kompiliere alle meine Frameworks mit Carthage und erhielt diese Fehler in meinem Hauptprojekt, wenn ich einen Header eines Frameworks importiere, das ein Framework verwendet, das auch von meinem Hauptprojekt verwendet wird. Was schließlich gelöst wurde, war die Deaktivierung von 'Modules' im Hauptprojekt .
Nun, einige Lösungen hier sind Nice, aber use_frameworks! Das ist genau das, was ich jetzt brauche, obwohl dieses Problem aufgetreten ist. Aber es sieht so aus, als würde build nicht so aussehen, wenn ich Frameworks verwende und der Header zweimal so referenziert wird
#import "TSMessage.h"
#import "TSMessage+CSExtension.h"
aber das Problem kommt weg, wenn es so kompiliert wird
#import "TSMessage+CSExtension.h"
Use_frameworks entfernen! von pod-datei beheben mein zweideutiges problem.
benutzen
#import "anyviewcontroller.h"
statt eines Moduls
@import anymodule;
Ich verwende LGSideMenuController. Wenn ich es zum ersten Mal integriere, funktioniert es gut, aber ich weiß nicht, warum ich diesen Fehler nach einiger Zeit erhalten habe.
so ersetzte ich das Modul @import LGSideMenuController;
in die Header-Datei. So#import "UIViewController+LGSideMenuController.h"
und der Fehler geht weg.
Ich hatte gerade die gleichen Warnungen in meinem Build-Bericht (aber nur unter dem Dreieck). Am Ende funktionierte es für mich, sicherzustellen, dass JEDE Verwendung von:
#import <Module/Module.h>
in der App wurde ersetzt durch:
@import Module;
Jetzt sind alle nervigen Warnungen weg!