Visual Studio 2013 Premium中的Xamarin iOS项目

时间:2015-03-21 18:08:49

标签: c# ios visual-studio-2013 xamarin.ios xamarin-studio

尝试在Visual Studio 2013 Premium中运行Xamarin iOS项目时出现问题。这意味着LoginView.xib不在项目的包中。 我的Mac上的Xamarin Studio对此没有任何问题。

Foundation.MonoTouchException: Objective-C exception thrown. Name: NSInternalInconsistencyException Reason: Could not load NIB in bundle: 'NSBundle </Users/gtas/Library/Developer/CoreSimulator/Devices/215AE19B-D168-47F2-82D8-D5B40CDB46DE/data/Containers/Bundle/Application/33D2A0A9-F775-4B46-9041-E26EB53AF417/OnLeaveiOS.app> (loaded)' with name 'LoginView'

我使用以下代码将xib加载到支持的类文件中。

    public LoginView(IntPtr h): base(h)
    {
        SetupView ();
    }

    public LoginView ()
    {
        SetupView ();
    }

    public LoginView (LoginRegisterViewModel vm)
    {
        _vm = vm;
        SetupView ();
    }

    private void SetupView()
    {
        view = LoadViewFromXib ();
        view.BackgroundColor = UIColor.Clear;
        AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
        Bounds = view.Bounds;
        _intrinsicContentSize = Bounds.Size;
        TranslatesAutoresizingMaskIntoConstraints = false;
        SetupOutlets ();
        this.AddSubview (view);
    }

    private UIView LoadViewFromXib()
    {
        NSBundle bundle = NSBundle.FromClass (this.Class);
        UINib nib = UINib.FromName ("LoginView", bundle);
        return (UIView)nib.Instantiate (this, null)[0];
    }

在编写原生iOS应用程序时,我使用这种技术分离我的UI组件,一切都很好。另外正如我所说,Mac Xamarin Studio似乎并不担心它。

我使用了Storyboard文件和XIB组件的组合。

1 个答案:

答案 0 :(得分:0)

来自Xamarin论坛的回答。 http://forums.xamarin.com/discussion/comment/111300#Comment_111300

  

这很有可能   https://bugzilla.xamarin.com/show_bug.cgi?id=27990。那个bug已经存在了   修复了最新的XamarinVS alpha版本(3.9.530)。另见   XamarinVS 3.9.530 alpha版本线程:   http://forums.xamarin.com/discussion/36241/alpha-release-xamarinvs-3-9-530-watchkit-bug-fixes/p1

     

如果您想暂时降级,直到3.9.530升级为   稳定,见3.9.483稳定释放线程:   http://forums.xamarin.com/discussion/35785/stable-release-xamarinvs-3-9-483-watchkit/p1