在 iOS Swift 上发布到 Instagram 屏幕

2024-04-05

我正在努力让从我的应用程序到 Instagram 的分享变得简单。我想要的是进入下面屏幕截图所示的屏幕。我已经尝试过 instagram-stories://share deeplink 并且我已经阅读了所有这些文档:https://developers.facebook.com/docs/instagram/sharing-to-stories/ https://developers.facebook.com/docs/instagram/sharing-to-stories/

然而,无论我做什么,当 url 方案操作触发时,它都会直接将图像共享到故事中。我在这里缺少什么?

这是我的代码摘录:

           if let image = image {
                guard let urlScheme = URL(string: "instagram-stories://share"),
                    let imageData = image.pngData() else {
                    return
                }

                if UIApplication.shared.canOpenURL(urlScheme) {
                    let pasterboardItems = [["com.instagram.sharedSticker.backgroundImage": imageData]]
                    let pasterboardOptions = [UIPasteboard.OptionsKey.expirationDate: Date().addingTimeInterval(60*5)]

                    UIPasteboard.general.setItems(pasterboardItems, options: pasterboardOptions)

                    UIApplication.shared.open(urlScheme, options: [:], completionHandler: nil)
                }
            }

您需要做的是使用以下网址打开 Instagram 应用程序:
instagram://library?LocalIdentifier=并作为参数传递PHAsset.localIdentifier.
由于某种原因,这个钩子没有在文档中的任何地方列出????‍♂️

但为了接收图像/视频的本地标识符,您必须首先将图像/视频保存到用户的照片库中。 所以最终的代码看起来像这样

