在 Xamarin.iOS DYLD 中集成时 iOS Objective C Umbrella 框架的代码签名无效,库未加载:应用程序崩溃
Code signature invalid for iOS Objective C Umbrella framework while integration in Xamarin.iOS DYLD, Library not loaded: App Crash
我正在尝试将 Objective C Umberella 框架集成到 Xamari.iOS 中,但是在将应用程序安装到设备时出现错误:代码签名对于 Umberella 框架中嵌入的子框架无效。
DYLD,库未加载:@rpath/Allegion_Access_BLECredential_iOS.framework/Allegion_Access_BLECredential_iOS |参考自:/private/var/containers/Bundle/Application/935BEA40-7E01-4C1D-9024-C1359D5D633A/KMF.Portable.iOS.app/Frameworks/KastleSDK.framework/KastleSDK |原因:没有找到合适的图像。找到了: | /private/var/containers/Bundle/Application/935BEA40-7E01-4C1D-9024-C1359D5D633A/KMF.Portable.iOS.app/Frameworks/KastleSDK.framework/Frameworks/Allegion_Access_BLECredential_iOS.framework/Allegion_Access_BLECredential_iOS:'/private/var/containers/Bundle/Application/935BEA40-7E01-4C1D-9024-C1359D5D633A/KMF.Portable.iOS.[=20 的代码签名无效=].framework/Frameworks/Allegion_Access_BLECredential_iOS.framework/Allegion_Access_BLECredential_iOS'
Xamarin.iOS, Visual Studio :-
我最近几天一直在深入研究问题,我终于能够在脚本的帮助下在 Umberella 框架中编写签名子框架。
在您的 yourapp.csproj 中使用以下脚本,您需要根据需要调整路径。
在之后添加:
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
以下:
<Target Name="BeforeCodesign">
<Exec Command="\usr\bin\codesign -v --force --sign $(_CodeSigningKey) --timestamp=none $(ProjectDir)/$(AppBundleDir)/Frameworks/UmbrellaFramework.framework/Frameworks/SubFramework.framework" />
如果您有多个嵌套框架,只需根据需要多次重复 Exec 步骤。
我正在尝试将 Objective C Umberella 框架集成到 Xamari.iOS 中,但是在将应用程序安装到设备时出现错误:代码签名对于 Umberella 框架中嵌入的子框架无效。
DYLD,库未加载:@rpath/Allegion_Access_BLECredential_iOS.framework/Allegion_Access_BLECredential_iOS |参考自:/private/var/containers/Bundle/Application/935BEA40-7E01-4C1D-9024-C1359D5D633A/KMF.Portable.iOS.app/Frameworks/KastleSDK.framework/KastleSDK |原因:没有找到合适的图像。找到了: | /private/var/containers/Bundle/Application/935BEA40-7E01-4C1D-9024-C1359D5D633A/KMF.Portable.iOS.app/Frameworks/KastleSDK.framework/Frameworks/Allegion_Access_BLECredential_iOS.framework/Allegion_Access_BLECredential_iOS:'/private/var/containers/Bundle/Application/935BEA40-7E01-4C1D-9024-C1359D5D633A/KMF.Portable.iOS.[=20 的代码签名无效=].framework/Frameworks/Allegion_Access_BLECredential_iOS.framework/Allegion_Access_BLECredential_iOS'
Xamarin.iOS, Visual Studio :-
我最近几天一直在深入研究问题,我终于能够在脚本的帮助下在 Umberella 框架中编写签名子框架。
在您的 yourapp.csproj 中使用以下脚本,您需要根据需要调整路径。
在之后添加:
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
以下:
<Target Name="BeforeCodesign">
<Exec Command="\usr\bin\codesign -v --force --sign $(_CodeSigningKey) --timestamp=none $(ProjectDir)/$(AppBundleDir)/Frameworks/UmbrellaFramework.framework/Frameworks/SubFramework.framework" />
如果您有多个嵌套框架,只需根据需要多次重复 Exec 步骤。