본문 바로가기

Xcode

[iOS] AutoLayout기반 StoryBoard에서 기준점 없는 4인치 3.5인치 대응하기 ++++++++++++++++++++++++++++++최근 추가 : 이 방법은 추천하지않습니다. ++++++++++++++++++++++++++++++ 아이폰이 4인치가 나온지 2년 되어간다.처음 4인치가 나왔을때 살짝 멘붕이 왔지만 애플의 대응법을 토대로 지금까지 잘~ 진행해 왔었다.그런데 지금까지는 기준점이 있는 그러니까 화면상단이 기준이 되거나 하단이 기준이 되는 객체만 진행해 왔지 중간이나 기준점이 없는 객체들은 어떻게 처리 해야 할지 모르고 있었다. 물론 코드로는 할 수 있지만 코드보다 Storyboard에서 무코딩으로 하고 싶었다. 혼자 끙끙되다 찾은 방법과 지인의 추가 설명으로 얻은 방법.개발 환경은 다음과 같다. Mac OS X 10.9.4Xcode 5.1.1iOS SDK 7.1ARC 사용.. 더보기
[iOS] Google YouTube API 이용하기 (설치, 적용, 테스트) 국내는 YouTube API 자료가 없다. 있어도 예전자료밖에 ㅠㅠ 그래서 그냥 내가 만든다. 개발환경은 다음과 같다. OS X 10.9.2 Xcode 5.1.1 iOS SDK 7.1 1. Google Developer Console로 프로젝트 생성 및 API설정 이곳 으로 이동해서 새로운 프로젝트를 생성하자 (구글 로그인이 필요하다) 가운데 상단의 CREATE PROJECT 버튼 클릭 Project name과 Project ID입력후 Create버튼 클릭 시간이 조금 경과 되면 이런 화면이 뜬다 그 후 왼쪽 메뉴중 APIs & auth 메뉴 클릭 스크롤을 쭈욱 내리면 맨밑에 YouTube Data API가 있다. 오른쪽 OFF버튼을 눌러 ON으로 하자 그럼 위사진처럼 상단에 YouTube Data AP.. 더보기
오픈소스 관리 CocoaPods - 설치하기, 관리하기, update하기 CocoaPods는 ios 오픈소스 라이브러리를 통합적으로 관리 해주는 녀석이다.iOS 프로그램을 하다보면 오픈소스를 자주 사용하게 된다.하지만 프로젝트 규모가 커질수록 오픈소스를 관리하기가 점점 어려워진다 하지만 CocoaPods는 이를 말끔히 헤결해준다.지금 부터 CocoaPods의 설치와 관리방법을 포스팅해보겠다. 1. CocoaPods 설치 하기우선 CocoaPods를 설치 하려면 ruby gem을 이용해야 한다. 터미널을 열어 다음의 명령어를 입력하자 $ [sudo] gem install cocoapods $ pod setup 그럼 컴퓨터에 cocoapods설치 완료. 이제 프로젝트에 적용해보자! 2. 프로젝트 적용터미널에서 프로젝트가 있는 root폴더로 이동후 다음의 명령어를 입력하자 (설치할.. 더보기
custom TableView Cell Button selector 커스텀으로 셀을 구성후 각각 셀마다 버튼을 눌러 그셀의 IndexPath를 전달&출력하는 방법 먼저 cell에 버튼셀렉터를 구현한다. [cell.selectButton addTarget:self action:@selector(selectButtonPush:) forControlEvents:UIControlEventTouchUpInside]; 그후 selectButtonPush메서드로 가서 다음의 코드를 입력한다. customCell * cell = (customCell *)[[sender superview] superview]; NSIndexPath *indexPath = [_tableView indexPathForCell:cell]; 그리고 로그를 출력 하면 내가 누른 셀의 로우값을 알아낼수 있고 그해.. 더보기
Core Data Attributes수정 및 추가 할때 순서 자꾸 햇갈려서 그리고 신중히 해야 하기때문에 여기다 적어놓겠다.먼저 현재사용하고 있는 data model을 버전을 업데이트햐야한다. 이렇게 현재사용하고 있는 data Model을 선택후 엑스코드 메뉴 Editor 에서 Add model Version 을 클릭한다 그러면 다음과 같은 화면이 뜨게 된다 Finish를 누르자 이름은 자신이 원하는 이름으로 해도 좋지만 나중을 알아보기 쉽게 설정한다 (본인은 기본숫자) 모든과정을 마치면 이렇게 아름다운 새로운 버전의 data model이 생겼다. 끝이 아니다 만들었으니 수정을 해야지.저 아름다운 데이터모델들을 감싸고있는 상위 data model을 클릭하면Xcode 오른쪽 Utilities창에 이런 섹션이 있을것이다 여기서 Current를 클릭하여 방금 만든 da.. 더보기
Xcode - Profile의 leaks을 파헤쳐보자 어떤 프로젝트를 만들고나서 또는 만드는 중에 메모리 릭이나 현재 이앱의 무게? 를 측정하기 위해 사용하는 툴이 있다. 바로 요녀석 아이콘 모양도 엑스레이 촬영하는것처럼 생긴 녀석이다바로 내가 만든 프로잭트를 종합검진하는 녀석이라고 생각 하면되겠다. 안에 들어가보면 여러가지 항목이 있는데 메모리나 CPU File System등의 항목을 검사할 수 있지만 이번 포스팅은 가장 자주 사용하는 Leaks에 대해서 이야기 하겠다.Leaks는 메모리검사라고 생각 하면되는데 내가 만든 앱을 실행했을때 사용되는 메모리 새는 메모리 총사용메모리등 메모리전반적인 자세한 내용을 보여준다. 사용방법은 다음과 같다.시뮬레이터기준으로 진행하였다. 먼저 엑스코드에에서 Run버튼이 있는 위치를 오래 클릭하면 다음과 같은 메뉴가 나온다.. 더보기
NSDate 특정날짜와 현재날짜 비교 특정날짜를 오늘과 비교해서 차이를 구하는 함수이다. 한마디로 디데이같은 개념이라 생각 하면 된다. - (NSInteger)formattedDateCompareToNow:(NSDate *)date { NSDateFormatter *mdf = [[NSDateFormatter alloc] init]; [mdf setDateFormat:@"yyyy-MM-dd"]; NSDate *midnight = [mdf dateFromString:[mdf stringFromDate:date]]; NSInteger dayDiff = (int)[midnight timeIntervalSinceNow] / (60*60*24); return dayDiff; } 사용법은 다음과 같다 NSDateFormatter *dateFormatte.. 더보기
[xcode] 개발시에 시뮬레이터에선 잘돌아가는게 디바이스에선 안돌아간다? 디아비스에서 개발을하다가 디버그모드에서 Break 시킨상태에 Stop을 누르게 되면 낮은? 높은 확률로 Xcode가 꼬여서 이상해질때가 있다.이때 다시 디바이스 Run을 돌리면 알수 없는 오류를 뱉어 내며 초기화면에서 팅기게된다.하지만 시뮬레이터에서 run을 하면잘~~ 돌아가고.. 클린 , Xcode재실행, 맥 재부팅, 아이폰연결해제 해도 잘 고쳐지지않는 이 버그는 ..... 아이폰을 재부팅 하면 정상적으로 돌아간다. 이런.. 더보기