Ошибка Apple Mach-O Linker (APActivityIcon)
У меня проблема! Извините, я новичок в программировании, и я не знаю, что делать. Я внедрил некоторый код, чтобы настроить мой ActivitiViewController. Я создал новый класс, который я связал с моим кодом:
- (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]()
Любые подсказки, предложения или решения?
Спасибо
Ответы
Ответ 1
APActivityIcon.m
, вероятно, не скомпилируется с вашим приложением, когда оно, вероятно, должно быть.
Если это часть библиотеки, вам придется настроить эту библиотеку как зависимость в Xcode, а затем связать приложение с этой статической библиотекой.
Ответ 2
Простые 4 шага к следующему:)
Шаг 1: Нажмите название проекта
![enter image description here]()
Шаг 2: Нажмите "Название проекта под целевыми объектами" и выберите "Настроить фазу"
![enter image description here]()
Шаг 3: Проверьте список исходных файлов компиляции и добавьте имя отсутствующих файлов, нажав кнопку внизу внизу
![enter image description here]()
Шаг 4: Введите имя файла, и он отобразит файл в списке поиска, просто добавьте его, и все готово:)
**
Надеюсь, это поможет:) Happy Coding
Ответ 3
Вам нужно проверить, имеют ли целевые архитектуры в связанных проектах библиотеки все архитектуры основной цели.
Другими словами, перейдите к настройкам сборки проекта, проверьте строку "Архитектуры" (по умолчанию у вас теперь есть armv7 и arv7s), затем перебирайте каждый проект включенных библиотек и проверяйте, есть ли у них одинаковое.
Ответ 4
Если это проблема с вашей архитектурой, вы можете решить ее, установив параметры BuildActiveArchitectureOnly в своем проекте, а также настройки целевой сборки.
Обратитесь к этому. Надеюсь это поможет. Счастливое кодирование:)