Fehlermeldung beim Kompilieren

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Fehlermeldung beim Kompilieren

    Ich habe eine App mit dem externen Framework NChart3D-OSX erstellt.
    Solange ich kompiliere und dieses Framework nur verlinkt ist, ist alles in Ordnung. Wenn ich allerdings statt nur zu verlinken, NChart unter "Embedded Binaries" einbinde, bekomme ich folgende Fehlermeldung :

    >>
    CodeSign DerivedData/Sherlock\ 2016/Build/Products/Release/Sherlock\ 2016.app/Contents/Frameworks/NChart3D_OSX.framework/Versions/A
    cd "/Users/hansgerber/Eigene Programme/Sherlock 2016"
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
    Signing Identity: "-"

    /usr/bin/codesign --force --sign 50261A08FAF561ED914118902CDF99E8C006B28F --preserve-metadata=identifier,entitlements --timestamp=none /Users/hansgerber/Eigene\ Programme/Sherlock\ 2016/DerivedData/Sherlock\ 2016/Build/Products/Release/Sherlock\ 2016.app/Contents/Frameworks/NChart3D_OSX.framework/Versions/A

    /Users/hansgerber/Eigene Programme/Sherlock 2016/DerivedData/Sherlock 2016/Build/Products/Release/Sherlock 2016.app/Contents/Frameworks/NChart3D_OSX.framework/Versions/A: bundle format unrecognized, invalid, or unsuitable
    Command /usr/bin/codesign failed with exit code 1
    >>

    Allerdings wird - trotz Fehlermeldung - die App dennoch erzeugt.
    Leider verstehe ich zu wenig von der Materie, um zu wissen, was ich tun muss, um diese Meldung abzustellen, bzw. was der eigentliche Grund hierfür ist.
    Vielleicht kann mir das einer der Experten hier erläutern.

    Hans
  • Anscheinend lässt sich das Framework nicht signieren. Kann es sein, dass es sich um ein statisches Framework handelt? Dann solltest du es nicht zu den Embedded Binaries hinzufügen.

    Schau mal in das Framework-Bundle. Da gibt es wahrscheinlich eine Datei namens NChart3D_OSX. Die übergibst du an das Kommando file(1). Das sagt dir, ob es sich um eine dynamische oder statische Lib handelt.
    „Meine Komplikation hatte eine Komplikation.“
  • Verstehe.
    Wenn ich das Programm jetzt aber jemandem gebe, der das Framework ja nicht auf seinem Mac hat, was ist denn dann die richtige Vorgehensweise? Framework "separat" mit ausliefern?
    Anders gefragt, das Programm wurde ja, trotz Fehlermeldung erstellt und das Framework eingebunden (es startet halt nicht von Xcode aus). Kann ich das einfach ignorieren oder ist da mit unerwünschten Nebenwirkungen beim User zu rechnen?

    Hans