标签: ios-app-extension

iOS 8 Today Extension:是否可以添加可编辑的文本字段?

我正在尝试创建一个简单的今日扩展.我能够添加一个标签,其中值可以通过主应用程序更新.现在,我正在探索通过扩展更新主应用程序中的值的可能性.但是,当我尝试添加文本字段时,我无法输入任何内容.

这是扩展的限制吗?如果没有,你能指导我如何做到这一点吗?非常感谢你!

widget textfield ios ios8 ios-app-extension

6
推荐指数
1
解决办法
2253
查看次数

iOS 如何确定默认启用哪些共享扩展?

安装应用程序时,某些应用程序默认启用了“共享扩展”。Flickr 就是一个例子。

活动

但是,其他应用程序不会 - 默认情况下不启用 OneNote、Wunderlist 等。

plist 文件中是否有一个设置来控制这个?我想知道我是否可以在我的应用程序启动时默认启用它,或者让用户同意默认启用它。

谢谢!

share ios ios-app-extension ios-sharesheet

6
推荐指数
1
解决办法
958
查看次数

在 swift 3.0 中从我的键盘扩展打开我的应用程序

我正在尝试从我的键盘扩展中打开。我有自定义键盘,并且已从设置中添加该键盘。在我的自定义键盘上有一个“显示更多”按钮,我想点击这个按钮打开我的应用程序。

所以我尝试了以下代码:

let context = NSExtensionContext()
 context.open(url! as URL, completionHandler: nil)

 var responder = self as UIResponder?

 while (responder != nil) {

      if responder?.responds(to: Selector("openURL:")) == true {

           responder?.perform(Selector("openURL:"), with: url)
      }
      responder = responder!.next
 }
Run Code Online (Sandbox Code Playgroud)

