标签: ios-app-extension

iOS8:扩展存储提供程序(导入,导出,移动)不起作用

我正在开发我的存储提供程序并使用Apple的"NewBox"(它的链接已过期)示例代码作为主机应用程序.理想情况下,我希望看到我可以将文件从存储提供程序导入(复制)到NewBox的沙箱或导出/移动文件到其他应用程序.

在NewBox主机应用程序中,当我想导入文件时,我使用:

UIDocumentMenuViewController *vc = [[UIDocumentMenuViewController alloc] initWithDocumentTypes:@[(NSString *)kUTTypeRTF,(NSString *)kUTTypePNG,(NSString *)kUTTypeText,(NSString *)kUTTypePlainText,(NSString *)kUTTypePDF, (NSString *)kUTTypeImage] inMode:UIDocumentPickerModeImport];
Run Code Online (Sandbox Code Playgroud)



一旦我拿起一个文件,在我的UIDocumentPickerExtensionViewController中,我调用:

- (void)pickDocument:(NSURL *)documentURL {
    [self dismissGrantingAccessToURL:documentURL];
}
Run Code Online (Sandbox Code Playgroud)


在调用dismissGrantingAccessToURL之后,选择器的视图将被解除并返回到主机应用程序,并且将调用主机应用程序的didPickDocumentAtURL.

但是,"didPickDocumentAtURL"会收到我选择的原始文件的URL,而不是系统复制到NewBox沙箱的新URL.这对出口和搬迁的情况也很熟悉.我是否误解了导入/导出/移动?我认为这个关于复制到主机应用程序的沙箱等文件的操作是由系统完成的,主机应用程序将获取要访问的文件的新URL.

我试过iOS8 beta4,这个问题依然存在.

谢谢!

ios ios8 ios-app-extension

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

识别iOS8自定义键盘中的主机应用程序

如何识别键盘运行的主机应用程序?

基本上,我想在特定应用程序中更改自定义键盘中的一些内容

也许我可以根据自己的需要自定义键盘特性?

谢谢

ios8 ios-app-extension custom-keyboard

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

如何知道用户是否在“设置”->“辅助功能”中禁用了透明度?

我正在使用“小部件/今日视图”扩展,如果用户在“设置”->“常规”->“可访问性”中禁用了透明效果,我想调整设计。

的确,如果用户禁用了透明性,通知中心的整体外观就会如此不同,以至于我的默认设计很难看。

您知道如何检索此设置以便做出相应的反应吗?

transparency widget ios ios8 ios-app-extension

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

在自定义键盘ios8中关闭键盘无法正常工作

我在使用dismiss键盘方法在ios8中使用自定义键盘扩展时遇到了一些问题.

我打电话给:

[self dismissKeyboard];
Run Code Online (Sandbox Code Playgroud)

它编译好了,但是当我按下我的关闭按钮时它会崩溃并打开普通键盘.在控制台中,我只能看到接下来的几行:

2014-08-25 17:38:50.147 customkeyboards [2678:5567685]插件com.customkeyboards中断2014-08-25 17:38:51.248 customkeyboards [2678:5567651] viewServiceDidTerminateWithError :: Error Domain = _UIViewServiceInterfaceErrorDomain Code = 3"无法完成.(_UIViewServiceInterfaceErrorDomain错误3.)"UserInfo = 0x7a8dd4c0 {Message = Service Connection Interrupted}

我正在使用ios 8 beta 6并将其运行到模拟器中.具有最新beta(ios5)的设备也是如此

ios ios8 ios-app-extension custom-keyboard

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

使用iCloud Data的iOS 8扩展

我有一个应用程序,它使用Core Data和iCloud在设备之间同步它的数据.

现在我想使用iOS的通知中心小部件显示其中一些数据.即使没有启动应用程序进行iCloud更新,通知中心也是最新的非常重要.

所以我认为只使用相同的iCloud持久性堆栈来扩展.

我正在调用- (id)initWithCoder:(NSCoder *)aDecoder方法中的堆栈创建.

我遇到的问题是扩展程序每次向通知中心向下滑动都会重新连接到iCloud,这样就可以了,但之后需要第二次打开通知中心才能看到当前看起来很奇怪的数据.

有没有人使用iCloud的经验?有没有最好的实践来创建一个不应该超时重新加载的managedobjectcontext,或者这对于那些类型的扩展是错误的?

编辑:关于开发论坛的一些讨论是关于完全相同的问题,但是没有真正的解决方案.所以我'开始这个赏金.

core-data ios icloud ios8 ios-app-extension

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

如何创建和使用iOS Framework与Extensions共享代码

自定义iOS框架的最小设置和使用情况如何?我开始研究这个,以便与今日扩展共享代码.

