标签: ios8-share-extension

使用WhatApp Share Extension共享文本和媒体

我正在使用a UIActivityViewController来让用户分享使用我的应用创建的照片和视频.我附加了两个UIActivityItemProviders:一个用于媒体,一个用于默认文本("Created with ...").

这适用于我测试的所有共享扩展 - 除了WhatsApp.WhatsApp只显示消息对话框中的文本 - 没有照片或视频.但是,当我将文本留空时,它将显示媒体文件.

有什么方法可以通过WhatsApp与默认文本/标题共享照片或视频吗?

ios whatsapp ios8-share-extension

7
推荐指数
1
解决办法
5136
查看次数

iOS共享扩展仅在Safari中显示

我正在测试我正在为iPhone应用程序构建的iOS共享扩展.共享扩展程序仅出现在Safari的共享表中.它不会出现在任何第三方应用程序中,如Alien Blue,甚至任何其他第一方应用程序,如新闻.这是因为该应用程序尚未发布?或者我的代码有问题吗?

ios ios8-share-extension ios-extensions

7
推荐指数
1
解决办法
431
查看次数

如何为联系人创建iOS共享扩展

我正在尝试使用以下代码创建iOS共享扩展以共享联系人:

let contactType = "public.vcard"

override func viewDidLoad() {
    let items = extensionContext?.inputItems
    var itemProvider: NSItemProvider?

    if items != nil && items!.isEmpty == false {
        let item = items![0] as! NSExtensionItem
        if let attachments = item.attachments {
            if !attachments.isEmpty {
                itemProvider = attachments[0] as? NSItemProvider
            }
        }
    }

    if itemProvider?.hasItemConformingToTypeIdentifier(contactType) == true {
        itemProvider?.loadItemForTypeIdentifier(contactType, options: nil) { item, error in
            if error == nil { 
                print("item: \(item)")
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

item: Optional(<42454749 4e3a5643 4152440d 0a564552 53494f4e 3a332e30 0d0a5052 …
Run Code Online (Sandbox Code Playgroud)

ios swift ios8-share-extension

7
推荐指数
1
解决办法
1742
查看次数

与NSExtensionJavaScriptPreprocessingFile共享扩展名没有图像

我正在构建一个iOS Share扩展.我需要从网页中获取一些数据,因此我使用JavaScript文件来获取数据并将其发送回应用以在扩展中使用.

我注意到了以下内容.当我NSExtensionJavaScriptPreprocessingFile用我的JavaScript文件设置密钥时,SLComposeServiceViewController显示完美但没有图像!

像这样:

在此输入图像描述

如果我删除NSExtensionJavaScriptPreprocessingFile我的SLComposeServiceViewController节目如下:

在此输入图像描述

但我需要从网页(我用JS抓取的那个)访问一些数据,但我也需要那个图像!我完全失去了如何获得这两者,或者我甚至不知道这是否可能,因为Apple文档有点令人困惑.

谢谢!

ios swift ios8-share-extension share-extension

7
推荐指数
1
解决办法
816
查看次数

如何仅通过共享扩展名启动应用程序而无需在Swift中弹出窗口?

我是iOS应用开发的初学者,我想在另一个应用的复制链接上启动我的应用。单击时添加共享扩展名,它显示弹出窗口。但是我的要求是它不应该显示弹出窗口,并且单击共享扩展名直接打开我的应用程序。

我做了什么:

1)在info.plist中添加了规则

<dict>
    <key>NSExtensionActivationSupportsWebURLWithMaxCount</key>
    <integer>1</integer>
</dict>
Run Code Online (Sandbox Code Playgroud)

短屏幕 :

在此处输入图片说明 请有人帮助我解决此问题。谢谢

更新:添加下面的代码后,弹出窗口不会出现,但我的应用程序无法打开

目标C:

    - (BOOL)isContentValid {
    return YES;
}
#ifdef HIDE_POST_DIALOG
- ( NSArray * ) configurationItems
{
    return @[];
}
#endif

- ( void ) didSelectPost
{
#ifdef HIDE_POST_DIALOG
    return;
#endif
}

CGFloat m_oldAlpha = 1.0;
#ifdef HIDE_POST_DIALOG
- ( void ) willMoveToParentViewController: ( UIViewController * ) parent
{
    m_oldAlpha = [ self.view alpha ];
    [ self.view setAlpha: 0.0 ];
}
#endif

#ifdef HIDE_POST_DIALOG
- ( void ) didMoveToParentViewController: ( …
Run Code Online (Sandbox Code Playgroud)

iphone ios swift ios8-share-extension

7
推荐指数
1
解决办法
447
查看次数

如何创建react native ios共享扩展应用程序

我希望我的本机应用程序可以从Whatsapp,Skype,Photos中分享.我尝试使用react-native-share-extension,但它只显示Safari浏览器中的扩展名.

如何在iOS中的react-native中实现Safari之外的应用程序中的共享功能?

javascript ios ios8-share-extension react-native react-native-ios

7
推荐指数
1
解决办法
1678
查看次数

iOS 8扩展依赖项问题.将一个项目文件导入扩展视图控制器

我正在开发iOS 8扩展.我阅读了很多手册,所有这些手册都只显示了为您的应用添加扩展程序的简单程度,似乎已经足够了.

但这里有许多陷阱:

  1. 添加扩展后,您需要导入一些类来查看添加新扩展目标时创建的控制器.这里最重要的是你需要添加所有这些,如果你有大项目,这不是一个简单的任务.解决方案可以选择扩展目标,然后在Build Phases - > Compile Sources按加号按钮,并使用热键CMD + A将所有.m文件添加到目标.

  2. 添加所有文件后,您可以看到某些方法无法正常工作,您可以看到此错误: 'sharedApplication' is unavailable: not available on iOS (App Extension)因此解决方案可以是一个检查ifndef Extension然后我们可以调用sharedApplication代码的宏.

  3. #import <Foundation/Foundation.h>VS #import <UIKit/UIKit.h>.所以我还没有弄清楚这个问题,但当我替换它时Foundation,UIKit它适用于我,所有相关的问题都消失了.

  4. 的CocoaPods.我们所有人都在使用CocoaPods,所以如果您的扩展需要使用项目代码的某些部分,并且该代码使用CocoaPods库,那么您需要添加link_with 'ProjectTarged', 'ExtensionTarget'到Pod文件并pod install再次使用新的扩展目标绑定您的库.

所以这是我面临的一个要点.也许有人可以建议如何解决这个问题,因为我说我只需要将一个所需文件导入扩展视图控制器.导入的文件包含一些库AFNetworking,RestKit以及主项目中的其他嵌套类.我需要这个类来调用几个方法,将数据从扩展名传递到我的后端服务器.所以一个文件,但很多问题.

ios cocoapods ios8 ios8-share-extension ios8-extension

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

iOS 8 Share Extension无法在设备上运行

我在xcode中创建了一个新的目标Share Extension,然后在我的设备上运行它.我不知道为什么当我在我的设备(iPhone 5c,iPhone 5s,iPhone 6)上运行我的Share Extension时,将无法显示.请帮助我!任何有关如何解决这个问题的建议将不胜感激.

  1. 我有创建新/目标/股票扩展 在此输入图像描述

  2. 我在我的设备上使用app Notes运行它,然后我的扩展程序没有显示 在此输入图像描述

iphone xcode ios ios8-share-extension ios8-extension

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

如何在iOS扩展中获取状态栏高度

我可以通过普通应用程序从UIApplication获取状态栏

[UIApplication sharedApplication].statusBarFrame
Run Code Online (Sandbox Code Playgroud)

但我们无法从Extension访问UIApplication.有没有办法在共享中获取状态栏?

uiviewcontroller uiapplication ios ios8-share-extension share-extension

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

iOS共享扩展使用Swift更改预览图像的大小

在iOS共享扩展中,可以使用loadPreviewImageWithOptions获取预览图像.是否也可以更改预览图像的大小?

预览图像似乎是网站的屏幕截图.我想知道是否有可能获得原始大小的屏幕截图.

据记载,可以为选项创建字典.

https://developer.apple.com/library/prerelease/ios/documentation/Foundation/Reference/NSItemProvider_Class/index.html#//apple_ref/doc/constant_group/Options_Dictionary_Key

出于这个原因,我使用以下代码(尝试使用不同的值).

let options: [String: NSValue] = [NSItemProviderPreferredImageSizeKey: NSValue(CGSize: CGSizeMake(375.0, 600.0))]
itemProvider.loadPreviewImageWithOptions(options, completionHandler: { [ weak self ] image, error in
    if let image = image as? UIImage {
    }
})
Run Code Online (Sandbox Code Playgroud)

但结果始终是尺寸为84 x 79的图像

谢谢!

ios swift ios8-share-extension

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