ios - 通过 ActivityViewController iOS swift 共享应用程序链接?

标签 ios swift uiactivityviewcontroller

我的应用尚未上线。我从 App Store Connect 获得了应用 ID。我想在社交媒体应用程序上分享应用程序链接。我使用了 UIActivityViewController:

let string1 = "itms-apps://itunes.apple.com/app/idXXXXXXX"
let url = NSURL(string: string1)

let shareItems = [UIApplication.sharedApplication().openURL(url!)]
    
let activityViewController = UIActivityViewController(activityItems: shareItems, applicationActivities: nil)
self.presentViewController(activityViewController, animated: true, completion: nil)

问题:它没有显示 WhatsApp 等社交媒体应用。

enter image description here

最佳答案

Swift 4 或更高版本的解决方案:

此解决方案也适用于 iPad(上述解决方案在 iPad 上崩溃):

if let urlStr = NSURL(string: "https://apps.apple.com/us/app/idxxxxxxxx?ls=1&mt=8") {
    let objectsToShare = [urlStr]
    let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)

    if UIDevice.current.userInterfaceIdiom == .pad {
        if let popup = activityVC.popoverPresentationController {
            popup.sourceView = self.view
            popup.sourceRect = CGRect(x: self.view.frame.size.width / 2, y: self.view.frame.size.height / 4, width: 0, height: 0)
        }
    }

    self.present(activityVC, animated: true, completion: nil)
}

关于ios - 通过 ActivityViewController iOS swift 共享应用程序链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35861962/

相关文章:

ios - UIActivityViewController 需要很长时间才能呈现

ios - 解析查询包装错误,在设备上的模拟器崩溃时工作正常

objective-c - dispatch_async 与 beginBackgroundTaskWithExpirationHandler

iOS - "Simulate"推送通知

ios - 在代码中将最小值和最大值分配给 WKInterfaceSlider

ios - 使用自定义背景图像摆脱 UINavigationBar 上的 1px 阴影

swift - swift 中的函数参数接受数组或字符串

ios - 是我不了解 UIActivityViewController,还是目前的实现很糟糕?

iOS 8 用户界面事件 : disable specific third-party sharers?

ios - 获取上次关闭的iOS App的信息