Parse API 1.6.4 - невозможно создать проект
Я загрузил новый API-интерфейс iOS (1.6.4) и попытался создать свой проект. Когда я это сделаю, я получаю эту ошибку:
Undefined symbols for architecture arm64" "_BFTaskMultipleExceptionsException", referenced from:
___53+[PFObject(Private) deleteAllAsync:withSessionToken:]_block_invoke214 in Parse(PFObject.o)
___65+[PFObject(Private) _deepSaveAsync:withCurrentUser:sessionToken:]_block_invoke311 in Parse(PFObject.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Снимок экрана:
![screenshot]()
Ответы
Ответ 1
Временное обходное решение для Parse 1.6.4 и Facebook SDK 3.23:
Добавьте к вашему AppDelegate.m или другому классу следующую константу после импорта и перед секцией реализации:
NSString *const BFTaskMultipleExceptionsException = @"BFMultipleExceptionsException";
@interface IPAppDelegate ()
@end
@implementation IPAppDelegate
Он должен решить проблему, пока она не будет решена на стороне Parse/Facebook.
-
Обновление. Это решение предназначено только для версий Facebook и Parse SDK, перечисленных выше, и эти версии сейчас устарели.
Новый Parse SDK 1.7.4 работает корректно с новым SDK версии 4.0 и не должно быть такой проблемы.
Ответ 2
Мне удалось выяснить URL-адрес для тех, кому нужен Parse iOS v1.6.3.
https://parse.com/downloads/ios/parse-library/1.6.3
Я могу подтвердить, что все правильно компилируется с использованием 1.6.3.
Ответ 3
Размещение
NSString *const BFTaskMultipleExceptionsException = @"BFMultipleExceptionsException";
в приложении Делегат, предложенный Сергеем Сурковым между импортом и реализацией, а затем добавив libstdС++. 6.dylib в фазах сборки работал у меня. Также просмотрите fooobar.com/questions/171131/...
Ответ 4
У меня была такая же проблема, используя последние SDK из Parse (1.7.4) и Facebook (4.2.0). Проблема вызвана тем, что Bolts.framework включен как в SDK Parse, так и в Facebook. По какой-то причине структура Bolts в Parse всегда новее, чем та, которая включена в SDK для Facebook.
После многих попыток установки, удаления и повторной установки этих SDK с использованием метода перетаскивания и с помощью Cocoapods мне, наконец, удалось преодолеть эту проблему, выполнив следующие шаги:
- Я удалил полностью любой экземпляр структур Parse, Facebook и Bolts из моего проекта;
- Я повторно добавил структуру FBSDKCoreKit (и ShareKit и LoginKit для нужд моего проекта) в соответствии с шагами на странице разработчиков Facebook: https://developers.facebook.com/docs/ios/getting-started/
Обязательно НЕ копируйте элементы в свой проект.
-
Я повторно добавил структуру Parse к проекту с помощью метода перетаскивания. Я также добавил фреймворк ParseFacebookUtilsV4, потому что мне нужно было создать пользователей через Facebook.
-
Это был самый важный шаг, который разрешил все: я добавил файл Bolts.framework, предоставленный Parse, перетащив его в проект, но, не обращая внимания на его копирование в проект (как и в структуре FBSDKCoreKit, Я отменил выбор "Копировать элементы в папку группы получателей". Если вы скопируете его в папку проекта, проект не будет создан.
Эти шаги, наконец, решили все мои проблемы.
Ответ 5
если вы используете cocoapods, попробуйте pod update Bolts
Ответ 6
EDIT2: обновление FacebookSDK 3.23.2 разрешает эту проблему и включает в себя болты 1.1.4: https://developers.facebook.com/resources/facebook-ios-sdk-3.23.2.pkg
EDIT:
Drop -ObjC "Другой флаг компоновщика" в настройках сборки.
Bolts.framework не требуется в Parse, если интегрирован SDK Facebook.
Начиная с Facebook iOS SDK 3.14 bolts.framework включен. https://developers.facebook.com/docs/ios/upgrading-3.x
Попробуйте удалить свой ручной экземпляр болтов .framework.
Ответ 7
Просто чтобы записать запись прямо.
Проблема вызвана конфликтом с рамкой Bolts между болтами SDK для Facebook и рамочной платформой Parse. Временным решением для решения этой проблемы является использование Cocoapod для вашей зависимости от SDK для Facebook, которая поможет во время исправления.
Ошибка была подтверждена Facebook и назначена соответствующей команде для исправления.
Пожалуйста, следуйте https://developers.facebook.com/bugs/383331175179417/ для обновлений.
Ответ 8
убедитесь, что в ваш проект импортирован фреймворк рамки фреймворка sdk (поставляется с fb sdk).
Ответ 9
я получил аналогичную ошибку ( "... не является символом dylib" и "Undefined для архитектуры" ), потому что я перетащил всю папку синтаксического анализа ( "parse-library-1.7.4-2" ) в свой xcode проект, когда мне нужно было перетащить только те рамки, которые мне нужны ( "Bolts.framework" и "Parse.framework" ). удалили папку синтаксического анализа, перетащили по двум фреймворкам, тогда все работает так, как ожидалось:)
Ответ 10
У меня была такая же проблема. Обновление болтов до 1.1.4 разрешило это для меня (Болты были выше 1.1.3).
Если вы используете cocoapods, измените или добавьте эту строку в свой podfile
pod 'Bolts', '1.1.4'
Если нет, просто скачайте его здесь: https://github.com/BoltsFramework/Bolts-iOS/releases
Ответ 11
Попробуйте загрузить последнюю версию SDK и заменить все фреймворки Parse на последнюю версию.