Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Поддержка arm64 #148

Closed
Dmitry-rman opened this issue Mar 4, 2014 · 24 comments
Closed

Поддержка arm64 #148

Dmitry-rman opened this issue Mar 4, 2014 · 24 comments

Comments

@Dmitry-rman
Copy link

При попытке сборки проекта под arm64 вываливается ошибка на libYandexMapKit.a:
Undefined symbols for architecture x86_64:
"OBJC_CLASS$_YMKConfiguration", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

При этом, на arm7 и arm7s всё нормально. Данная проблема критична, поскольку не позволяет делать release и ad-hoc билды.
Устанавливал yandex map kit через cocoapod, в demo проекте такая же беда.
Где что нужно подправить чтобы всё заработало или проблема глобальна в библиотеке?

@iSapozhnik
Copy link

Тоже самое. 👍 Команда Яндекса, нужна помощь!

@eugene0785
Copy link

Проблема стала особенно актуальной после перехода на iOS 7.1 SDK, где убрали стандартную архитектуру без arm 64. Исправьте, пожалуйста!

@dmagda
Copy link

dmagda commented Mar 12, 2014

Никто уже ничего не будет исправлять в данной Map Kit, так как он больше не поддерживается и сотрудники Яндекса, по всей видимости, вообще не обращают внимание на новые баги.

Даже данный критичный баг так и не удалось пока сподвигнуть пофиксить, что уж говорить про этот
#139 (comment)

Убирайте arm64 из "Valid Architectures" и все у вас соберется и на iOS 7.1 SDK, если хотите пользоваться Яндекс картами в ущерб производительности.

@Dmitry-rman
Copy link
Author

Убрать arm64 не проблема, но я не смогу сейчас сделать Ad-Hoc дистрибуцию или залить в App Store релизную версию, нужная поддержка iOS6. Или я что-то не так делаю.

@dmagda
Copy link

dmagda commented Mar 12, 2014

Странно, а у меня ad hoc нормально собирается, когда arm64 отсутствует в Valid Architectures.
Также сижу на свежей iOS 7.1 SDK.

@Dmitry-rman
Copy link
Author

Поддержка старых iOS < 7 есть?

@dmagda
Copy link

dmagda commented Mar 12, 2014

Да, начиная с 6.0 и проект только для iPhone.

@Dmitry-rman
Copy link
Author

Да, получилось. Что-то видимо я не так делал раньше :) Выходит, что на iPhone5S это будет запускаться и устанавливаться всё равно без arm64 в "Valid Architectures"? Но под симулятор для 64bit проект не запустишь?

@dmagda
Copy link

dmagda commented Mar 12, 2014

На iPhone 5S процессор будет работать в 32-битном режиме с вашим 32-битным приложением, а iOS-рантайм будет подгружать 32-битные версии библиотек. Никаких проблем не будет.

Процесс перевода всех приложений на 64-битную архитектура долго будет тянуться, в Windows с 64-битными процессорами до сих пор работает куча 32-битных приложений.

В случае с симулятором, да, запустить не получиться, так как симулятор специально сделан для тестирования 64-битной версии вашего приложения, а она таковой не является.

@Dmitry-rman
Copy link
Author

Спасибо, ясно. Значит это не столь критично. Но всё равно хотелось бы побыстрее новую версию яндекс карт.

@EvgenKor
Copy link

У меня такая же проблема, но я одного не могу понять. Что означает яндексовское "Мы разрабатываем новую версию."? Разработка длится уже очень долго, или имеется ввиду JS API? И вообще планируется ли что-то для Native Apps? Или так и будем висеть на неподдерживаемой версии, пока Apple не уберет поддержку arm7?

@Dmitry-rman
Copy link
Author

Да, очень интересно когда намечен выпуск новой версии SDK. Тоесть вопрос на самом деле стоит ребром - стоит ли использовать SDK яндекс карты в своих проектах если сам яндекс не поддерживает их и ничего не комментирует? Очень интересно

@dmagda
Copy link

dmagda commented Mar 14, 2014

На данных страницах предельно ясно сказано, что разрабатывается новое API и также будет обновляться SDK под мобильные платформы:
https://api.yandex.ru/mapkit/
https://github.com/yandexmobile/yandexmapkit-ios

Когда обновление выйдет - уже дело компании-разработчика. Точную дату вам Яндекс не скажет, но уже много раз представители говорили что скоро. Хотя скоро, да, растягивается...

