Ошибка «Everyplay SDK: This build has expired, please upgrade» на iPhone и iPad — как исправить?
Привет! Совсем недавно, после обновления на iOS 10, на своем iPhone и iPad я стал замечать странную ошибку, окошко с которой стало постоянно выскакивать при запуске некоторых игр и приложений. Устройство мне радостно сообщало что «Everyplay SDK: This build has expired, please upgrade» при этом некоторые программы и игры все-таки запускались, но работали «как-то не так». То приложение вылетало через несколько минут после запуска, то что-то там в нем не работало, то просто выбивало на главный экран.
Короче, удовольствие «так себе».
Конечно, можно было удалить программы, которые вели себя подобным образом, но некоторые мне прям очень нужны, да и не во все игры я доиграл до конца!:) Поэтому, было решено исправлять другим способом. Каким? Сейчас все расскажу, поехали!
Для начала, что такое SDK о котором говориться в тексте сообщения? Это комплекс средств для разработки программ и приложений для iOS, выпускаемый компанией Apple. То есть, любая программа, находящаяся в App Store, создана при помощи этих средств. Естественно, этот комплект не просто один раз выпускается и все. Он также, как и операционная система постоянно обновляется, дополняется новыми функциями и компонентами.
А теперь переходим к ошибке «Everyplay SDK: This build has expired, please upgrade». Она является простым следствием несовместимости той версии iOS, которая установлена на вашем iPhone или iPad, и той версии SDK при помощи которого выпущено приложение. Это если в общих чертах, не особо углубляясь.
В принципе, это не обязательно может быть уже установленная программа. Возможно, какая-то программа или игра только устанавливается, обновляется, зависла в ожидании — не важно. Главное здесь неполная совместимость комплекса SDK и версии iOS.
Что делать, что бы убрать надпись «Everyplay SDK: This build has expired, please upgrade» при запуске игр и приложений?
Достаточно выполнить два действия:
- Обновить устройство до последней версии iOS. Если что-то не получается — читайте здесь.
- В том случае, когда вы знаете что за программа вызывает сбой, то нужно зайти в App Store и выполнить ее обновление. Если, как и я, вы не понимаете какая игра или приложение вызывает ошибку — придется обновлять абсолютно все.
Но, даже после перечисленных действий может ничего не произойти и окошко с текстом «Everyplay SDK: This build has expired, please upgrade» будет продолжать преследовать Вас.
Почему?
Потому что даже если разработчики программы заранее «подготовились» и знают о таком «баге», то выпуск новой версии приложения — процесс далеко не моментальный и на него требуется время (одно только одобрение модераторами App Store может длиться несколько дней!). А значит, стоит запастись терпением и ждать до тех пор, пока в официальном магазине не появится заветное обновление.
P.S. Честно говоря, я так и не понял в итоге, что за программа была проблемной, но после обновления «всего и вся» что установлено на моем iPhone, надоедливая ошибка SDK перестала появляться. И это здорово!:)
P.S.S. Если остались какие-то вопросы — добро пожаловать в комментарии (обсудим и разберём все непонятные моменты!). Ну и ставьте «лайки»! Ведь каждый «+1», это минус одна ошибка в Вашем устройстве. Стоит проверить!:)
Дорогие друзья! Минутка полезной информации:
1. Вступайте в группу ВК — возможно, именно там вы сможете получить всю необходимую вам помощь!
2. Иногда я занимаюсь ерундой (запускаю стрим) — играю в игрушки в прямом эфире. Приходите, буду рад общению!
3. Вы всегда можете кинуть деньги в монитор (поддержать автора). Респект таким людям!
P.S. Моя самая искренняя благодарность (карта *9644, *4550, *0524, *9328, *1619, *6732, *6299, *4889, *1072, *9808, *7501, *6056, *7251, *4949, *6339, *6715, *4037, *2227, *8877, *7872, *5193, *0061, *7354, *6622, *9273, *5012, *1962, *1687 + перевод *8953, *2735, *2760 + без реквизитов (24.10.2021 в 18.34; 10.12.2021 в 00.31)) — очень приятно!
Если вы откроете сво
ю любимую игру для iOS на своем iPhone, iPad или iPod Touch и получите SDK для всех игр ошибка, не паникуйте! Вы не делаете ничего плохого. За последние несколько дней об этой проблеме лицензирования сообщали несколько геймеров, и ее можно легко обойти, нажав кнопку В ПОРЯДКЕ кнопка. Это похоже на общую ошибку iOS, которая распространяется на несколько игр App Store. У нас есть отчеты от пользователей, которые играют: Мошенник: Игра, Хитмэн: Снайпер, Приключения Рэймана, Первый удар, Бесплодные земли: Падение тьмы, Террария и многие другие игры.
Сообщение об ошибке одинаково во всех случаях и появляется всякий раз, когда приложение открывается. Посмотрите на принт-скрин, загруженный рядом, и сравните, получаете ли вы такое же приглашение. В названии говорится SDK для всех игр и сообщение гласит: Сборка устарела, обновите.
Что такое Everyplay SDK?
SDK — это аббревиатура от Software Development Kit, используемая разработчиками iOS (в данном случае) для создания приложений и игр для iPhone, iPad и других совместимых смарт-устройств. Он также известен как devkit. Everyplay SDK — это платформа, предназначенная для записи видео и аудио игры, в которую вы играете. Это позволяет игрокам делиться своим игровым опытом, что способствует популярности приложения. Everyplay бесплатен как для разработчиков, так и для конечных пользователей.
Причина ошибки Everyplay SDK
По словам разработчиков фреймворка, есть две причины появления этого всплывающего окна, в котором говорится, что существует проблема с лицензированием фреймворка. Это либо вызвано пиратской версией игры, либо сборками разработки. Глядя на то, когда эти ошибки начали возникать, я уверен, что мы можем установить связь с выпуском iOS 10.
Как решить ошибку Everyplay SDK
Так что, если вы играете в игру, которую скачали и установили не из App Store и попадаете под категорию пиратских, убедитесь, что вы переключились на легальную версию.
Однако из-за большого количества пользователей, сообщающих об этой проблеме в различных играх, обновление программного обеспечения наверняка поможет. Ошибки начали появляться после выпуска iOS 10. Ожидайте обновления App Store для игры, которая помечает эту ошибку, в ближайшее время!
Вывод: Этот сбой не влияет на другие функции игры. Кран В ПОРЯДКЕ и вперед, наслаждайтесь шутером, платформером или любой другой игрой, которую вы сейчас поглощаете.
-
#1
On launch I’m getting an error: «Everyplay SDK. This build has expired».
The game seems to play normally but I don’t want to take any chances.
-
#2
From what I’ve seen, this looks like an issue with the unity build, which is odd.
I assume this is a legal copy of Terraria?
-
#3
Absolutely. I own several copies on various devices. I’ve had no problems on my Xbox copies (Xbox one and 360). I haven’t tried on my laptop. I assumed it wouldn’t affect them because the iOS build is of a different developer using iOS specific SDKs. I generally play with my nephew but haven’t had a chance to check with him to see if it is happening on his iPad yet.
Unit One
Administrator
Staff member
Administrator
-
#4
My iPad has started giving me that error also. It didn’t last week. I know that 505 was going to try to get Everyplay working again, but it’s been awhile and I’m not sure if that’s still the plan.
Everyplay is currently disabled, so video recording is not possible. We are awaiting a new SDK and will have this re-implemented in a future update.
-
#5
Even if disabled, I also started seeing thismessage on iPhone just today…
-
#6
Ah, so it’s the Code for recording video. It shouldn’t interfere with gameplay then. I figured it would start popping up on other iOS devices. It appeared on mine at midnight after a full day of game play so I knew it was just a licensing issue. I just wasn’t sure what the SDK was used for. Thanks for the follow up.
-
#7
I have the same problem for 2 hours. I played the game this morning (without connecting wi-fi) and nothing’s happened. But when I connect to wi-fi this message started to come. So, I send an e-mail to 505 Games Mobile Support first. Then I started to search about it. All forums I saw created just a day ago.
-
#8
I just started getting this error today. It is kind of annoying having it pop up every time I load the game.
-
#9
It isn’t happening for me, though it appears when I change my device’s date to the future(ex: 2016 changed to 2017).
Unit One
Administrator
Staff member
Administrator
-
#10
To let you know, 505 Games is aware of the error and is looking to sort it out. It has to do with the disabled Everyplay function. For now, just hit the «Okay» button and it shouldn’t affect gameplay at all.
-
#11
On launch I’m getting an error: «Everyplay SDK. This build has expired».
The game seems to play normally but I don’t want to take any chances.
View attachment 139088
for me it seems to play normally up until i connect to someone else’s world, and then the game almost immediately crashes. i hope this is fixed.
-
#12
It isn’t happening for me, though it appears when I change my device’s date to the future(ex: 2016 changed to 2017).
That message has popped up when I start the game too, it has been affecting my gameplay:/ for example I can’t buy anything from any NPC’s, I’d have 27 platinum coins and I’d want to buy let’s say a cristal ball, when I press buy it keep saying » not enough money to buy this item «
Unit One
Administrator
Staff member
Administrator
-
#13
That message has popped up when I start the game too, it has been affecting my gameplay:/ for example I can’t buy anything from any NPC’s, I’d have 27 platinum coins and I’d want to buy let’s say a cristal ball, when I press buy it keep saying » not enough money to buy this item »
Hi Minestone, are you sure you’ve got the 27 platinum coins in your inventory when you try to purchase a Crystal Ball? Not in your piggy bank, safe, or chests, but in your inventory?
Can you take a screenshot of the the message the Wizard (or any other NPC) gives you that you don’t have enough money showing the coins in your inventory?
-
#14
Hi Minestone, are you sure you’ve got the 27 platinum coins in your inventory when you try to purchase a Crystal Ball? Not in your piggy bank, safe, or chests, but in your inventory?
Can you take a screenshot of the the message the Wizard (or any other NPC) gives you that you don’t have enough money showing the coins in your inventory?
Yes, I had all my coins on me at the time when I wanted to buy it. It’s so weird‘ will this be an on and off thing? because it’s letting me buy said item again. I’m very sorry, if I would have known you needier I screeenshot I would have taken one but unfortunately I didn’t.
Unit One
Administrator
Staff member
Administrator
-
#15
Yes, I had all my coins on me at the time when I wanted to buy it. It’s so weird‘ will this be an on and off thing? because it’s letting me buy said item again. I’m very sorry, if I would have known you needier I screeenshot I would have taken one but unfortunately I didn’t.
It’s okay Minestone. The Everyplay not working shouldn’t be affecting gameplay, so if you run into anything else that isn’t working you can make a post about it and we’ll try to figure out what’s happening.
-
#16
Everytime I get in to terraria I press okay and as soon as I get onto a world it crashes now I can’t play terraria.
Unit One
Administrator
Staff member
Administrator
-
#17
Everytime I get in to terraria I press okay and as soon as I get onto a world it crashes now I can’t play terraria.
Razorpine, is it crashing every time in one specific world? Can you go into other worlds? And what about if you create a new world, can you go into the new world?
It sounds like your world may be the problem, not the Everyplay ‘okay’ button.
-
#18
It is only with my two main worlds but I have a lot of stuff on those worlds and don’t want to lose it
With new characters I can’t even get on the worlds
[doublepost=1478453476,1478453350][/doublepost]I can get on new worlds
Last edited: Nov 6, 2016
Unit One
Administrator
Staff member
Administrator
-
#19
It is only with my two main worlds but I have a lot of stuff on those worlds and don’t want to lose it
With new characters I can’t even get on the worlds
[doublepost=1478453476,1478453350][/doublepost]I can get on new worlds
If it’s consistent with the same worlds crashing each time, I’m sorry to say they are likely corrupted data files now and cannot be saved.
Hopefully, you’ve taken advantage of the extra save slots and manually made backups of those worlds before they were corrupted, explained here: Mobile Backup Instructions
-
#20
Everytime I get in to terraria I press okay and as soon as I get onto a world it crashes now I can’t play terraria.
Yes, we have the same issue as well. What is the plan to fix?
Last updated on April 6th, 2020 at 02:34 am
Posted in Apps or Games by Mike on October 1, 2016
Everyplay SDK: This build has expired Error.
If you open your favorite iOS game on your iPhone, iPad or iPod Touch and get the Everyplay SDK error, don’t panic! You’re not doing anything wrong. This licensing issue has been reported by a series of gamers, in the past few days, and can easily be bypassed by tapping the OK button. This seems like a generalized iOS error that is spread out across multiple App Store games. We have reports from users that play: Con Man: The Game, Hitman: Sniper, Rayman Adventures, First Strike, Badlands: Darkness Falls, Terraria and many other games.
The error message is the same in every case and occurs whenever the app is opened. Take a look a the print-screen uploaded nearby and compare if you’re getting the same prompt. The title states Everyplay SDK and the message reads: The build has expired, please upgrade.
What Is Everyplay SDK?
SDK is the abbreviation for Software Development Kit used by iOS developers (in this case) to create apps and games for iPhone, iPad and other compatible smart device. It’s also know as devkit. The Everyplay SDK is a framework that has the role to record video and audio of the game you’re playing. This allows players to share their gaming experience leading contributing to the app’s popularity. Everyplay is free of charge for both developers and the end user.
Everyplay SDK Error Cause
According to the the framework designers there are two reasons for this pop-up to come up, which states that there is a licensing issue with the framework. It’s either caused by pirated game version or development builds. Taking a look at when theses errors have started to occur, I’m sure that we can make a connection with the release of iOS 10.
How To Solve Everyplay SDK Error
So, if you play a game that you downloaded and installed outside of App Store and falls under the pirated category, make sure that you switch for the legit version.
However, due to the large number of users reporting this issue for various games a software update will surly do the trick. Errors have started popping up after the release of iOS 10. Do expect and App Store update available for the game that is flagging this error, anytime soon now!
Conclusion: Other game functionality isn’t affected by this glitch. Tap OK and go ahead and enjoy your shooter, platformer or whatever type of game you’re currently devouring.
Содержание
- Как исправить ошибку «Windows SDK версии 8.1» не был найден?
- Решение
- Другие решения
- Устранение неполадок пакета SDK для iOS
- Проблемы во время установки
- Данные аналитики не отображаются на портале
- Сбои не отображаются на портале
- Предупреждение, запрашивающее у пользователей обновление, не содержит строк, а только ключи для них
- В консоли отображаются сообщения, указывающие, что не удалось открыть базу данных.
- Распространение и обновление в приложении блокируют автоматические тесты пользовательского интерфейса
- Почему пакет SDK распространяется как «статическая библиотека»
- Почему двоичные файлы пакета SDK настолько велики? Мне интересует размер моего приложения
- Защита значения секрета центра приложений
- Исследуем iOS SDK и используем недокументированные API
- Дисклеймеры
- Краткая инструкция по поиску в SDK
- Как узнать сигнатуру неизвестной функции?
- Как исправить ошибки «EOSSDK-Win64-Shipping.dll Не найден (отсутствует)»
- EOSSDK-Win64-Shipping.dll
- Ошибка «Everyplay SDK: This build has expired, please upgrade» на iPhone и iPad — как исправить?
Как исправить ошибку «Windows SDK версии 8.1» не был найден?
Я недавно обновил Visual Studio 2015 и теперь, когда я пытаюсь построить любой проект всегда терпит неудачу, и я получаю ошибку
Код серьезности Описание Состояние подавления строки файла проекта
Ошибка MSB8036 Windows SDK версии 8.1 не найден. Установите требуемую версию Windows SDK или измените версию SDK в
страницы свойств проекта или щелкнув правой кнопкой мыши по решению и выбрав
«Ретаргетическое решение». Proj D: Program Files (x86) визуальная студия
2017 Common7 IDE VC VCTargets Platforms Win32 PlatformToolsets v141 Toolset.targets 34
Я переназначил решение, как оно было сказано, и проблема не исчезла, даже несмотря на то, что ретаргетинг был завершен. Я решил установить Visual Studio 2017 из-за этого, и, о чудо, он сделал то же самое. Я также использую Windows 7.
В чем проблема и как я могу это исправить?
Решение
Другие решения
У меня был win10 SDK, и мне оставалось только выполнить ретаргетинг, а затем я перестал получать эту ошибку. Идея заключалась в том, что проекту необходимо обновить целевой Windows SDK.
Еще один способ (работал на 2015 год) — открыть «Установка / удаление программ» (Apps & функции), найдите Visual Studio, выберите Изменить. В открывшемся окне нажмите Modify, проверьте
Я установил версию 8.1 SDK:
Он использовал 1 ГБ (немного больше) при установке.
Источник
Устранение неполадок пакета SDK для iOS
Проблемы во время установки
Данные аналитики не отображаются на портале
Убедитесь, что модули SDK интегрированы правильно.
Если вы хотите просмотреть журналы, отправляемые на серверную часть, измените уровень ведения журнала на подробный в приложении. Пакет SDK выполнит печать журналов в консоли. Вставьте следующий вызов перед запуском пакета SDK:
Убедитесь, что пакет SDK центра приложений успешно настроен, отображается в журналах (на уровне журнала сведений ), а затем проверьте, отображаются ли журналы HTTPS-запросов.
Убедитесь, что устройство подключено.
Иногда на портале может потребоваться несколько минут для работы с журналом. Подождите некоторое время, если это так.
Сбои не отображаются на портале
Убедитесь, что модули SDK интегрированы правильно.
Сбои в работе центра приложений пересылают журнал аварийного восстановления только после перезапуска приложения. Кроме того, пакет SDK не пересылает журналы аварийного восстановления, если вы подключены к отладчику. Убедитесь, что отладчик не присоединен к сбою приложения.
Если вы хотите просмотреть журналы, отправляемые на серверную часть, измените уровень ведения журнала на подробный в приложении. Пакет SDK выполнит печать журналов в консоли. Вставьте следующий вызов перед запуском пакета SDK:
Убедитесь, что пакет SDK центра приложений успешно настроен, отображается в журналах (на уровне журнала сведений ), а затем проверьте, отображаются ли журналы HTTPS-запросов.
Не используйте другие библиотеки, предоставляющие функции создания отчетов о сбоях. В приложении может быть интегрирован только один пакет SDK для отчетов о сбоях.
Убедитесь, что устройство подключено.
Иногда на портале может потребоваться несколько минут для работы с журналом. Подождите некоторое время, если это так.
Чтобы проверить, получил ли сервер в центре приложений о сбое, перейдите к разделу потока журнала в службе аналитики. Ваши сбои должны появиться там после отправки.
Предупреждение, запрашивающее у пользователей обновление, не содержит строк, а только ключи для них
Это означает, что элемент не AppCenterDistributeResources.bundle был добавлен в проект. Убедитесь, что файл был удален в проект Xcode и отображается на Copy Bundle Resources этапе сборки целевого приложения. Он должен появиться там, если вы добавили файл с помощью операции перетаскивания – Xcode делает это автоматически. Если файл отсутствует на этапе сборки, добавьте его, чтобы он был скомпилирован в пакет приложения.
Если вы используете Cocoapods, ресурсы автоматически позаботится об этом. Попробуйте переустановить Pod.
В консоли отображаются сообщения, указывающие, что не удалось открыть базу данных.
Распространение и обновление в приложении блокируют автоматические тесты пользовательского интерфейса
Если включены обновления в приложении, они будут блокировать автоматические тесты пользовательского интерфейса. Процесс обновления будет пытаться пройти проверку подлинности в серверной части центра приложений. Рекомендуется не включать распространение центра приложений для целевого объекта тестирования пользовательского интерфейса.
Почему пакет SDK распространяется как «статическая библиотека»
Основные цели разработки пакета SDK для App Center — это минимальное воздействие на приложение с помощью центра приложений, а также наличие модульного пакета SDK. Это приведет к распространению пакета SDK в виде нескольких динамических связанных общих библиотек.
Исторически iOS не поддерживали динамические связанные общие библиотеки, но были добавлены в iOS 8, как описано в этой записи блога с помощью Ландон Белова.
Apple рекомендует оптимизировать запуск приложения, чтобы не более 400 мс в сеансе ввдк. Для достижения этой цели они специально рекомендуют использовать для динамических общих библиотек статические общие библиотеки. Распространение пакета SDK для App Center для iOS в качестве статической связанной библиотеки следует рекомендациям Apple, чтобы обеспечить максимальную производительность и минимальное воздействие на приложение, включающее пакет SDK.
Чтобы получить дополнительные сведения о статически связанных общих библиотеках и динамических связанных общих библиотеках, мы рекомендуем использовать общую документацию по Apple в разделе. Чтобы узнать больше о влиянии динамических связанных библиотек на производительность, прочитайте запись блогахорацек.
Почему двоичные файлы пакета SDK настолько велики? Мне интересует размер моего приложения
двоичные файлы аппцентер распространяются как платформы fat, содержащие срезы для всех архитектур iPhone и для симулятора iPhone. Вот почему, например, аппцентер. Framework составляет 10,5 МБ для загрузки.
чтобы проиллюстрировать это, мы создали пустое приложение цели-C с помощью Xcode 9,2, добавили двоичные файлы центра приложений в приложение и распределенные сборки выпуска на iPhone 7 с iOS 11,3.
Мы выполнили тесты без Bitcode и не использовали тонкое использование приложений. Эти методы можно использовать для уменьшения размера двоичного файла приложения еще больше.
Приведенные ниже числа могут различаться и зависеть от параметров сборки, поэтому следует рассмотреть их в виде грубого указания. С другой стороны, Добавление пакета SDK для App Center в приложение оказывает минимальное влияние на размер двоичного файла приложения.
Используемые модули центра приложений | Размер экспортируемого IPA | Размер установки |
---|---|---|
Нет (пустое приложение) | 24 КБ | 132 КБ |
Аналитика Центра приложений | 120 КБ | 377 КБ |
Сбой в центре приложений | 239 КБ | 705 КБ |
Распространение через Центр приложений | 163 КБ | 528 КБ |
Все модули центра приложений | 314 КБ | 930 КБ |
Защита значения секрета центра приложений
app_secret — Это идентификатор приложения, необходимо узнать, к какому приложению применяется трафик, а также не может использоваться для извлечения или изменения существующих данных. Если ваше app_secret приложение предоставлено, самый большой риск отправит неправильные данные приложению, но это не повлияет на безопасность данных.
Чтобы получить конфиденциальные данные, необходимо предоставить маркерприложения или пользователя, который создается на стороне клиента. Нет способа обеспечить полную безопасность данных на стороне клиента.
Вы можете улучшить безопасность приложения, используя переменную среды, чтобы внедрить секрет приложения в код. Таким образом, секрет не отображается в коде.
Источник
Исследуем iOS SDK и используем недокументированные API
Из этой главы, да и из всей этой книги понятно, что самые лакомые куски программирования под iOS включены в публичные фреймворки, но не в SDK. Неофициальная политика Apple насчет этого проста: вы можете всё это использовать, но только на свой страх и риск. Ваш код может сломаться при следующем обновлении прошивки. Вам самим придётся искать компромисс между риском и прибылью.
Дисклеймеры
Краткая инструкция по поиску в SDK
Оставшиеся, если их не более нескольких десятков, можно попытаться скормить гуглу. Случается, что кто-то уже занимался исследованием API, связанных с найденными символами, и в этом случае задача, считай, решена. В более сложных случаях приходится заниматься реверс-инжинерингом, то есть выяснять, как работают найденные функции, как использовать найденных оповещения и тому подобное.
В большинстве случаев, сгенерированного заголовчного файла достаточно: в нем должны быть довольно хорошо описаны иерархии наследования классов, структуры, методы и т.д, чтобы потратив немного времени можно разобраться с API и использовать его в своём предложении.
К сожалению, иногда информации содержащейся в заголовочном файле недостаточно, чтобы заставить код работать, и тогда приходится анализировать ассемблерный код, сгенерированный otool.
Как узнать сигнатуру неизвестной функции?
1. Найти в интернете, как это не банально. Мне довольно часто попадались китайский сайты, были корейский и японский сайты с очень полезной информацией. Обычно самого кода уже достаточно, чтобы понять что происходит и как используется данная функция, данный класс и т.д. Спасибо многословности и выразительности Objective-C!
2. Для многих простых функций, можно попытаться угадать сигнатуру. Внимание, это может быть довольно опасно.
Использование некоторые простые функции, таких как GSEventSetBackLightLevel, самоочевидно.
void GSEventSetBackLightLevel(float level);
Для многих других я использовал следующий трюк (на примере функции SBGetRingerSwitchState):
В результате этих нехитрых действий получается следующая сигнатура:
Кстати, если в названии функции присутствует слово get, то согласно naming conventions Objective-C эта функция должна возвращать значение по ссылке. Это также видно из приведенного примера.
3. Дизассемблирование. На примере все той же SBGetRingerSwitchState. Используем otool:
Из этого кода, используя даже поверхностные знания arm-ассемблера, можно предположить, что функция принимает два аргумента типа «слово» (word)
Выходит, что у функции два аргумента. Идем дальше, в самый конец.
…
00003964 9e04 ldr r6, [sp, #16]
00003966 6836 ldr r6, [r6, #0]
00003968 9903 ldr r1, [sp, #12]
0000396a 600e str r6, [r1, #0]
// примерно соответствует (в терминах языка си): *r1 = r6; т.е. по адресу, хранящемуся в r1 записывается значение из r6;
// Это значит, что функция возвращает значение по ссылке
0000396c 462e mov r6, r5
0000396e 4630 mov r0, r6
// результат выполнения функции помещается в r0
00003970 b012 add sp, #72
00003972 bdf0 pop
…
В сухом остатке получаем:
Продолжая анализировать этот асcемблерный код, уточняем типы и приходим к окончательному варианту:
Разные прошивки и разные устройства: что может сломаться и как это исправить?
Примеры
Пример 1:
Определение положения бокового переключателя вибро (a.k.a. Ring/Silent switch, Mute switch)
Одной из задач, которые стояли передо мной, было определение положения бокового переключателя, который в оригинале называется ring/silent switch. Этот переключатель используется для переключения между «тихим» и обычном/«громким» режимами в айфоне и айпаде. Поиск по StackOverflow дал решение:
Мои дальнейшие поиски по StackOverflow вывели меня на этот пост. В нем описывается библиотечная функция AudioServicesAddSystemSoundCompletion(), чьё нестандартное поведение рассматривалось разработчиками как баг.
Нестандартное поведение заключается в том, что вызов колбэка MyAudioServicesSystemSoundCompletionProc состоится в конце проигрывания звука в обычном режиме, но сразу после вызова AudioServicesPlaySystemSound в «тихом» режиме. Это создает лазейку для определения текущего состояния переключателя. Если, например, длина аудиофайла что мы проигрываем равна 1 с, то разница во времени вызова MyAudioServicesSystemSoundCompletionProc() в «тихом» и громком режиме составляет 1 c. На этом я построил свое второе, асинхронное решение для определения положения бокового переключателя. Вот оно:
Хотя это новое решение и было рабочим, оно не устраивало меня по нескольким причинам. Во-первых, оно было асинхронным и работало с ощутимой задержкой (около 1/10 секунды). Снижение задержки вело к ложным срабатываниям. Во-вторых, был побочный эффект — сам проигрываемый звук, который звучал достаточно громко чтобы смутить пользователя. Позже я искусственно выкрутил громкость в ноль в аудиоредакторе. В-третьих, это был уже слишком похоже на грязный хак, хотя это, например, не помешало создателям VSSilentSwitch продавать свое решение, по всей видимости основанное на том же эффекте.
Примерно через месяц я вернулся к этой проблеме. Я начал использовать команду nm для поиска символов в объектных файлах, на её основе я написал простейший shell-скрипт, листинг которого можно найти ниже (В разделе «Инструменты»). Скрипт запускается с одним, двумя или тремя параметрами, каждый из которых представляет ключевое слово.
Функция с названием SBGetRingerSwitchState выглядела многообещающе.
Для получения нужного порта использовалась функция:
из того же фреймворка.
Вот что получилось в итоге:
Пример 2:
IMEI (International Mobile Equipment Identity) — уникальный идентификационный
код, присваиваемый каждому телефону, своего рода MAC-адрес телефона (хотя MAC-адрес у телефона также есть)
Я уже и не помню, как я вышел проект Эрики Садун uidevice-extension, но по мере того, как я с ним разбирался он всё больше казался мне этакой программистской «золотой жилой».
Одна из категорий, UIDeviсe(IOKit_Extensions) содержит функции для определения IMEI. Я протестировал эти функции на iPhone 4 c iOS 5.1 и iPad c iOS 4.3, всё работало и я перешел к другим задачам. Но в ходе бета-тестирования выяснилось, что функция для определения IMEI не работает на новых устройствах: iPad 2, the new iPad и iPhone 4S. Для выяснения причин я отправился на StackOverflow, где мои опасения подтвердились. Поиски привели меня тогда к фреймворку под названием CoreTelephony.
Можно предположить что функция (_CTServerConnectionCopyMobileEquipmentInfo(. )) возвращает словарь(CFDictionaryRef) c ключами вида kCTMobileEquipmentInfo* и соответствующими им значениями. К счастью, на этот раз мне не пришлось восстанавливать сигнатуру. Поиск в гугле по запросу _CTServerConnectionCopyMobileEquipmentInfo привел меня на эту страничку, и вскоре функция для определения IMEI была готова.
Этот метод определения IMEI работает на всех устройствах.
Позже я нашел еще один метод определения IMEI (через lockdownd).
Пример 3:
Использование недокументированных оповещений: нажатия кнопок громкости.
Изначально я наивно полагал, что любая символьная константа, заканчивающаяся на «Notification» является названием системного оповещения и её можно использовать, просто зарегистрировав наблюдателя (observer) с помощью [NSNotificationCenter defaultCenter].
Написав тестовую программу, я принялся проверять, какие оповещения приходили в ответ на нажатия клавиш громкости.
Из составленного мной довольно большого списка опопвещений приходили только вот эти 2:
Недостаток этих оповещений в том, что
1) Нельзя напрямую определить, какая из двух кнопок была нажата
2) Нельзя отследить, когда нажата и когда отпущена каждая из кнопок
Ищу по другим ключевым словам:
Четыре оповещения из UIKit сработали не сразу: необходимо было подать связанную с ними команду.
После этого стали приходить оповещения о нажатиях соответствующих кнопок.
Побочный эффект: вызов данной функции приводит к тому, что кнопки громкости больше не регулируют громкость, так что по завершении работы с кнопками следует вызвать
Пример 4:
Использование недокументированных оповещений: отслеживание статуса SIM-карты
Работаем по проверенной схеме:
Наиболее подходящими мне показались оповещения под названиями:
1) kCTSIMSupportSIMInsertionNotification
2) kCTSIMSupportSIMStatusChangeNotification
3) kCTSIMSupportSIMTrayStatusNotification
Простейшая тестовая программа показала, что оповещения под названием (1) приходили только в момент вставки сим-карты (я мог бы догадаться и раньше по названию), (2) приходили именно тогда когда мне нужно (при вставке и вынимании), оповещения (3) не приходили вообще. Позже я узнал, что оповещения (3) относятся к специальному центру оповещений под названием CTTelephonyCenter. Об использовании CTTelephonyCenter можно прочитать здесь.
Источник
Как исправить ошибки «EOSSDK-Win64-Shipping.dll Не найден (отсутствует)»
В большинстве случаев проблемы Outward, связанные с EOSSDK-Win64-Shipping.dll, возникают в результате повреждения, отсутствия или заражения вирусами файлов DLL. Большую часть проблем, связанных с данными файлами, можно решить посредством скачивания и установки последней версии файла DLL. В некоторых случаях реестр Windows пытается загрузить файл EOSSDK-Win64-Shipping.dll, который больше не существует; в таких ситуациях рекомендуется запустить сканирование реестра, чтобы исправить любые недопустимые ссылки на пути к файлам.
Формат Dynamic Link Library с расширением файла DLL классифицируют в качестве Системные файлы. Вы можете скачать новую копию файла EOSSDK-Win64-Shipping.dll для %%os%% (и ряда операционных систем Windows) в таблице ниже. К сожалению, в настоящее время в нашей базе могут отсутствовать некоторые версии файлов EOSSDK-Win64-Shipping.dll, но их можно запросить, нажав на кнопку Request (Запрос). В некоторых случаях, чтобы получить необходимую версию файла, вам может потребоваться связаться непосредственно с Nine Dots Studio.
Поместите новый файл EOSSDK-Win64-Shipping.dll на место предыдущего (перезаписав предыдущий). Проблема больше не должна возникать, однако, чтобы убедиться в этом окончательно, следует выполнить проверку. Мы рекомендуем повторно запустить Outward для проверки того, возникает ли проблема.
EOSSDK-Win64-Shipping.dll Описание файла | |
---|---|
Формат файла: | DLL |
Группа: | Game |
Софт: | Outward |
Версия выпуска: | 3685395 |
Компания: | Nine Dots Studio |
Имя файла: | EOSSDK-Win64-Shipping.dll Запрос |
Размер (в байтах): | 7170816 |
SHA-1: | c850474f2aae3f9727e9a2969849172801456758 |
MD5: | f7f9da4923f9c75b8820855db7bf942b |
CRC32: | ff371c99 |
Идентификатор статьи: 814610
EOSSDK-Win64-Shipping.dll
Выберите программное обеспечение
Источник
Ошибка «Everyplay SDK: This build has expired, please upgrade» на iPhone и iPad — как исправить?
Привет! Совсем недавно, после обновления на iOS 10, на своем iPhone и iPad я стал замечать странную ошибку, окошко с которой стало постоянно выскакивать при запуске некоторых игр и приложений. Устройство мне радостно сообщало что «Everyplay SDK: This build has expired, please upgrade» при этом некоторые программы и игры все-таки запускались, но работали «как-то не так». То приложение вылетало через несколько минут после запуска, то что-то там в нем не работало, то просто выбивало на главный экран.
Конечно, можно было удалить программы, которые вели себя подобным образом, но некоторые мне прям очень нужны, да и не во все игры я доиграл до конца!:) Поэтому, было решено исправлять другим способом. Каким? Сейчас все расскажу, поехали!
Для начала, что такое SDK о котором говориться в тексте сообщения? Это комплекс средств для разработки программ и приложений для iOS, выпускаемый компанией Apple. То есть, любая программа, находящаяся в App Store, создана при помощи этих средств. Естественно, этот комплект не просто один раз выпускается и все. Он также, как и операционная система постоянно обновляется, дополняется новыми функциями и компонентами.
А теперь переходим к ошибке «Everyplay SDK: This build has expired, please upgrade». Она является простым следствием несовместимости той версии iOS, которая установлена на вашем iPhone или iPad, и той версии SDK при помощи которого выпущено приложение. Это если в общих чертах, не особо углубляясь.
В принципе, это не обязательно может быть уже установленная программа. Возможно, какая-то программа или игра только устанавливается, обновляется, зависла в ожидании — не важно. Главное здесь неполная совместимость комплекса SDK и версии iOS.
Что делать, что бы убрать надпись «Everyplay SDK: This build has expired, please upgrade» при запуске игр и приложений?
Достаточно выполнить два действия:
Но, даже после перечисленных действий может ничего не произойти и окошко с текстом «Everyplay SDK: This build has expired, please upgrade» будет продолжать преследовать Вас.
Потому что даже если разработчики программы заранее «подготовились» и знают о таком «баге», то выпуск новой версии приложения — процесс далеко не моментальный и на него требуется время (одно только одобрение модераторами App Store может длиться несколько дней!). А значит, стоит запастись терпением и ждать до тех пор, пока в официальном магазине не появится заветное обновление.
Источник
Goodbye Everyplay. This project has been discontinued.
Last iOS release: https://github.com/everyplay/everyplay-ios-sdk
Last Android release: https://github.com/everyplay/everyplay-android-sdk
Last Unity release: https://github.com/everyplay/everyplay-unity-sdk
Everyplay SDK is licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.html) with restrictions. Please see Everyplay Terms of Service at https://everyplay.com/developer-terms-of-service for more information.
Everyplay SDK/Unity — Release Notes
Unity core and platform specific changes (if any) are separated
Unity 2210-1600 — Jul 30th 2018
iOS v2.2.1 — Jul 30th 2018
- Metal recording fixes
Unity 2200-1600 — Jun 26th 2018
- Changed Everyplay.ShowSharingModal() to open native share sheet instead of Everyplay Sharing Modal
- Added Everyplay.GetFilepath() to get path to the recorded file (see USAGE.md)
iOS v2.2.0 — Jun 26th 2018
- Removed social functionality
- Changed [[Everyplay sharedInstance] showEveryplaySharingModal] to open native share sheet instead of Everyplay Sharing Modal
- Added [[Everyplay sharedInstance] getEveryplayFilepath] to get path to the recorded file (see USAGE.md)
- Metal recording fixes
Android v1.6.0 — Jun 26th 2018
- Removed social functionality
- Changed Everyplay.showEveryplaySharingModal() to open native share sheet instead of Everyplay Sharing Modal
- Added Everyplay.getFilePath() to get path to the recorded file (see USAGE.md)
- Updated buildtools version
- Gradle fixes
- 64-bit Huawei fixed
- Qualcomm 8xxx/Adreno series fixed (Samsung s8,s8+,s9,s9+…)
Unity 2170-1590 — Sep 8th 2017
- Added warning about HUD-less functionality being no longer maintained
iOS v2.1.7 — Sep 8th 2017
- Improved Twitter login compatibility
Android v1.5.9 — Sep 7th 2017
-
Enabled recording on 32bit Huawei Kirin devices
-
Fixed Samsung S8 recording
-
Fixed Android O audio recording
-
Fixed YouTube sharing
Unity 2160-1580 — June 13th 2017
- Fixed Google login and YouTube sharing on iOS and Android
iOS v2.1.6 — June 13th 2017
- Fixed Google login and YouTube sharing
Android v1.5.8 — June 13th 2017
- Fixed Google login and YouTube sharing
Unity 2150-1570 — May 22nd 2017
-
Android build fixes
-
Fixed ready for recording event on Unity 5.5.2 and newer
-
GLES: Fixed thumbnail ready event
iOS v2.1.5 — May 22nd 2017
- Metal recording improvements
Android v1.5.7 — May 22nd 2017
-
Removed dependency to support lib
-
Disabled incompatible Huawei Kirin based devices for now
-
Better Gradle compatibility (2.2.0)
-
Gradle build fix for Windows
Unity 2140-1561 — Mar 1st 2017
-
Removed deprecated EveryplayLegacy.cs
-
Fixed Gradle project export with Unity 5.5
Android v1.5.6-1561 — Mar 1st 2017
- Gradle build file fixes
Unity 2140-1560 — Feb 14th 2017
-
Removed compilation warnings when using Unity 5.5.0
-
Removed obsolete functions
-
Android Support library is now required and provided with the SDK delivery
iOS v2.1.4 — Feb 14th 2017
-
Improved ATS compliance
-
OpenAL fix on A5 devices
Android v1.5.6 — Feb 14th 2017
-
Live permissions support
-
Android N API compliance improvements
-
Improved compatibility with AudioTrack
Unity 2130-1550 — Oct 31st 2016
-
Fixed HUD-less recording regression
-
Fixed App Store submission issue
iOS v2.1.3 — Oct 31st 2016 (build 2130)
- Fixed social media login on iOS 10 devices
Android v1.5.5 — Oct 31st 2016 (build 1550)
-
Improved failsafe mechanism
-
Android N recording support
Unity 2121-1540 — Sep 13th 2016
iOS v2.1.2 (build 2121)
- Replace expiration date dialog with log message
Unity 2120-1540 — Sep 12th 2016
-
Fixed the XCode project export when using Unity 5.4 and the destination is inside Unity project folder
-
Added a method SetMaxRecordingSecondsLength for setting the max recording length in seconds
-
Fixed IsReadyForRecording state when the user has not subscribed to the ReadyForRecording event
-
Replaced deprecated GetNativeTextureId() usage with GetNativeTexturePtr()
-
Added a custom unique id to the Everyplay game object’s name to avoid conflicts with game object named «Everyplay»
-
Removed legacy support (calling Everyplay using SharedInstance)
-
Cleaned up some JSON parsing related code
iOS v2.1.2 — Sep 12th 2016
-
Now supports iOS 10
-
Fixed a small iOS 9 specific memory leak
-
Added a property maxRecordingSecondsLength for setting the max recording length in seconds
-
Fixed running with XCode address sanitizer
Android v1.5.4 — Sep 12th 2016
-
Recording on Android N has been temporarily disabled. It will be activated on the upcoming SDK release.
-
Added a method SetMaxRecordingSecondsLength for setting the max recording length in seconds
-
Audio recording improvements
-
Fixed a bug where recording was disabled after the first time on some devices
-
Fixed a crash when uploading video link to Google Drive
Unity 2110-1530 — Jan 27th 2016
-
Fixed building with Unity 4.7
-
Added a checkbox to enable/disable the early initializer
-
Fixed an harmless shader compilation notice on Unity 5.x
-
Added an utility function to check if ready for recording
iOS v2.1.1 — Jan 27th 2016 (build 2110)
-
Fixed application freezing when returning from background on iOS when using OpenGL ES
-
Fixed compilation to work with xCode6
Android v1.5.3 — Jan 27th 2016 (build 1530)
- Fixed a regression that caused flickering on some devices when using HUD-less recording
Unity 2100-1520 — Dec 21st 2015
iOS v2.1 — Dec 21th 2015 (build 2100)
-
Internal refactoring of all graphics related code
-
Now defaults to 60fps recording, previously optional
-
Improved frame synchronization
-
Improved view transition controller logic
-
Improvements to Live FaceCam recording modes
-
Metal: Fixed sRGB support
-
Metal: Improves iPad Pro support on certain cases
like with SpriteKit on iOS 9 -
Metal: Improves support for recording content that
allows both portrait and landscape modes -
GLES: Added additional graphics state validation to
see if recording content can cause problems, like
black screen happening while recording. Fixes
SpriteKit behaviour on iOS 9 when used with GLES -
Improved audio related handling with pausing/resuming
recording in cases where there are no audio sources
to record
Android v1.5.2 — Dec 21th 2015 (build 1520)
-
Fixes an audio related crash with FMODAudioDevice
-
FaceCam improvements
Unity 2010-1510 — Oct 9th 2015
-
Fixes to iPhone 6S audio support
-
Fixes for generic iOS 9 audio support
-
Android Live FaceCam improvements
iOS v2.0.1 — Oct 9th 2015 (build 2010)
-
Fixed audio glitch issue against the new iPhone 6S
iPhone 6S prevents hardware sample rate to change from the
default 48kHz in some situations, causing trouble with
certain audio processing libraries. In older releases,
this may appear as repeated clicking sound within the
recording -
Fix iOS 9 audio compatibility issues with OpenAL
and AVFoundation’s AVAudioPlayer/AVAudioEngineOlder releases than 1.9.7 may work, but an upgrade is
recommended due to iPhone 6S issues mentioned above -
Workaround AVAudioPlayer related issue with volume
fade control
Android v1.5.1 — Oct 9th 2015 (build 1510)
-
Fix Live FaceCam camera session handling when
coming back to the application -
Failsafe mode no longer triggers too easily by
loading the application and exiting immediately
Unity 2000-1500 — Oct 2nd 2015
-
Fixes to Xcode 7 / iOS 9 / Bitcode compatibility
-
Fixes Metal support against Unity 5.2
-
Now implements FaceCam for Android
iOS v2.0 — Oct 2nd 2015 (build 2000)
-
Metal: Fixes a scenario with recent Unity 5.2 release,
where running the app within Xcode works for recording,
but doesn’t record when launched without Xcode -
Metal: Frame synchronization and snapshotRenderbuffer
improvements -
Now built with Xcode 7 and Bitcode support enabled
-
Removed CFBundleExecutable from Everyplay.bundle/Info.plist,
that causes app submit error with Xcode 7 -
Due to Bitcode requirements, iOS 5 support is now dropped
-
Fixes a rare crash with data prefetch and session handling
-
Improve logout behaviour for Facebook/Twitter accounts,
allowing to use different accounts
Android v1.5 — Oct 2nd 2015 (build 1500)
-
Live FaceCam and adding FaceCam commentary track within
the video editor are now implemented, requires Android 4.3+ -
AndroidManifest.xml permission changes related to FaceCam
added by default. If you don’t want to support Live FaceCam
or post-gameplay video editor commentary through FaceCam,
you can remove the following options:- uses-permission: android.permission.CAMERA, android.permission.RECORD_AUDIO
- uses-feature: android.hardware.camera, android.hardware.camera.autofocus
Unity 1990-1410 — Aug 10th 2015
-
Critical update for iOS 9 App Transport Security (ATS)
compatibility -
Removed ThumbnailLoadReadyDelegate and LoadThumbnailFromFilePath
-
Windows Phone build fix for EveryplayRecButtons.cs
iOS v1.9.9 — Aug 10th 2015 (build 1990)
-
Critical update for iOS 9 App Transport Security (ATS)
compatibility -
Fixed iOS 9 SpriteKit inverted graphics issue when
running on a device that uses Metal -
Fixed on audio issue with continuous recording when
the session lifetime exceeds 5 minutes
Android v1.4.1 — Aug 10th 2015 (build 1410)
- Minor bugfixes
Unity 1980-1400 — June 29th 2015
-
Now allows 60fps recordings on iOS and Android
To change the target framerate from the default 30fps,
call Everyplay.SetTargetFPS() -
Improved frame synchronization and framerate handling
-
Removed Everyplay.SetThumbnailWidth method
-
Removed ThumbnailReadyAtFilePathDelegate
iOS v1.9.8 — Jun 29th 2015 (build 1980)
-
Now allows 60fps recordings on iOS 8+ devices with
A7 CPU or later (devices with 64bit capability)To change the target framerate from the default 30fps, call
[[Everyplay sharedInstance] capture].targetFPS -
Metal: CPU performance and snapshotRenderbuffer improvements
-
Live FaceCam: When the internal preview box is hidden and
a target texture is in use, the video content is no longer
encoded to a separate file and doesn’t show separately in
the video player -
Removed thumbnailWidth property from EveryplayCapture
-
Removed file based everyplayThumbnailReadyAt(FilePath|URL): delegates
Android v1.4.0 — June 29th 2015 (build 1400)
-
Now allows 60fps recordings on Android 4.4+ devices
To change the target framerate from the default 30fps,
call Everyplay.setTargetFPS() -
Improved frame synchronization and framerate handling
-
Fixed an audio issue with FMOD Studio that
could have resulted to a silent recording -
Removed setThumbnailWidth method from Everyplay class
-
Removed onEveryplayThumbnailReadyAtFilePath from IEveryplayListener
-
Fixed an issue with PowerVR GPUs and continuous recording feature:
If recording over 5 minutes while using setMaxRecordingMinutesLength,
the device could freeze, fixed
Unity 1970-1350 — June 2nd 2015
-
Android: Now supports Android M preview and adds
a failsafe mode to protect from repeating crashes -
More Qualcomm Adreno 420 GPU fixes
Android v1.3.5 — June 2nd 2015 (build 1350)
-
New feature: Failsafe mode. If there’s a crash during early
initialization of Everyplay, the recording support will be
disabled when the application is launched the next timeSince the bug might be OS/driver related, the need for Failsafe
mode is re-evaluated each time the SDK or OS has been upgraded
or the application is removed -
Now supports Android M preview and fixes a crash against it.
Older SDKs are disabled from recording against Android M -
More Qualcomm Adreno 420 crash fixes for some devices, like
Samsung Galaxy Note 4
Unity 1970-1340 — May 26th 2015
-
iOS Metal: Graphics performance and memory usage optimizations,
also fixed a small memory leak that happened on every frame
even while not recording -
iOS Metal: Now supports HUD-less recording support through
Everyplay.snapshotRenderbuffer(); -
Removed use of IDFA / AdSupport.framework dependency
iOS v1.9.7 — May 26th 2015 (build 1970)
-
Metal: Graphics performance and memory usage optimizations
-
Metal: Fixed a small memory leak that happened on every frame
even while not recording -
Metal: Now supports HUD-less recording feature through
[[[Everyplay sharedInstance] capture] snapshotRenderbuffer]; -
Removed IDFA related code (AdSupport.framework), now uses IFV
-
Removed EveryplaySoundEngine, OpenAL and AVFoundation implementations.
Now uses Apple’s high performance implementations when available -
Removed legacy OpenGL graphics integration API’s from EveryplayCapture
-
Removed support for file based thumbnails. If you use thumbnails,
switch to texture based implementation -
Removed [Everyplay initWithDelegate:andAddRootViewControllerForView:]
It was a helper for older world iOS apps that didn’t implement
UIViewController. Today, it’s safe to assume that your code has them -
Increased the default video bitrate quality a bit
-
Fixed a potential audio encoder memory leak while recording
Android v1.3.4 — May 26th 2015 (build 1340)
-
More video quality improvements for some devices
-
Workaround a driver issue with Qualcomm Adreno 420’s that
caused a crash in some situations -
Fix graphics issue with Samsung Galaxy S5
-
Removed support for file based thumbnails. If you use thumbnails,
switch to texture based implementation -
Improved error handling on some situations where the video files
could end up invalid, potentially causing a crash
Unity 1961-1332 — Apr 29th 2015
-
Fixed HUD-less recording to work against multithreaded
rendering on Unity 4.6+ and against Unity 5 in general -
Video quality improvements on Android
iOS v1.9.6 — Apr 28th 2015 (build 1961)
- Metal: Fixed Facecam session handling when reseting
session to audio only (1961)
Android v1.3.3 — Apr 29th 2015 (build 1332)
-
Video quality improvement: On some devices and video codecs,
the first second of the recording showed up as bit rotten,
garbled output, fixed -
Fixed a graphics width vs stride regression from 1.3.0 SDK that
could show up against the new graphics backend on some devices
and driver versions, like Nexus 7 running Android 4.4 -
On some rare devices, querying video codec info could cause
application load times to slow down by 10 seconds, fixed -
Improved Everyplay.snapshotRenderbuffer() aka
HUD-less recording feature -
Fix graphics issue with Samsung Galaxy S4 (PowerVR variant)
Unity 1960-1320 — Apr 16th 2015
-
Fixed a iOS build regression with IL2CPP
-
Improved iOS/Xcode integration, allows building Unity-iPhone Tests
iOS v1.9.6 — Apr 16th 2015 (build 1960)
-
Improved graphics support against Unity 5.x
-
Metal: Fixed thumbnail texture being flipped
-
Metal: Fixed to support dynamic screen resolution changes
-
Fixed a regression against AVAudioPlayer initWithData: support
-
Fixed a compatibility issue with InMobi SDK
Android v1.3.2 — Apr 16th 2015 (build 1320)
-
Improved graphics support against Unity 5.x
-
Multiple stability fixes against ImgTec PowerVR GPU
-
Improve OpenGL ES1 support checking
-
Prefetching data could cause an exception, fixed
-
Fixed a rare login exception on Android 4.0.x
-
Minor audio handling improvements
Unity 1950-1310 — Mar 24th 2015
-
Major Android graphics performance and stability improvements
-
Improved Unity 5 integration support with iOS/Xcode
Android v1.3.1 — Mar 24th 2015 (build 1310)
-
Fixed a regression with setMaxRecordingMinutesLength from not
working against the new graphics backend on Android 4.3+ -
Improved potential memory usage and buffer refcount
issues for some GPU drivers -
Fixed potential exceptions for general login, sharing
and Facebook related code -
Fixed video player view from not loading on Android 4.0.x
-
Fixed exception with the photo picker
-
AndroidManifest.xml tweak to allow Android TV support
Unity 1950-1300 — Mar 10th 2015
- Major Android graphics performance and stability improvements
Android v1.3.0 — Mar 10th 2015 (build 1300)
-
All-new graphics processing backend for Android 4.3+, improving
framerate and stability a lot on many devices -
Greatly improved support for Nvidia GPUs (Tegra 3, Tegra 4, Tegra K1)
-
Important AndroidManifest.xml changes to improve overall stability
and reduce memory usage. If you’re maintaining the manifest manually
in your project, please merge the latest changes -
Fixes to potential crashes while using the login activity
-
Fixed Javascript binding issues against some Android 4.4.x
releases that prevented Everyplay Social views from working -
Fix potential performance issues when used against OpenGL ES3
-
On some Android versions, changing to another Activity and returning
could have prevented starting of a new recording from working, fixed -
Fixed a GPU driver caused ADB log flood issue; seen on some devices
while recording -
Improved image quality on apps with 32-bit color graphics
-
Multiple Nexus 10 specific issues fixed
-
Now supports Nvidia Shield Portable, Nvidia Shield Tablet
and Nexus 9 devices
Unity 1950-1240 — Feb 20th 2015
-
Regression fix; importing Everyplay package update cleared
existing clientId and secret settings -
iOS 8 Metal improvements: Now supports Live FaceCam preview box and using
target textures for facecam/thumbnails -
Due to above, few delegates/API calls are now obsoleted and replaced with
a generic, less code requiring Texture2D variants that work against
GLES/Metal backends -
Code cleanups and C# API usage updates for Unity 5
-
Improved Android FAT support
iOS v1.9.5 — Feb 20th 2015 (build 1950)
-
iOS 8 Metal improvements: Now supports Live FaceCam preview box,
thumbnail files/textures and using MTLPixelFormatRGBA8Unorm_sRGB -
Now supports OpenAL audio streaming through alSourceQueueBuffers
-
Fix a conditition between showing modal share dialog and video editor
that could lead to everyplayHidden delegate not properly called, potentially
leading to game not being resumed as expected -
Fixed an issue with Cocos2d’s scaled graphics on iPhone 6 Plus that prevented
the recording from starting properly -
Facebook: Remove use of deprecated publish_stream permission
-
Lighter UI theme
Android v1.2.4 — Feb 20th 2015 (build 1240)
-
More Android 5 Lollipop and Android Simulator fixes;
null pointer exceptions, activity handling changes -
Fixed an issue with 64bit Android 5 devices that prevented
looking up package name properly -
Querying device specific settings now wait until
Everyplay.initEveryplay is called -
Facebook: Remove use of deprecated publish_stream permission
-
Lighter UI theme
Unity 1940-1230 — Jan 14th 2015
- Important Android 5 Lollipop fixes, potential graphics
performance fixes
iOS v1.9.4 — Jan 14th 2015 (build 1940)
-
Improved Facebook integration by asking server-side
configuration status -
Improved AVFoundation/AVAudioPlayer usage against
small sound effects
Android v1.2.3 — Jan 14th 2015 (build 1230)
-
Fix a null pointer exception that could cause a crash on some
Android 5 Lollipop devices -
Fix a graphics performance issue with glDiscardFramebufferEXT
that could affect some Android versions/drivers shipped -
Fix a CORS issue with Android 5 WebResourceResponse
-
Improved Facebook integration by asking server-side
configuration status
Unity 1930-1220 — Dec 16th 2014
- 1921-1210 release broke modal share dialog from appearing
on iOS, fixed
iOS v1.9.3 — Dec 16th 2014 (build 1930)
- Fixed an issue with modal share dialog not appearing
on some viewController configurations
Android v1.2.2 — Dec 16th 2014 (build 1220)
- Fixed a rare ClassNotFoundException with Parcel unable to find
com.everyplay.Everyplay.communication.EveryplayResultReceiver
Unity 1921-1210 — Dec 10th 2014
- Fixes iOS compatibility against Unity 4.6.1
iOS v1.9.2 — Dec 10th 2014 (build 1921)
-
[Everyplay initWithDelegate:] improvements
-
[Everyplay sharedInstance].everyplayDelegate is now a weak pointer
-
Minor UI and theming improvements
Android v1.2.1 — Dec 10th 2014 (build 1210)
-
App specific cached files now get removed upon
application uninstallation -
Improved caching
-
Minor UI and theming improvements
Unity 1910-1200 — Nov 28th 2014
- Fix forward compatibility with future Unity releases,
including an issue with iOS trampoline changes that
could prevent Everyplay UI from showing up
iOS v1.9.1 — Nov 28th 2014 (build 1910)
-
Network access and caching optimizations
-
Video seek bar and video ending event fixes for
the new video player -
[Everyplay sharedInstance].parentViewController is now a weak pointer
-
Improved UI orientation handling
Android v1.2 — Nov 28th 2014 (build 1200)
-
Generic optimizations against new Everyplay community
-
New navigation top bar design to give more space while browsing
-
Network access and caching optimizations
-
Internal changes for UI theming support
-
3rdparty java code is relocated to another package namespace
to avoid conflicts -
Performance updates to media merging and trimming
-
Everyplay.setMaxRecordingMinutesLength didn’t trim the
resulting video, fixed -
Fixed potential crash issue with camera photo picker
-
Upload performance improvements
-
Everyplay.initEveryplay now retains IEveryplayListener
-
Try-catch blocks for rare exceptions added
Unity 1901-1160 — Nov 10th 2014
-
Now supports iOS 8 Metal graphics for Unity 5 beta
-
EveryplayThumbnailPool fixes
iOS v1.9.0 — Nov 10th 2014 (build 1901)
-
First iOS 8 Metal graphics support, no support for Live FaceCam
preview box or thumbnail files/textures yet -
Video editor / player core and UI rewritten
-
Everyplay.bundle graphics update, using fewer files and less space
-
Internal changes for UI theming support
-
Landscape support enabled by default for all iPhone views
-
New navigation top bar design to give more space while browsing
-
Improved memory handling
-
Improved analytics
-
Fixed thumbnail texture handling on iOS 8
-
Improved FaceCam audio and video support and removed deprecated API
usage warnings while running on iOS 7+
Android v1.1.6 — Nov 10th 2014 (build 1160)
-
Changes to activity handling in code and on AndroidManifest.xml
to fix GPU driver issues and potential crashes -
Improved AAC encoded sound quality
-
Improved Facebook behaviour for the future
Unity 1840-1150 — Oct 9th 2014
iOS v1.8.4 — Oct 9th 2014 (build 1840)
-
Improved avatar photo picker and camera orientation handling
-
Improved stereo support for AVFoundation / OpenAL
-
OpenAL: Within game code, setting a negative value through
alSourcef(x, AL_GAIN, volume) could cause iOS 8 mediaserverd to hang
and cause multiple side effects until the device is rebooted, fixed -
everyplayFaceCamRecordingPermission delegate improvements
Android v1.1.5 — Oct 9th 2014 (build 1150)
- Fixed Facebook sharing to work against Facebook API 2.0
and later
Unity 1830-1140 — Oct 1st 2014
-
Forward compatibility with future Unity releases,
including 5.0 betas -
Removed legacy code from iOS plugin
iOS v1.8.3 — Oct 1st 2014 (build 1830)
-
Now supports iOS 8 SDK / Xcode6 GM
-
Fixed recording support against apps supporting the new
native resolutions of iPhone 6 and iPhone 6 Plus on iOS 8 -
Fixed video player / editor UI to support new iPhone 6 resolutions
-
Fixed potential video player seek crash on iOS 8
-
iOS 8 fixes for changed Javascript behaviour, fixes social
network connections -
FaceCam now asks video user permission on iOS 8
-
Workaround [UIView layoutSubViews] behaviour on iOS 8:
Depending on game engine used and how the view handling is implemented,
transitioning between views may trigger layoutSubViews and during the
process, re-create OpenGL buffers. In some cases, calling EAGLContext
renderbufferStorage:fromDrawable fails and may result to frozen graphicsThis behaviour is mostly seen on some custom engines and cocos2d
-
Setting [Everyplay sharedInstance].capture property to nil
could reset certain default settings to unwanted state, such
as lowering target video framerate from the default, fixed
Android v1.1.4 — Oct 1st 2014 (build 1140)
- Video resolution handling improvements
Unity 1820-1130 — Sep 12th 2014
- Now respects «Symlink Unity Libraries» iOS platform setting for
Everyplay.framework
iOS v1.8.2 — Sep 12th 2014 (build 1820)
-
iOS 8 view initialization fixes
-
CPU optimizations for games with hard 60fps requirement
-
AVFoundation: AVAudioPlayer now supports initWithData: method
-
AVFoundation/OpenAL: Backgrounding application during initial splash screen
could break audio state handling, fixed
Unity 1810-1130 — Aug 27th 2014
- Now supports creating iOS/Xcode project on Windows
iOS v1.8.1 — Aug 27th 2014 (build 1810)
-
Major audio internals rework for future features, optimized for iOS 7
As a result, there’s less audio interruptions and potential issues that
could cause losing audio output, recorded audio to be silent or go out
of sync, mediaserverd crashing and causing wide load of generic issues -
Now supports AudioQueue recording against linear PCM
and compressed formats (such as AAC) -
The audio core is now more sample rate agnostic, but 44.1 kHz is still
considered the optimal one -
OpenAL: Improved source/buffer instance refcounting and thread-safety
-
OpenAL: Loading audio samples with alBufferData now prefers the
original sample rate specified and using less memory -
OpenAL: Loading certain audio samples caused audio clicks, fixed
-
AVFoundation: AVAudioPlayer now supports duration and numberOfChannels
properties -
AVFoundation: Improved audio streaming playback
-
Fixed rare race condition in graphics recording that could have
caused dropped video frames or not adding new frames to video -
Video editor now adds FaceCam recording UI buttons only after
iOS user permission check
Android v1.1.3 — Aug 27th 2014 (build 1130)
-
Some devices and applications had image quality issues/artifacts
before video encoding step, fixed -
Starting recording with HUD-less enabled could have caused frame
glitch once while starting, fixed -
Fix network retry handling in Everyplay splash screen
-
Analytics improvements
Unity 1801-1120 — June 17th 2014
-
Fixed iOS build error against Unity 4.5.1
-
Fixed a potential exception error with Xcode project editor
-
Updated WWW constructor parameters for Unity 4.5+
Android v1.1.2 — June 17th 2014 (build 1120)
-
Fixed recording from not working if changing MSAA anti-aliasing
state during runtime -
Fixed a potential Qualcomm specific issue with rendering
modal share dialog borders -
Improved upload handling
-
Improved videoplayer thread safety
Android v1.1.1 — May 20th 2014 (build 1110)
-
Workaround for ImgTec PowerVR GPU driver behaviour that
could cause entire device to freeze after initialization -
Fix videoplayer seeking from causing a crash on some
devices with faulty drivers -
Fix for potential video encoding thread hanging on some
devices like Samsung Galaxy S3 -
Improved sending onEveryplayRecordingStarted listener events
-
Add onEveryplayAccountDidChange listener event
Unity 1801-1100 — May 20th 2014
-
Improved Facebook integration, this requires the use of «Facebook for Unity» asset
available from the Asset Store -
Lots of internal plugin changes and file location changes for better Unity integration,
the migration should be seamless without removing previous assets -
New prefables integration. Instead of dragging a prefab to your first scene
you may use the Edit / Everyplay Settings menu to enable Everyplay and to
set your game credentials. This also allows you to temporarily disable
Everyplay without removing the package -
Double check that clientId, secret and redirectURI settings have merged into
the new Edit / Everyplay Settings menu after upgrading -
Calling Everyplay through the SharedInstance is now deprecated. You may still
use the old way, but the recommended way is to call Everyplay.methodName -
Added checkboxes to new Everyplay settings menu for enabling Everyplay per
platform (iOS/Android) -
Old test button functionality in Everyplay.prefab has been moved to
Plugins/Everyplay/Helpers/EveryplayTest.prefab. A new simplified one can
be enabled through Edit / Everyplay Settings menu
iOS v1.8.0 — May 14th 2014 (build 1801)
-
Everyplay now uses Accounts.framework and Facebook SDK for improved,
seamless Twitter and Facebook login support. If none are linked into
the project, the old login conventions apply -
The new improved Facebook login shares via Everyplay Facebook application,
not through your existing Facebook application credentials. For immediate
use, you might need to send your iOS bundle information or Android key
hash to get started, please contact support@everyplay.com. We’re currently
working on making this step automated without extra work required on
developers behalf -
All around stability and internal handling changes to the
video recording core -
Further GPU optimizations against the new graphics integration, especially
with older devices like iPhone 4S, iPad 2 and iPad 3 -
Fixed a regression on using the latest Unity package and the new
graphics integration that resulted to broken graphics in certain
non-target native resolution use cases (Screen.SetResolution) -
Fixed a rare exception related to:
‘[AVAssetWriterInput initWithMediaType:outputSettings:sourceFormatHint:]
AVVideoSettings dictionary must specify a positive width’ -
Improved video orientation detection
-
Fixed EveryplayCapture setLowMemoryDevice property behaviour in
some rare cases
Android v1.1 — May 14th 2014 (build 1100)
-
Everyplay now uses Facebook SDK for improved, seamless Facebook login support.
If not linked into the project, the old login convention applies -
The new improved Facebook login shares via Everyplay Facebook application,
not through your existing Facebook application credentials. For immediate
use, you might need to send your iOS bundle information or Android key
hash to get started, please contact support@everyplay.com. We’re currently
working on making this step automated without extra work required on
developers behalf -
Generic graphics optimizations and improvements to graphics
related resource allocating and releasing, which could have
led to invalid graphics state in earlier releases -
Improved recording state handling, orientation changing while
recording etc -
Worked around OpenGL performance issue that could happen on some devices
after returning from Everyplay videoplayer activity that’s triggered by
playLastRecording method -
Fixed a rare exception crash thrown by MediaCodec.dequeueInputBuffer
-
Improved movie merging behaviour and exception handling
-
Don’t show ‘Launch game’ button when the game is already active one
-
Improved onEveryplayReadyForRecording(int enabled) listener events
to return false for more cases where the recording isn’t going to
be supported
Хорошо Вчера (13,06,2014) Everyplay отправил электронное письмо, и они сказали, что «новый SDK опубликован», но после установки этого SDK он дает эту ошибку и не показывает никаких объявлений. в прошлом он не дал эту ошибку.
06 -1 4 10: 42: 00.460: E/UnityAds (32338): com.unity3d.ads.android.daa() (строка: -1) :: Не удалось получить isDestroyed -method 06 -1 4 10: 42: 06.055: E/UnityAds (32338): com.unity3d.ads.android.campaign.UnityAdsCampaign.shouldCacheVideo() (строка: -1) :: Ключ не найден для кампании: 0000000000000000000000000001 06 -1 4 10: 42: 06.055: E/UnityAds (32338): com.unity3d.ads.android.campaign.UnityAdsCampaign.shouldCacheVideo() (строка: -1) :: Ключ не найден для кампании: 000000000000000000000001 06 -1 4 10: 42: 06.055: E/UnityAds (32338): com.unity3d.ads.android.campaign.UnityAdsCampaign.shouldCacheVideo() (строка: -1) :: Ключ не найден для кампании: 000000000000000000000002 06 -1 4 10: 42: 06.055: E/UnityAds (32338): com.unity3d.ads.android.campaign.UnityAdsCampaign.shouldCacheVideo() (строка: -1) :: Ключ не найден для кампании: 000000000000000000000002 06 -1 4 10:42: 19.318: E/UnityAds (32338): com.unity3d.ads.android.UnityAds.show() (строка: -1) :: Не удалось найти активность: [Ljava.lang.StackTraceEle Мент; @4230b028
14 июнь 2014, в 10:07
Поделиться
Источник
1 ответ
Убедитесь, что вы дважды проверили руководство по переносу, «Не удалось найти действие:», похоже, что вы обновили используемый JAR, но не новый контент AndroidManifest.xml.
Внутренние компоненты SDK, система сборки и интеграция были немного отполированы при обновлении с эпохи «Эффект Impact/Everyplay GameAds» до SDK Unity Ads.
С версией Android это означает, что появилась новая библиотека проектов Android, которая предпочитала использовать вместо ручного запуска JAR и добавления материала в AndroidManifest.xml, при этом проекты библиотек обрабатывались автоматически. Инициализация базового класса и одноэлементная модель также были улучшены, чтобы быть более безопасными и удобными в использовании
Импорт проекта новой библиотеки: https://github.com/Applifier/unity-ads/wiki/Integration-Guide-for-Android
Руководство по миграции: https://github.com/Applifier/unity-ads/wiki/Transition-from-Applifier-Impact-and-Everyplay-GameAds
Antti Tapaninen
15 июнь 2014, в 17:10
Поделиться
Ещё вопросы
- 0Google Analytics неопределенное поведение
- 1Android-связь с менеджером местоположения началась с другого действия
- 1Где я могу найти хороший пример FastScrollView?
- 0Удалить зазор между изображением и контейнером [дубликаты]
- 0Изменение позиции QGraphicsItems в обработчике событий сцены?
- 0телефонный разрыв с $ .ajax (Android)
- 1ProgressDialog не появляется, пока не стало слишком поздно
- 1Доступ к многоуровневому свойству и полный путь к свойствам
- 0Express.js и модель MySQL + проверка
- 1Получить путь, используемый на терминале сценария вызова
- 1Загрузка файлов на сервер в Android
- 1Как я могу создать равномерно расположенные кнопки?
- 0Выпадающее меню скрыто за
- 1Получить список планов испытаний в TFS Java SDK
- 1как сказать egit игнорировать некоторые типы файлов
- 0PHP / MySQL n-ая строка с DATE_SUB и т. Д.
- 1Добавление полосы прокрутки в пользовательскую ViewGroup?
- 0Набор полей с отображением: столбец таблицы полностью исчезает в IE8 и IE9
- 0Не могу как вращать, так и переводить мою сцену — direct3d
- 1Зачем мне явно импортировать модули, когда они уже импортированы?
- 1Как передать сообщение об исключении из DLL в основное приложение
- 0конструктор одного класса, приведение к другому .. какая функция будет вызываться?
- 1Java-очередь, массивы и JNI
- 0Php создать объект в конструкторе
- 1ActiveMQ ограничение скорости внешнего сервиса
- 0Как выбрать товары, где цена на 20% выше или ниже?
- 0Установить пользовательский маршрут ASP.NET WEB API 2
- 0jQuery 2-мерный массив — 2-е измерение не определено
- 1Разделение строки Юникода в общем списке
- 0Как предотвратить расширение строки таблицы CSS до родительской высоты
- 1Синхронизировать второй размер окна, чтобы соответствовать размеру основного окна
- 1-cp получает честь, когда мы запускаем исполняемый файл jar
- 1Почему приложение C # не создает файл при запуске из планировщика задач Windows?
- 0Низкий TPS при использовании Virtualbox + Ubuntu + Nginx + PHP-FPM + Silex
- 0Блокировка JDBC: как определить, что исключение вызвано таймаутом блокировки?
- 0Встроенный шрифт в изображение base64
- 0prevAll () и фильтр по дочернему присутствию
- 1Владение типом объекта Message Bus
- 0Манипуляции с атрибутом HTML5 <audio> / <source> с помощью JQuery
- 1Перекрытие элементов при использовании динамического списка высоты
- 0Нужно понимать за кадром | node.js
- 0RegEx-Tel Number Позволяет вводить спам-тире
- 0Реализация класса сортировки с использованием шаблонов
- 1Как получить Alertdialog с фоном не в фокусе (нечеткий)
- 1mp3transform | Воспроизведение (mp3) в отдельной теме
- 0Отображать изображения из папки в 5 столбцах
- 0Создание div с относительным размером между содержимым абсолютного размера
- 0Строка ‘G’ не отображается
- 1это лучший способ преобразования типов
- 0Угловое обновление вар в сервисе