gpt4 book ai didi

ios - 为什么我无法使用 SLComposeViewController 发布到 Twitter?

转载 作者:可可西里 更新时间:2023-11-01 03:17:42 25 4
gpt4 key购买 nike

我正在尝试将文章标题和文章 URL 发布到 Twitter,然后将应用程序的名称附加到推文的末尾。所以像

"How to grow a cactus (via @appname)" attached URL

我无法弄清楚如何平衡标题和 URL 的长度以确保推文不超过 140 个字符。因此,如果 URL 真的很长,请删掉一些文章标题,使其不超过 140 个字符。

查看Twitter's guidelines for SLComposeViewController他们陈述了这一部分:

Note that the methods for setting initial content respond with Boolean values; this allows you, the developer, to not have to worry about the current count of characters in the body of the Tweet that you are initializing. If the method returns YES, there was enough room to add the content. If the method returns NO, the content you attempted to add would result in a Tweet longer than 140 characters. The logic for character counting also takes into effect the current number of characters required for t.co URL wrapping.

(来自“代码示例”部分。)

鉴于此,我编写了以下代码来构建推文并平衡 URL 长度和文章长度:

if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) {
SLComposeViewController *twitterViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
[twitterViewController addURL:[NSURL URLWithString:self.article.url]];

NSString *titleToShare = self.article.title;
while ([twitterViewController setInitialText:[NSString stringWithFormat:@"%@ (via @SyllableApp)", titleToShare]]) {
titleToShare = [titleToShare substringToIndex:titleToShare.length - 1];
}

[self presentViewController:twitterViewController animated:YES completion:nil];
}

基本上是添加 URL,然后通过遍历 setInitialText: 方法构造推文的其余部分,直到它返回 YES,将标题的长度每次减 1它返回 NO 以便更接近所需长度的时间。

但它永远不会返回 YES! 即使我知道它应该返回。我使用的一篇文章可能超过 140 个字符,因为标题长 105 个字符,URL 为 55,加上应用程序信用。所以理论上它应该能够缩短标题然后添加它,但它从来没有发生过。

这是怎么回事?如何使用 SLComposeViewController 完成链接附件?

最佳答案

while ([twitterViewController setInitialText:[NSString stringWithFormat:@"%@ (via @SyllableApp)", titleToShare]])=>while (![twitterViewController setInitialText:[NSString stringWithFormat:@"%@ (via @SyllableApp)", titleToShare]])

有一个!状态不佳,因此您可以在合适的时候缩短帖子,而不是在太长的时候缩短 ;)

关于ios - 为什么我无法使用 SLComposeViewController 发布到 Twitter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19761698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com