Ich musste kürzlich meine eigenen Frameworks duplizieren, um sie mit der nativen watchOS 2-Erweiterung verknüpfen zu können, da die Plattform anders ist. Also habe ich für jedes Framework X ein Gegenstück zu X-watchos. Alles funktioniert gut im Simulator und wenn sie direkt auf meine Geräte bauen, und es war nicht, bis ich zu archivieren versucht, dass ich diese Verknüpfung Fehler bekam:Verknüpfung von dualen Frameworks (iphoneos und watchos) mit demselben Produktnamen
I lipo -i
auf dem integrierten watchOS Rahmen lief und Sicher genug, seine Bögen sind arm7
und arm64
anstelle von armv7k
.
Als ich weiter in das gebauten Verzeichnis sah, bemerkte ich dies:
Beiden Versionen sind symbolische Links auf die gleiche Datei, und weil das die gleichen Produktnamen haben, sind sie außer Kraft gesetzt werden. Ich könnte sie dazu bringen, verschiedene Namen zu haben, aber das würde sie wirklich umständlich machen.
Beachten Sie, dass dies kein Problem für Frameworks von Drittanbietern ist, da Carthage
sie bereits in separaten Verzeichnissen erstellt.
EDIT 2015.08.22: http://www.openradar.me/22392501
EDIT 2015.08.24: Ich habe ein Radar mit einem Beispielprojekt eingereicht Diese in Xcode 7 Beta 6 Release Notes als quittiert wurde Bekanntes Problem:
EDIT 2015.09.09: Xcode 7.1 Beta Release Notes Hinweis, dass dieses Problem behoben ist, aber ich habe es noch nicht bestätigt.
Yup, kann ich bestätigen, dass dies in 7.1 Beta 1 so gut wie erwartet funktioniert. – NachoSoto
Schließlich verwenden Sie den gleichen Produktnamen für jede Version (Uhren- und iOS) Ihres Rahmens oder einer anderen? – CarlosGz
Am 7.1 Ich bin mit dem gleichen Produktnamen für jede Plattform nur in Ordnung. –