【问题标题】:How do I implement Apple's guidance for shared Extension code in Xamarin?如何在 Xamarin 中实施 Apple 的共享扩展代码指南?
【发布时间】:2016-09-16 20:18:00
【问题描述】:

Apple 扩展指南在Using an embedded framework to share code 上有此文档

我想在我的扩展程序和托管应用程序之间共享代码。如何在 Xamarin 应用中实现以下功能:

  • 仅需要应用扩展安全 API
  • 您必须在复制文件构建阶段选择“框架”作为嵌入式框架的目标。

【问题讨论】:

标签: xamarin xamarin.ios ios-extensions


【解决方案1】:

仅需要应用扩展安全 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 中可用的一样扩展项目)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-23
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多