它运行成功,但正如我们所知,swiftSelector("method_name:")已被弃用并#selector(classname.methodname(_:))改为使用,因此它发出警告。我想解决这个警告。所以我尝试过 Xcode 自动建议:

 if responder?.responds(to: #selector(UIApplication.openURL(_:))) == true {

      responder?.perform(#selector(UIApplication.openURL(_:)), with: url)
 }
Run Code Online (Sandbox Code Playgroud)

也试过:

 if responder?.responds(to: #selector(NSExtensionContext.open(_:))) == true {

      responder?.perform(#selector(NSExtensionContext.open(_:)), with: url)
 }
Run Code Online (Sandbox Code Playgroud)

我也尝试过其他可能的方法,但没有运气。如果有人知道该怎么做,请告诉我。

我提到了这个链接,Julio Bailon 的回答:

openURL 在操作扩展中不起作用

selector ios ios-app-extension custom-keyboard swift3

6
推荐指数
2
解决办法
1944
查看次数

iMessageExt app启动应用程序时出错

我创建了我的iMessage扩展,当我尝试打开它时,第一个屏幕出现但它完全冻结,并且它没有任何反应.

我把日志放在第一个视图的viewDidLoad中,没有任何内容出现在那里,几秒钟后我就可以看到那些日志了.

为了使应用程序冻结失去该状态,用户必须向左或向右和向后滑动屏幕.

我试过在网上寻找碰巧是相同的人,但我找不到任何东西.

如果你认为我应该提供一些额外的信息,请不要再想到更多的截图或部分代码添加

任何帮助,将不胜感激.

谢谢.

更新:

这是我的项目结构.

在此输入图像描述

这是我的viewDidLoad代码.

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSLog(@"here viewDidLoad iMessage ext~~~!");
    [self applyCornerRadiusToBtn];
    [self registerPresentationAction];

    NSDictionary *user = [self getUserInfoFromHostApp];
    if (user) {
        NSLog(@"Here != null user info");
        //It is assumed that when you enter this point and run this log, the app should navigate to the next screen, but it does not.
        [self performSegueWithIdentifier:@"goToYoutubeListIm" sender:nil];
    } else {
        NSLog(@"Here userInfo null");
    }
}

- (NSDictionary *)getUserInfoFromHostApp
{
    NSUserDefaults *myDefaults …
Run Code Online (Sandbox Code Playgroud)

objective-c ios imessage ios-app-extension imessage-extension

6
推荐指数
1
解决办法
152
查看次数

如何将 Cocoapod 导入到 App Extension 中?

在此处输入图片说明通过 Cocoapods 和桥接头使用 Pinterest 的 iOS SDK,在我的应用程序中运行良好。

在我的项目中创建了新的目标 -> 操作扩展。尝试在链接框架和库中链接 PDK 框架,尝试在扩展中添加单独的桥接头文件,但 Xcode 崩溃无法找到它......关于如何导入它的任何想法?

播客文件:

platform :ios, '9.0'

pod "PinterestSDK", :git => "git@github.com:pinterest/ios-pdk.git"

pod "PINRemoteImage"

pod "GBDeviceInfo"

pod 'FBSDKCoreKit'



xcodeproj '/Users/garysabo/Dropbox/Xcode Projects/pinFixer2/pinFixer2.xcodeproj'
Run Code Online (Sandbox Code Playgroud)

桥接头:

#import "PinterestSDK.h"
#import "PDKPin.h"
#import "PDKBoard.h"
#import "PDKImageInfo.h"
#import "PDKResponseObject.h"
#import "PDKClient.h"
#import "PDKModelObject.h"
#import "PDKUser.h"
Run Code Online (Sandbox Code Playgroud)

frameworks ios cocoapods swift ios-app-extension

6
推荐指数
1
解决办法
2643
查看次数

在共享扩展中旋转图像

我有这个扩展程序,它在应用程序目标中完美运行,但在尝试旋转相机上捕获的图像时在共享扩展程序中崩溃。如何在共享扩展中旋转图像?或者也许可以从照片库中以正确的方向加载图像。

extension UIImage {

    func fixOrientation() -> UIImage {
        switch imageOrientation {
        case .up:
            return self
        default:
            UIGraphicsBeginImageContextWithOptions(size, false, scale)
            draw(in: CGRect(origin: .zero, size: size)) //Thread 1: EXC_RESOURCE RESOURCE_TYPE_MEMORY (limit=120 MB, unused=0x0)
            let result = UIGraphicsGetImageFromCurrentImageContext()
            UIGraphicsEndImageContext()
            return result!
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


崩溃截图:

崩溃截图#1 崩溃截图#2

ios swift ios-app-extension share-extension

6
推荐指数
1
解决办法
719
查看次数

iOS 8中的自定义键盘

iOS 8允许我们创建自己的自定义键盘.是否可以使自定义键盘输出除未归因的NSStrings之外的任何其他内容?

我可以制作输出图像的键盘来说明消息应用程序,还是不可能?

ios ios8 ios-app-extension

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

为ios 8自定义键盘扩展获取"由于内存错误而终止"

我正在开发一个ios 8自定义键盘扩展.它像一个魅力开始运行.

但我总是在Xcode中得到"接收内存警告".所以我的自定义键盘扩展有时会突然终止.

但我在其主机应用程序中运行自定义键盘.没有任何问题.不要在Xcode中获得"接收内存警告".不要终止.

有人可以帮帮我吗?如果app对扩展使用有任何限制大小?

由于内存错误而终止http://i62.tinypic.com/ra41lz.png

keyboard ios ios8 ios-app-extension

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

iOS 8自定义键盘按住按钮删除吗?

我目前正在构建自定义键盘,我几乎完成了。我遇到的一个问题是删除按钮。当用户点击删除按钮时,它会执行应做的操作并删除上一个文本条目。但是,当用户按下按钮时,什么也不会发生。我如何做到这一点,以便当用户按住Delete键时,键盘会像标准ios键盘一样连续删除?这是我当前的代码:

实用标记键盘

- (void)addGesturesToKeyboard{
[self.keyboard.deleteKey addTarget:self action:@selector(pressDeleteKey)forControlEvents:UIControlEventTouchUpInside];
Run Code Online (Sandbox Code Playgroud)

和:

-(void)pressDeleteKey{
[self.textDocumentProxy deleteBackward];
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助。

keyboard ios ios8 ios-app-extension custom-keyboard

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

从SiriKit的INExtension启动应用程序

我想用SiriKit开始锻炼.开始锻炼需要从app扩展程序打开主应用程序.

Apple为INStartWorkoutIntentHandling处理程序提供的样板是

func handle(startWorkout startWorkoutIntent: INStartWorkoutIntent, completion: (INStartWorkoutIntentResponse) -> Void) {
    let userActivity = NSUserActivity(activityType: NSStringFromClass(INStartWorkoutIntent))
    let response = INStartWorkoutIntentResponse(code: .success, userActivity: userActivity)
    completion(response)
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能从这里打开自己的应用程序?像myapp://workout?action=start&name=pushups 这样的回答似乎没有相关性,因为我没有这个扩展类型UIViewControllerextensionContext属性.

最后一个相关位:对于其他操作(暂停,结束)我宁愿不打开主应用程序,而只是暂停在主应用程序中运行的锻炼.我可以使用类似的自定义URL来暂停它,但这会打开应用程序,这是一个额外的不必要的步骤.有什么好方法告诉主应用程序在不打开应用程序的情况下从INExtension中采取特定操作?

ios siri ios-app-extension ios10 sirikit

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