Size: a a a

iOS Developers — русскоговорящее сообщество

2021 October 05

AK

Anton K. in iOS Developers — русскоговорящее сообщество
В setItem надо передавать только строку
localStorage только строки хранит
источник

F

Feyfolken in iOS Developers — русскоговорящее сообщество
туда можно передавать и json, как бы конвертируя его в строку
источник

AK

Anton K. in iOS Developers — русскоговорящее сообщество
не очень понял, о чем ты
источник

AK

Anton K. in iOS Developers — русскоговорящее сообщество
если я верно тебя понял, то тебе надо в swift конвертировать в json. то есть вызывать evalluateJavascript('localStorage.setItem("key", "%@")')
источник

AK

Anton K. in iOS Developers — русскоговорящее сообщество
и вместо %@ передавать строку
источник

F

Feyfolken in iOS Developers — русскоговорящее сообщество
вместо строки иногда сохраняют json туда, но т.к локал сторейдж принимает только строки делается JSON.stringify(object) и сохраненный результат это строка типа "{"name" : "ivan"}  

у меня проблема в том, что в свифте у меня это словарь, и когда я передаю его туда, делая  "localStorage.setItem('key', JSON.stringify(\(dict)));" , эта dict там представляет из себя строку вида "["key" : "value"] с квадратными скобками, и JS их не хочет обрабатывать)  
попробовать что ли сразу строку нужного вида передавать без фокусов с json, может получится
источник

AK

Anton K. in iOS Developers — русскоговорящее сообщество
JSON.stringify вызывается уже после того, как конвертация твоего dictionary произошла. по сути ты вызываешь следующий код:

"localStorage.setItem('key', JSON.stringify(["key": "value"])"
источник

AK

Anton K. in iOS Developers — русскоговорящее сообщество
и js должен ругаться, что там непонятный синтаксис. тебе надо конвертировать в json на стороне свифта до вызова evaluateScripts
источник

F

Feyfolken in iOS Developers — русскоговорящее сообщество
я пробовал, но как передавать, опять же
вот что было

if let jsonData = try? JSONEncoder().encode(rawTokenHeader) {
           
var jsCodeString = "localStorage.setItem('jwt_token', JSON.stringify(\(rawTokenHeader)));"
       }

ну и тут опять переводится в строку \(rawTokenHeader) и получается ерунда по типу "localStorage.setItem('key', JSON.stringify("674 bytes")" 🤡
источник

🚧

🚧 in iOS Developers — русскоговорящее сообщество
На паблишере вызвать sink
источник

AK

Anton K. in iOS Developers — русскоговорящее сообщество
про JSON.stringify вообще забудь
источник

AK

Anton K. in iOS Developers — русскоговорящее сообщество
jsCodeString = String(format: "localStorage.setItem('jwt_token', '%@'", jsonDataAsString)
источник

AK

Anton K. in iOS Developers — русскоговорящее сообщество
либо еще проще, если у тебя там Dictionary

```
extension Dictionary
{
   
func toJSONString(_ options: JSONSerialization.WritingOptions = []) -> String?
   {
       
if
           
let data = try? JSONSerialization.data(withJSONObject: self, options: options),
           
let string = String(data: data, encoding: .utf8)
       {
           
return string;
       }
       
       
return nil
   }
}

```

тогда jsCodeString = String(format: "localStorage.setItem('jwt_token', '%@'", rawTokenHeader.toJSONString())
источник

K*

Kate *** in iOS Developers — русскоговорящее сообщество
Может кто работал с CleverPush? Или киньте статью как лучше обработать url приходящий в push notifications, когда приложение закрыто?
источник

F

Feyfolken in iOS Developers — русскоговорящее сообщество
Вот это офигенно помогло, спасибо!! Все взлетело, токен сохраняется, достается, все как надо)
источник

Д

Денис in iOS Developers — русскоговорящее сообщество
товарищи помогите понять откуда затягиваеются зависимости sdk и как подменить их на локальные
источник

YK

Yevhenii Kurtov in iOS Developers — русскоговорящее сообщество
Ребята, привет! Кто поможет реверснуть  TLSContact App https://apps.apple.com/lb/app/track-my-application/id1455491722?

Оно у них нерабочее и я пытаюсь понять какие запросы слать на API что бы получить статус заявки
источник

DA

Donna Anna in iOS Developers — русскоговорящее сообщество
Спасибо
источник

AA

Asanbek Alimamat uul... in iOS Developers — русскоговорящее сообщество
как использовать lowerCamelCase на этом коде var OptionalStrOne: String? = "1"
источник

MG

Mark Gromov in iOS Developers — русскоговорящее сообщество
Всем привет, такой вопрос, в хроме есть темный режим то есть все страницы начинают использовать темную тему, есть ли такая же хорошо работающая технология в сафари?
источник