1

Macのプロキシ設定を更新してみました。SCDynamicStoreSetValue:false を返し、更新が失敗したことを示します。これは私が使用するコードです。正しい方法は何ですか?

let ds: SCDynamicStoreRef = SCDynamicStoreCreate(nil, "setProxy" as CFString, nil, nil)!

        let isUpdated = SCDynamicStoreSetValue(ds, "HTTPProxy" as CFStringRef, "111.111.111.1")

        if isUpdated{
            print("updated")
        }else{
            print("not updated")
        }

問題は、SCDynamicStoreSetValue が false を返す理由と、それを回避する方法です。

4

2 に答える 2

2

失敗した後SCDynamicStoreSetValue、呼び出しSCError()てエラー コードを取得します。

let errorCode = SCError()

または、エラーを文字列として取得します。

let errorString = String.fromCString(SCErrorString(SCError()))

どちらの場合も、システム構成フレームワークのステータス コードとエラー コードを確認してください。SCDynamicStoreSetValueこれにより、 false を返す理由がわかるはずです。

(アプリがサンドボックス化されている場合、考えられる理由はkSCStatusAccessError、または「アクセス許可が拒否されました」です。サンドボックス化されたアプリはこれらの値を設定できません。)

于 2016-08-31T17:22:09.503 に答える