URLSessionDataTask
を使用してバックエンドAPIにアクセスしようとしています。これには、Safariを使用して保存されたCookieへのアクセスも含まれます。 URLSessionDataTask
要求がURLSessionDataTaskを使用しているときにCookieが存在しない
let url: URL = URL(string: "http://api.example.com/v1/getCookies")!
let task = Foundation.URLSession(
configuration: URLSessionConfiguration.default,
delegate: self,
delegateQueue: OperationQueue.main
).dataTask(with: url)
task.resume()
代わりのウェブサイトに行われたとき
例えば、http://api.example.com/v1/getCookies
ためのバックエンドでのPHPコードは、iOSのSafari上に存在しない
echo $_COOKIE["myCookieName"];
クッキーで、まだクッキーの値がリクエストに対する応答として送信されている場合、レスポンスはクッキーが設定されていないということです。 URLSessionsのCookieがSafariのCookieとは別のようです。
クッキーはドメイン.example.com
とパス/
の下に格納されます。
私のアプリからSafariに設定されたクッキーにアクセスする方法はありますか?例えば、私が動作するように、このようなものを(私はより複雑な何かをやっているが、これは基本的に私は働きたいかを示して)
- ユーザーの訪問example.comをしてニックネームを選択したいと思います
- ユーザーの選択したニックネームがクッキーに保存されている ユーザーがexample.comモバイルアプリアプリがexample.comへの要求を行う
- 、と返されたクッキーに保存されているニックネームをダウンロードすることを決定した
このようなことをする方法はありますか? HTTPCookie.cookies
でもHTTPCookieStorage.shared.cookies
でも動作しないようです。
残念ながら、これはうまくいきません。同じ結果が得られます – Jojodmo