string 타입의 url을 인코딩하였는데 URL이 nil이라고 뜹니다…

6 답변 글타래를 보이고 있습니다
  • 글쓴이
    • 토끼 돼지
      참가자
      • 글작성 : 5
      • 답글작성 : 16

      웹뷰로드 과정에서 string 타입을 인코딩하였는데 URL이 nil로 나오는데 해결방법을 모르겠습니다.. ㅠ  Url 값까지는 해당 url이 잘 넘어오는데 myEncodeUrl에서 nil 값이 나옵니다..

      • 이 게시글은 토끼 돼지에 의해 4 years, 4 months 전에 수정됐습니다.
    • TTOzzi
      참가자
      • 글작성 : 10
      • 답글작성 : 13

      https://zeddios.tistory.com/281
      이 글에선 addingPercentEncoding 의 인자로 .urlFragmentAllowed 를 사용해서 해결했네요.
      같은 상황인 것 같은데 참고해보세요..!

    • 토끼 돼지
      참가자
      • 글작성 : 5
      • 답글작성 : 16

      답변 감사합니다. 해당 사이트는 이미 참고했는데 해결되지 않네요 ㅠ 

    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 579

      저 String 은 어떻게 들어오는지 볼 수 있나요? 저 문자열이 뭔지 보는게 더 좋을거 같은데요.

    • 토끼 돼지
      참가자
      • 글작성 : 5
      • 답글작성 : 16

      Appdelegate 상의 코드입니다. push notification의 payload에서 url value를 string 객체로 지정하였습니다. push알림이 올 때 해당 push를 눌렀을 때 할당되는 url입니다. 

    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 579

      아뇨 저 처음 올려준 코드에서 string을 로그 찍어봤을때 어떻게 나오는지 알아야 할 것 같단 말이었어요
      인코드 되기 전의 문자열을 로그 찍어봤을때 어떻게 나오는지 확인해 봐야할거 같은데요

      • 이 답변은 야곰에 의해 4 years, 4 months 전에 수정됐습니다.
    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 579

      메시지 드린대로 저는 똑같이 했을때 정상적인 결과가 나옵니다. 저기 page 전달인자로 들어오는 값에 문제가 있을지 어떨지 감이 안잡히네요.


      let string = "https://yagom.net/method_sample?param_one=student&param_name=야곰&param_two=한글&type=질문" let encoded = string.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) if let unwrappedEncoded = encoded, let url = URL(string: unwrappedEncoded) { print(url) }

      인코딩된 결과는 이렇게 나왔어요.

      https://yagom.net/method_sample?param_one=student&param_name=%EC%95%BC%EA%B3%B0&param_two=%ED%95%9C%EA%B8%80&type=%EC%A7%88%EB%AC%B8

6 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.

logo landscape small

사업자번호 : 743-81-02195
통신판매업 신고번호 : 제 2022-충북청주-1278 호
고객센터 : 카카오톡채널 @yagom