Nach dem Update auf Xcode 7.3 wird der Fehler Cannot create __weak reference in file using manual reference counting
in Pod-Dateien ausgegeben. Hat jemand dieses Problem gelöst?
objective-c
xcode
cocoapods
REALFREE
quelle
quelle
-Wall -Wextra -Wno-unused-parameter
Warnflags aktiviert.Dies ist die offizielle Antwort von Apple über den Link:
Wenn Sie also Pod für Bibliotheken von Drittanbietern verwenden, müssen Sie entweder __weak in Nicht-ARC löschen oder auf die Aktualisierung warten.
Update @ 3/23
Ich hätte mehr über Flaggen recherchieren sollen, die ich an Complier weitergeben kann, um diese Art von Dingen zu umgehen. Grundsätzlich sollten Sie
__weak
ab sofort nicht mehr im Nicht-ARC-Modus arbeiten, um unerwartete Konflikte zu vermeiden. Für Cocoapods-Benutzer müssen Sie nicht löschen__weak
oder auf die Aktualisierung warten, sondern dasWeak References in Manual Retain Release
Flag in den Build-Einstellungen auf JA setzen, wie Lean sagte. Ich hoffe das hilft.quelle
Der beste Weg, dies zu lösen, besteht darin
post_install
, Ihrem Podfile ein Skript hinzuzufügen, das dasWeak References in Manual Retain Release
Flagyes
in allen Ihren Pod-Zielen setzt. Fügen Sie dazu einfach den folgenden Code unten in Ihr Feld einPodfile
.Dies führt manchmal zu einem Fehler
-fobjc-weak is not supported on the current deployment target
. Sie können dies lösen, indem Sie eine weitere Konfigurationsoption hinzufügen und alle Pods dazu zwingen, auf die gewünschte Version abzuzielen ( basierend auf dieser Antwort ):quelle
Problemumgehung für schwache Facebook-Referenzen in FBSettings.m
In Podfile ist es möglich, ein Skript zu schreiben, das nach der Installation / Aktualisierung des Pods ausgeführt wird. Dort wird Folgendes beschrieben.
CLANG_ENABLE_OBJC_WEAK wie man die Worte der Magie findet, die. .
quelle
Ich habe das gefunden.
Ich denke, es ist bedeutet, __weak zu löschen
https://forums.developer.apple.com/thread/38934
quelle
Gehen Sie einfach zu Ihrem Ziel auf der Registerkarte "Phasen erstellen" und suchen Sie die Pod-Dateien in "Quellen kompilieren", klicken Sie auf diese Dateien und fügen Sie das Compiler-Flag "-fobjc-arc" hinzu.
quelle
Oder wechseln Sie
__weak
zu__unsafeunretained
. Dies wird das Problem in der Tradition lösen. Da MRC (vor xCode 4 -) __weak nicht in iOS war.quelle