标签: ios-app-extension

iOS 8自定义键盘:更改高度

我试图在iOS 8中创建一个替换库存的自定义键盘.我真的搜索过,无法找出是否有可能创建一个比iOS iOS键盘更高的键盘.我替换了UIInputView,但永远无法改变我可用的高度.

keyboard ios8 ios-app-extension

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

尝试运行今日应用程序扩展时安装失败"无效参数"

我添加了一个vanilla Today Application Extension并使用XCode创建的新方案运行.
完成构建(弹出"Build Succeeded")后,它立即失败并出现此错误:

安装失败
无效参数

我一直试图找到6个小时的答案,到目前为止没有运气.请帮忙!

ios ios-app-extension xcode6.1

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

如何检测代码是否在主应用程序或应用程序扩展目标中运行?

如果您在App扩展程序内运行,是否有人知道您如何从代码中检测到?

我有一个应用程序,它在应用程序和扩展程序之间共享类.应用程序代码使用,[UIApplication sharedApplication]但这不能从扩展中获得,因此它不会编译说:

'sharedApplication'不可用:iOS(App Extension)不可用

因此,我需要一种方法来检测我是否在扩展中并使用替代方案,sharedApplication如果是这种情况.

uiapplicationdelegate ios ios-app-extension

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

iOS 8今日扩展中的适合宽度

当我制作任何iOS 8 Today Extension时,左边有一个大约48px的空白区域,即使在Interface Builder中我在x = 0的左侧放置了一个标签.


在xcode上 在模拟器上


我已经看到一些应用程序使用全宽小部件.


其他应用


我怎样才能达到类似的效果?

谢谢!


更新:已解决

我在这里放了示例代码,因为我猜这对某人有用.正如@ matteo-lallone所建议的那样,正确的方法是:

-(UIEdgeInsets)widgetMarginInsetsForProposedMarginInsets:(UIEdgeInsets)defaultMa??rginInsets{
return UIEdgeInsetsZero;
}
Run Code Online (Sandbox Code Playgroud)

ios notificationcenter ios8 ios-app-extension

30
推荐指数
2
解决办法
5209
查看次数

iOS 8 Today Widget中widgetPerformUpdateWithCompletionHandler的用途是什么?

一直在寻找答案,但一切似乎都模糊或不清楚.

无论如何,只想知道功能的目的是什么:

widgetPerformUpdateWithCompletionHandler
Run Code Online (Sandbox Code Playgroud)

在今天的小部件中.

根据Apple的说法:

调用此方法可为窗口小部件提供更新其内容并在快照等操作之前重绘其视图的机会.当窗口小部件完成更新其内容(并在必要时重绘)时,窗口小部件应调用完成处理程序块,并传递相应的NCUpdateResult值.

快照什么时候发生?每当我调试扩展时,widgetPerformUpdateWithCompletionHandler总是在loadView之后被调用.那么当我已经在loadView中加载信息时,在此方法中显式重新加载信息的目的是什么?


根据这个网站:http://www.karlmonaghan.com/tag/today-widget/

在TodayViewController中,有两个地方需要从网络加载数据 - 创建窗口小部件时以及调用widgetPerformUpdateWithCompletionHandler时.对于前者,我在viewDidLoad中加载帖子,以便在窗口小部件显示时它们应该准备就绪.当iOS认为小部件在首次显示后将显示给用户时,将调用widgetPerformUpdateWithCompletionHandler,使小部件有机会更新显示的帖子.

与上述问题相同.

widget ios8 ios-app-extension

29
推荐指数
1
解决办法
8360
查看次数

iOS 8共享扩展自定义视图控制器大小

我正在为我的iOS应用程序构建共享扩展,我无法使用默认设置SLComposeServiceViewController,所以我创建了(在故事板中)基本的UIViewController并嵌入在导航控制器中.我得出现它,解雇它等但它总是全屏.我想让它看起来更像是一个对话框.我尝试self.preferredContentSize在我的视图控制器上使用,尝试Use Preferred Explicit Size在Interface Builder中的导航控制器,但它不起作用.

ios8 ios-app-extension ios8-share-extension

29
推荐指数
2
解决办法
7065
查看次数

在原始iOS App和App Extension之间共享代码

在iOS应用和扩展应用之间共享课程

我想在我的应用和扩展应用中使用自定义类.如果我只是在主应用程序文件夹中有该类,则扩展程序不会接收它.我尝试制作它的副本并将其放入扩展文件夹,但我当然得到一个invalid redeclaration of [my class]错误.什么是最好的解决方案?它只是一个类,而不是多个资源.

xcode ios ios-app-extension ios8-extension

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

扩展项目模板未出现在Xcode 6中

我不确定我是否是唯一一个遇到这个程序的人,但我已经尝试过搜索,但在我目前的情况下找不到任何人.我下载了Xcode 6 beta并对iOS 8的扩展编程感兴趣.但是,在Xcode中创建新项目时,我无法找到项目模板中的扩展,我看到了一个YouTube视频(与扩展编程无关)但我确实注意到该视频没有选项.现在,我已经浏览了Xcode 6 beta包的内容,并且能够自己找到实际的模板,所以我毫不怀疑它们存在,它们似乎实际上并没有被加载.

为了记录,我还从GitHub下载了一些示例自定义键盘代码,以便查看Xcode是否会识别它,并且实际显示构建目标旁边的"E"图标.我还要提一下,我的机器上还有一个Xcode 5的版本.

是否有其他人遇到过这个问题,或者有人知道如何克服这个问题吗?

谢谢

xcode ios ios8 ios-app-extension

24
推荐指数
2
解决办法
7647
查看次数

iOS 8是否支持动态链接?

直到iOS7,由于安全问题,Apple不支持动态链接.开发人员之间的代码重用通常依赖于静态库,静态库是作为应用程序可执行文件的一部分构建的.

在iOS8中引入扩展似乎改变了一点,因为扩展是单独的可执行文件.在扩展及其包含应用程序之间共享代码是通过框架完成的.Apple在他们的发行说明中这样说:

适用于iOS的框架.iOS开发人员现在可以创建动态框架.框架是一组代码和资源,用于封装在多个项目中有价值的功能.框架与扩展完美配合,共享主应用程序和捆绑扩展可以使用的逻辑.

重点是我的.

资料来源:https://developer.apple.com/library/content/documentation/Xcode/Conceptual/WhatsNewXcode-Archive/Articles/xcode_6_0.html#//apple_ref/doc/uid/TP40014509-SW14

此外,在扩展开发指南中,他们解释了您可以通过"嵌入式框架"在扩展和包含应用之间共享代码.

资料来源:https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html#//apple_ref/doc/uid/TP40014214-CH21-SW1

我的问题是 - 什么是嵌入式框架,它与动态框架有什么不同,我们真的会在iOS8中看到正确的动态链接吗?我读过的所有文档似乎都含糊不清.

ios ios-frameworks ios8 ios-app-extension

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

如何在xcode中构建时禁用应用程序扩展的目标?

我正在寻找一种方法来禁用今天的扩展目标,以便在开发应用程序目标时每次减少构建时间.

xcode6 ios-app-extension

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