">

아이폰 화면 해상도 알아내는 방법


cocoapods를 통해 'AssistantKit'을 설치한다.


이후 AssistantKit을 import 한다. 

let screen = Device.screen

        

        switch screen {

        case .inches_3_5:  print("3.5 inches")

        case .inches_4_0:  print("4.0 inches")

        case .inches_4_7:  print("4.7 inches")

        case .inches_5_5:  print("5.5 inches")

        case .inches_7_9:  print("7.9 inches")

        case .inches_9_7:  print("9.7 inches")

        case .inches_12_9: print("12.9 inches")

        default:           print("Other display")

        }


스크린 사이즈를 가지고 세부 레이아웃을 설정할 수 있다.


관련 사용방법은 아래 링크에서 직접 확인하면 된다. 


https://cocoapods.org/pods/AssistantKit



'프로그래밍 > iOS' 카테고리의 다른 글

view controller 전환 시 값 넘기기  (0) 2018.08.27
App Store 호출 하기  (0) 2018.08.13
WKWebView 사설 인증서 사용하기  (0) 2018.08.11
둥근버튼 만들기  (0) 2018.04.24
Xcode9 svn 사용하기  (0) 2017.12.13

View Controller 전환 시 값 넘기기


xcode: 9.2

swift: 4.0.3


Storyboard ID를 통해 present를 사용해서 View를 전환 할 때 방법이다. 


VC1, VC2 사이에서 데이터를 넘기는 방법에 대한 설명이다. 


VC1에서 VC2를 호출 하는 것을 가정으로 한다. 




Code in VC1.swift


let VC2 = self.storyboard?.instantiateViewController(withIdentifier: "VC2") as ? VC2

VC2.message1 = "hello,"

VC2.message2 = " nice to meet you"

self.present(VC2!, animated: false, completion: nil)




Code in VC2.swift


// 전역변수 

var message1: String = ""

var message2: String = ""


override func viewDidLoad() {

print(message1 + message2)

}



이렇게 VC1에서 VC2를 호출하게 되면 "hello, nice to meet you" 메시지를 확인할 수 있다. 



'프로그래밍 > iOS' 카테고리의 다른 글

아이폰 화면 해상도 알아내는 방법  (0) 2018.08.29
App Store 호출 하기  (0) 2018.08.13
WKWebView 사설 인증서 사용하기  (0) 2018.08.11
둥근버튼 만들기  (0) 2018.04.24
Xcode9 svn 사용하기  (0) 2017.12.13

App Store 호출 하기


왠만하면 App 자동 업데이트를 해놓는 것 같은데 그런 것을 꺼두는 사용자를 위해서 최신 앱 버전과 상이할 시 스토어로 이동 시켜야 할 때가 있다. 



let appID = "362057947"

                let appStoreLink = "https://itunes.apple.com/kr/app/id\(appID)"

                UIApplication.shared.open(URL(string: appStoreLink)!, options: [:], completionHandler: nil)



이렇게 하면 끝~

'프로그래밍 > iOS' 카테고리의 다른 글

아이폰 화면 해상도 알아내는 방법  (0) 2018.08.29
view controller 전환 시 값 넘기기  (0) 2018.08.27
WKWebView 사설 인증서 사용하기  (0) 2018.08.11
둥근버튼 만들기  (0) 2018.04.24
Xcode9 svn 사용하기  (0) 2017.12.13

WKWebView 사설 인증서 사용하기


Using self signed SSL Certificate on WKWebView


WKWebView로 바뀌고 나서 이래저래 바뀌게 많다. 이것과 관련해서는 다음에 포스팅하는것으로 하고...


프리로 프로젝트가 들어왔는데 http에서 갑자기 https로 바꿔달라고 해서 관련 정보를 찾다가 정리할 겸 포스팅 합니다. 


서버에 사설 인증서를 사용할 경우 WKWebView에서 바로 접근하지 못합니다.


WKWebViw를 사용하는 클래스에 WKNaviagtionDelegation 클래스를 implements 합니다. 


이후 아래 코드를 넣어주면 사설 인증서로 구성된 서버로 접근이 가능해 집니다.


