我試圖發佈文章標題和文章URL到twitter,然後將該應用的名稱附加到推文的末尾。因此,像爲什麼我無法使用SLComposeViewController發佈到Twitter?
「如何種植仙人掌(通過@appname)」 連接URL
我遇到了麻煩搞清楚如何平衡的標題和URL的長度,以確保推文不超過140個字符。所以如果網址很長,請關閉一些文章標題,以便它可以少於140個字符。
看着Twitter's guidelines for SLComposeViewController
他們的狀態這一部分:
注意,設置初始內容的方法與布爾值響應;這使開發人員無需擔心當前正在初始化的Tweet正文中的字符數。如果該方法返回YES,則有足夠的空間來添加內容。如果該方法返回NO,則您嘗試添加的內容會導致Tweet超過140個字符。字符統計的邏輯也實現了t.co URL換行所需的當前字符數。
(從「代碼示例」部分)
鑑於這種情況,我寫了下面的代碼來構建一個鳴叫和平衡的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
,每次返回NO
時將標題的長度減1,以便接近所需的長度。
但它永遠不會返回YES!即使當我知道它應該。我使用了一篇可能超過140個字符的文章,因爲標題長度爲105個字符,URL爲55,加上應用功勞。所以它理論上應該能縮短標題,然後加上它,但它從來沒有發生過。
那麼這是怎麼回事?如何完成與SLComposeViewController
的鏈接附件?
我在模擬器和iPhone 5S上運行了您的示例項目,並且在兩種情況下(即動畫運行時)都獲得了由Xcode報告的0%的CPU。也許你需要重新啓動一些東西(Xcode,device,ext。)? –
出現它是一個錯誤:http://openradar.appspot.com/14273967 –