从第一天开始,我被告知每个第三方iOS应用程序都是完美的沙盒,因此第三方应用程序无法将除了某些预定义网址之外的消息传输到另一个应用程序。
但 100个相机在1 中完成的 Send to Instagram 技巧引起了我的注意。当用户触发此操作时,他立即从 100 Cameras in 1 跳转到Instagram(这很好,可以通过上面提到的url技巧轻松实现。)然而,有趣的是Instagram将显示刚刚由 100 Camera in 1 处理的图像,就像它从自己的沙箱中显示图像一样。
据我所知,Cocoa Touch必须有一些API来支持这一点。我的问题是,他们是什么?它们仅限于图像吗?
提前多多感谢。
已编辑:我知道有可可触摸网址方案的事情,但如果是这个技巧的网址方案......网址方案必须包含图像指针/引用的信息。否则,即使我们从100个Cameras in 1跳到Instagram,Instagram也无法访问该图像。
编辑(第二次):虽然我还没有尝试过,但Tom H的回答可能最终导致了一个解决方案。所以我接受了他的回答作为最终答案。至于未设置的答案,unset一直提到网址方案的事情(但是老兄,我们都知道。而且不是那些混淆了我们的应用程序之间的切换。这是Instagram从另一个应用程序访问该图像的方式让我们感到困惑。)由于未设置的答案并没有提供太多有用的信息,也没有回答我的问题,我对他的答案进行了投票,我建议那些投票的人相应地调整你的投票。 Stack Overflow是一个很棒的地方,因为我们几乎总能找到答案,而不是因为有些人的答案没有错,但从来没有真正达到过这一点。
已编辑(第3次):The official Instagram developer page现在提供官方解决方案。
如果您的应用程序创建照片和 您希望您的用户分享这些内容 使用Instagram的照片,你可以使用 要打开的Document Interaction API 你在Instagram的分享照片 流动。
您必须先将文件保存为PNG 或JPEG(首选)格式并使用 文件扩展名“.ig”。使用 您可以使用iOS文档交互API 触发要打开的照片 Instagram的。我们的标识符 文档交互UTI是 com.instagram.photo,它符合 对公众/ jpeg和public / png 尿路感染。请参阅Apple文档 文章:预览和打开文件 和 UIDocumentInteractionController类 参考了解更多信息。
触发后,Instagram会 立即向我们提供用户 过滤网。图像已预加载 适合Instagram的大小。 除了使用适当的图像 格式,如上所述,我们唯一的 要求是图像在 至少612px高和/或宽。为了最好 结果,Instagram更喜欢打开一个 JPEG为612像素×612像素平方。如果 图像越大,它就越大 动态调整大小。
一个重要的注意事项:如果任何一个维度 图像小于612像素, Instagram会向你发出警报 用户说我们无法打开 文件。这是我们目前的政策 高档或拉伸图像到我们的 最小尺寸。
答案 0 :(得分:5)
如果有人感兴趣,这是执行此类操作所需的实际文档:
答案 1 :(得分:3)
Instagram已注册URL scheme instagram://
(在您的iPhone游戏中输入“instagram:// something”并点击“打开”)。也许您的应用已发现将图像发送到Instagram的格式 - or Instagram provides a documented API。
对于可能的参数,check this post。
答案 2 :(得分:2)
我认为正在发生的事情(或者可能发生的事情,也谢谢Angelo)是第一次:
100张1张相机将图像保存到Photos.app 然后,它将图像的名称/文件名/路径传递给Instagram(通过网址方案) 然后,Instagram从Photos.app中检索照片并加载它。
除了图像之外,可能没有其他方法可以做到这一点,但是如果你看一下UIDocumentInteractionController类,它允许你在其他应用程序中打开文件。