반응형
swift
반응형
30

iOS 13 이후 위치 권한을 항상 받도록 설정하는 방법은?

앱을 개발하다 보면 단말기 위치 권한을 '항상 허용'이 필요한 경우가 발생된다. iOS 13 이후 어떻게 권한 승인이 가능한지 알아보자! 1. 기존 권한 요청 팝업을 '항상 허용'으로 출력하려면 아래 코드를 요청해야 한다. import CoreLocation var locationM = CLLocationManager() locationM.requestAlwaysAuthorization() - 물론 아래와 같이 Info.plist에 권한 문구도 작성을 해 주어야 한다. NSLocationAlwaysAndWhenInUseUsageDescription 위치정보 권한이 필요합니다. (항상 or 앱을 사용하는 동안 위치정보를 수신합니다.) NSLocationAlwaysUsageDescription 위치정보 권한..

개발 2021.04.01

Swift 위치 권한 팝업 요청 및 단말기 현재 위치 가져오기

iOS 앱을 개발하다 위치 정보를 활용해야 할때 방법을 알아보자! 1. Info.plist의 권한 텍스트 작성하기! NSLocationAlwaysAndWhenInUseUsageDescription 위치정보 권한이 필요합니다. (항상 or 앱을 사용하는 동안 위치정보를 수신합니다.) NSLocationAlwaysUsageDescription 위치정보 권한이 필요합니다. (항상 위치정보를 수신합니다.) NSLocationWhenInUseUsageDescription 위치정보 권한이 필요합니다. (앱을 사용하는 동안에만 위치정보를 수신합니다.) 2. 위치 권한 팝업을 뜨우는 방법과 위치 정보 가져오기 - requestWhenInUseAuthorization : 앱을 사용하는 동안에만 위치 정보를 사용하겠다고 ..

개발 2021.04.01

Swift TextField 엔터키 이벤트 수신하는 방법!

