标签: ios-extensions

UIActivityViewController:排除非Apple共享扩展?

我想阻止我的应用使用扩展机制将其内容分享给某些其他应用.例如,我希望用户能够共享链接,但不能使用Gmail应用.

我对这部纪录片的理解是:以下内容应该有效:

// vieController previously initialised like this: UIActivityViewController(activityItems: [provider], applicationActivities: nil)

viewController.excludedActivityTypes = ["com.google.Gmail.ShareExtension"]
Run Code Online (Sandbox Code Playgroud)

这不起作用.我错过了什么吗?非Apple活动类型是否不适用于此机制?

sharing ios uiactivityviewcontroller ios-extensions

5
推荐指数
1
解决办法
1008
查看次数

扩展父应用目标名称是否存在环境变量

我希望根据脚本的父App设置扩展Bundle标识符。(因此,我可以重复使用扩展,而无需复制扩展目标。

现在,扩展名已硬编码为此-

com.XXXXXX.FirstTargetName.QOD-Notification-Extention
Run Code Online (Sandbox Code Playgroud)

我希望创建一个在构建扩展时运行的脚本,并将捆绑包标识符动态设置为其他目标名称。

我可以获取任何环境变量来获取父应用程序目标名称。

谢谢

xcode ios ios-extensions

5
推荐指数
1
解决办法
460
查看次数

如何在iMessage Extension中调试UI?

我正在开发iMessage Extension,但是我面临一些UI问题。但是我无法像iOS应用程序那样调试UI。

作为扩展名运行com.apple.MobileSMS(iMessage App容器)。那么,有什么方法可以调试iMessage Extension的UI?

ios-extensions swift3 ios10 imessage-extension

5
推荐指数
1
解决办法
506
查看次数

获取iOS共享/操作扩展仅显示单个图像

我在iOS应用程序中有一个操作扩展,我只希望在用户共享单个图像时可用.NSExtension我的关键info.plist看起来像这样.

<key>NSExtension</key>
<dict>
    <key>NSExtensionAttributes</key>
    <dict>
        <key>NSExtensionActivationRule</key>
        <dict>
            <key>NSExtensionActivationSupportsImagesWithMaxCount</key>
            <integer>1</integer>
        </dict>
    </dict>
    <key>NSExtensionMainStoryboard</key>
    <string>MainInterface</string>
    <key>NSExtensionPointIdentifier</key>
    <string>com.apple.ui-services</string>
</dict>
Run Code Online (Sandbox Code Playgroud)

我使用的唯一激活规则是NSExtensionActivationSupportsImagesWithMaxCount值为1.但是,在分享其他内容时,扩展程序仍会显示.例如,当我点击Safari中的操作按钮时,它会显示出来.

在Safari的情况下,没有图像被拉出NSExtensionContext.

任何人都知道如何让我的扩展程序在这些情况下显示?

ios ios-extensions

5
推荐指数
1
解决办法
693
查看次数

在发生深层链接的情况下,通过编程方式包含应用程序,从而返回到先前的应用程序的链接

我使用扫描按钮创建了键盘扩展名,以在包含的应用程序中打开条形码扫描仪。扫描完成后,它应导航回到初始应用程序,并且条形码数据应设置为启动键盘的文本字段的文本,然后单击扫描按钮。

在此处输入图片说明

有这个应用程序Scandit Wedge用同样的方式做。但我找不到实现相同目标的方法。请参考下面的GIF。

https://s3.amazonaws.com/id123-dev-ios/scandit.gif

任何帮助将非常感激。

deep-linking ios swift ios-keyboard-extension ios-extensions

5
推荐指数
1
解决办法
664
查看次数

如何调试iOS应用扩展程序?

我正在尝试调试iOS应用扩展,我所能做的就是设置断点,但是能够打印到控制台会很好。

Xcode 9有可能吗?

或者至少在某处读取它,也许是一个文件?

我去了“设备和模拟器”中查看设备的日志,但是找不到我从iOS应用程序扩展中打印的内容。

ios swift ios-app-extension ios-app-group ios-extensions

5
推荐指数
2
解决办法
1739
查看次数

iOS-Today扩展程序中没有sharedApplication?

我正在创建Today扩展。我已经添加了所有必要的文件,并得到了一堆有关的编译错误

  • openUrl不可用
  • sharedApplication不可用
  • UIAlertView上的init不可用

具有这些依赖关系的文件已内置到我的应用程序中(我的网络层等上的错误处理程序),我知道它们不会在Today Extension中使用,但是为了完全摆脱这些文件中的依赖关系,需要重构整个应用程序。有没有解决的办法?

我的代码是Swift,所以我也不能使用编译器宏来避免执行这些代码行。

#if!TARGET_IS_TODAY_EXTENSION #endif

ios swift today-extension ios-extensions

4
推荐指数
1
解决办法
1032
查看次数

iOS App Today Extension未上传到物理设备

我正在为我的应用http://budgt.ch创建一个今天的小部件,因为一些用户要求快速访问关键功能.

(初步)扩展在iOS模拟器上正常工作,安装如下:

1)安装最新的容器应用2)使用'today'作为容器安装扩展

但是:我似乎无法在物理设备上显示扩展(我目前正在使用iPhone 6进行测试).

  • xcode说:建立成功
  • 扩展未在今日视图中显示

什么想法可能是错的?

xcode objective-c ios ios8-today-widget ios-extensions

4
推荐指数
1
解决办法
753
查看次数

如何检测 iOS 应用扩展中的内存警告

我正在编写一个在 iOS 9 中发布的 NetworkExtension 框架中扩展的 iOS 扩展。NEPacketTunnelProvider我遇到了这样的情况:一旦使用的内存达到 6MB,iOS 就会终止该扩展。

在常规 iOS 应用程序中,有两种方法可以检测内存警告并采取措施。通过[UIApplicationDelegate applicationDidReceiveMemoryWarning:(UIApplication*)app][UIViewController didReceiveMemoryWarning]

是否有类似的方法来检测扩展中的内存警告?我已经搜索了 iOS 扩展文档,但到目前为止一无所获。

didreceivememorywarning ios ios-extensions networkextension

4
推荐指数
1
解决办法
2061
查看次数

在 iOS 框架项目中选中“仅允许应用程序扩展 API”会向消费者公开内部类和方法

我创建了一个简单的 iOS 框架 Swift 项目,并添加了一个Logger带有单个存根方法的Swift 类log(_:)

class Logger: NSObject {

    func log(_ message:String) {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

Loggerlog方法是框架内部的,通常构建不会将它们暴露给ObjC. 但是,如果我在框架目标的常规设置中选中“仅允许应用程序扩展 API”,则生成的内容MyFramework-Swift.h现在包含类和方法声明,这意味着两者对框架的使用者都是可见的,就像它们被声明为公共一样:

SWIFT_CLASS("_TtC9Framework6Logger")
@interface Logger : NSObject
- (void)log:(NSString * _Nonnull)message;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下为什么吗?提前致谢!

objective-c ios ios-frameworks swift ios-extensions

4
推荐指数
1
解决办法
3932
查看次数