Apple Extension指南在Using an embedded framework to share code
上有此文档我想在我的Extension和托管应用程序之间共享代码。如何在Xamarin应用程序中实现以下内容:
答案 0 :(得分:0)
仅需要App-Extension-Safe API
目前Xamarin.iOS
中的代码审核/分析或编译阶段没有任何内容可以警告或阻止扩展中不允许的API,
即。 healthkit.cs中有TODO
个注释:
// FIXME NS_EXTENSION_UNAVAILABLE("Not available to extensions") ;
目前由C#开发人员遵循Apple的指南。显然,如果这是在扩展代码中,则以下内容会导致应用被拒绝:
var a = UIKit.UIApplication.SharedApplication;
但是Apple提供的某些API不可用于App Extensions 列表相当简洁,不允许:
个人为了代码共享目的,我将扩展项目的编译器指令添加到需要删除的条件编译代码中...(“NS_EXTENSION_UNAVAILABLE_IOS”,就像ObjC / Swift中可用的那样扩展项目)