这是我到目前为止所做的

  1. 添加了一个新的Target选择Cocoa Touch Framework模板并将其命名为TesterKit
  2. 在框架内部,我创建了一个新类TestClass.swift
  3. TestClass.swift里面我创建了一个简单的类方法类基金测试器()打印一个字符串进行测试

看看我的应用程序,我可以看到TesterKit已添加为嵌入式二进制文件链接框架和库,但它是红色的

  1. 为了在应用程序中使用这个新框架,我将导入TesterKit添加到AppDelegate的顶部
  2. 然后我尝试使用TestClass.tester()从Framework中调用类方法.但是,我没有显示日志消息,而是...

    "使用未解析的标识符"

→我做错了什么?这里有任何错误的假设吗?

注意:我已经观看了WWDC会议416"构建现代框架"并找到了框架程序设计指南.如果有任何示例项目显示如何使用这样的新自定义iOS框架,理想情况下使用Swift +将其与Today Extensions集成,这可能也会有所帮助.

xcode ios swift ios8 ios-app-extension

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

CodeSign错误:SDK"iOS 8.0"中的产品类型"App Extension"需要代码签名

"我将上传我的应用程序的二进制文件,其中包含应用程序扩展,但它给出了错误

包含应用程序的标识符与扩展应用程序不匹配.CodeSign错误:SDK'iOS 8.0中的产品类型'AppExtension'需要代码签名'供应配置文件与软件包标识符不匹配:构建设置中指定的供应配置文件("配置文件名称")的AppID为"com.CompanyName". AppName"与您的包标识符不匹配"com.CompanyName.AppName.ExtensionName"

如果我们使用相同的Bundle Identifier,那么它在二进制上传期间会出错.

     “The app extension is not signed with the valid Provisioning certificate”
    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)

任何建议将不胜感激.谢谢

provisioning-profile bundle-identifier ios8 ios-app-extension

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

在ShareExtension中上传照片并与PFObject相关联

我正在尝试将图像上传到Parse,并将其与我的共享扩展中的PFObject相关联,但是我不确定如何在编写共享扩展的约束下正确执行此操作.

我第一次尝试使用PFFile和PFObject类进行如下操作

// Create the UserPhoto PFObject and associate with PFFile 
PFObject *userPhoto = [PFObject objectWithClassName:@"UserPhoto"];
userPhoto[@"message"] = @"my photo";
NSData *imageData = UIImageJPEGRepresentation(image, 0.2);
PFFile *imageFile = [PFFile fileWithName:@"image.jpg" data:imageData];
userPhoto[@"imageFile"] = imageFile;

[userPhoto saveInBackground];
Run Code Online (Sandbox Code Playgroud)

此方法的问题在于,如果在销毁应用程序扩展时saveInBackground尚未完成,则上载将终止,因此您必须使用NSURLSession根据应用程序扩展文档保持连接活动.

NSURLSession不能与Parse类一起使用,因此我必须使用Parse REST API启动照片上传,然后在上传照片后将url与对象相关联.

上传照片 - >将照片URL与对象关联

这会设置上传任务以将图像上传到Parse

// [self backroundSession] just configures a session and returns it
NSURLSession *session = [self backgroundSession];
NSURL *url = [NSURL URLWithString:@"https://api.parse.com/1/files/pic.jpg"];
NSMutableURLRequest *req = [[NSMutableURLRequest alloc] initWithURL:url];
[req addValue:@"12345" forHTTPHeaderField:@"X-Parse-Application-Id"];
[req addValue:@"12345" forHTTPHeaderField:@"X-Parse-REST-API-Key"];
[req addValue:@"image/jpeg" …
Run Code Online (Sandbox Code Playgroud)

ios parse-platform nsurlsession ios-app-extension ios8-share-extension

5
推荐指数
0
解决办法
878
查看次数

如何在iOS8上的自定义键盘中添加数字和十进制键盘?

我在Swift中创建了一个自定义键盘,但它被App Store拒绝了,因为:"键盘扩展名不包括Number和Decimal类型".

如何轻松添加这两个键盘?

我试图重建原始视图但它无法正常工作.我确信有一个解决方案可以创建2或3个不同的视图并在它们之间切换.

当键盘类型改变时,如何在键盘类型之间切换?

ios swift ios8 ios-app-extension custom-keyboard

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

如何调试iOS应用扩展程序?

我正在尝试调试iOS应用扩展,我所能做的就是设置断点,但是能够打印到控制台会很好。

Xcode 9有可能吗?

或者至少在某处读取它,也许是一个文件?

我去了“设备和模拟器”中查看设备的日志,但是找不到我从iOS应用程序扩展中打印的内容。

ios swift ios-app-extension ios-app-group ios-extensions

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