Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode Xamarin.iOS项目中未识别外部捆绑包的资源_Xcode_Xamarin_Mobile_Xamarin.ios_Resourcebundle - Fatal编程技术网

Xcode Xamarin.iOS项目中未识别外部捆绑包的资源

Xcode Xamarin.iOS项目中未识别外部捆绑包的资源,xcode,xamarin,mobile,xamarin.ios,resourcebundle,Xcode,Xamarin,Mobile,Xamarin.ios,Resourcebundle,我使用的是一个iOS框架,它与一个外部资源包(该框架使用位于包内不同文件夹中的一些资源)一起提供。如果框架和bundle都集成在Xcode项目中,那么一切都可以正常工作(我通常将bundle放在Resources文件夹中) 在这里,您可以看到运行时的捆绑路径(在Xcode中):@/var/containers/bundle/Application/44691B5C-73D0-4B28-B88F-14ECB52AFC5F/DemoProject.app/FRAMEWORK_bundle.bundl

我使用的是一个iOS框架,它与一个外部资源包(该框架使用位于包内不同文件夹中的一些资源)一起提供。如果框架和bundle都集成在Xcode项目中,那么一切都可以正常工作(我通常将bundle放在Resources文件夹中)

在这里,您可以看到运行时的捆绑路径(在Xcode中):
@/var/containers/bundle/Application/44691B5C-73D0-4B28-B88F-14ECB52AFC5F/DemoProject.app/FRAMEWORK_bundle.bundle“

另一方面,我尝试在Xamarin iOS项目中集成相同的框架。 首先,我创建了一个iOS绑定项目,并添加了Objective-C框架作为本机参考。外部捆绑包已添加到iOS绑定项目的Resources文件夹下。ApiDefinition.csStructs.cs文件也已成功配置。我已经编译了这个项目,并且得到了.dll文件

我已将.dll文件集成到我的Xamarin iOS项目中,该项目位于References文件夹下。当我尝试运行项目时,它失败了,因为外部捆绑包中的资源不可见(框架被配置为在找不到外部资源时抛出异常)

我错过什么了吗?我是否应该在Xamarin iOS项目中添加外部捆绑包并将其与项目链接


谢谢大家!

确保文件标记为
BuildAction=BundleResource
。正如文件所说:

绑定项目中标记为BundleResource的文件将嵌入到绑定程序集中,并在被Xamarin.iOS应用程序项目引用时提取到正确的位置

根据:

您可以将这些文件添加到绑定项目或应用程序项目,这并不重要

将捆绑包文件添加到Xamarin iOS项目的资源文件夹是另一种选择。你可以试一试

其他一些参考资料:


谢谢你的回答,凯文。我已将外部捆绑包中的所有文件标记为iOS绑定项目中的BundleResource。问题是这些资源在我的Xamarin iOS项目(单视图应用程序)中不可见,即使我将它们添加到项目中(我尝试将它们标记为BundleResource/Content)。你能通过应用程序项目的代码而不是库来获取资源吗?