是否有一个URL方案,通过该方案,人们可以使用预先选择的特定媒体片段打开推特应用,并发布预先选择的消息?
我知道存在以下内容:
twitter://post?message=hello%20world
您还可以指定一个帐户:
twitter://post?message=hello%20world&account=helloworld
我希望能够在用户相机胶卷中打开带有预先选择的图像或视频的Twitter以及消息。
答案 0 :(得分:0)
这种排序过去曾经使用Twitter Kit完成,但是Twitter dropped support用于TwitterKit。
自2018年10月31日起,我们将不再为GitHub上的开源SDK(iOS,Android,Unity)积极贡献,接受问题或提出请求。在此日期之后,我们还将停止通过Cocoapods,Carthage和Bintray JCenter发行SDK。 GitHub上所有这三个SDK的文档和源代码将保持可用状态,以存档状态提供。
此外,使用Twitter套件要求您拥有Twitter应用程序,并且用户必须向您的Twitter应用程序授予访问其帐户信息的权限。
我能够使用Branch.io深层链接解决此问题。
TLDR
info.plist LSApplicationQueriesSchemes
twitter://post?message=\(myBranchUrl)
您可以找到有关将Branch集成到您的iOS项目here
中的更多信息。您还可以在下面签出一些示例代码:
let buo = BranchUniversalObject.init(canonicalIdentifier: "content/12345")
buo.title = "My Content Title"
buo.contentDescription = "My Content Description"
buo.imageUrl = "https://lorempixel.com/400/400"
buo.publiclyIndex = true
buo.locallyIndex = true
buo.contentMetadata.customMetadata["key1"] = "value1"
let lp: BranchLinkProperties = BranchLinkProperties()
lp.channel = "facebook"
lp.feature = "sharing"
lp.campaign = "content 123 launch"
lp.stage = "new user"
lp.tags = ["one", "two", "three"]
lp.addControlParam("$desktop_url", withValue: "http://example.com/desktop")
lp.addControlParam("$ios_url", withValue: "http://example.com/ios")
lp.addControlParam("$ipad_url", withValue: "http://example.com/ios")
lp.addControlParam("$android_url", withValue: "http://example.com/android")
lp.addControlParam("$match_duration", withValue: "2000")
lp.addControlParam("custom_data", withValue: "yes")
lp.addControlParam("look_at", withValue: "this")
lp.addControlParam("nav_to", withValue: "over here")
lp.addControlParam("random", withValue: UUID.init().uuidString)
buo.getShortUrl(with: lp) { [weak self] (url, error) in
if let err = error {
// Handle Error
}
if let branchUrl = url, let urlScheme = URL(string: "twitter://post?message=\(branchUrl)") {
if UIApplication.shared.canOpenURL(urlScheme) {
UIApplication.shared.open(urlScheme, options: [:], completionHandler: nil)
} else {
// Twitter not installed
}
} else {
// Url Error
}
}