Ich bin gerade dabei zu prüfen, ob eine C/C++-Bibliothek für ein bestimmtes iPhone-Projekt von mir verwendet werden kann. Die ursprüngliche Bibliothek verwendet viel Windows-spezifischen Code (z. B. enthält sie Windows.h und winsock.h). Ich bin mir bewusst, dass ich die Teile, die Windows-spezifischen Code verwenden, neu schreiben und winsocks zum Beispiel durch bsd-Sockets ersetzen muss. Oder versuchen, zu Objective-C++ zu konvertieren und IOS-spezifische Netzwerk-Api zu verwenden, wie es in Apples Dokumentation empfohlen wird.
Aber wie sich in der Apple-Dokumentation herausstellt, ist in iOS nur C- und Objective-C-Code für die Vernetzung erlaubt. "iOS unterstützt Netzwerkcode, der in C und Objective-C geschrieben wurde." ( https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/GS_Networking_iPhone/ )
Das hört sich so an, als müsste ich die gesamte Bibliothek in Objective-C umschreiben, damit sie auf IOS funktioniert. Oder würde es ausreichen, eine Wrapper-Klasse in Objective-C zu programmieren und mit der ursprünglichen (an die bsd sockets api oder Objective-C++ angepassten) Bibliothek zu arbeiten? -> Verwendung statischer C/C++-Bibliotheken in iPhone ObjectiveC Apps
Aber der eigentliche Netzwerkcode würde immer noch in C/C++ und nicht in Objective-C geschrieben werden.
Besteht die Möglichkeit, dass dies funktioniert? Ich möchte nicht die ganze Arbeit der Anpassung der Bibliothek machen und dann feststellen, dass dieser Ansatz nicht funktioniert.
Hat jemand schon einmal etwas Ähnliches versucht?
Mit freundlichen Grüßen, Mike