【发布时间】:2016-09-16 20:18:00
【问题描述】:
Apple 扩展指南在Using an embedded framework to share code 上有此文档
我想在我的扩展程序和托管应用程序之间共享代码。如何在 Xamarin 应用中实现以下功能:
- 仅需要应用扩展安全 API
- 您必须在复制文件构建阶段选择“框架”作为嵌入式框架的目标。
【问题讨论】:
标签: xamarin xamarin.ios ios-extensions
Apple 扩展指南在Using an embedded framework to share code 上有此文档
我想在我的扩展程序和托管应用程序之间共享代码。如何在 Xamarin 应用中实现以下功能:
【问题讨论】:
标签: xamarin xamarin.ios ios-extensions
仅需要应用扩展安全 API
目前Xamarin.iOS 内的代码审查/分析或编译阶段没有任何内容会警告或阻止扩展中不允许的 API,
即healthkit.cs内有TODO注解:
// FIXME NS_EXTENSION_UNAVAILABLE("Not available to extensions") ;
目前由 C# 开发人员来遵循 Apple 的准则。显然,如果在扩展代码中,以下内容会导致应用被拒绝:
var a = UIKit.UIApplication.SharedApplication;
但 Apple 提供的 Some APIs Are Unavailable to App Extensions 列表非常简洁地说明了哪些是不允许的:
个人出于代码共享目的,我在我的扩展项目中添加了一个编译器指令,以条件编译我需要删除的代码...(“NS_EXTENSION_UNAVAILABLE_IOS”,就像 ObjC/Swift 中可用的一样扩展项目)
【讨论】: