标签: ios8-extension

Swift仅将.uppercaseString应用于字符串的第一个字母

我正在尝试创建一个自动更正系统,当用户键入带有大写字母的单词时,自动更正功能不起作用.为了解决这个问题,我制作了一个字符串类型的副本,应用了.lowercaseString,然后对它们进行了比较.如果字符串确实是错误的,它应该纠正这个词.然而,替换键入的单词的单词都是小写的.所以我需要将.uppercaseString仅应用于第一个字母.我原本以为我可以用

nameOfString[0]
Run Code Online (Sandbox Code Playgroud)

但这显然不起作用.如何将字符串的第一个字母设置为大写,然后能够打印第一个字母大写的完整字符串?

谢谢你的帮助!

string ios swift ios8-extension

222
推荐指数
9
解决办法
12万
查看次数

仅使用自动布局的iOS8今日扩展的高度给出了破坏的约束

Apple文档建议使用autolayout设置Today Extensions的高度.

如果窗口小部件具有要显示的其他内容,则可以依赖"自动布局"约束来适当调整窗口小部件的高度.如果不使用自动布局,则可以使用UIViewController属性preferredContentSize指定窗口小部件的新高度.

但是,我见过的每个示例和教程最终都会使用preferredContentSize.

我通过autolayout设置高度的所有尝试都会导致违反约束的警告.

通过Autolayout设置高度

我开始使用新的xcode模板和一个全新的扩展模板.我添加的唯一内容TodayViewController.m是:

