我的monotouch应用程序拒绝编译以进行分发,而Array索引超出范围

时间:2010-11-16 16:33:35

标签: compilation xamarin.ios distribution enterprise

当我选择我已设置的完整企业分发配置文件时,我无法在Monotouch中编译我的应用程序。所有其他配置文件都可以正常工作。

具体来说:当我点击构建按钮时,我得到了

检测签名身份......

0错误0警告,只是构建失败。数组索引超出范围

我猜这是一个配置问题,我没有做一些重要的事情。

网上有关于adhoc ditribution构建的指示,但没有关于完整企业分发的真实文档。

我有以下内容:

Monotouch:企业版

Apple:企业会员资格,已安装公司证书& dev用户证书并下载了dev,adhoc& amp;的配置证书。企业,最后创建了应用程序ID。

我花了两天的时间在网上搜索类似的问题,但发现没有什么真的很接近。有一次,我用Apple Dev网站清理了我的所有配置文件并重新导入它们,这解决了我遇到的其他一些问题。

拥有完整的企业权利/证书意味着我不需要UDID,我只需签署我的生命以防止非法分配。除了在配置方面缺少一些东西之外,唯一的事情是UDID是保存在证书中的数组中,因为我没有为此构建指定错误。 (但不一定!)

如果我使用adni注册表中指定的UDID,我可以将其加载到我的机器上。

任何指针都会被大大收到

2 个答案:

答案 0 :(得分:0)

我有类似的情况。

“mtouch无法构建”。没有其他消息。

不得不通过技术支持,最终发现这是一个编译器错误,他们给我发了一个针对我的特定情况的补丁。我认为它会在下一个版本中出现。

但是,我确实学到了两条可以帮助你的方法。

a)在我的情况下,如果我更改了项目的“链接器行为”设置,问题就消失了。项目 - > [项目]选项 - >构建 - > iPhone Build - >链接器行为

尝试所有可用选项。看看是否有所作为。

b)在同一个iPhone Build选项页面上,您可以在“额外参数设置”中输入“-v -v -v”。现在在编译后检查构建输出。可能还有其他详细信息。

最后,我把头发拉了几天,出现类似于你的错误。最后这是一个编译器错误。 Novell很快发现并修复了这个bug。也许只需将它们记录下来,看看会发生什么。

祝你好运

答案 1 :(得分:0)

我在“测试”和“发布”版本之间切换时出现此问题,该版本具有不同的应用标识符 - 我已切换到“发布”配置文件,但我忘记修复应用显示名称和应用Build / iPhone Application下的标识符。怀疑显示名称有所不同,但应用程序标识符确实存在。