본문 바로가기

Programming/iOS

(34)
[Swift] if..return을 알기 쉽게 대체한 guard 조건문 안녕하세요 명동콜링입니다. 이번에는 Swift에서 다른 언어와는 다르게 아주 간편하게 if... return 형태를 식별할 수 있는 guard 조건문에 대해 간단하게 알아 보려 합니다. 먼저 if... return의 형태가 어떤 것이냐 하면 다음과 같은 형태가 되겠습니다. 다음 예시는 간단하게 Playground에서 String값을 식별하여 return 처리를 한 예를 들었습니다. 이처럼 if 안에 있는 조건에 해당되는 데이터들은 더이상 메소드의 내용을 진행하지 못하고 팅겨주는 역할을 하는 흔히 개발자들이 필터링 할 때 사용하는 조건문 형태가 되겠습니다. 이 if ... return 형태의 조건문을 Swift에서는 guard 조건문이라는 것으로 따로 구분을 지어서 만들게 되었습니다. 그렇게 어렵지 않은데..
[ios] 기본 공유하기 기능 사용하기 사진 및 링크를 앱에서 다른 앱으로 공유 하기를 해야할때, iOS에서 제공하는 UIActivityViewController 사용하면, 간편하게 구현할 수 있습니다. UIActivityViewController 에서 제공하는 공유 대상의 서비스 범위는 SNS 또는 이메일, 클립보드 복사하기 와 iOS 소셜 프레임워크로 추가된 페이스북, 트워터 등이 있습니다. 페이스북에 글을 등록하려면, 예전엔 페이스북 API를 이용하여, 등록해야했기 때문에, 페이스북 개발자 생성 및 API Key발급도 해야했지만, UIActivityViewController 를 사용하면 페이스북 API를 이용하지 않고도 글을 등록할수 있습니다. 단, 아이폰에 페이스북 로그인이 되어있어야합니다. ------------------------..
[ios] XML 파서 이용하기 공공 데이터 API 중에는 XML로 제공되는 데이터들이 많습니다. ios에서 기본으로 제공하고, 사용법은 간단합니다. 1. URL 객체를 생성하고, url를 입력합니다. test URL는 동물보호관리시스템 유기동물 조회 서비스를 이용하겠습니다. https://www.data.go.kr/dataset/15001096/openapi.do NSURL *url = [[NSURL alloc] initWithString:@"http://openapi.animal.go.kr/openapi/service/rest/abandonmentPublicSrvc/abandonmentPublic?ServiceKey={{ServiceKey}}&bgnde=20140601&endde=20171210&upkind=417000&kind=0..
[iOS] WKWebView 시작하기 ios9 부터 기존 UIWebView 보다 향상된 성능을 제공하는 WKWebView를 지원합니다. UIWebView로는 하이브리드 앱과 연동하는데 있어서, 많은 제약사항이 있어, WKWebView를 진행 중인 프로젝트에 적용해 보았습니다. 아래는 WKWebView에 장점과 문제점입니다. 참고해주세요. *참고 링크 http://docs.kioskproapp.com/article/840-wkwebview-supported-features-known-issues * 장점 - 앱의 기본 프로세스 외부에서 실행됩니다. - 더 빠른 자바 스크립트 엔진 인 Nitro 사용합니다. - JavaScript를 비동기 적으로 처리합니다. - 특정 터치 지연을 제거합니다. - 서버 측 인증 과제 지원합니다. - 오류가있는 자..
[ios Tip] 앱 이름 로컬라이징 하기 저의 플랫폼사업팀에서는 간단한 앱을 아이오닉으로 제작해 보았습니다. 애자일에서 일정을 추정하는 방법 중에 하나인 플래닝포커 방법을, 앱으로 만들어 보았는데요.이번에는 네이티브앱 아닌, 웹형태로 제작하였습니다. ios, android 네이티브 개발자들은, ionic으로 만든 소스를 git에서 다운받아, 빌드를 하고, 로컬라이징 작업만 간단히 하여 앱을 등록해보았습니다. 아래의 명령어로, ios 프로젝트가 생성이 되며, 작업폴더 하위에 platforms > ios 폴더가 자동으로 생성이 되고, iPlanningPoker.xcworkspace 선택하여 프로젝트를 실행할 수 있습니다 ionic cordova build ios --prod =========================================..
[Objective-c Tip] ios 네트워크 체크하기 네트워크 통신을 하기 위해서는 네트워크 환경 체크는 필수 입니다. * 기타 강력한 네트워크 프레임웍을 사용하시려면 git에서 AFNetworking을 추천해드립니다 https://github.com/AFNetworking/AFNetworking ----------------------------------------------------------------------------- Objective-c에서 제공하는 프레임 워크로, 네트워크 변동사항을 체크할수 있습니다. #import #import - (void) connectedToNetwork { struct sockaddr_in zeroAddress; bzero(&zeroAddress, sizeof(zeroAddress)); zeroAddress.s..
[Objective-C Tip] 국가 통화 스트링 변환하기 현재 설정되어 있는 국가의 통화를 스트링으로 변환하기 다음의 함수를 호출 하면 현재 설정된 국가의 통화를 스티링으로 변환 시켜 줍니다. decimalCountry는 소수점이 있는 국가의 경우에만 YES값으로 미리 지정을 시켜줬습니다. -(NSString *)convertToCurrency: (long long)cost{ NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init]; [currencyFormatter setNumberStyle: NSNumberFormatterCurrencyStyle]; double doubleCost; if(decimalCountry == YES) { [currencyFormatter setMaximumF..
[Xcode Tip] Git LFS 대용량 파일 다운받기 지난번에는 svn에 있는 레파지토리를 Git허브로 옮겨보았는데요.사용하고 있던 라이브러리 중 500MB가 넘은 파일이 있었습니다. 이파일은 업로드 하고 나서, git clone으로 다운받아서 빌드를 했는데. 빌드가 되지 않았습니다.여기저기 구글링을 해보았는데, LFS 설정이 되지 않아서 였습니다. LFS란large file handling을 하기 위해 github에서 만든 오픈 소스입니다.Git에서는 대용량 파일을 다루기가 적절하지 않기 때문에, 이부분을 지원하기 위해 나온 오픈소스입니다. Git에서 clone을 받은 프로젝트에는 해당파일이 134 바이트였습니다.git 허브 에는 525MB으로 확인됩니다. 사용법은 의외로 간단했습니다. 우선 Xcode로 clone을 받습니다. (터미널이나, github에..