标签: ios-app-extension

iOS 8操作扩展图标在设备上为空(在模拟器中工作)

EDIT2:

我把这个问题简化为最简单的项目.这是设置. 基本项目设置

我创建了一个新的单一视图应用程序并立即添加了一个新的Action扩展目标.我在.xcassets文件中创建了一个新的图标集,并添加了一个iPad视网膜大小的图标(我已尝试填写所有图标,结果相同).

在此输入图像描述

我确保在Copy Bundle Resources构建阶段包含Images.xcassets:

在此输入图像描述

然后在模拟器中运行应用程序时一切正常!

在此输入图像描述

然而,编译到设备会产生一个空白图标:

在此输入图像描述

我想也许这意味着我正在使用的PNG文件有问题,但是这里的一切看起来还不错:

在此输入图像描述

有没有人遇到类似的?

我已经访问过这样的问题找一个答案,我认为我做的一切权利,但我仍然没有看到在动作片上的图标.

这就是我所做的:

  1. 创建了一个工作容器应用程序,其中包含存储在Images.xcassets中的工作应用程序图标.然后我创建了一个Action Extension Target作为同一个项目的成员.

  2. 将包含应用程序的Images.xcassets添加到我的扩展程序的"Copy Bundle Resources"构建阶段.我知道这很有效,因为我可以UIImage.imageNamed(...)在我的扩展程序中使用.xcassets文件加载图像.

  3. 在我的扩展设置的常规选项卡中,我指出"应用程序图标和启动图像"下的"应用程序图标源"指向Images.xcassets的名为"AppIcon"的资源,与我的包含应用程序使用的资源相同.

  4. 当这不起作用时,我做了一些进一步的阅读,发现Action Extensions需要一个"alpha mask"风格的图像.我在.xcassets文件中创建了另一个名为"AppIcon-2"的项目,并使用所有尺寸的应用程序图标填充它,除了作为单色+透明度PNG.我将我的扩展的"App Icons和Launch Images"指向这个新的"AppIcon-2"

我的动作扩展的图标仍然是一个空白的白色方块.有没有我缺少的步骤?alpha掩码必须有一些非常具体的格式吗?(我只是在photoshop中保存为.png).资源在.xcassets中是否有一些非常具体的名称?

我也对一些答案(如上面链接的答案)感到困惑,这些答案似乎意味着通过在构建阶段添加.xcassets来解决问题.大多数app图标都不完全不透明吗?iOS如何从完全不透明的应用程序图标生成alpha蒙版?

编辑:我不完全确定是什么改变产生了差异(如果我搞清楚的话,我会尝试推断它并更新这篇文章)但我现在看到一个基于"AppIcon-2"alpha掩码的工作图标"在模拟器上.我甚至没想过要检查模拟器,但确实证明图标是从正确的位置拉出来的.关于设备的一些事情是以不同的方式处理图像.

iphone ios ios8 ios-app-extension

16
推荐指数
1
解决办法
9433
查看次数

今天Extension有一个标题,但没有iOS 8

我正在iOS 8中尝试新的TodayExtensions,我按照WWDC视频为iOS和OS X创建扩展,第1部分中的步骤创建了今天扩展.我在提供的故事板中为ViewController添加了一个彩色的UIView.我在"今天"通知中心获得了一个标题,但是我没有使用我的彩色视图.它看起来像这样(我做了两个):

在此输入图像描述

还有其他人得到这个吗?我在所有ViewControllers方法中设置了断点,没有任何东西被调用.我将Info.plist更改为直接转到我的VC类,而不是故事板,我什么都没得到.我可以在info.plist中更改今天扩展名的标题.

ios swift ios8 ios-app-extension

15
推荐指数
3
解决办法
6688
查看次数

来自App Extension的openURL

在iOS 8 beta 2上,应该可以使用app扩展中的openUrl写入发行说明中:

在此输入图像描述

但是,当我尝试使用此API(在Xcode 6 beta 2上)时,我收到以下错误:

在此输入图像描述

Beta 2是否真的解决了这个问题?

uiapplication openurl ios8 ios-app-extension

15
推荐指数
2
解决办法
1万
查看次数

在iOS 10 iMessage贴纸应用程序中回调MSSticker Peels

我正在试验iOS 10中的贴纸iMessage应用程序,我遇到了该override func didStartSending(_ message: MSMessage, conversation: MSConversation)方法的问题MSMessagesAppViewController.当从"剥离"贴纸时MSStickerView,我希望能够获得某种didStartSending方法的回调.但似乎情况并非如此.有没有人知道这是否是预期的行为和/或是否有另一种方式订阅回调时,这些贴纸被剥离,拖动,并放入MSConversation?我意识到这didStartSending是为用户点击发送按钮时保留的,但肯定应该有一些方法可以知道用户何时拖动MSStickers而不会将一些UIView拖动/矩形读取启发式混合在一起.

消息视图控制器:

class MessagesViewController: MSMessagesAppViewController {

    var nYCStickersBroswerViewController: NYCStickersBroswerViewController!

    override func viewDidLoad() {
        super.viewDidLoad()
        nYCStickersBroswerViewController = NYCStickersBroswerViewController(stickerSize: .regular)
        nYCStickersBroswerViewController.view.frame = self.view.frame

        self.addChildViewController(nYCStickersBroswerViewController)
        nYCStickersBroswerViewController.didMove(toParentViewController: self)
        self.view.addSubview(nYCStickersBroswerViewController.view)

        nYCStickersBroswerViewController.loadStickers()
        nYCStickersBroswerViewController.stickerBrowserView.reloadData()
    }

