gpt4 book ai didi

ios - iOS XCode 应用程序可以引用 MonoTouch 程序集吗?

转载 作者:行者123 更新时间:2023-12-02 06:50:32 27 4
gpt4 key购买 nike

我正在考虑如何最好地在新项目的团队之间分配工作量。我们有一个 Windows C# 应用程序服务团队和一个较小的 iOS Objective-C 团队。也可能迟早需要 Android 应用程序。

设备上调用我们的服务并处理与本地数据存储同步的域层/API 程序集是用 C# 编写并使用 MonoTouch 编译的逻辑组件。然后 Objective-C 团队引用这个组件。那可能吗?我已经阅读了大量有关 MonoTouch 引用 C 程序集的文章,但它可以反过来工作吗?

如果可能的话,如果有任何尝试这种方法的经验,那就太棒了!

谢谢亚伦

最佳答案

虽然技术上可行,但目前还没有简单的方法。

目前您能做的最好的事情就是从 C# 启动应用程序,然后,如果您愿意,可以将控制权转移到您的 Objective-C 代码。在 C# 启动期间,您可以使用 P/Invoke 注册由 Objective-C 代码回调的方法,以调用如下内容:

delegate void some_callback_t (int parameter1, int parameter2);

[DllImport ("__Internal")]
void SetCallback (some_callback_t callback);

static void mycallback (int parameter1, int parameter2)
{
// Here goes your C# logic to be called by C
}

然后你调用:

SetCallback (mycallback);

请注意,mycallback 必须是静态方法(静态编译的限制)。然后,您的 Objective-C 代码可以通过实现类似以下内容来使用服务:

 typedef (*callback_t) (int p1, int p2);
callback_t callback;
void SetCallback (callback_t cb)
{
callback = cb;
}

void InvokeCSharp ()
{
callback (1, 2);
}

关于ios - iOS XCode 应用程序可以引用 MonoTouch 程序集吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5256080/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com