Xamarin.iOS:捆绑笔尖没有被复制到模拟器/设备以进行调试/发布

Posted

技术标签:

【中文标题】Xamarin.iOS:捆绑笔尖没有被复制到模拟器/设备以进行调试/发布【英文标题】:Xamarin.iOS: Bundle nib's are not getting copied to Simulator/Device for Debug/Release 【发布时间】:2014-08-07 21:48:49 【问题描述】:

我正在使用 Xamarin 自定义绑定绑定到一个 Objective-C 本机库。 我使用生成的 DLL 让整个应用程序在 Visual Studio 中运行。 我还添加了(我要绑定的库的)捆绑包,并将其中的图像和笔尖标记为“捆绑资源”。

但是当我运行应用程序时,笔尖根本不会被复制到模拟器/设备中。 我知道应用程序/绑定很好,因为如果我手动复制笔尖和图像,应用程序会按预期工作。

我已经尝试为捆绑文件夹配置多个位置,但它们都不起作用: - VSProjectFolder/Resources/miAssetKit.bundle/* - VSProjectFolder/资源/* - VSProjectFolder/miAssetKit.bundle/*

(在最后一次尝试中,我还编辑了 csproj 文件以添加“miAssetKit.bundle”资源引用而不是资源。)

这是我在使用“VSProjectFolder/Resources/miAssetKit.bundle/”位置时遇到的错误

2014-08-07 12:01:42.832 KPIBindingios[4771:70b] @ monotouch: 抛出 Objective-C 异常。名称:NSInternalInconsistencyException 原因:无法在包中加载 NIB:'NSBundle (尚未加载)' 名称为 'miKpiValueViewController'

查看 mtbserver.log 我有这个错误:

[07-Aug-2014 14:40:32] 警告:移动文件失败 /Users/Manish/Library/Caches/Xamarin/mtbs/builds/KPIBindingiOS/decba649-b058-4744-bbb3-22ca560a321e/output/Debug/iPhoneSimulator/KPIBindingiOS.app/miScatterPlotPopView.nib 捆绑目录: /Users/Manish/Library/Caches/Xamarin/mtbs/builds/KPIBindingiOS/decba649-b058-4744-bbb3-22ca560a321e/bundle/KPIBindingiOS.app/miScatterPlotPopView.nib [2014 年 8 月 7 日 14:40:32] 警告:异常类型: System.IO.FileNotFoundException /Users/Manish/Library/Caches/Xamarin/mtbs/builds/KPIBindingiOS/decba649-b058-4744-bbb3-22ca560a321e/output/Debug/iPhoneSimulator/KPIBindingiOS.app/miScatterPlotPopView.nib 不存在

【问题讨论】:

对不起 - 我没有答案,但从情感的角度来看,也许知道你并不孤单会有所帮助。如果我先弄清楚,我会回来的。 @TimothyLeeRussell 我还没有设法让它工作,但我找到了一个解决方法。如果您将整个项目复制到 Mac,并使用 Xamarin Studio 打开它,它将可以正常工作(部署)。我猜这是 Visual Studio + Xamarin 问题。 我已付费订阅并向 Xamarin 支持提交了错误报告。我会告诉你我发现了什么。 我认为您的解决方案中需要 .xib 文件?至少,这就是我使用的。我的项目解决方案中有来自 Xcode 的 .xib(空视图)文件,我用它来动态创建所有 UI 控件。 【参考方案1】:

尝试将 .xib 文件移动到 iOS 项目并将构建操作设置为“接口定义”。它对我有用。

【讨论】:

以上是关于Xamarin.iOS:捆绑笔尖没有被复制到模拟器/设备以进行调试/发布的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.iOS - 错误ITMS-90502:无效的捆绑包

错误 ITMS-90685:CFBundleIdentifier 冲突。 CFBundleIdentifier 值为“xamarin.ios.xamarin-framework”的捆绑包不止一个

Xamarin.iOS 目标 iOS 6 SDK

Xamarin.iOS - 单个 UITableView 中的多个 XIB

在 WebView 问题中查看 PDF (Xamarin.ios)

UITableViewCell Xamarin.iOs 中的禁用按钮