Ich versuche ein Cocoa Touch Framework für iOS8 zu erstellen, das schließlich in Apps eingebettet und an den App Store gesendet wird. Daher ist es wichtig, dass der Release-Build NUR armv7 enthält aber der Debug-Build muss auch im Simulator laufen. Als solche habe ich this tutorial verfolgt und ich bin auf einem Laufzeitfehler schlagen, wenn sie versuchen, eine Anwendung im Simulator mit Rahmen eingebettet auszuführen:Benutzerdefiniertes Framework kann nicht im iOS-Simulator geladen werden (falsche Architektur)
dyld: Library not loaded: @rpath/TestFramework.framework/TestFramework
Referenced from: /Users/jay/Library/Developer/CoreSimulator/Devices/97715157-EABB-4F38-8CA0-62768358DDD6/data/Containers/Bundle/Application/4856FC75-6C5B-4F7E-91A9-70CA1863D130/Test.app/TestFramework
Reason: no suitable image found. Did find: /Users/jay/Library/Developer/CoreSimulator/Devices/97715157-EABB-4F38-8CA0-62768358DDD6/data/Containers/Bundle/Application/4856FC75-6C5B-4F7E-91A9-70CA1863D130/Test.app/Frameworks/TestFramework.framework/TestFramework: mach-o, but wrong architecture
Allerdings, wenn ich auf den Rahmen binären sehen es beschwert
über(/Users/jay/Library/Developer/CoreSimulator/Devices/97715157-EABB-4F38-8CA0-62768358DDD6/data/Containers/Bundle/Application/4856FC75-6C5B-4F7E-91A9-70CA1863D130/Test.app/)
und laufen xcrun lipo -info TestFramework
ich die Ausgabe Non-fat file: TestFramework is architecture: i386
so bin ich irgendwie verloren auf, wo jetzt gehen. Es läuft gut auf einem tatsächlichen iOS-Gerät.
"an den App Store gesendet" und "enthält nur Armv7" sind gegenseitig exklusiv. – Droppy
Entschuldigung, armv7/arm64. Wie auch immer, nur keine Simulatorarchitekturen. – Jay
OK Ich würde annehmen, dass dies damit zusammenhängt, wie Ihr Xcode-App-Ziel von Ihrem Framework-Ziel abhängig gemacht wird. Wenn dies in der * Build Phase * korrekt eingestellt ist, erstellt Xcode die korrekte Architektur für die App (d. H. Gerät oder Simulator). Ich denke, dann müssen Sie es nur an den richtigen Ort im App-Paket kopieren (die iOS-App-Bundle-Struktur ist viel weniger formell als die OSX-App-Bundle-Struktur, aber es muss noch getan werden). Dies würde wahrscheinlich ein benutzerdefiniertes Skript in der Registerkarte * Build-Phasen * benötigen. – Droppy