标签: ios-app-extension

如何使用NSLog调试iOS 8扩展?

- (void)viewDidLoad
{
    NSLog(@"%s", __func__);
    // ...
}
Run Code Online (Sandbox Code Playgroud)

viewDidLoadiOS 8 扩展中.在 NSLog输出没有在Xcode.NSLog虽然在容器应用程序中照常工作.

如何从扩展中获取调试消息的输出?

ios xcode6 ios8 ios-app-extension

87
推荐指数
7
解决办法
4万
查看次数

使用应用程序组在应用程序之间传递和保存数据

iOS 8昨天发布了一个关于App Groups的新API.在分享数据和在应用程序之间进行通信之前,它有点混乱,我相信这正是App Groups要纠正的内容.

在我的应用程序中,我启用了应用程序组并添加了一个新组,但我找不到任何有关如何使用它的文档.文档和API参考仅说明如何添加组.

那么App Group真正打算做什么呢?有没有关于如何使用它的文件?

objective-c ios ios8 ios-app-extension

81
推荐指数
5
解决办法
5万
查看次数

将Cocoapods与App Extension一起使用

我正在尝试使用cocoapods库在Xcode 6 Beta-6中构建照片App扩展.Xcode为照片扩展创建的桥接标头无法从cocoapods中看到任何内容.

例如:#import <GPUImage/GPUImage.h>导致错误"GPUImage/GPUImage.h" file not found.

我已经尝试了所有可以想象的导入路径(括号和引号)并且几乎没有成功.例外情况是,对于简单的pod来说SVProgressHUD,以下丑陋可怕的黑客行为: #import "../Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.h".

但对于GPUImage,它走进GPUImage.h标题并决定它突然看不到,GPUImageContext.h尽管没有问题,当导入时使用桥接标头作为不属于应用程序扩展的普通swift代码.

编译应用程序扩展有什么不同,这会阻止桥接头部表现得很好?

注意:我已经阅读了本教程的所有可能的排列,并且它不能立即应用,以防万一有人认为他们已经找到答案.

此外,此SO问题中描述的问题可能是相关的,但我仍然问这个问题,以防我的问题特定于应用扩展程序.

cocoapods swift ios8 ios-app-extension xcode6-beta6

80
推荐指数
3
解决办法
3万
查看次数

今天扩展无法继承CoreMedia权限

我正在尝试将Swift中的Today Extension添加到我的Objective-C应用程序中.我在调试器日志中不断收到此消息:Failed to inherit CoreMedia permissions from 3005: (null).数字ex.3005每次都不同.我正在从小部件中读取NSUserDefaults,但我正在应用程序本身阅读/写作.我的TodayViewController中唯一的代码如下:

override func viewDidLoad() {
    super.viewDidLoad()

    let formatter = NSNumberFormatter()
    formatter.numberStyle = .CurrencyStyle
    totalLabel.text = formatter.stringFromNumber(0)
    coinsLabel.text = formatter.stringFromNumber(0)

    formatter.maximumFractionDigits = 0
    billsLabel.text = formatter.stringFromNumber(0)

}

func widgetMarginInsetsForProposedMarginInsets(defaultMarginInsets: UIEdgeInsets) -> UIEdgeInsets {
    return UIEdgeInsetsMake(8.0, 16.0, 8.0, 16.0)
}

