Я пытался заставить grp c работать (ssl http2) на формах Xamarin, и после некоторой боли мне удалось заставить его работать на Android с использованием Grp c .Core. Однако я не смог получить iOS для компиляции. Работая над этой проблемой, я пытался получить что-то grp c, связанное с работой над iOS, и в конце концов нашел экспериментальную демоверсию grp c xamarin, HelloworldXamarin. Найдено здесь:
https://github.com/grpc/grpc/tree/master/examples/csharp/HelloworldXamarin
Я скачал решение, но при попытке его скомпилировать получаю следующие ошибки:
![enter image description here](https://i.stack.imgur.com/HZ3Mm.png)
Текст ошибки:
Native linking failed, undefined symbol: operator delete(void*). Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
Native linking failed. Please review the build log and the user flags provided to gcc: -LC:/g/examples/csharp/HelloworldXamarin/packages/Grpc.Core.2.23.0/build/Xamarin.iOS10/../../native/ios/universal -lgrpc_csharp_ext -force_load C:/g/examples/csharp/HelloworldXamarin/packages/Grpc.Core.2.23.0/build/Xamarin.iOS10/../../native/ios/universal/libgrpc_csharp_ext.a -LC:/g/examples/csharp/HelloworldXamarin/packages/Grpc.Core.2.23.0/build/Xamarin.iOS10/../../native/ios/universal -lgrpc -force_load C:/g/examples/csharp/HelloworldXamarin/packages/Grpc.Core.2.23.0/build/Xamarin.iOS10/../../native/ios/universal/libgrpc.a
linker command failed with exit code 1 (use -v to see invocation)
Для предупреждение о невозможности найти libgrpc_csharp_ext.a
, я проверил, что файл был там.
Кажется, есть некоторая проблема с родными ссылками, с которой я очень незнаком. Я использую почти последнюю версию Visual Studio (ну, 16.5.3), хост сборки ma c с последней версией ОС и XCode. Не вносил никаких изменений в файлы, извлеченные из git. Я только начал работать с Xamarin iOS на этой неделе, так что все должно быть в состоянии "по умолчанию".
Что может быть не так с моей установкой / системой, которая делает это неработоспособным? Я понимаю, что это все еще экспериментальная функция, но я не могу сказать, сделал ли я что-то глупое или что-то изменилось (например, XCode? Или ему нужен VS 2017?), Который больше не работает? Кто-нибудь еще может заставить этот пример скомпилироваться?
Я также пробовал более новые версии пакетов nuget grp c, и это приводило только к большему количеству ошибок.
В конечном счете, я пытаюсь заставить последнюю версию Grp c .Core работать в iOS на Xamarin.Forms, хотя у меня очень мало опыта работы с iOS. Если есть проблемы с последними версиями XCode / Visual Studio / Grp c. Ядро, которые вызывают это, я готов попытаться решить их, если кто-то может указать мне правильное направление.