2011-12-21 124 views
1

我已經完成了在iOS 5上發佈推文消息的示例,它工作的很好。我有弱鏈接的Twitter的框架,在iOS 5。但是,當我在iOS 4.2上運行相同的應用程序,它會引發我一個錯誤象下面這樣:Twitter/Twitter.h:沒有這樣的文件或目錄

error: Twitter/Twitter.h: No such file or directory

我怎樣才能解決這個問題?請幫助我。

注意:在iOS 5開發機器上 - 我使用Twitter API完成了示例項目,並且它工作正常,並且在iOS 5設備上也進行了測試。現在試圖獲得對iOS4.2的支持,我開始研究iOS 4.2開發機器。現在我得到相同的錯誤:

error: Twitter/Twitter.h: No such file or directory.

我不知道如何解決這個錯誤。由於我需要獲得對4.2的支持,我必須在iOS4.2開發機器上工作。但我無法編譯。請幫忙。

+0

所以你的導入是「#import 」,你的'iOS部署目標'是什麼?你是否也包裹了你的'tweeting'代碼,如下所示:if(NSClassFromString(@「TWTweetComposeViewController」))....或類似的東西 – bandejapaisa 2011-12-21 09:01:05

+0

bandejapasia:謝謝你的回覆,我的deplyment目標是iOS 4.2 – user198725878 2011-12-21 09:03:50

回答

1

嘗試:

if (NSClassFromString(@"TWTweetComposeViewController")) { 
    [self iOS5Tweet:statusText]; 
} else ..... 

- (void) iOS5Tweet:(NSString *)text { 
TWTweetComposeViewController *tweet = [[[TWTweetComposeViewController alloc] init] autorelease]; 

if (![TWTweetComposeViewController canSendTweet]) 
{ 
    UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Error" message:@"No Twitter accounts are set up on this device" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] autorelease]; 
    [alert show]; 
    return; 
} 

[tweet setInitialText:text]; 
[tweet setCompletionHandler:^(TWTweetComposeViewControllerResult result) { 
    [self dismissModalViewControllerAnimated:YES]; 
    [self performSelectorOnMainThread:@selector(tweeted:) withObject:[NSNumber numberWithInt:result] waitUntilDone:NO]; 
}]; 
[self presentModalViewController:tweet animated:YES]; 

}

我有4.2的iOS部署目標,與最新的SDK(5.0)建設。部署和運行都很好。

+0

我目前正在測試ios4.2不是ios5 – user198725878 2011-12-21 09:11:02

+0

是的,我也是。我正在使用的應用程序在iOS 4.2上運行良好。您需要將基礎SDK設置爲5.0,您是否已經完成了這項工作? – bandejapaisa 2011-12-21 09:44:08

+0

我的意思是,我試圖從ios 4.2上創建,這是我的mac上,而不是iPhone設備 – user198725878 2011-12-21 09:48:16

2

對於SDK,您需要將其設置爲最新版本5.x.但對於目標,您可以將其設置爲4.2或您的應用將支持的任何版本。你可以用幾個選項來檢查,這裏是我用過的:

#import <Twitter/TWTweetComposeViewController.h> 

if ([TWTweetComposeViewController class]) 
{ 
   //can tweet 
} else 
{ 
   //can't tweet 
} 
+0

這不適用於小於5的iOS。它會崩潰。 TWTweetComposeViewController將不存在。你需要檢查使用NSString:if(NSClassFromString(@「TWTweetComposeViewController」))...就像我在我的答案中所做的那樣。 – bandejapaisa 2011-12-21 11:31:21

+0

我在當前應用商店中的應用中使用了它。它與iOS 4.3一起工作。確保你只是將我的基本SDK設置爲iOS 5.0。 – user523234 2011-12-21 14:59:07

+1

@bandejapaisa - 如果使用4的基礎SDK進行構建。2或更高(這是這樣做的情況下),弱連接現在發生在每個班的基礎上:http://www.marco.org/2010/11/22/supporting-older-versions-of-ios -while-using-new-apis不再需要使用'NSClassFromString()'來確定一個類是否存在於較舊的操作系統版本中,你可以執行上面顯示的內容。你也不需要明確的弱鏈接框架了。 – 2011-12-21 16:37:54

相關問題