1. 程式人生 > 其它 >iOS 呼叫系統分享 cocos creator

iOS 呼叫系統分享 cocos creator

技術標籤:Object Ccocos

在沒有指定分享樣式的情況下,呼叫系統分享無非是最簡單快捷的實現方法,系統分享介面如下:

你可以通過以下程式碼呼叫系統分享元件:

 UIActivityViewController *activity = [[UIActivityViewController alloc] initWithActivityItems:@[] applicationActivities:nil];
[self presentViewController:activity animated:YES completion:NULL];

在cocos creator 生成的ios工程中的AppController.mm中新增

+(void)createShareLink:(NSString*)url msgTxt:(NSString*)msgTxt{
    dispatch_async(dispatch_get_main_queue(), ^{
                 // 異常的程式碼 放置如下位置 非同步新增進任務佇列,新增一個子執行緒,去重新整理UI介面。
                 //設定分享的內容
                 NSString* text =[NSString stringWithFormat:@"%@%@", msgTxt, url];;
                 //陣列中存放分享的內容
                 NSArray* activityItems 
[email protected]
[text]; UIActivityViewController *activity = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil]; [_sharedInstance.viewController presentViewController:activity animated:YES completion:nil]; }); }

上面中的程式碼如果不加dispatch_async(dispatch_get_main_queue(), ^{}

會導致UI的處理必須是單執行緒的,所以當 在一個已存在的UI上切換新的UI時,會出現Only run on the main thread 錯誤。告訴你,只能在主執行緒上執行。