    ...

    override func didStartSending(_ message: MSMessage, conversation: MSConversation) {
        // Called when the user taps the send button.
        print(message) // should this not contain the sticker that is peeled, dragged, and …
Run Code Online (Sandbox Code Playgroud)

imessage swift ios-app-extension ios10

15
推荐指数
2
解决办法
2416
查看次数

iOS动作扩展中的后台任务

我正在为应用程序创建一个动作扩展,为用户准备一些数据,然后使用MailCore2将此信息发送到SMTP服务器.准备数据的速度非常快,但发送电子邮件可能需要一些时间(取决于其大小).这就是为什么我正在寻找一种在后台处理发送活动的方法.但这导致了不同解决方案的一些问题:

  1. 使用URLSession.这是在iOS扩展中处理大型上传或下载的第一种方法.但问题是MailCore2不使用URLSessions将数据传输到邮件服务器.所以这不可用.或者是否有可能以某种方式在URLSession中"包装"此调用?

  2. 使用UNUserNotificationCenter并在数据准备后从扩展发送本地通知.我们的想法是在收到此通知后在主应用程序中启动发送任务.问题:userNotificationCenter didReceive仅当用户单击通知时才会调用通知方法.简单的徽章通知不会调用委托方法.

  3. 使用后台提取.这在模拟器中工作正常,但在iOS设备上连接到SMTP服务器时出错.我遇到了与github.com/MailCore/mailcore2/issues/252中描述的相同的HELO问题.对于此问题,应该是一个解决方案MCOSMTPSession.isUseHeloIPEnabled = true,但这可能不适用于所有服务器.所以也不是一个完美的解决方案

任何想法,如何处理这样的任务?或者如何处理上述解决方案之一?

编辑:因为这个问题还没有收到任何答案:什么不清楚或需要哪些附加信息?

ios mailcore2 swift ios-app-extension

15
推荐指数
1
解决办法
1308
查看次数

在iOS 8上使用自定义UI动画显示和解除共享扩展

我正在开发一个带有自定义UI的iOS 8共享扩展,但它没有动画,我该怎么办呢?这是一个常规的UIViewController.

此外,它出现在iPad的全屏幕上,我希望它是一个模态视图控制器,它出现在屏幕的中央并且不适合它,我该怎么做?

问候.

xcode objective-c ios ios8 ios-app-extension

14
推荐指数
1
解决办法
4291
查看次数

更改SLComposeServiceViewController上的按钮标题?

有没有办法更改SLComposeServiceViewController上的按钮标题?我试图更改导航项上的条形按钮项,但这些项不是正确的按钮.

button uiviewcontroller ios ios8 ios-app-extension

14
推荐指数
2
解决办法
1520
查看次数

应用程序未显示在iOS8共享扩展程序中共享选项的共享菜单中

我正在为我的应用开发共享扩展程序.一切都很好,但我面临一个主要问题,我的应用程序不是在共享照片应用程序共享菜单中.

下面是我的共享扩展的plist. 在此输入图像描述

它没有显示在列表中,下面是截图:

在此输入图像描述

但是当我选择更多选项时,将我的分机的开关设置为打开,现在它显示在列表中,但我需要每次都这样做,下面是屏幕截图:

在此输入图像描述 在此输入图像描述

每次我从X-Code运行扩展时,它都没有显示共享菜单,我需要进入更多选项,关闭再打开开关,然后才显示.它可以在共享菜单中每次显示吗?是否有任何我需要的plist或额外配置?

我需要你宝贵的建议.提前致谢.

更新:

我在iOS9中检查过它.它没有任何问题,工作正常.

ios ios8 ios-app-extension ios8-share-extension ios8.3

14
推荐指数
3
解决办法
8278
查看次数

UITextInputDelegate方法无法正常运行

我现在正在使用iOS 8自定义键盘扩展,使用UITextInputDelegate方法时存在一些问题.

这是否正确:selectionWillChange:selectionDidChange:当用户长按输入区域时应该调用方法?并且textWillChange:textDidChange:方法应该在文本字面改变时调用?

实际上,我观察到的是,当我在文本输入区域中更改选择时,会调用textWillChange:和textDidChange:,并且我无法得到其他两个方法在什么条件下被调用的线索.如果有人知道这些委托方法的用法,请告诉我.

ios8 ios-app-extension custom-keyboard

13
推荐指数
1
解决办法
1828
查看次数

当UINavigationController以模态方式呈现时,UIBarButtonItems移位

UINavigationController在iOS应用扩展程序中呈现模态:

UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];       
nav.modalPresentationStyle = UIModalPresentationFormSheet;
nav.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentViewController:nav animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

当导航控制器出现时,其根视图控制器的UIBarButtonItems跳转位置:

跳跃的按钮

我正在创建和添加按钮viewDidLoad.它们只是标准的条形按钮项:

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(done)];
Run Code Online (Sandbox Code Playgroud)

我没有压倒viewDidAppear(这似乎是按钮跳跃的点).

从我的应用程序中呈现相同的导航控制器/根视图控制器,而不是应用程序扩展,不会给我同样的问题.有任何想法吗?

uinavigationbar uikit uinavigationcontroller ios8 ios-app-extension

13
推荐指数
1
解决办法
1050
查看次数