2014-05-08 55 views
0

我正在創建一個遊戲,我有一個分享按鈕。在這個分享按鈕中,我想分享文本和鏈接。用戶不能編輯文本是很重要的,因爲他們可以改變分數。什麼是最好的解決方案?我已經搜索過,但在大多數指南中,您可以以用戶身份更改文本。分享facebook而不能編輯文本

解決方案是什麼?

+0

如果是UITextView,只需將editable屬性設置爲NO即可。或者你可以使用UILabel。 – CrimsonChris

+0

[阻止用戶修改SLComposeViewController中的部分文本]的可能重複(http://stackoverflow.com/questions/13477970/prevent-users-from-modifying-part-of-the-text-in-slcomposeviewcontroller) –

回答

4

簡短的回答是,你不應該在沒有給他們編輯評論/狀態的選項的情況下代表用戶發佈某些內容。您可以使用API​​調用(而不是分享表)來完成此操作,但這隻能用於發佈用戶在應用中其他位置輸入的內容。

// NOTE: pre-filling fields associated with Facebook posts, 
// unless the user manually generated the content earlier in the workflow of your app, 
// can be against the Platform policies: https://developers.facebook.com/policy 

[FBRequestConnection startForPostStatusUpdate:@"User-generated status update." 
         completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 
        if (!error) { 
         // Status update posted successfully to Facebook 
         NSLog(@"result: %@", result); 
        } else { 
         // An error occurred, we need to handle the error 
         // See: https://developers.facebook.com/docs/ios/errors 
         NSLog(@"%@", error.description); 
        } 
        }]; 

這是Facebook's "Sharing in iOS" documentation

另一種選擇(儘管可能也違反規則)是創建文本的圖像,並讓用戶共享圖像。然而,在做這件事之前,要把自己放在用戶的鞋子裏 - 你真的需要發佈類似的東西嗎?

+0

那麼很多遊戲都有共享功能,您可以在Facebook上分享您的分數?那怎麼可能違反規則? – user3423384

+2

根據https://developers.facebook.com/docs/apps/review/prefill,這是違規行爲。是的,它始終在發生,但是由於我展示了可用於此目的的代碼,因此我想明確指出根據Facebook不允許這樣做。您可以將他們的分數發佈到服務器上並共享該帖子的鏈接(如在策略頁面視頻中的示例中)。 –