0

我遇到問題了!對不起,我是編程新手,我不知道該怎麼做。我實現了一些代碼,來定製我的ActivitiViewController。我創建了一個新類,它鏈接到我的代碼:Apple Mach-O鏈接器錯誤(APActivityIcon)

- (IBAction)share:(id)sender 
{ 
    Class avcClass = NSClassFromString(@"UIActivityViewController"); 
    if (avcClass) { 

     APActivityProvider *ActivityProvider = [[APActivityProvider alloc] init]; 
     UIImage *ImageAtt = [UIImage imageNamed:@"MyApp Icon 512x512.png"]; 
     NSArray *Items = @[ActivityProvider, ImageAtt]; 


     APActivityIcon *ca = [[APActivityIcon alloc] init]; 
     NSArray *Acts = @[ca]; 

     UIActivityViewController *ActivityView = [[UIActivityViewController alloc] 
                initWithActivityItems:Items 
                applicationActivities:Acts]; 
     [ActivityView setExcludedActivityTypes: 
      @[UIActivityTypeAssignToContact, 
      UIActivityTypeCopyToPasteboard, 
      UIActivityTypePrint, 
      UIActivityTypeSaveToCameraRoll, 
      UIActivityTypePostToWeibo]]; 

     [self presentViewController:ActivityView animated:YES completion:nil]; 
     [ActivityView setCompletionHandler:^(NSString *act, BOOL done) 
      { 
       NSString *ServiceMsg = nil; 
       if ([act isEqualToString:UIActivityTypeMail])   ServiceMsg = @"Mail sended!"; 
       if ([act isEqualToString:UIActivityTypePostToTwitter]) ServiceMsg = @"Post on twitter, ok!"; 
       if ([act isEqualToString:UIActivityTypePostToFacebook]) ServiceMsg = @"Post on facebook, ok!"; 
       if ([act isEqualToString:UIActivityTypeMessage])  ServiceMsg = @"SMS sended!"; 
       if (done) 
       { 
        UIAlertView *Alert = [[UIAlertView alloc] initWithTitle:ServiceMsg message:@"" delegate:nil cancelButtonTitle:@"ok" otherButtonTitles:nil]; 
        [Alert show]; 


      }}]; 

.........但是,我運行代碼,但仍出現錯誤!我創建的兩個文件名爲APActivityProvider。所以現在我得到這個錯誤,不知道如何處理這個。我的架構有什麼錯誤?

enter image description here

任何的竅門,建議或解決方案?

感謝

+0

你有進口APActivityIcon.h?活動圖標是否是正確目標的一部分? (檢查左側的文件檢查器,應該有用於目標的複選框。選擇您的APActivityIcon.m,並檢查文件檢查器的目標)。該錯誤似乎表明它找不到它。 – WDUK

+0

是還輸入!? – MasterRazer

回答

1

APActivityIcon.m可能不會與您的應用程序一起編譯,當它可能應該是。

如果它是庫的一部分,那麼您將不得不將該庫配置爲Xcode中的依賴項,然後將您的應用程序鏈接到該靜態庫。

+0

你可以照一張照片嗎?這將是非常有用的。謝謝 – MasterRazer

+0

@NoahRaissi只是嘗試從您的項目中刪除該文件,然後重新添加它。照片需要這麼多時間! :) – justin

+0

那麼這就是以前的事......我不知道該做什麼?! – MasterRazer

0

您需要檢查,如果在鏈接庫項目的詳細目標架構具有主要對象的每一個架構。

換句話說,轉到您的項目構建設置,檢查體系結構行(默認情況下,您將擁有armv7和arv7s),然後遍歷包含的庫的每個項目並檢查它們是否相同。

+0

我只有一個項目 – MasterRazer

+0

如果您在編譯源中編譯階段中列出了APActivityIcon.m文件,則應該檢查。 –

+0

在嗎?!任何其他解決方案 – MasterRazer

0

如果是您的架構問題,您可以通過檢查項目中的設置BuildActiveArchitectureOnly以及目標構建設置來解決該問題。

參照this。希望這可以幫助。快樂編碼:)

3

簡單4步跟隨:)

第1步:點擊項目名稱

enter image description here

第2步:下目標點擊項目名稱並選擇Build Phases Tab

enter image description here

第3步:檢查編譯源文件列表,並通過底部

按+鍵

enter image description here

步驟4添加缺少的文件名:進入文件名,它會顯示在搜索列表中的文件,只需添加它,你就完成了:)

enter image description here **

希望這將有助於:)編碼快樂