标签: ios8-share-extension

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万
查看次数

"此商品无法共享.请选择其他商品." WhatsApp iOS共享扩展失败消息

这个错误由​​WhatsApp团队于2016年5月23日修复(版本号2.16.4).

无法UIActivityViewController与WhatsApp 共享NSString对象.

我尝试使用下面的代码分享.但是,一旦从列表中选择了联系人,它就会显示一条警告,显示" This item cannot be shared. Please select a different item."

NSString *shareText = @"Temp text to share";
NSArray *itemsToShare = @[shareText];

UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:itemsToShare applicationActivities:nil];
Run Code Online (Sandbox Code Playgroud)

将WhatsApp更新到版本2.16.2后,我遇到了这个问题

iphone ios whatsapp ios8-share-extension

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

iOS 8共享扩展自定义视图控制器大小

我正在为我的iOS应用程序构建共享扩展,我无法使用默认设置SLComposeServiceViewController,所以我创建了(在故事板中)基本的UIViewController并嵌入在导航控制器中.我得出现它,解雇它等但它总是全屏.我想让它看起来更像是一个对话框.我尝试self.preferredContentSize在我的视图控制器上使用,尝试Use Preferred Explicit Size在Interface Builder中的导航控制器,但它不起作用.

ios8 ios-app-extension ios8-share-extension

29
推荐指数
2
解决办法
7065
查看次数

共享扩展以打开包含应用程序

我想为我的应用创建一个Android Style共享功能.我创建了一个共享扩展,当你在股票照片应用程序中选择图片并按下共享时,它会被调用.现在我想将这些图片发送到主应用程序并在那里处理.我现在的问题是:

  1. 在共享扩展程序窗口上按下按钮后iOS可以打开我的应用程序吗?
  2. 如何在主应用程序中获取图片文件?

cocoa-touch ios ios8-share-extension

22
推荐指数
3
解决办法
2万
查看次数

从ios扩展程序中检索Google用户

我正在尝试为我的应用程序创建共享扩展,这需要从扩展程序登录Google.我已经设置了共享组密钥链,并且能够从主应用程序写入并读取扩展目标.但我无法从扩展程序登录Google,因为GIDSignIn.sharedInstance().hasAuthInKeychain()始终返回false.

有没有办法从扩展程序登录Google,我该怎么做?任何帮助,将不胜感激.

ios ios8-share-extension google-signin share-extension

20
推荐指数
2
解决办法
608
查看次数

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

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

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

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

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

ios8 ios8-share-extension ios8-extension

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

Xcode 6归档并在向目标添加"共享扩展"时获取警告"跳过复制阶段条,二进制代码已签名"

当我向项目添加共享扩展并将其归档警告时,我收到此警告:跳过复制阶段条带,二进制代码已签名:/ Users/xxxx/xxx/xxxx/Build/xxxx/Build/Intermediates/ArchiveIntermediates/xxxx/IntermediateBui ldFilesPath /UninstalledProducts/XXX.appex/XXXX

旧问题没有提供和洞察力来纠正这一点.所以我决定再问一次. 存档期间的警告在Xcode 6中使用iOS 8扩展的应用程序

有人可以解释为什么会这样吗?是因为扩展目标已经过代码签名了吗?如果是这样,如何解决?

我知道将"复制期间调试符号"设置为"否"可以清除此警告.但它实际上并没有解决问题.没有"剥离调试符号"的缺点是什么?因为无论我将其设置为YES还是NO,我的存档大小仍然相同

xcode ios ios8-share-extension

16
推荐指数
3
解决办法
7530
查看次数

用于在共享扩展和iOS应用之间共享文件路径/文件的代码

我为我的应用添加了一个共享扩展名,例如SAMPLE(已存在于应用商店中),称为SAMPLESHARE.每当用户说拍照并试图分享它时,我希望他们通过Open In功能的视图控制器,而不是从Apple获得Post对话,基本上绕过它.所以我试图在共享扩展和我的应用程序之间分享图片,创建一个在应用程序和插件之间共享的应用程序组,然后将文件路径传递给我的应用程序的应用程序委托的openURL.

所以在我的主要应用代表中我有

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{

    return [[SAMPLEExternalFileHandler shared] handleExternalFileURL:url];
}
Run Code Online (Sandbox Code Playgroud)

如果我有一个需要打开不同流的URL文件路径,我基本上每次都会检查它.

在我的SHAREEXTENSION中,我有

#import "ShareViewController.h"
#import <MobileCoreServices/UTCoreTypes.h>
//Macro to hide post dialog or not, if defined, will be hidden, comment during debugging
#define HIDE_POST_DIALOG

@interface ShareViewController ()

@end

@implementation ShareViewController

NSUInteger m_inputItemCount = 0; // Keeps track of the number of attachments we have opened asynchronously.
NSString * m_invokeArgs = NULL;  // A string to be passed to your AIR app with information about …
Run Code Online (Sandbox Code Playgroud)

objective-c ios ios8-share-extension

16
推荐指数
1
解决办法
6732
查看次数

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

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

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

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

谢谢!

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

keychain ios ios8 ios8-share-extension ios8-extension

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

应用程序未显示在iOS8共享扩展程序中共享选项的共享菜单中

我正在为我的应用开发共享扩展程序.一切都很好,但我面临一个主要问题,我的应用程序不是在共享照片应用程序共享菜单中.

下面是我的共享扩展的plist. 在此输入图像描述

它没有显示在列表中,下面是截图:

在此输入图像描述

但是当我选择更多选项时,将我的分机的开关设置为打开,现在它显示在列表中,但我需要每次都这样做,下面是屏幕截图:

在此输入图像描述 在此输入图像描述

每次我从X-Code运行扩展时,它都没有显示共享菜单,我需要进入更多选项,关闭再打开开关,然后才显示.它可以在共享菜单中每次显示吗?是否有任何我需要的plist或额外配置?

我需要你宝贵的建议.提前致谢.

更新:

我在iOS9中检查过它.它没有任何问题,工作正常.

ios ios8 ios-app-extension ios8-share-extension ios8.3

14
推荐指数
3
解决办法
8278
查看次数