func widgetPerformUpdateWithCompletionHandler(completionHandler: ((NCUpdateResult) -> Void)!) {
    // Perform any setup necessary in order to update the view.

    // If an error is encountered, use NCUpdateResult.Failed
    // If there's no update required, use …
Run Code Online (Sandbox Code Playgroud)

swift ios-app-extension ios8-today-widget

65
推荐指数
6
解决办法
3万
查看次数

在iOS 8共享扩展程序和主应用程序之间共享数据

最近,我一直在制作一个简单的iOS 8共享扩展来了解系统的工作原理.正如Apple在其App Extension编程指南中所述:

默认情况下,您的应用及其扩展程序无法直接访问彼此的容器.

这意味着扩展程序和包含应用程序不共享数据.但在同一页面上,Apple带来了一个解决方案:

如果您希望包含应用及其扩展能够共享数据,请使用Xcode或Developer门户为应用及其扩展启用应用组.接下来,在门户中注册应用程序组,并指定要在包含的应用程序中使用的应用程序组.

然后,可以使用NSUserDefaults在包含应用程序和扩展程序之间共享数据.这正是我想做的.但由于某种原因,它不起作用.

在同一页面中,Apple建议使用标准默认值:

var defaults = NSUserDefaults.standardUserDefaults()
Run Code Online (Sandbox Code Playgroud)

在WWDC演示文稿(217)中,他们提出了一个共同的方案:

var defaults = NSUserDefaults(suiteName: kDefaultsPackage)
Run Code Online (Sandbox Code Playgroud)

此外,我为包含应用目标和扩展目标的应用组启用了相同的应用组名称: XCode目标功能,应用程序组

但所有这些设置都是无用的.我无法从扩展程序中检索存储在包含应用程序中的数据.就好像两个目标正在使用完全不同的NSUserDefaults存储.

所以,

  1. 这种方法有解决方案吗?
  2. 如何在包含应用和共享扩展之间共享简单数据?数据只是API的用户凭据.

swift xcode6 ios8 ios-app-extension

63
推荐指数
4
解决办法
4万
查看次数

Xcode 6错误:"嵌入式二进制文件包标识符不以父应用程序的包标识符为前缀."

我正在尝试构建一个扩展项目,Xcode不断抛出主题中的错误.

Xcode日志错误

不用一天,扩展程序的包ID 以app的包ID 前缀.

产品名称: ro.chitza.TodayPics.$(TARGET_NAME:rfc1034identifier

扩展束id

我已经尝试清理构建文件夹并重建,没有运气.有趣的是,整个项目已经构建了几次,但在一些代码和UI更改后,它开始失败.即使我创建了新项目,在大约5-6个构建之后也会发生同样的事情.

有没有人遇到这个错误?有关解决方案或解决方法的任何提示吗?

xcode6 ios8 ios-app-extension

62
推荐指数
8
解决办法
5万
查看次数

今天App扩展小工具点击打开包含应用程序

我为我的应用程序+报价实现了一个Today小部件,它在这些Apple Docs的帮助下在通知中心显示当天的报价.我想要完成的是打开Containing App,在这种情况下是+ Quotes,当用户在他们的Today通知视图中点击+ Quotes小部件时,并不完全确定要调用它的内容,因为Calendar会在今天看.我已经尝试在标签上覆盖一个按钮,该按钮会调用 -(void)openURL:(NSURL *)URL completionHandler:(void (^)(BOOL success))completionHandler 它,然后打开我声明要打开Containing App的自定义URL方案.问题是它没有打开Containing App.

+引用今日应用扩展小部件

-(IBAction)myButton:(id)sender {
    NSURL *customURL = [NSURL URLWithString:@"PositiveQuotes://"];
    [self openURL:customURL completionHandler:nil];
}
Run Code Online (Sandbox Code Playgroud)

ios ios8 ios-app-extension today-extension

58
推荐指数
3
解决办法
4万
查看次数

存档期间的警告在Xcode 6中使用iOS 8扩展的应用程序

存档我的应​​用时遇到问题.

我为iOS 8扩展创建了一个新目标.

归档应用程序时,我收到警告.

警告是

"PBXCp警告","警告:跳过复制阶段,二进制代码签名:/ Users/Library/Developer/Xcode/DerivedData/App/Build/Intermediates/ArchiveInter mediates/AppName/IntermediateBuildFilesPath/UninstalledProducts/AppExtappex/AppE xt"

该应用程序位于Objective-C中.

xcode objective-c ios ios8 ios-app-extension

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

iOS 8上iPhone主屏幕上应用程序图标下方的应用程序名称旁边的红点(圆圈)

应用程序图标下面的应用程序名称旁边的红点(圆圈)是什么意思?

在此输入图像描述

我在应用程序中添加了Today Extension(Widget).只有当我在iOS 8上启动应用程序时,它才会出现在iOS 7模拟器上.即使我删除了扩展程序并清除了模拟器,它仍然出现在应用程序名称之前.

icons homescreen ios ios-app-extension

52
推荐指数
3
解决办法
5万
查看次数

Xcode6:嵌入式二进制文件未使用与父应用程序相同的证书进行签名

添加Today App Extension Target后,我无法编译项目.以下是错误:

error: Embedded binary is not signed with the same certificate as the parent app. Verify the embedded binary target's code sign settings match the parent app's.
Run Code Online (Sandbox Code Playgroud)

嵌入式二进制签名证书:iPhone开发人员:(开发者名称)(编号)

家长App签名证书:iPhone开发人员:(开发者名称)(编号)

但嵌入式二进制证书和父应用程序的证书是相同的.所以我现在很困惑......

xcode ios xcode6 ios8 ios-app-extension

52
推荐指数
10
解决办法
4万
查看次数