iOS App을 개발하다 보면 TextField의 글자 입력 후 엔터키 이벤트를 수신해야 할때가 있다. 이럴때는 UITextFieldDelegate를 사용하면 된다. 코드 파일 이름이 testViewController.swift 라 가정할때 class testViewController: UIViewController, UITextFieldDelegate { @IBOutlet weak var fieldId: UITextField! override func viewDidLoad() { super.viewDidLoad() // StoryBoard에서 fieldId 객체의 딜리게이트 연결을 하지 않았다면 self.fieldId.delegate = self } // UITextFieldDelegate Return..

개발 2021.02.16

유니버셜 링크에 대해 알아보자!

앱을 서비스 하다보면 웹에서 앱을 호출해야 할때가 있다. 이때 iOS에서 사용할 수 있는 방법은 크게 두가지 있다. 일반적으로 웹에서 앱을 호출하는 방법에 대해서 딥링크라도 명명하고 있다. iOS에서 딥링크를 사용하는 두 가지 방식 1. 스키마를 이용한 앱 호출 2. 유니버셜 링크를 이용한 앱 호출 스키마를 이용한 앱 호출과 유니버셜 링크를 이용한 앱 호출의 가장큰 차이점은 무엇일까? 아마 앱 설치 유무를 판단하는 부분에서의 매끄러움(?) 이라고 할 수 있겠다. 매끄러움(?) 이라고 표현을 한 부분은 1. 앱에 고유의 스키마를 지정하더라도 다른 앱에 동일한 스크마 등록이 가능하기 때문에 구분이 모호할 수 있다는 부분과 - A 앱에 aaa:// 스키마를 등록 B앱에 aaa:// 스키마를 등록하여 한 단말기..

개발 2021.02.09

Swift iOS guard let vs let

해당 글에서 코드 부분은 파란색으로 표기 됩니다. 해당 글에서 중요 부분은 붉은색으로 표기 됩니다. guard let guard 뒤의 코드의 실행 결과가 true라면 코드가 계속 실행되는 형태이다. 주로 비교가 되는 if 구문과는 다르게 guard 구문은 무조건 else 구문이 따라와 주어야 한다. 이 내부 코드에는 자신보다 상위 코드 블록을 종료하는 코드가 반드시 들어가야 한다. 즉, 코드 블록 종료시 return, break, continue, throw 등 제어문 전환을 위한 명령을 사용해 주어야 한다. guard의 경우 Bool 타입의 값으로 guard문을 동작시킬 수 있지만 옵셔널 바인딩 역할로도 사용된다. 이렇게 사용시 guard로 옵셔널 바인딩 된 상수를 guard 구문 실행 코드 아래부터 ..

개발 2020.09.30

SwiftUI 알아보기 :) Text

해당 글에서 코드 부분은 파란색으로 표기 됩니다. 해당 글에서 중요 부분은 붉은색으로 표기 됩니다. 1. 기본 텍스트 레이블 만들기는 View를 상속 받은 ContentView 안 body 영역에 붉은색으로 표시된 코드를 작성한다. (SwiftUI의 body 영역은 기본적으로 센터에 표시가 되도록 구성되어 있다.) [ContentView.swift] import SwiftUI struct ContentView: View { var body: some View { Text("Hello, world! Hello, world! Hello, world! Hello, world! Hello, world! Hello, world! Hello, world! Hello, world! Hello, world! Hello..

개발 2020.09.24

Swift iOS HEX Color 적용하기 :) UIColor 코드

해당 글에서 코드 부분은 파란색으로 표기 됩니다. 해당 글에서 중요 부분은 붉은색으로 표기 됩니다. iOS 프로젝트에서 Hex Color 값을 그대로 사용하여 UIColor로 적용하고 싶다면? extension UIColor { convenience init(red: Int, green: Int, blue: Int, a: Int = 0xFF) { self.init( red: CGFloat(red) / 255.0, green: CGFloat(green) / 255.0, blue: CGFloat(blue) / 255.0, alpha: CGFloat(a) / 255.0 ) } convenience init(rgb: Int) { self.init( red: (rgb >> 16) & 0xFF, green: (rg..

개발 2020.09.24

Swift iOS Cocoapods : SwiftyJSON

iOS Swift로 개발한 앱에서 HTTP 통신 시 JSON 데이터를 전달 받을 때 사용하면 편리한 라이브러리 입니다. JSON 리턴값을 배열형태로 쉽게 표현하여, 사용이 용의한 장점이 있습니다. 해당 글에서 코드 부분은 파란색으로 표기 됩니다. 해당 글에서 중요 부분은 붉은색으로 표기 됩니다. 1. "Swift iOS Cocoapods 사용하기" 부분이 선행이 되어야 합니다. 2. SwiftyJSON 연동 방법은 생성된 Podfile을 텍스트 에디터로 Open 한 후 아래 pod 'SwiftyJSON' 부분을 추가 합니다. [Podfile 파일 안] platform :ios, '8.0' use_frameworks! target 'MyApp' do pod 'SwiftyJSON' end 3. 파일 내용을 ..

개발 2020.09.23

Swift iOS WKWebView : Progress URL 로딩 퍼센트 사용하기 (코드 부분)

iOS WKWebView에서 URL 로딩 시 Progress 페센트를 전달 받아 봅시다. 해당 글에서 코드 부분은 파란색으로 표기 됩니다. 해당 글에서 중요 부분은 붉은색으로 표기 됩니다. 1. "Swift iOS WKWebView : 기본 연동 (코드 부분)" 코드를 작성 한 후 붉은 부분을 추가 합니다. [MainViewController.swift 파일 안] // * WKWebView를 사용하기 위해서는 WebKit 모듈을 import 시켜야 합니다. import WebKit class MainViewController: UIViewController { // * WKWebView 객체 선언 private var wkWebView: WKWebView? = nil override func viewDi..

개발 2020.09.22

Swift iOS WKWebView : JavaScript -> Swift 함수 호출하기 Use WKWebViewConfiguration (코드 부분)

iOS WKWebView를 이용하여 javaScript에서 swift 함수를 호출해 봅시다. 해당 글에서 코드 부분은 파란색으로 표기 됩니다. 해당 글에서 중요 부분은 붉은색으로 표기 됩니다. 1. WKWebView가 나오기전 UIWebView에서는 JavaScript 에서 앱 내 함수 호출 시 document.location을 이용한 URL 파싱으로 작업을 하였습니다. Ex) document.location = "sosostudy:::" + ":" + param1 + ":" + param2; - sosostudy : http와 같은 프로토콜 구분 용도 2. WKWebView에서는 WebKit 모듈을 이용하므로 WKWebViewConfiguration을 이용하여 보다 편리하게 호출이 가능합니다. 2-1...

개발 2020.09.22