Перейти к содержанию

Вопросы

 

Всем привет. Помогите перевести код на Delphi

C# (Xamarin):

public override void RegisteredForRemoteNotifications(UIApplication application, NSData deviceToken)
{
    //DeviceToken = Regex.Replace(deviceToken.ToString(), "[^0-9a-zA-Z]+", "");
    //Replace the above line whick worked up to iOS12 with the code below:
    byte[] bytes = deviceToken.ToArray<byte>();
    string[] hexArray = bytes.Select(b => b.ToString("x2")).ToArray();
    DeviceToken = string.Join(string.Empty, hexArray);
}
let deviceTokenString = deviceToken.map { String(format: "%02x", $0) }.joined()

заранее спасибо

Отредактировал Martifan

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

Ответы на этот вопрос пока отсутствуют

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Похожий контент

    • От Дениска
      Господа! Тема очень важная.
      Как использовать сторонние нативные (написанные на Obj-C) фреймворки и SDK в Firemonkey (не дописана).
       
      Имеется SDK, включающий статическую библиотеку, заголовок к ней и кучу классов упрощающих работу с библиотекой.
      libSDK.a SDK.h class1.h class1.m class2.h class3.m ... classN.h classN.m Чтобы упростить себе жизнь, немного покопавшись:
      www.youtube.com/watch?v=f7lxkv-sZA0 www.youtube.com/watch?v=5cnY8WNKRwg ... я собрал из этой кучи файлов одну статическую библиотеку MyLib.a.
      (Кому нужно знать как это делается, спрашивайте. Это отдельная тема.)
       
      Как заверяют разработчики этого SDK, для использования этой библиотеки необходимо подключить пару нативных фреймворков и две динамические библиотеки:
      SystemConfiguration.framework CoreTelephony.framework libstdc++.dylib libz.dylib Фреймворки стандартные и уже реализованы в RAD Studio, а библиотеки присутствуют в скачиваемом IOS SDK по пути:
      C:\Users\Username\Documents\Embarcadero\Studio\SDKs\iPhoneOS9.0.sdk\usr\lib.
       
      Embarcadero "побеспокоилась" о подключении сторонних статических библиотек. Создаётся функция (пример взят из сканера баркодов):
       
      implementation
        procedure FakeLoader(произвольное имя); cdecl; external 'MyLib.a' name 'OBJC_CLASS_$_MyClass'; 
       
      Реальная польза этой функции для меня остаётся загадкой, кроме того, что без неё приложение не увидит библиотеки и при попытки обратится к классу выдаст: "ObjectiveC class MyClass could not be found".
       
      Для начала я создал на XCode libHelloWorld.a (думаю не нужно говорить, что она делает).
      Немного покопавшись:
      ridingdelphi.blogspot.com/2014/01/the-quest-to-migrate-ios-squarecam-app_3169.html blog.blong.com/2013/05/delphi-for-ios-some-notes.html написал хедер HelloWorld.pas, в котором описал классы и функции хранящиеся в этой библиотеке. Подключил pas в uses  в проекте и всё заработало.
      (Кому нужно знать как это делается, спрашивайте. Это отдельная тема.).
      Решил теперь подключить мою MyLib.a, которую я создал из основе SDK, можно сказать конвертировал. Но она требует две динамические библиотеки, что в случае с HelloWorld не требовалось.
       
      Как подсказывает Embarcadero, мне нужно дописать в мой FakeLoader директиву dependency. Итого:
        procedure FakeLoader; cdecl; external 'MyLib.a' name 'OBJC_CLASS_$_MyClass'
        dependency 'libstdc++.dylib', 'libz.dylib';
       
      Но вот тут и нужна Ваша помощь!
       
      Я помещал эти библиотеки прямо в проект, указывал абсолютные пути из MacPC и из моего PC, копировал оригинальные библиотеки из MacPC, писал их с расширением и без, с префиксом "lib" и без. IDE твердит одно:
           [DCC Error] E2597 ld: library not found for -llibz.dylib    [DCC Error] E2597 ld: library not found for -llibstdc++.dylib  
      Без этих библиотек моя статическая библиотека MyLib.a не компилируется с ошибками:
            Error: "blablabla", referenced from: lalalala in MyLib.a(Class1.o);  lalalala in MyLib.a(Class1.o);      Error: "qwertyuui", referenced from: olololo in MyLib.a(Class2.o);  olololo in MyLib.a(Class2.o);      Error: "abracadabra", referenced from: abcdefjgh in MyLib.a(Class3.o);  abcdefjgh in MyLib.a(Class3.o);    ...   Кто сталкивался? Кто знает чем помочь? Пишите. Сейчас мой проект простаивает из-за этой проблемы.  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...