Programer 58

[Swift] 이니시스 결재 모듈 관련 이슈 (아엠포트 소개, EUC-KR 인코딩 변경)

이번 프로젝트에 이니시스 결재 모듈을 추가하는 작업을 진행했습니다.이니시스 결재시 페이지로 파라미터 값(상품명)을 보낼 때 한글이 나오지 않는 부분이 있었습니다. 열심히 테스트헤보니 iOS (UFT-8) -> 이니시스 결재 처리 웹 (EUC-KR) -> 이니시스 결재 페이지 (UTF-8) 이런식으로 처리되는 것 같은데.. iOS(UTF-8) 에서 EUC-KR로 처리시 UTF-8에 있는 한글 코드가 EUK-KR 코드에 없기 때문에 누락되는 것을 확인했습니다.그래서 저는 UTF-8를 EUC-KR로 바꿔서 전달했더니 이니시스 결재 페이지에 이상한 글자가 나타는 것이었습니다. UTF8 -> EUC-KR 변환 코드 func stringToEuckrString(stringValue: String) -> String..

Programer/iOS 2016.12.01

[Swift] iOS앱 개발 전 반드시 알아야할 3가지 라이브러리

(초보주의....!) - 들어가며.. 기본 지식 없이 시작하시는 iOS개발자분들을 위해 iOS앱 개발 전 반드시 알아야 할 3가지 라이브러리를 소개합니다.주로 Swift위주이며 해당 페이지 README에서 잘 설명해주고 있으니 자세한 설명은 생략하겠습니다. :) 1. Alamofire 너무나 유명한 라이브러리입니다.RESTful API를 간단하게, 편하게 구현가능한 라이브러리입니다.다운로드, 업로드 등도 지원하고 있으며 이 라이브러리를 사용하면 쉽게 서버 통신을 구현을 할 수 있습니다. 2. ObjectMapper / SwiftyJSON 서버로 부터 온 JSON을 아주 간다하고 쉽게 모델로 바꿔주는 라이브러리입니다.데이터를 클레스나 구조체로 구현 했을 경우 ObjectMapper로 한번에, 아주 쉽게 변..

Programer/iOS 2016.11.11

[Auyolayout] 오토레이아웃 유용한 팁 모음

iOS 개발자 비성상토크에서 태완님 강의 중 유용한 팁! 1. 텍스트뷰에서 스크롤을 끄면 알아서 크기가 변경됨 텍스트뷰에 글이 채워질때마다 크기를 자동으로 늘이는 방법을 찾아왔었는데.. 스토리보드에서 scroll enable을 끄면 글자수에 마춰 크기를 자동으로 변경해줍니다. (저는 이걸 몰라서 항상 코드로 처리...) 2. 오토레이아웃을 사용해 애니메이션을 주려면 아래와 같이 두번 콜해주는 것이 좋다. self.view.layoutIfNeeded()animate(..){...}self.view.layoutIfNeeded() 3. iOS 8 이하에서 스택뷰를 사용하려면 FDStackView를 사용하면 된다! 4. 오토레이아웃 프레임에 맞추기 단축키 -> 커맨드 + 옵션 + = 5. 테이블뷰를 사용할때, ..

Programer/iOS 2016.10.24

[Swift] 옵셔널(Optional) 정리

저번주 토요일 iOS개발자 비정상토크가 있었습니다.토크 주제중 keyWindow님의 옵셔널 강의가 굉장히 유용하여 제 스타일대로 정리해보고자 합니다. 1. 옵셔널이란 무엇인가? - 스위프트의 특징 중 Safe에 해당 된다![Safe] : 옵셔널을 통해 안전한 코드 작성이 가능하다!PowerfulMorden - 간단히 말해 값이 있을수도 있고 없을수도 있다! - ??가 붙었을 경우 메모리 공간 안에 상자가 하나 더 있다고 생각하면 쉽다. 즉, 옵셔널은 상자안에 값이 들어가게되는 것, 만약 값이 없는경우는 상자 안이 비어 있다 할 수 있다. (nil을 할당할 경우) 만약 ?가 안 붙으면 옵션널이 없다는 상수, 즉 ?가 안 붙어 있으면 값이 없으면 절대 안된다! 2. 그럼 왜????????? 옵셔널을 사용하는..