@djmadcat
Copy link

С выходом Xcode 6, iOS 8 и iPhone 6 ситуация становится все хуже. Отсутствие сборки для arm64 доставляет большое неудобство в использовании библиотеки - появляется острая необходимость искусственно ограничивать возможности приложения.
Зачастую разработчики не могут отказаться от использования библиотеки по причине поддержки существующих проектов и требования к новым проектам.
Считаю отсутствие поддержки arm64 критическим недостатком, требующим исправления ASAP. В описании к проекту есть обещание не забрасывать критические ошибки.

Хотя бы просто пересоберите текущую версию с поддержкой arm64 и x86_64.
Я не требую новую версию, я прошу сделать так, чтобы текущую можно было использовать без бубна.

P.S. Тем более Яндекс.Навигатор и Яндекс.Карты вышли уже достаточно давно. Не разбивайте к чертям любящие сердца разработчиков=)

@Dmitry-rman
Copy link
Author

Присоединяюсь. Я, если честно, был лучшего мнения о яндексе. Это уже как-то несерьезно. Такими темпами прийдётся выпиливать все их карты из своих приложений постепенно...

@DZamataev
Copy link

Возрадуйтесь, 1.0.6 версия вышла https://github.com/CocoaPods/Specs/blob/master/Specs/YandexMapKit/1.0.6/YandexMapKit.podspec.json

  • не нужно шаманить с флагами после установки через cocoapods
  • собирается под стандартные архитектуры, а не только под 32-битные

@djmadcat
Copy link

Святый-божий! Ура! Спасибо, что не оставили нас!=)
Более 7 месяцев с момента заведения бага в трекер=)
Пойду по случаю пирожок с полки достану=)))

@djmadcat
Copy link

Мда. Рано обрадовался...

$ pod install
Analyzing dependencies
Downloading dependencies
...
Installing YandexMapKit 1.0.6 (was 1.0.5)
...
Generating Pods project
Integrating client project
$ lipo -info ./Pods/YandexMapKit/libYandexMapKit.a 
Architectures in the fat file: ./Pods/YandexMapKit/libYandexMapKit.a are: armv7 armv7s i386

Ничего не изменилось.
Тут либо руками собирать и проверять, либо job на билд-сервере настроить нормально.

Вы пытались

@DZamataev
Copy link

Справедливости ради, issue на github не равно багу в трекере Яндекса (JIRA).

Отправлено с iPhone

14 окт. 2014 г., в 20:02, Alexey Aleshkov [email protected] написал(а):

Святый-божий! Ура!
Более 7 месяцев с момента заведения бага в трекер=)
Пойду по случаю пирожок с полки достану=)))


Reply to this email directly or view it on GitHub.

@djmadcat
Copy link

Тем хуже. Какое нужно хладнокровие, чтобы завести (или еще не завели?) баг спустя недели или даже месяцы... Официальный анонс архитектуры arm64 населению был год назад. Для разработчиков инструменты открывают месяца за три.

Это вот вредность во мне говорит=)

@djmadcat
Copy link

У меня для всех радостно-безрадостная новость от Apple: https://developer.apple.com/news/?id=10202014a

Цитирую:
"Starting February 1, 2015, new iOS apps uploaded to the App Store must include 64-bit support and be built with the iOS 8 SDK, included in Xcode 6 or later. To enable 64-bit in your project, we recommend using the default Xcode build setting of “Standard architectures” to build a single binary with both 32-bit and 64-bit code."

Эта новость автоматически превращает нашу (разработчиков) "прихоть" в вашу проблему.

Сарказм: Если по поводу сборки под платформы arm64 и x86_64 еще нет таска во внутреннем трекере, самое время его создать. Глядишь так к марту и сборка будет.

P.S.: Да, я в курсе, что под капотом есть всякие c++ и прочие радости, которые могут быть мало совместимы с понятием "сборка под 64 бита" (хотя от этого не легче).

@alkozin
Copy link

alkozin commented Oct 23, 2014

Ждем добра

@GandaLF2006
Copy link

@DZamataev что ты имеешь ввиду под "
собирается под стандартные архитектуры, а не только под 32-битные"?

@SoundBlaster
Copy link

Есть большой вебовый проект на Yandex.Картах — к нему необходимо приложение для iOS. И как мне вообще полагаться на эту библиотеку, если через 3 месяца всё станет тщетно? Может сразу взять Google + OSM? Yandex, пора релизить новый SDK!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests