Action Extension

本文详细介绍了如何创建和配置iOS的Action Extension,包括设置Bundle ID、支持的框架、Icon、限定使用场景以及处理ATS问题。同时,讨论了Action Extension在不同场景下的表现,如在联系人页面的使用,并提供了解决旋转问题的方法。
摘要由CSDN通过智能技术生成

1.创建action extension和相关参数设置

1.1新建action的target

这里写图片描述

1.2 设置action的Bundle ID

将这个target的General > Bundle identifier 名称改为:com.XXXX.XXXXAction, 其中com.XXXX为App的bundle ID.

1.3 设置支持的框架

一个应用程序扩展在Architectures设置中必须要包含arm64的架构,否则在上传App Store时会被拒绝。创建完一个应用扩展后,你可以在Xcode的“Standard architectures”设置选项中设置arm64架构。如果你的包含扩展的应用程序使用了一些嵌入框架,那么你的应用程序也必须要包含arm64架构,否则上传App Store时也会被拒绝。

Build settings > Valid Architectures : arm64 armv7 armv7s
设置iOS Development Target : iOS8.0

1.4 配置Action Extension

  • 默认Action Extension中的布局使用StoryBoard,如果不想使用StoryBoard布局将Info.plist中的如下配置:
<key>NSExtensionMainStoryboard</key> <string>MainInterface</string>

改为:

<key>NSExtensionPrincipalClass</key>
<string>ActionViewController</string>

说明:插件在UI上以UIViewController模式存在,被parentViewController(Host App)以模态窗口形式弹出(present as modal viewController)。插件工程在Info.plist的NSExtension中通过NSExtensionMainStoryboard指定UI视图入口。当然,如果不想使用storyboard,也可以使用NSExtensionPrincipalClass指定自定义UIViewController子类名(也可以封装到UINavigationController)。

  • NSExtensionActivationRule定义了当前的扩展支持的数据类型及数据项个数,例如设置只支持图片格式和视频格式的数据,并且最多不超过10张图片和1个视频。
<key>NSExtensionActivationSupportsWebPageWithMaxCount</key>
<string>1</string>
  • NSExtensionJavaScriptPreprocessingFile用于配置与脚本交互的JS脚本文件的名字。为了告知Safari你的应用扩展中包含一个JavaScript
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值