Programer/iOS 2016.10.24

[Xcode8] cocoapod 업데이트 후 linker command failed with exit code 1 (use -v to see invocation) 에러가 나는 경우

맥북이 너무 느려져서 포맷하면 괜찮아 질려나 하고 포맷을 하고, 셋팅을 다시하던 중에 Xcode 에서 잘 되던 빌드가 안되는 것이었다.. 처음에는 SVN에 소스가 잘못되어 있는 줄 알았더니 framework 링크에 문제가 있었던 것이었다.framework를 지우고 cocoapod도 재설치 해봤지만 에러는 사라지지를 않고.. 열심히 삽질을 하던 중에 framework 폴더에 Pods.framework, Pods_MindCafe.framework 두개의 framework가 생긴 것을 발견하였다. cocoapod 구버전의 경우 Pods.framework 이고 신버전의 경우 Pods_MindCafe.framework 인거 같다. 구버전의 Target Membership 을 체크했다가 해제하고, 신버전은 체크 해..

Programer/iOS 2016.10.20

[Swift] Swift 3 올렸다가 Swift 2.3 다시 돌아온 삽질기

Xcode 8 로 업데이트 후 Swift 3으로 싹 바꾸려고 했는데 확실히 2.2 -> 2.3 보다 더 복잡하였다.(참고로, Xcode 7 에서 Xcode 8를 바로 받아 설치해도 덮혀씌여진다 -> 이걸 몰라서 엄청 헤맸다.) 도전 정신을 가지고 Swift 3으로 변환을 시도 하였으나..결국 내가 사용하고 있는 라이브러리가 Swift 3를 지원하고 있지 않아.. 2.3 버전으로 다시 되돌렸다.내가 작성한 소스는 SVN에서 되돌리면 되니 큰 문제는 없었지만..Xcode 8에서 계속해서 Swift 3이 아니라고 에러를 발생 시켰다... 일단 해결 방법은 아래 그림과 같이 Use Legacy Swift Language Version 를 Yes 로 변경해주면 된다. 만약 cocoa pod을 사용중이라면 coco..

Programer/iOS 2016.09.19

[IOS] 아이폰앱 개발 시 사용된 라이브러리 및 추천 사이트

*라이브러리 이름을 클릭하시면 새창으로 연결됩니다. 'CryptoSwift'로그인 및 사용자 정보를 암호화 하여 통신하기 위한 라이브러리입니다.여러 라이브러리를 찾아봤지만 가장 디테일하게 사용할 수 있습니다. 'ActiveLabel'해시테그에 링크를 걸어줄 때 필요한 라이브러리 입니다. 'Alamofire'Restful API 통신을 위한 라이브러리입니다. 이 라이브러리를 사용하면 굉장히 편하게 통신을 구현할 수 있습니다.또한 다운로드 등 다른 기능도 제공하니 이만한 라이브러리가 없는 것 같습니다. 'SwiftyJSON'JSON통신을 좀 더 편하게 해주는 라이브러리 입니다. 'ObjectMapper'아직 공부 부족으로 설치만 하고 사용하지 못하고 있습니다.JSON 정보를 오브젝트로 맵핑 시켜주는 기능을 ..

Programer/iOS 2016.09.08

[Swift] tableView Cell 선택시 view에 맞춰 dimmed 효과 주기

let bgColorView = UIView() let patchLayer = CALayer() patchLayer.frame = CGRectMake(14, 3, self.tableView.frame.size.width - 28, 108) patchLayer.cornerRadius = 7 patchLayer.backgroundColor = Colors.pinkLineBox.CGColor bgColorView.layer.addSublayer(patchLayer) cell.selectedBackgroundView = bgColorView 해당 코드를 tableview 생성 코드안에 넣으면 됩니다. selectedBackgroundView가 cell를 선택할 때, 나오는 뷰입니다.근데 bgColorView 는..

Programer/iOS 2016.05.26