【Swift5】Google 양식에 미리 자동 입력

소개



앱의 문제의 보고 등으로, OS 정보나 앱의 버전 등의 정보가 있으면 매우 도움이 되는군요.
그래서 이번에는, 그 항목을 자동 입력해 주는 폼의 만드는 방법을 소개합니다.

방법



Google 설문지에는 자동 입력된 URL을 게시하는 기능이 있습니다.
이 URL의 일부를 Swift로 다시 작성하면 됩니다.

1. 양식 만들기



여기 에서 양식을 작성하십시오.
작성 방법에 대해서는 설명을 생략하겠습니다.

2. URL 생성



양식 작성 화면의 오른쪽 상단에 있는 · 세로로 나란한 메뉴 버튼에서 "사전 입력한 URL 가져오기"를 클릭합니다.
그러면 폼 입력 화면으로 날아가기 때문에, 사전 입력해 두고 싶은 항목에 알기 쉬운 문자열을 입력해 둡니다.

링크 가져오기를 클릭하면 URL이 생성됩니다.
화면 왼쪽 하단의 "링크 복사"를 눌러 복사해 둡시다.

자신의 경우에는 이런 링크가 되었습니다.
https://docs.google.com/forms/d/e/(省略)/viewform?usp=pp_url&entry.1009686721=osversion&entry.1835889012=appversion

3. OS 정보, 앱 버전 얻기



OS명은 UIDevice.current.systemName , OS버전은 UIDevice.current.systemVersion 로 취득 가능합니다. (둘 다 String입니다)
let os = "\(UIDevice.current.systemName)%20\(UIDevice.current.systemVersion)"
let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String

이 문자열은 URL의 일부이므로 공백(공백)을 사용하면 안 됩니다.
대신 %20를 사용하면 비어 있습니다.

추기 기종의 이름을 취득한다



정확한 모델 이름 (예 : "iPhone XS")을 얻으려면 YMTGetDeviceName이라는 라이브러리를 사용하십시오.
var device = YMTGetDeviceName.share.getDeviceName()
if let devName = device.range(of: " ") {
  device.replaceSubrange(devName, with: "%20")
}

range를 사용하여 공백을 %20로 바꿉니다.

4. URL 재작성



방금전 URL의 osversion 부분을 \(os) 로, appversion 부분을 \(version) 로 다시 쓰면 됩니다.
let url = URL(string:"https://docs.google.com/forms/d/e/(省略)/viewform?usp=pp_url&entry.1009686721=\(os)&entry.1835889012=\(version!)")
UIApplication.shared.open(url! as URL)

동작 확인




문제없이 표시됩니다.
사용자의 번거로움을 줄일 수 있으므로, 시도할 가치가 있다고 생각합니다!

좋은 웹페이지 즐겨찾기