Поскольку это библиотека функций, она не будет зависеть от функций, специфичных для платформы.
Портировать это действительно просто.Вы можете портировать функцию по функции, возможно, начать с функций, которые важны для вашего приложения.
Действительно сложная часть (учитывая, что это математическая библиотека) будет гарантировать, что она работает правильно: у вас должен быть тот же набор модульных тестов, что и в исходной библиотеке.Лучше всего было бы создать классы-оболочки Java, которые вызывают вашу библиотеку через JNI, чтобы вы могли запускать оригинальные модульные тесты в вашей библиотеке.Чистая библиотека Objective C (без привязок к платформе) должна работать как на OS X, так и на iOS, поэтому вы можете запускать тесты на OS X. Сделайте что-то вроде этого:
- Посмотрите на исходную библиотеку Java и создайтефункционально похожий API в Objective-C: те же классы, те же имена методов.
- Возьмите исходные классы Java и замените все содержимое методов вызовами JNI в вашей собственной библиотеке.
- Реализация функциональности в вашей библиотеке.
- Запуск модульных тестов Java (теперь он вызывает вашу собственную библиотеку), чтобы убедиться, что ваша библиотека работает правильно.
Для упрощения JNIРазработка, которую вы можете использовать JNA или любую другую упаковку JNI, перечисленную здесь .