반응형
ios
반응형
27

iOS Swift 특정 화면에서만 화면 회전 기능 활성화 해보기

iOS 앱을 개발하다 특정 화면에서 단말기 회전에 따른 화면 회전을 고려한다면 다음의 내용을 확인해 보자! 1. 먼저 iOS 앱의 화면 기본 설정이 어떻게 적용되는지 알아보자! - 우선적으로 앱의 경우 info.plist의 화면 회전 설정을 먼저 체크하게된다. - 아래 Xcode Target -> General -> Deployment Info에서 화면 회전에 대한 설정이 가능하다. -- Upside Down의 경우 폰을 180도 뒤집은 경우 화면 회전을 뜻하나 일부 단말기에서는 해당 회전이 지원되지 않을 수 있다. (노치 디자인 단말의 경우 Upside Down이 지원되지 않을 가능성이 높다) - 위의 Device Orientation에 Landscape Left, Landscape Right가 휴대전..

개발 2021.07.15

iOS Swift를 이용하여 화면 회전에 대한 이벤트 받기

특정 화면에서 화면 회전에 대한 이벤트를 받으려면 어떻게 해야 할까? - 앱에서 화면 회전이 가능하나 iPhone의 세로보기 잠금을 해 놓은 상태라도 iPhone을 가로로 돌릴경우 이벤트는 발생된다. 1. NotificationCenter를 이용하여 Observer를 구성한다. // 아래 코드를 viewDidAppear 에 작성한다. // - 여기서 detectOrientation은 화면 회전 이벤트 발생시 호출할 함수 이다. NotificationCenter.default.addObserver(self, selector: #selector(self.detectOrientation), name: NSNotification.Name("UIDeviceOrientationDidChangeNotification..

개발 2021.06.14

iOS Swift Firebase Auth Twitter 로그인 팁

Firebase 인증을 이용하여 Twitter 로그인 이용시 OAuth를 이용하게 된다. 이때 accessToken과 secret 값이 필요한데 가이드 상에서는 주석으로 다음과 같이 적혀있다. provider.getCredentialWith(nil) { credential, error in if error != nil { // Handle error. } if credential != nil { Auth().signIn(with: credential) { authResult, error in if error != nil { // Handle error. } // User is signed in. // IdP data available in authResult.additionalUserInfo.profil..

개발 2021.04.07

iOS Swift UITextField 입력시 특수문자 제외방법

UITextField로 사용자 입력값을 받고자 할때 특수 문자를 제외한 영문, 숫자만 입력을 받고자 한다면 어떻게 처리를 해야 할까? 특수 문자 입력 시 화면에 표기 되지 않도록 구성해보자! 1. UITextField에 Editing Changed Event 함수를 구성한다. @IBAction func ActFieldChanged(_ sender: UITextField) { // removeSpecialChars를 이용하여 특수문자가 입력되는것을 방지 한다. sender.text = self.removeSpecialChars(text: sender.text ?? "") } 2. 특수 문자 제거 함수 구성 func removeSpecialChars(text: String) -> String { let ok..

개발 2021.04.07

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

iOS 유료 앱 또는 유료 상품 환불방법

iOS 스마트폰을 사용하다 보면 유료 앱 또는 유료 상품을 잘못 구매하거나 구매 후 오동작으로 인해 환불을 요청해야 할때가 있다. 이럴때는 아래의 방법으로 진행한다. 만약 Android 유료 앱 또는 유료 상품 환불을 하고자 할 경우 아래 글을 참고하자 Android 유료 앱 또는 유료 상품 환불방법 Android 스마트폰을 사용하다 보면 유료 앱 또는 유료 상품을 잘못 구매하거나 구매 후 오동작으로 인해 환불을 요청해야 할때가 있다. 이럴때는 아래의 방법으로 진행한다. 1. PC에서 아래 주소로 sosoingkr.tistory.com 1. iOS 스마트폰 설정앱을 오픈 한다. 2. 설정 제일 상단 사용자 부분을 클릭 하여 아래 화면으로 이동한다. 3. 사용자 화면에서 미디어 및 구입항목을 클릭하여 노출..

생활 2020.12.23

iOS 이미지 푸시 구성해보기!

iOS Push Notification의 경우 일반적으로 Firebase의 FCM 푸시 구성을 많이 하게 된다. 이때 Push Server로 구성한 서버에서 푸시를 전송할때 apn 항목 안아래와 같이 mutable-content 값을 1로 전송하게 되면 푸시를 재 편집 할수 있게 구성이 가능하다. "aps": { "mutable-content":1, ... }, 해당 글에서 코드 부분은 파란색으로 표기 됩니다. 해당 글에서 중요 부분은 붉은색으로 표기 됩니다. ​ 1. UNNotificationServiceExtension 이란? Apple Developer Documentation developer.apple.com 위의 주소를 통해 확인해 보면 원격 통지가 사용자에게 전달되기 전에 원격 통지의 내용을..

개발 2020.10.21

iOS Silent Push Notification - 보이지 않는 푸시 구성하기

iOS Push Notification의 경우 일반적으로 Firebase의 FCM 푸시 구성을 많이 하게 된다. 이때 Push Server로 구성한 서버에서 푸시를 전송할때 apn 항목 안아래와 같이 content-available 값을 1로 전송하게 되면 보이지 않는 푸시 구성이 가능하다. "aps": { "content-available":1, ... }, 해당 기능을 이용할 경우 제약 사항으로는 앱 프로세스가 사용자에 의한 강제종료 상태가 아니어야 하며, 백그라운드에서의 코드 실행시간이 30초 가 넘지 않도록 구성을 하여야 한다. 단순히 서버에서 위 설정을 넣는것이 끝이 아니라 Xcode의 Signing & Capabilities 부분에서 아래와 같이 체크를 해주어야 한다.

개발 2020.10.20