이때 Info.plist에 ATS 설정은 더 이상 필요 없습니다. ATS 설정은 http 통신일 때나...


   

     func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping ((WKNavigationActionPolicy) -> Void)) {

        print("URLAuthenticationChallenge2")

        decisionHandler(.allow)

    }

    

    func webView(_ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {

        print("URLAuthenticationChallenge2")

        let cred = URLCredential(trust: challenge.protectionSpace.serverTrust!)

        completionHandler(.useCredential, cred)

    }


    

'프로그래밍 > iOS' 카테고리의 다른 글

view controller 전환 시 값 넘기기  (0) 2018.08.27
App Store 호출 하기  (0) 2018.08.13
둥근버튼 만들기  (0) 2018.04.24
Xcode9 svn 사용하기  (0) 2017.12.13
app icon 사이즈  (0) 2017.11.30

iOS 둥근 버튼 만들기



iOS에서 둥근 버튼을 만드는 것은 쉽습니다.


버튼을 굳이 커스텀으로 만들 필요도 없습니다.


스토리보드에서 만든 버튼을 그대로 사용하면 됩니다.


IBOutlet을 이용하여 버튼을 선언합니다. 


@IBOutlet weak var circleButton: UIButton 을 선언합니다.


이후 circleButton.layer.conerRadius = circleButton.layer.frame.size.width/2


이렇게 입력하면 그림과 같이 둥근 버튼이 만들어집니다.


단, 이때 주의할 점은 스토리보드에 생성한 버튼의 가로 X 세로 크기가


정사각형이여야 완전히 동그란 버튼이 만들어집니다.


가로, 세로 크기가 다른 직사각형이되면 원이 찌그러져서 나옵니다.


'프로그래밍 > iOS' 카테고리의 다른 글

App Store 호출 하기  (0) 2018.08.13
WKWebView 사설 인증서 사용하기  (0) 2018.08.11
Xcode9 svn 사용하기  (0) 2017.12.13
app icon 사이즈  (0) 2017.11.30
CoreLocation GPS 튜토리얼  (0) 2017.11.10

Xcode9에서 SVN 사용하기


Xcode9에서 SVN을 통해 프로젝트를 import 시키려니

어떻게 하는지 도통 찾을 수가 없었다.

그리하여... 커맨드라인으로 import를 시키고,

Check Out을 통해 프로젝트를 다시 받아 사용하는 법을

공유하고자 한다.


우선 커맨드라인으로 프로젝트를 svn에 import 하는 방법이다.

프로젝트를 생성하고 Git을 사용하기로 했다면 해당 정보를 먼저 삭제하자!

터미널에서 프로젝트 폴더까지 접근 후 다음 명령어를 입력한다.

find ./ -name ".git" | xargs rm -Rf

만약 svn 정보를 삭제하고자 한다면

find ./ -name ".svn" | xargs rm -Rf

를 실행한다.


이제 프로젝트를 svn 서버로 import 할 차례!!

1. 터미널을 실행시킨다.

2. import할 프로젝트 폴더까지 접근한다.

3. svn import -m "New Import" svn://xxx.xxx.xxx.xxx/경로


이번에는 import한 프로젝트를 Check out 한다.

Xcode 실행 후 아래 그림을 보면서 따라하면

import했던 프로젝트를 Check out할 수 있다.


클릭 이후 나타나는 창에서 svn에 import 되어있는 주소를 적어준다.


이후부터는 SVN으로 commit나 update가 가능하다.

'프로그래밍 > iOS' 카테고리의 다른 글

WKWebView 사설 인증서 사용하기  (0) 2018.08.11
둥근버튼 만들기  (0) 2018.04.24
app icon 사이즈  (0) 2017.11.30
CoreLocation GPS 튜토리얼  (0) 2017.11.10
library not found for -lcrt1.3.1.o 에러 해결 방법  (0) 2017.08.08

iOS 개발을 처음부터 한다면,


App Icon 설정하는 것도 알아야 합니다. 


또 앱이 실행 될 때 Launch Screen 적용도 필요하죠.


프로젝트의 Assets.xcassets 라는 파란색 폴더(?)를 클릭합니다. 



그러면 화면에 App Icon을 끌어다 놓기만 하면 됩니다.



이때, 유의해야할 것이 사이즈를 정확하게 맞춰줘야 에러가 나지 않습니다.


앱 아이콘 사이즈는 다음과 같습니다. 



이제 App Icon 적용 문제는 끝났습니다.


그 다음은 LaunchScreen 적용인데요,


프로젝트에서 LaunchScreen.storyboard를 클릭하시고


Image View를 추가하신 다음 화면에 꽉 차게 크기를 조절하고


이미지를 채워주면 됩니다.

'프로그래밍 > iOS' 카테고리의 다른 글

둥근버튼 만들기  (0) 2018.04.24
Xcode9 svn 사용하기  (0) 2017.12.13
CoreLocation GPS 튜토리얼  (0) 2017.11.10
library not found for -lcrt1.3.1.o 에러 해결 방법  (0) 2017.08.08
iOS ATS(App Transport Security)  (0) 2016.09.01

CoreLocation GPS 튜토리얼


objective-c 를 사용하여 GPS의 현재 위치 값을 받아오고, 좌표를 주소로 변환하는 작업까지 진행하도록 하겠습니다. 

우선 Project에서 CoreLocation Framework를 추가해야 합니다. 





추가 한 이후 ViewController에 필요한 라벨 3개와 버튼 1개를 추가하도록 합니다. 




헤더 파일에는 CoreLocation과 관련된 헤더 파일을 import 해주고, 델리게이트를 선언합니다. 




viewDidLoad에는 locationManager를 통해 위치 정보를 사용하겠다고 사용자에게 동의를 받도록 구성해야 합니다. 




버튼에 대한 이벤트를 작성합니다. 버튼을 클릭하면 현재 위치를 호출 합니다. 




현재 위치를 호출 한 뒤 실패 했을 때와 성공 했을 때 좌표를 찍고, 성공했을 경우 좌표를 통해 주소를 가져오도록 합니다. 

실행 시켜보면 좌표 값과, 주소를 잘 가져옵니다. 다만 주소가 구 주소 형식이어서 도로명 주소로 변환하는 것은 앞으로 찾아봐야 될 것 같습니다. 


'프로그래밍 > iOS' 카테고리의 다른 글

둥근버튼 만들기  (0) 2018.04.24
Xcode9 svn 사용하기  (0) 2017.12.13
app icon 사이즈  (0) 2017.11.30
library not found for -lcrt1.3.1.o 에러 해결 방법  (0) 2017.08.08
iOS ATS(App Transport Security)  (0) 2016.09.01

python 2.7 TLS 설정


이 글은 클라이언트에서의 구현을 다룬다. 파라미터가 있어서 post 방식으로 사용한다.

헤더는 기존과 동일하게 작성하고, context를 하나 더 추가해준다. 


import httplib, ssl


headers = {Content-type": "application/x-www-form-urlencoded", "Aceept": "text/plain"}

context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)

conn = httplib.HTTPSconnection('IP', 'prot', None, None, None, 10000, None, context)

conn.request("POST", "/url", params, headers)

response = conn.getresponse()

data = response.read()

conn.close


이렇게 하면 TLSv1.2로 구동되고 있는 서버와 통신이 문제 없이 된다.  

library not found for -lcrt1.3.1.o 에러 해결 방법


  이것 때문에 1시간 정도를 검색한 것 같다. deployment target을 iOS 5.0으로 하고 빌드를 해서 그렇다. 

iOS 6.0 이상으로 변경하고 빌드하면 에러 없이 잘 된다.


'프로그래밍 > iOS' 카테고리의 다른 글

둥근버튼 만들기  (0) 2018.04.24
Xcode9 svn 사용하기  (0) 2017.12.13
app icon 사이즈  (0) 2017.11.30
CoreLocation GPS 튜토리얼  (0) 2017.11.10
iOS ATS(App Transport Security)  (0) 2016.09.01

+ Recent posts