My Today扩展需要基于窗口小部件显示的内容具有动态高度.我能够通过在最底部元素上添加约束来实现这一点:底部布局指南的顶部小于或等于最底部元素的底部,常量为0,优先级为999,乘数为1.
这与iPhone上的预期完全一样 - 小部件高度适合所有内容,并且在显示下一个小部件之前应用默认的底部边距.
但是在iPad上似乎将我的小部件的高度设置为等于最大高度通知中心将允许小部件 - 我的小部件下方有很多空间,它几乎全屏.
如何删除多余的空间?
我确切地知道问题是什么,但我不确定如何解决它 - 请参阅"问题"部分.首先让我解释一下设置:
设置:
我在故事板中设置了此扩展的视图,没有任何编程方式.视图由垂直堆叠的5个元素组成,其他一些元素水平堆叠.这些是从上到下的垂直线的自动布局约束 - 其中未声明的优先级为1000,乘数1:
UILabel: height = 35, top space to top layout guide with constant of 10
UIButton: equal height and width to a different button (whose aspect ratio is 1:1, there is no fixed width/height), top space to label 10
UIButton: equal height and width to same button, top space to above button 8
UIButton: equal height and width to same button, top space to above …Run Code Online (Sandbox Code Playgroud) 我试图提交我的应用程序提交但是我遇到代码签名问题.
基本上我的应用程序有一个Today Widget扩展.我不确定我应该将配置文件设置为什么.我假设我只使用我用于我的应用程序的相同配置文件,但是我收到此错误:
构建设置("AppName")中指定的配置文件的AppID为"BundleID",与您的软件包标识符"BundleID2"不匹配.Xcode可以通过从成员中心下载新的配置文件来解决此问题.
我当然可以点击"修复问题",但这实际上解决了这个问题吗?它只是将我的分发设置更改为"iOS Developer"并为"自动"提供配置文件.
我添加以下代码:
- (IBAction)done {
// Return any edited content to the host app.
// This template doesn't do anything, so we just echo the passed in items.
NSURL *url = [NSURL URLWithString:@"lister://today"];
[self.extensionContext openURL:url completionHandler:^(BOOL success) {
NSLog(@"fun=%s after completion. success=%d", __func__, success);
}];
[self.extensionContext completeRequestReturningItems:self.extensionContext.inputItems completionHandler:nil];
}
Run Code Online (Sandbox Code Playgroud)
在我创建Action Extension目标之后.但它无法奏效.
我的目的是:当用户在Photos.app(iOS的默认Photos.app或被调用的图库)中查看照片时,他点击分享按钮以启动我们的扩展视图.我们可以将Photos.app中的图像传输到我自己的应用程序,并在我的应用程序中处理或上传图像.
我也尝试"CFBundleDocumentTypes"但它也无法工作.
任何帮助将不胜感激.
我正在启动iOS 8扩展,但我无法在我的设备上运行它.尝试运行它时的错误是:
找不到匹配的配置文件
构建设置("ExtensionName")中指定的配置文件的AppID net.company.AppName与您的软件包标识符不匹配net.company.AppName.ExtensionName.Xcode可以通过从成员中心下载新的配置文件来解决此问题.
在自定义键盘扩展中,我们无法使用
`didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation`
Run Code Online (Sandbox Code Playgroud)
和sharedApplication.
我需要在旋转时检测键盘上的纵向或横向.
如何在Custom Keyboard扩展中检测方向更改?
ios8 ios-app-extension uiinputviewcontroller custom-keyboard
我正在构建一个自定义键盘,我正在我的实现以下委托方法InputViewController.
但我总是得到_textInput = nil_
- (void)textWillChange:(id<UITextInput>)textInput
- (void)textDidChange:(id<UITextInput>)textInput
- (void) selectionWillChange:(id<UITextInput>)textInput
- (void) selectionDidChange:(id<UITextInput>)textInput
Run Code Online (Sandbox Code Playgroud)
有人知道怎么解决吗?
这是nil有原因的吗?
我需要自己实施吗?
如何在通知中心更改应用程序今日扩展程序的高度?
我尝试使用Interface Builder和Code,Interface Builder显示高度为600的视图,但它没有在设备上应用此高度.
看起来我不能让它大于80像素......

在iOS 8中,当我们创建一个新的扩展时,我们必须决定它附加到哪个目标.扩展名将具有与目标相同的捆绑包ID前缀.
这是"构建选项"下的新设置.它有什么作用?我似乎无法找到任何有关它的文档.我的猜测是:它是否必须YES在混合的Objective-C/Swift应用程序中设置为告诉Xcode链接Swift运行时?
问题:
无法从Today View中的Widget扩展中访问应用程序的Core Data数据库.
应用程序本身能够按照iOS 8中的正常情况读取和写入数据库,但扩展将无法创建存储,导致错误,无法写入文件.
日志如下:
Error Domain=NSCocoaErrorDomain Code=512 "The operation couldn’t be completed. (Cocoa error 512.)"
reason = "Failed to create file; code = 2
Run Code Online (Sandbox Code Playgroud)