let videoFileUrl: URL = URL(fileURLWithPath: "path/to/my/video")!
var localId: String?
PHPhotoLibrary.shared().performChanges({
    let request = PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: videoFileUrl)
    localId = request?.placeholderForCreatedAsset?.localIdentifier
}, completionHandler: { success, error in
    // completion handler is called on an arbitrary thread
    // but since you (most likely) will perform some UI stuff
    // you better move everything to the main thread.
    DispatchQueue.main.async {
        guard error == nil else {
            // handle error
            return
        }
        guard let localId = localId else {
            // highly unlikely that it'll be nil,
            // but you should handle this error just in case
            return
        }

        let url = URL(string: "instagram://library?LocalIdentifier=\(localId)")!
        guard UIApplication.shared.canOpenURL(url) else {
            // handle this error
            return
        }
        UIApplication.shared.open(url, options: [:], completionHandler: nil)
    }
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 iOS Swift 上发布到 Instagram 屏幕 的相关文章

  • 如何在 Swift 中使用未知密钥解码 JSON 响应?

    我想将数据拆分为https blockchain info ticker https blockchain info ticker这样每一行都是它自己的String在一个数组中 我正在制作一个获取所选货币价格的应用程序 因此 如果有人想要澳
  • 如何在 Firebase Analytics 事件中报告参数

    我用过Fabric with iOS在此之前 在同一分析事件中报告自定义参数非常容易 如下所示 Answers logCustomEvent withName saved border customAttributes image inde
  • ReactNative - 未处理的 JS 异常:SyntaxError

    当我尝试在 iOS 8 上启动 RUN 应用程序时 出现这个奇怪的错误 Unhandled JS Exception SyntaxError仅此而已 不再有更多信息 有any1偶然发现这个问题吗 在 iOs 9 上应用程序运行正常 x代码版
  • 在 hooks 文件夹中使用节点脚本时,cordova 插件安装问题

    Cordova 3 4 hooks 未在 iOS 中正确安装提到的插件 我正在添加install plugins js进入文件夹project project root hooks after platform add其中有以下代码 usr
  • 显示即将到来的 Facebook 好友生日

    我仍然得到列表脸书好友以 的形式一月至十二月按升序排列 见下图 但现在我想以以下形式显示 Facebook 好友列表即将到来的生日 Like 最近的热门内容 我使用以下查询来获取好友列表 Log d LOG TAG requestFrien
  • 删除派生数据文件夹后,Xcode 不断重新创建派生数据文件夹

    自动完成功能在 Xcode 6 中不再起作用 我四处搜索 发现删除派生数据文件夹可以解决此问题 每次我删除它时 它都会回来 然后就不会再自动完成了 有什么建议么 Thanks 没关系 我解决了这个问题 我没有声明需要在类内的方法中使用的变量
  • 如何解决malloc_error_break?

    我在 iOS 3 0 模拟器上遇到此错误 但在 3 1 3 和 3 2 模拟器上没有遇到此错误 创建符号断点后malloc error break 我在日志中看到了这一点 Session started at 2010 02 13 19 1
  • 在 iOS 中使用 FB SDK 是否需要 Facebook 的成功审核?

    现在我需要使用Facebook SDK来自我的 iOS 应用程序中的 Facebook 所以我填写了有关我的应用程序的信息developer facebook com应用程序详细信息 但是 当我用我的设备测试我的应用程序时 我可以发布到 F
  • 为 Swift 对象/属性设置观察者

    我一直在寻找一种在连接到 Mac 的显示器数量发生变化时触发方法的方法 我知道我可以获得 NSScreen screens count 的值 但我需要找到一种方法来在该值发生变化时创建通知或其他内容 或者指示所连接的显示器数量发生变化的其他
  • 通过 renderInContext 定位要绘制的视图:

    我想画一个UIView在我目前的CGGraphicsContext 我画的是UIView via renderInContext 但它的位置不正确 始终位于左上角 我拥有所有的价值观UIView可用于绘制UIView CGRect fram
  • Swift 3 中的 JSON 解析

    有没有人能够找到一种在 Swift 3 中解析 JSON 文件的方法 我已经能够返回数据 但在将数据分解为特定字段时我没有成功 我会发布示例代码 但我已经尝试了很多不同的方法但没有成功 并且没有保存任何代码 我想要解析的基本格式是这样的 提
  • 为 iOS 应用程序加载基于 SVG 的图像资源

    我从 thenounproject 购买了一个图标作为 SVG 图像 然后我使用一个名为的 macOS 程序Gapplin http gapplin wolfrosch com 将此 SVG 导出为 PNG 图像 它显示为 100x100
  • 调用 SwiftUI 中位置 #11、#12 处的额外参数 [重复]

    这个问题在这里已经有答案了 我在 SwiftUI 中的切换开关上不断收到 调用中位置 11 12 处有额外参数 错误 我见过其他人有 调用中的额外参数 错误 但答案似乎没有帮助 另外 我的错误是 位置 11 12 我还没有看到其他人发生这种
  • 2018年通过网站链接打开Facebook应用程序的正确方法?

    首先我要说的是 我已经研究了这个问题四个小时了 从各种线程中 我看到链接到fb page PAGEID is the OLD通过网站链接打开 Facebook 应用程序的方式fb facewebmodal f href FACEBOOKUR
  • 对成员“buildBlock()”的引用不明确

    我一直在尝试使用 Swift UI 为 iOS 13 制作一个应用程序 但我不断收到这个奇怪的错误 对成员 buildBlock 的引用不明确 无论我做什么 错误都不会消失 我尝试一次对代码段进行注释 以查看哪一部分可能导致了问题 但唯一有
  • 以编程方式从底部裁剪图像

    我正在开发自定义相机应用程序 一切进展顺利 但我在从底部裁剪图像时遇到了问题 即 裁剪后的图像与原始图像具有完全相同的宽度 但高度将为原始图像的 1 3 并且必须从底部开始 斯威夫特3解决方案 func cropBottomImage im
  • ios 在后台处理推送通知

    我想保存应用程序处于后台状态时到达的推送通知 我知道关于 void application UIApplication application didReceiveRemoteNotification NSDictionary userIn
  • 可以获取位置,但无法获取航向

    我目前只使用模拟器 但我在 iOS 模拟器上快速使用 CoreLocation 时遇到问题 我得到此代码打印的位置更新 但从未得到标题 我不想当然 我正在尝试制作一个指南针类型的应用程序 它将显示目标的方位 class CompassVie
  • ios 导航 堆栈操作

    我在尝试从 iOS 应用程序操作导航堆栈时遇到问题 或者至少是由于这种操纵而产生的行为 我的情况 我有 3 个 ViewController 控制器a显示多个级别 控制器 b 是游戏视图 控制器 c 是某种分数 显然 我将在控制器 a 中选
  • 企业发行版在 Swift 应用程序中与 iOS8 配合不佳

    我在使用 swift 应用程序在 iOS 8 设备上运行 Enterprise 版本时遇到问题 如果我使用非企业帐户进行代码签名 它似乎工作正常 有人遇到这个问题吗 以下是我在尝试使用企业帐户运行构建以进行协同设计时在 iOS 设备上收到的

随机推荐

  • 具有自定义委托或数据源的视图控制器的状态保存

    我正在尝试使用 iOS 6 我的应用程序是 7 0 状态保留来保留从另一个视图控制器以模态方式呈现的视图 因此 它具有典型的模态视图控制器解雇模式 TNTLoginViewController h 包含 protocol TNTLoginV
  • Angular 2 - 多语言支持

    我们在应用程序中使用 Angular 2 0 在该应用程序中 我们希望提供多语言支持 我们知道如何使用 Angular 1 0 来实现 但不知道2 0如何使用 我可以推荐ngx 翻译 https github com ngx transla
  • 如何在 GraphQL 服务器上启用 gzip?

    根据本文 http graphql org learn best practices 鼓励任何生产 GraphQL 服务启用 GZIP 并鼓励其客户端发送标头 接受编码 gzip 我已经在 Postman 中测试了这一点 启用或禁用 Acc
  • Matplotlib 文本透明度

    我想知道是否可以更改 Matplotlib 中文本的透明度 set alpha不起作用 在文档中我找不到任何相关内容 是否有任何解决方法 我想将它连接到 pick event EDIT 我实际上是想改变图例文本的透明度 虽然我试图解决这个问
  • 将现有 Python 库集成到 Anaconda

    我在 Ubuntu 上安装了一些 Python 库 工具包 例如 NLTK SciPy 和 NumPy 不过我想尝试使用 Anaconda 发行版 在安装 Anaconda 之前我应该 删除现有的库吗 无需删除系统 Python 蟒蛇坐在它
  • Hazelcast 表现较慢

    我们正在尝试在我们的应用程序中使用 Hazelcast 作为分布式缓存 这是我们的配置
  • 如何拥有可能包含空值的主键组合?

    我有两个表 A 和 B 定义如下 create table A A 1 varchar2 10 NOT NULL A 2 varchar2 10 A 3 varchar2 10 constraint A PK primary key A 1
  • 根据 Multimap Google Guava 中的键按升序对数据进行排序

    我创建了一个多重地图 Multimap
  • 如何知道脚本是从 django 还是从 cli 运行

    我有 config py 可以从 cli python 脚本和 Django view py 导入 如何知道 config py 中的什么进程导入了它 Django 中可能有一些特殊的变量吗 I tried if sys stdin isa
  • 在 Heroku 评论应用程序上使用 N 个网络测功机和 M 个工作测功机

    我目前正在使用 Heroku 的评论应用程序功能 它非常棒 唯一的问题是 目前 当从拉取请求创建新应用程序时 它只有 1 个 Web Dyno 和 0 个工作线程 我的应用程序需要一些 Web Dynos 和工作人员 因此我需要在仪表板中手
  • 如何在 WPF 中显示正在拖动的项目?

    我一直在开发一个 WPF 应用程序 它本质上是一个所见即所得编辑器 并且使用拖放功能 我可以使用拖放功能 但需要使其更加直观和用户友好 其中一部分将涉及实际显示被拖动的项目 做到这一点最简单的方法是什么 我拖动的项目没什么特别的 但我什至不
  • Spring:在自定义 ViewResolver 中访问 HttpServletRequest

    我想在基于自定义 InternalResourceViewResolver 的解析器中访问原始请求的 HttpServletRequest 对象 有什么简单的方法可以做到这一点吗 我这里使用Spring 2 5 The ViewResolv
  • 如何使用 ASP.NET MVC 3 在页面之间传递“昂贵”的数据?

    我正在做我的第一个 ASP NET MVC 项目 事实上 根据记录 这是我的第一个制作网站 这是一个针对 HTML 5 的移动网页 该页面查找一些 昂贵 的信息 首先 它使用 html 5 地理编码功能从客户的浏览器中获取经纬度 我将该信息
  • Sass 加载器在 webpack 中不起作用

    我试图在我的 webpack 配置中支持 scss 文件 但当我运行 webpack build 命令时 我不断收到以下错误 ERROR in css loader sass loader app styles scss Module bu
  • Android如何设置视图的透明图像资源?或删除图像?

    ImageView v findViewById R id imageViewHeart1 setImageResource R drawable heart 我想从图像资源中删除图形 因此 ImageView v findViewById
  • 如何始终在今天的日期打开 PrimeNg 的 p 日历

    我在我的 Angular 应用程序中使用 PrimeNg 的日历 我正在使用多重选择模式并将日历绑定到数据库中的日期数组 日历从数据库范围内的最新日期开始 但我希望它始终从今天的日期开始 然后用户可以向后和向前导航以查看之前从数据库中选择的
  • 正则表达式从未知长度的单词字符串末尾修剪空格

    示例字符串 This is a test This test This test string has more words 在上面的每个例子中 我都有不同长度的单词串 每个字符串后面都跟有一系列空格 之后没有任何内容 我的应用程序使用 围
  • R dcast 在 python pandas 中的等效项

    我正在尝试在 python 中执行与以下命令等效的操作 test lt data frame convert me c Convert1 Convert2 Convert3 values rnorm 3 45 12 age col c 23
  • 如何将字符串从 Delphi 程序的一个实例发送到另一个实例?

    将字符串从程序的一个实例发送到程序的另一个实例的最佳和最简单的方法是什么 接收程序必须使用接收到的字符串作为参数来执行一个过程 我开始阅读有关 DDE 的内容 但我感到很困惑 我还有哪些其他选择 实现这一点的最简单方法是什么 使用命名管道
  • 在 iOS Swift 上发布到 Instagram 屏幕

    我正在努力让从我的应用程序到 Instagram 的分享变得简单 我想要的是进入下面屏幕截图所示的屏幕 我已经尝试过 instagram stories share deeplink 并且我已经阅读了所有这些文档 https develop