- (UIEdgeInsets)widgetMarginInsetsForProposedMarginInsets:(UIEdgeInsets)defaultMarginInsets {
    return UIEdgeInsetsMake(0, 0, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)

注意:如果我只使用默认边距,我仍会遇到此问题.

我约束标签高度,将标签置于容器中心,并将容器高度限制为与标签高度相同:

约束高度

这应该导致一个标签在指定的高度填充容器,没有约束冲突.相反,我得到一个约束冲突:

2014-09-28 10:27:39.254 TodayExtension[61090:2672196] Unable to simultaneously satisfy constraints.
    Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch ios ios8 ios8-extension ios8-today-widget

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

iOS共享与动作应用程序扩展

我想实现应用程序扩展,但我无法决定是否应将其实现为共享扩展或操作扩展.

文档没有说明差异,只是这样:

  • 分享(iOS和OS X):发布到共享网站或与他人共享内容
  • 操作(iOS和OS X; UI和非UI变体):操纵或查看源自主机应用程序的内容

是否存在技术差异(例如,Action扩展是否允许我执行Share扩展所不具备的功能),还是仅仅是Apple希望您遵循的约定,以减少对用户的混淆?

似乎至少有一个区别是,如果您想要非UI操作,则必须选择Action而不是Share扩展.

还有什么区别?

我正在寻找的事情的例子:

  • 他们都允许我自定义UI吗?
  • 两者都给我一些默认的UI使用吗?
  • 他们都拥有相同的权限,还是我被允许在一个与另一个中做更多的事情?
  • 他们都从Host应用程序接收相同的输入吗?
  • 他们都可以将相同的数据发送回主机应用吗?

ios ios8 ios8-share-extension ios8-extension

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

从容器应用程序*iOS 8.3*开始,如何检查"允许完全访问"

在iOS 8.3之前,检查是否已授予键盘扩展"允许完全访问权限"的方法是通过容器应用程序中的以下代码:

- (BOOL)isOpenAccessGranted{
   return [UIPasteboard generalPasteboard];
}
Run Code Online (Sandbox Code Playgroud)

但是,正如对这个流行的SO答案线程的评论所指出的那样,自iOS 8.3以来,即使未授予完全访问权限,应用程序也可以从共享组容器中读取,因此上述代码始终返回true.但是,仅在启用"允许完全访问"时才授予写入权限.

我已经尝试列出了所有基于苹果公司pasteboards的文档UIPasteboard,但它并没有界定哪些是可访问的.对此有任何见解非常感谢.

objective-c ios ios8 ios-keyboard-extension ios8-extension

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

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

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

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

xcode ios ios-app-extension ios8-extension

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

iOS 8共享扩展和身份验证流程

我有一个iOS 8共享扩展程序,用于从Web浏览器发布内容.如果用户从未通过包含应用程序登录,则需要提示用户登录.

Pinterest似乎支持快速切换到包含应用程序(我假设他们已经实现了共享扩展).

iOS文档表明只有今天的扩展可以打开包含应用程序.

有没有办法通过共享扩展快速切换到包含应用程序进行身份验证?

ios8 ios8-share-extension ios8-extension

17
推荐指数
0
解决办法
1266
查看次数

如何在iOS 8扩展中共享NSHTTPCookieStorage?

我正在开发一个使用NSHTTPCookieStorage存储用户数据的应用程序.我无法访问扩展中的cookie,因为它们保存在Library中.谢谢.

ios ios8-extension

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

在iOS扩展程序和包含钥匙串的应用程序之间共享?

我了解我可以通过启用应用程序组和使用NSUserDefaults在我的共享扩展程序和其包含的应用程序之间共享数据(请参阅在iOS 8共享扩展程序和主应用程序之间共享数据).

但是,我存储的数据很敏感,所以我希望使用钥匙串.因此,用户将在包含应用程序中输入帐户信息,然后共享扩展将读取该数据以执行预期的共享操作.

有谁知道这是否可能?我的第一个破解建议扩展和包含应用程序具有单独的密钥链(在包含应用程序中使用密钥保存数据时,在尝试返回扩展中该密钥的数据时返回null).

谢谢!

PS使用Lockbox进行Keychain访问,但是如果它太过抽象而无法使其工作,我可能会抛弃它. https://github.com/granoff/Lockbox

keychain ios ios8 ios8-share-extension ios8-extension

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

添加"在Excel中编辑"或"编辑照片"扩展程序

我检查了最新的Dropbox和Excel for iOS.在Dropbox中,我们得到一个编辑按钮.单击它会打开Excel的扩展,您可以在其中编辑文件.

保存后,更改也会反映在Dropbox文件中.

我想添加这样一个按钮.此外,我想在图像中添加这样一个按钮,以便在可用的"照片编辑"应用程序中打开它们.

如何检查文件(图像,xls,doc或任何其他)是否可以打开进行编辑?

代码到目前为止:

UIDocumentPickerViewController *documentPicker = [[UIDocumentPickerViewController alloc] initWithURL:url inMode:UIDocumentPickerModeExportToService];
documentPicker.delegate = self;
documentPicker.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentViewController:documentPicker animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

还尝试将模式改为UIDocumentPickerModeMoveToService......

在此输入图像描述

根据apple docs移动本地文档.用户选择外部目的地.文件选择器移动文件; 但是,您仍然可以将文档作为外部文档访问,让用户可以编辑文档.

但我尝试了所有四种模式.没有显示excel选项.

   UIDocumentPickerModeImport,
   UIDocumentPickerModeOpen,
   UIDocumentPickerModeExportToService,
   UIDocumentPickerModeMoveToService 
Run Code Online (Sandbox Code Playgroud)

excel ios uidocument ios8-extension uidocumentpickervc

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

防止文本字段中的自定义键盘

我正在尝试自定义键盘如何影响我的应用.我在iPhone 6上安装了Swype.

我发现在我的一些视图中,我在文本字段上设置了自定义inputView属性,Swype键盘覆盖并呈现而不是我的选择器.这完全打破了我的UI,不能被允许.

有没有办法明确告诉iOS 8只使用我设置的inputView?

这可能是一个错误吗?允许第三方覆盖我的输入规范是不是完全没有预期的行为?

iphone inputview ios8 ios-keyboard-extension ios8-extension

13
推荐指数
3
解决办法
2824
查看次数