2013-04-04 27 views
1

我的activityViewController添加到我的應用程序象下面,傳遞圖像器件和模擬器不同UIActivityController行爲

UIActivityViewController *avc = [[UIActivityViewController alloc]initWithActivityItems:[NSArray arrayWithObjects:img,nil] applicationActivities:[NSArray arrayWithObjects:nil]]; 
     [self presentModalViewController:avc animated:YES]; 
     [avc release]; 

在在模擬器(Twitter,Facebook和微博賬戶的所有未配置):

選項郵件,推特,臉書,微博,分配給聯繫人,保存到相機膠捲,打印和複印默認顯示。

但設備:

在我的應用程序

:Twitter,Facebook和微博僅配置了賬戶顯示。

safari:無論帳戶是否配置,twitter,facebook和weibo選項都可用。

我期待在我的應用程序中的safari同樣的行爲。我錯過了一個特定的步驟?

回答

0

我想你只想在你的UIActivityViewController中顯示一些特定的服務。您可以將一個名爲excludedActivityTypes的屬性定義爲如下,以避免某些默認活動。

UIActivityViewController *yourvc = [[UIActivityViewController alloc]initWithActivityItems:[NSArray arrayWithObjects:img,nil] applicationActivities:[NSArray arrayWithObjects:nil]]; 
yourvc.excludedActivityTypes = @[UIActivityTypePostToWeibo,UIActivityTypePrint,UIActivityTypeMail,UIActivityTypeCopyToPasteboard];//Try this code in simulator.. you can only see FB & Twitter. 
     [self presentModalViewController:yourvc animated:YES]; 
     [avc release]; 

同樣可以排除默認UIActivityViewController ..

+0

對不起,我認爲我應該更清楚。即使用戶在設置中沒有鏈接到設備的帳戶,我也希望twitter,facebook和weibo選項在設備上的應用中可用 – tzl 2013-04-04 10:02:07

+0

即使帳戶沒有配置設備,上面的代碼也會提供這些選項。 。 – Mani 2013-04-04 10:18:11

+0

這可以在模擬器上工作(但模擬器上的行爲是正確的),但不是在設備上。對於你來說,在設備上,沒有配置Facebook帳戶,是activitycontroller中的facebook選項? – tzl 2013-04-04 10:37:55

2

好吧,我想通這個問題。

UIActivityViewController中顯示的選項完全取決於要共享的項目的類型。例如,如果有視頻,則不會顯示Facebook或Twitter選項。但如果它是一個圖像和標題,它肯定會顯示相關選項。

下面將出現如郵件,微博,臉譜,assignToContact,保存到相機膠捲,打印,複印應用等

// Create the content 
NSString *message = @"The Upcoming App Scribble Talk"; 
UIImage *imageToShare = [UIImage imageNamed:@"createbtn.png"]; 

NSArray *objectsToShare = [NSArray arrayWithObjects:message, image, nil]; 

但是,以下將只會顯示相機膠捲,電子郵件或複製。

NSString *message = @"The Upcoming App Scribble Talk"; 
NSString *videoToShare = @"myFirsScribble.mov"; 
NSURL *videoPath = [NSURL fileURLWithPath:videoToShare]; 

NSArray *objectsToShare = [NSArray arrayWithObjects:message, videoPath, nil]; 
相關問題