본문 바로가기

Swift

(57)
get web contents in swift 외국 자료를 보는데 info.plist에서 뭔가 추가해줘야 한다기에 왜 추가해줘야 하는지 찾다가 이 글을 발견. http://comxp.tistory.com/353 [전체 허용] 이유는 iOS9에서 기본이 https만 사용하게끔 설정되어 있어서 이 작업을 해 줘야만 http web contents를 가져올 수 있다고 한다. 좀 더 자료를 찾아보다가 다음 게시물을 발견할 수 있었다.http://stackoverflow.com/questions/31254725/transport-security-has-blocked-a-cleartext-http/31254874#31254874 [필요한 URL만 허용]이 글의 첫 번째 Answer와 세 번째 Answer를 참고하면 좋고, 두 번째 Answer의 댓글도 참고하자..
xocde7 localization, 지역화, 현지화 - 3. tip 좀 더 편하게 내가 적용해 본 약간의 편의 방법을 적어보고자 한다. 1. String Extension 을 이용한 NSLocalizedString() 적용func localize() -> String { return NSLocalizedString(self, comment: self) }이렇게 String에 extension을 지정하고 나면 아래 2번과 같이 텍스트에 바로 적용할 수 있다. 2. 배열에도 Localization 적용하기var labelText = ["WELCOME!".localize() , " Play Game Right Now! ".localize() , " Let Me Select Another Name! ".localize() , " Let Me Create New Name! ".localize(..
xocde7 localization, 지역화, 현지화 - 2. App Name 자동 변경 앱 이름도 언어 설정에 따라 변경되게 할 수 있다.왼쪽은 기본언어(영어)일 때고 언어를 한국어로 변경하면 오른쪽처럼 자동으로 앱 이름이 변경되도록 할 수 있다. 방법은 아래와 같다. 1. 우선 앞 글을 참고하여 환경 설정을 해준다.2. InfoPlist.strings 파일을 하나 생성한다. 3. 왼쪽 Project Navigator(command+1)에서 InfoPlist.strings 파일을 선택하고 오른쪽 File Inspector(option+command+1)로 가면 Localization 버튼이 있다. 이 버튼을 누르고 한국어를 선택한다. 아래는 최종 모습 4. 그리고 이 파일에 아래와 같이 입력한다./* InfoPlist.strings MathAvengers Created by SeoDongH..
xocde7 localization, 지역화, 현지화 - 1. 환경 설정 및 적용 다음 사이트를 보고 Localization을 진행하고 있다.참고 사이트: https://lingohub.com/frameworks-file-formats/ios-i18n-xcode7/https://www.raywenderlich.com/64401/internationalization-tutorial-for-ios-2014 아래 위치에서 Localization 항목에 korean을 추가한다. 그리고 Main.Stroyboard를 선택하고 오른쪽 File Inspector(종이 모양 아이콘, option+command+1)에 가면 Localization에 Base, english, korean을 볼 수 있다. 아래 그림처럼 모두 체크해주자.그럼 왼쪽 Project Navigator의 Main.Storyboa..
swift에서 클라우드로 파일 관리 핵심 - URLForUbiquityContainerIdentifier 클라우드에 파일을 저장하거나 저장한 파일을 다운로드 하는 경우는 뭐 다른 특별한 메소드가 따로 있는 것은 아니다. 그냥 일반적인 로컬 작업과 동일한 메소드를 사용하면 된다. 바로 이거!try fileManager.copyItemAtURL(itemUrl, toURL: localURL!)그럼 뭣이 중한가? 중요한 것은 물론 클라우드의 디렉토리 정보이다.그래서 이런 메소드를 사용하기 전에 작업할 클라우드 디렉토리 정보를 사전에 알아놔야 하는데 그것은 아래 메소드를 이용하여 기본 디렉토리 정보를 알아낼 수 있다. // 클라우드 기본 디렉토리 정보 가져오기let containerURL = fileManager.URLForUbiquityContainerIdentifier(nil)// 클라우드 Documents 디렉..
iCloud로 파일 관리 - setUbiquitous 클라우드에 파일을 저장하려고 여기저기 다 뒤지고 다녔는데, 그 중 ubiquity 애들을 이용하는 것이 가장 간단해보였다. 이 애들은 Cloudkit을 import하지 않고서도 사용이 가능하다. 특히 setUbiquitous()를 이용하여 로컬 파일을 클라우드로 보내고 클라우드 파일을 로컬로 다운로드가 가능하다고 하여 이 메소드를 사용해보았다. 허나 문제점이 발생.. 일단 로컬 파일을 클라우드로 저장하는 소스를 보자.아래 소스의 앞 부분에let containerURL = fileManager.URLForUbiquityContainerIdentifier(nil)를 선언하여 클라우드의 기본 디렉토리 정보를 가져오도록 한다. if let directory = cloudDocumentsDirectory{ let..
UITextField에 글자 수 제한 걸기 (Max Length, Limit Length) 글자 수 제한을 걸어야 하는 경우가 생긴다.나의 경우 collectionView에 두 개의 TextField가 있고 첫 번째 것은 이름, 두 번째 것은 나이를 입력받는다. stackoverflow에서 힌트를 얻어 다음과 같이 코드를 작성하였는데 한글/영어 모두 잘 작동된다.한 번에 여러 글자를 복사해서 붙여 넣는 경우 마지막 글자를 지우는게 아니어서 약간의 버그가 있긴 하지만 큰 문제가 될 것 같진 않다. func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { guard let text = textField.text else { r..
auto-layout-visual-format-language-tutorial raywenderlich에 아주 잘 설명이 되어 있어서 해당 글을 링크한다. https://www.raywenderlich.com/110393/auto-layout-visual-format-language-tutorial 한편, 테스트를 해 보다가 몇 가지 사실을 알게 되었는데.. NSLayoutFormatOptions.AlignAllCenterXCenterX라는 말에 현혹되지 말자. 이거만 보고 화면의 정 중앙에 UI들을 정렬해 주는 줄 알고 계속 삽질을 했다.- 두 개 이상의 UI들이 UI를 정렬하되 UI들의 가운데를 기준으로 정렬한다는 의미이다. ppt에서 가운데 맞춤과 동일한 의미이다.- 그러므로 하나의 UI에게 이 옵션을 주어보았자 영향이 없다.- 절대 화면의 정 중앙으로 맞추지 않는다.- 화면..