Monotouch でラップされた Dll のいくつかのクラスを使用すると、いくつかの問題が発生しました。一部のメソッドには、Objective-C の型 (const char*) のパラメーターがあり、ラッパーの作成時に文字列に変換しました。これまでのところ、すべてがうまくいっています。問題は、私が持っている 1 つのクラスが URL へのソケット接続を試みていることです。URL の名前を含む文字列変数を作成しましたが、Dll の生成ログでは常にこの「X」のような特殊文字で URL が表示され、ホスト名が不明であると表示されます。以下は、Obj-C と C# の 2 つのメソッドの例です。
- (BOOL) open:(const char*)method withUrl:(const char*)url withAsync:(BOOL)isAsync;
[Export ("open:withUrl:withAsync:")]
bool Open (string method, string url, bool isAsync);
そして別のもの:
- (id)init:(const char*)url onPort:(int)port andUseSSL:(BOOL)ssl;
[Export ("init:onPort:andUseSSL:")]
IntPtr Constructor (string url, int port, bool ssl);
最初のメソッドは、カスタマイズされた httpRequest を表します。Encoding.UTF8 を使用して文字列をエンコードしようとしましたが、うまくいきませんでした。
なぜこれが起こっているのか誰にも分かりますか?
ありがとう