我已成功通过userDefaults在我的应用程序和今日扩展程序之间共享数据,但是我遇到位于应用程序的Documents文件夹中的实际文件时遇到了问题.
当我在我的应用程序中使用此代码时:
var documentsDir:NSString = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
Run Code Online (Sandbox Code Playgroud)
它返回:
/var/mobile/Containers/Data/Application/296494AA-946C-40E0-8646-F0895E131DCB/Documents/
Run Code Online (Sandbox Code Playgroud)
但在扩展中它返回:
/var/mobile/Containers/Data/PluginKitPlugin/AB484342-537A-4CE7-9EF3-F2CAE352C8A3/Documents/
Run Code Online (Sandbox Code Playgroud)
显然,文件不在那里.
我读到了我应该使用的地方:
let containerURL = manager.containerURLForSecurityApplicationGroupIdentifier("group.com.company.app")
let filePath = containerURL.path
Run Code Online (Sandbox Code Playgroud)
但它返回:
/private/var/mobile/Containers/Shared/AppGroup/CD7CF610-EB5F-4246-8D30-D7F8BFA6A219
Run Code Online (Sandbox Code Playgroud)
这也没用.
如何让我的iOS 8 Today Extension读取位于Documents中的容器应用程序文件?
谢谢!
试图运行我的iOS小部件,这是一个"今天"扩展.每次我尝试将其添加到通知中心时,我都会收到消息"终止,因为没有系统应用程序
有想法该怎么解决这个吗?
我试图制作一个包含tableview的扩展程序
是否可以访问用户在小部件上的位置?
我使用了新的iOS 8 API
[locationManager requestWhenInUseAuthorization];
Run Code Online (Sandbox Code Playgroud)
我在info.plist文件中添加了密钥
NSLocationWhenInUseDescription
Run Code Online (Sandbox Code Playgroud)
但是,当我请求位置访问时,应该会出现警报,但不会发生.
iOS今天的扩展是否有一些未声明的限制?
我正在编写自定义键盘.当我在设置中添加键盘时,我看到了这样的.它显示英语.
是否可以将"英语"改为其他?是在plist?或者我可以在哪里更改?

当我在模拟器上运行我的今日扩展时,一切正常,它会按预期显示以下内容:

但是,当我在我的设备上运行它(iPod touch和iPhone 5s)时,机身将无法显示(不介意标题和图标,已更改)

我将调试器附加到我的扩展程序,我得到了这个:

我不知道所有这些意味着什么......
我删除了今天扩展的所有代码,以检查我的代码是否有问题,没有任何改变,所以我怀疑我的代码是否有问题.任何有关如何解决这个问题的建议将不胜感激.
(如果有任何意义,我确实启用了应用程序组)
我正在制作一个自定义键盘扩展,在这个键盘中,我有另一个uitextfield作为搜索字段,所以当我在自定义键盘上输入时,我没有将文本发送到safari的文本字段或一些聊天应用程序的文本字段,我发送文本到自定义键盘中的uitextfield搜索字段,所以我可以进行一些搜索,然后当搜索结果返回时,我将搜索结果发送到safari的文本字段或一些聊天应用程序的文本字段.所以这里有一个第一响应者问题.当我将搜索文本字段设置为第一响应者,并尝试将第一个响应者设置回safari的文本字段时.它不再起作用了.问题是如何将make safari再次设置为第一响应者?在它的第一个响应者通过搜索领域采取后.
我已经在iOS 8模拟器上成功创建了一个带Swift的自定义键盘.
虽然它运行良好,但我无法调试它.它是一个包含的目标,通过Settings-> General安装.在XCode中放置书签不起作用.
我正在尝试在ios 8上为自定义键盘扩展创建设置包.我已将设置包添加到键盘扩展目标.然后当加载键盘视图时,我试图以下列方式访问设置包.
BOOL autoCapitalizationEnabled = [[NSUserDefaults standardUserDefaults] boolForKey:@"autoCapitalizationEnabled"];
Run Code Online (Sandbox Code Playgroud)
结果总是0,似乎程序无法访问设置包文件.
有没有人有扩展设置捆绑之前的问题?顺便说一下,这个东西与设置包的默认值无关,因为每次我在键盘启动前禁用并启用此属性以强制使用默认值.
如何创建一个适用于今日扩展的适用于iPad和iPhone的故事板?我可以使用大小类吗?还有其他方法吗?提前致谢
当我从Xcode为真实设备构建共享扩展时,Xcode随意停止调试.但是当我启动模拟器时,问题不会发生.
环境
Xcode 7.1.1
iOS 9.1
详细信息
当我构建共享扩展时,Xcode显示"已完成在iPhone上运行MobileSafari.app",但Safari无法运行.并且,方形停止按钮是任意灰色的.所以,我自己启动Safari并选择我的扩展和发布.调试部分没有显示任何内容.另外,URL请求不发送Rails服务器.
我不知道为什么真正的设备无法在Xcode上启动共享扩展.
如果有人知道这个问题的答案,请告诉我.