PerfectLib の更新バージョンを参照するときに、PerfectServer モジュール (MCPushServer と呼ばれる) を Ubuntu でコンパイルする際に問題が発生しています。前の質問と同様に、JSON 本文データにアクセスするために、WebRequest の遅延変数パラメーター postBodyString を利用するように PerfectLib を更新しました。これはすべて Mac では正常に動作しますが、新しいファイルを Linux VM にコピーしてプロジェクトを再コンパイルすると、MCPushServer の RegistrationHandler は WebRequest のパラメーターを認識しないため、コンパイルに失敗します。
コンパイラからの出力:
MCPushServer/MCUnregistrationHandler.swift:33:28: error: value of type 'WebRequest' has no member 'postBodyString' let bodyData = request.postBodyString
以下の詳細な手順:
- PerfectLib をリモート サーバーにコピーしました
- 既存の PerfectLib.so を削除します
- run 'make': PerfectLib.so が再作成され、'postBodyString への参照が含まれています (ファイルを grep すると、一致が返されました)
- 'sudo make install' を実行して /user/local/lib/ にリンクします > すべて問題ありません
- 再コンパイルされた PerfectServer
- Examples/MCPushServer に cd して make を実行すると、上記のエラーが発生します。
また、WebRequest の既存のメソッド (例: lazy var params) をコメントアウトして、プロセスを繰り返しました。WebRequest のメンバーが見つからないことについて Handler が文句を言うことを期待していましたが、何も起こらなかったかのように対処しているようです。
私のモジュールが構築しようとしているときに参照する PerfectLib / WebRequest の廃止された生成されたインターフェースがどこかにあるかのように見えます。ここで正しい方向に私を向けることができる人はいますか?