C# 在版本生成中找不到情节提要
我的问题是我的调试和特别构建工作正常。只有AppStore构建不起作用,这就是它被拒绝的原因。如果我从存档中提取ipa文件(我在应用商店发布时使用了该文件),则应用程序在启动时会崩溃。苹果公司提供的ips日志文件明确指出 在捆绑包NSBundle xxx中找不到名为“MainstryBoard\u iPhone”的故事板 在我的On环境中,将生成以下符号化日志文件C# 在版本生成中找不到情节提要,c#,ios,xamarin.ios,xamarin,app-store,C#,Ios,Xamarin.ios,Xamarin,App Store,我的问题是我的调试和特别构建工作正常。只有AppStore构建不起作用,这就是它被拒绝的原因。如果我从存档中提取ipa文件(我在应用商店发布时使用了该文件),则应用程序在启动时会崩溃。苹果公司提供的ips日志文件明确指出 在捆绑包NSBundle xxx中找不到名为“MainstryBoard\u iPhone”的故事板 在我的On环境中,将生成以下符号化日志文件 Exception Type: EXC_BAD_ACCESS (SIGABRT) Exception Subtype: KERN_
Exception Type: EXC_BAD_ACCESS (SIGABRT)
Exception Subtype: KERN_INVALID_ADDRESS at 0xfffffffc
Triggered by Thread: 0
Last Exception Backtrace:
0 CoreFoundation 0x2c8355f2 __exceptionPreprocess + 122
1 libobjc.A.dylib 0x3a0a7c72 objc_exception_throw + 34
2 UIKit 0x3022d2f8 +[UIStoryboard storyboardWithName:bundle:] + 680
所以问题是故事板的加载。在我的例子中,我需要访问所使用的故事板实例。因此,我在Build>iOS应用程序中将iPhone和iPad的主界面设置为空。相反,我在我的应用程序委托中使用以下代码:
if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone) {
Storyboard = UIStoryboard.FromName ("MainStoryboard_iPhone", null);
} else {
Storyboard = UIStoryboard.FromName ("MainStoryboard_iPad", null);
}
在app delegate中,我有一个变量,以后可以通过AppDelegate.Storyboard.instanceeviewcontroller(“xxx”)
访问该变量
我认为问题在于这种方法。但是,当我在主界面中设置情节提要时,如何访问当前加载的情节提要
首先,我认为这与类似,但我有以下设置:
<!-- TODO: check for duplicate items -->
<Target Name="_CopyContentToBundle" DependsOnTargets="_CollectBundleResources;_GenerateBundleName"
Inputs = "@(_BundleResourceWithLogicalName)"
Outputs = "@(_BundleResourceWithLogicalName -> '$(_AppBundlePath)%(LogicalName)')" >
似乎需要进行干净的构建。我已经做了以下工作:
- 构建>清除所有
- 生成>清除AppName
- 删除bin和obj文件夹
- 生成>创建新AppName