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

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

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

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

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

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

有没有人遇到类似的?
我已经访问过这样的问题该找一个答案,我认为我做的一切权利,但我仍然没有看到在动作片上的图标.
这就是我所做的:
创建了一个工作容器应用程序,其中包含存储在Images.xcassets中的工作应用程序图标.然后我创建了一个Action Extension Target作为同一个项目的成员.
将包含应用程序的Images.xcassets添加到我的扩展程序的"Copy Bundle Resources"构建阶段.我知道这很有效,因为我可以UIImage.imageNamed(...)在我的扩展程序中使用.xcassets文件加载图像.
在我的扩展设置的常规选项卡中,我指出"应用程序图标和启动图像"下的"应用程序图标源"指向Images.xcassets的名为"AppIcon"的资源,与我的包含应用程序使用的资源相同.
当这不起作用时,我做了一些进一步的阅读,发现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掩码的工作图标"在模拟器上.我甚至没想过要检查模拟器,但确实证明图标是从正确的位置拉出来的.关于设备的一些事情是以不同的方式处理图像.
我正在iOS 8中尝试新的TodayExtensions,我按照WWDC视频为iOS和OS X创建扩展,第1部分中的步骤创建了今天扩展.我在提供的故事板中为ViewController添加了一个彩色的UIView.我在"今天"通知中心获得了一个标题,但是我没有使用我的彩色视图.它看起来像这样(我做了两个):

还有其他人得到这个吗?我在所有ViewControllers方法中设置了断点,没有任何东西被调用.我将Info.plist更改为直接转到我的VC类,而不是故事板,我什么都没得到.我可以在info.plist中更改今天扩展名的标题.
在iOS 8 beta 2上,应该可以使用app扩展中的openUrl写入发行说明中:

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

Beta 2是否真的解决了这个问题?
我正在试验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) 我正在为应用程序创建一个动作扩展,为用户准备一些数据,然后使用MailCore2将此信息发送到SMTP服务器.准备数据的速度非常快,但发送电子邮件可能需要一些时间(取决于其大小).这就是为什么我正在寻找一种在后台处理发送活动的方法.但这导致了不同解决方案的一些问题:
使用URLSession.这是在iOS扩展中处理大型上传或下载的第一种方法.但问题是MailCore2不使用URLSessions将数据传输到邮件服务器.所以这不可用.或者是否有可能以某种方式在URLSession中"包装"此调用?
使用UNUserNotificationCenter并在数据准备后从扩展发送本地通知.我们的想法是在收到此通知后在主应用程序中启动发送任务.问题:userNotificationCenter didReceive仅当用户单击通知时才会调用通知方法.简单的徽章通知不会调用委托方法.
使用后台提取.这在模拟器中工作正常,但在iOS设备上连接到SMTP服务器时出错.我遇到了与github.com/MailCore/mailcore2/issues/252中描述的相同的HELO问题.对于此问题,应该是一个解决方案MCOSMTPSession.isUseHeloIPEnabled = true,但这可能不适用于所有服务器.所以也不是一个完美的解决方案
任何想法,如何处理这样的任务?或者如何处理上述解决方案之一?
编辑:因为这个问题还没有收到任何答案:什么不清楚或需要哪些附加信息?
我正在开发一个带有自定义UI的iOS 8共享扩展,但它没有动画,我该怎么办呢?这是一个常规的UIViewController.
此外,它出现在iPad的全屏幕上,我希望它是一个模态视图控制器,它出现在屏幕的中央并且不适合它,我该怎么做?
问候.
有没有办法更改SLComposeServiceViewController上的按钮标题?我试图更改导航项上的条形按钮项,但这些项不是正确的按钮.
我正在为我的应用开发共享扩展程序.一切都很好,但我面临一个主要问题,我的应用程序不是在共享照片应用程序共享菜单中.
下面是我的共享扩展的plist.

它没有显示在列表中,下面是截图:
但是当我选择更多选项时,将我的分机的开关设置为打开,现在它显示在列表中,但我需要每次都这样做,下面是屏幕截图:
每次我从X-Code运行扩展时,它都没有显示共享菜单,我需要进入更多选项,关闭再打开开关,然后才显示.它可以在共享菜单中每次显示吗?是否有任何我需要的plist或额外配置?
我需要你宝贵的建议.提前致谢.
更新:
我在iOS9中检查过它.它没有任何问题,工作正常.
我现在正在使用iOS 8自定义键盘扩展,使用UITextInputDelegate方法时存在一些问题.
这是否正确:selectionWillChange:和selectionDidChange:当用户长按输入区域时应该调用方法?并且textWillChange:和textDidChange:方法应该在文本字面改变时调用?
实际上,我观察到的是,当我在文本输入区域中更改选择时,会调用textWillChange:和textDidChange:,并且我无法得到其他两个方法在什么条件下被调用的线索.如果有人知道这些委托方法的用法,请告诉我.
我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