Ich habe eine kleine Proof-of-Concept-App, in der ich versuche, ein Framework (Alamofire) in mein Framework (AequumPOCFramework.framework) einzubetten (und zu signieren). Wenn ich jedoch versuche, es auf meinem Gerät bereitzustellen, wird es weiterhin angezeigt mir den fehler
.... nicht gültig für die Verwendung in Prozessen mit Bibliotheksüberprüfung: Zugeordnete Datei hat keinen CDHash, vollständig ohne Vorzeichen? Der Code muss mindestens ad-hoc signiert sein.
Wenn ich nur versuche, mein eigenes Framework bereitzustellen, ohne dass Alamofire darin eingebettet ist, funktioniert alles einwandfrei.
Der vollständige Fehler bei der Bereitstellung auf meinem iPhone lautet:
dyld: Bibliothek nicht geladen: @ rpath / Alamofire.framework / Alamofire Referenziert von: /private/var/containers/Bundle/Application/EDB697EB-EA15-4301-B4B6-A8FE1F0212BE/PocIOS.app/Frameworks/AequumPOCFramework.framework : kein passendes Bild gefunden. Gefunden: /private/var/containers/Bundle/Application/EDB697EB-EA15-4301-B4B6-A8FE1F0212BE/PocIOS.app/Frameworks/AequumPOCFramework.framework/Frameworks/Alamofire.framework/Alamofire: / Codesignatur in / /containers/Bundle/Application/EDB697EB-EA15-4301-B4B6-A8FE1F0212BE/PocIOS.app/Frameworks/AequumPOCFramework.framework/Frameworks/Alamofire.framework/Alamofire) ist nicht gültig für die Verwendung im Prozess unter Verwendung der Bibliotheksüberprüfung , völlig unsigniert? Der Code muss mindestens ad-hoc signiert sein.
Was mache ich falsch?
Antworten:
Verschachtelte Frameworks werden unter iOS nicht unterstützt (siehe Technotes ). Die einzig legitime Lösung besteht derzeit darin, "eingebettete" Frameworks direkt mit einer Hosting-App zu verknüpfen.
* XCFramework ist hauptsächlich eine Ansammlung plattformspezifischer Binärdateien und hat leider nichts mit dem Einbetten von Frameworks zu tun.
quelle
Sie müssen Alamofire auch in Ihr Projekt einbetten.
Sie verwenden beispielsweise Karthago und die Cartfile Ihres Frameworks verfügt über eine Alamofire-Bibliothek. Sie müssen dasselbe Carfile auch für Ihre Haupt-App verwenden. Außerdem müssen Sie andere Aktionen in Karthago (Verknüpfung der Bibliothek, Hinzufügen eines Ausführungsskripts) für die Hauptanwendung ausführen.
quelle