Xamarin iOS 应用程序在运行 swift 框架时崩溃。
在我的 .framework - Swift 类中
import Foundation
@objc(Member)
open class Member: NSObject {
@objc
func getMemberID() -> String {
return "Hii, This is member code .framework"
}
}
我已经为 模拟器 iPhone7 构建了一个框架,并在 Visual studio Xamarin.iOS 上添加了 Native 框架
而且我已经为接口(interface)类手动编码。
using System;
using ObjCRuntime;
using Foundation;
using UIKit;
namespace CustomLibrary {
[BaseType(typeof(NSObject))]
interface Member
{
[Export("getMemberID")]
string MemberID { get; }
}
}
之后,我将绑定(bind)库的引用添加到 iOS App 项目。
在 ViewController 中,我导入了一个绑定(bind)库并分配了一个类并在日志中打印。
using System;
using UIKit;
using CustomLibrary;
namespace SwiftFrameworkApp
{
public partial class ViewController : UIViewController
{
public ViewController(IntPtr handle) : base(handle)
{
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
// Perform any additional setup after loading the view, typically from a nib.
Member memberObj = new Member();
System.Diagnostics.Debug.Print(memberObj.MemberID());
}
public override void DidReceiveMemoryWarning()
{
base.DidReceiveMemoryWarning();
// Release any cached data, images, etc that aren't in use.
}
}
}
当我构建一个项目时。它被展示了
Errors 0 and warning 1
在那之后当我运行一个项目时。应用程序在模拟器中启动并因以下错误而崩溃。
最佳答案
我的意思是在你的Member
界面,应该是这样的:
[BaseType(typeof(NSObject))]
interface Member
{
[Export("getMemberID")]
string GetMemberID ();
}
关于c# - Xamarin.iOS 上的 Swift 框架 - 已抛出 Foundation.MonoTouchException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56965345/