본문 바로가기

ios

[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폴더로 이동후 다음의 명령어를 입력하자 (설치할.. 더보기
UIRefreshControl 사용하기 아이폰 사용자라면 앱을 이용하다보면 "내려서 새로고침"(pull down refresh, Release to refresh)이라는 문구를 많이 보았을것이다. 이를 태면 이런 화면이나 이런 화면이다 이는 쌓여있는 데이터를 새로 고침 하는 개념으로 웹브라우저 새로고침(F5) 같은 거라고 생각 하면된다. 하지만 예전엔 이 기능을 구현하려면 수십줄의 코드를 전부 짜야 됬었는데 Apple에서 고맙게 UIRefreshControl이라는 클래스를 선물해 주었다 헌데 ios6이상부터 지원 되는 기능이라서 ios5 이하까지 대응 하려면 구식의 방식으로 코딩 해야 되기때문에(둘다 쓸바에 구식 하나만 쓰는게 편하니...) 결국 있으나 마나 했던 기능 하지만 ios7이 나오면서 ios5이용자들이 거의 없다 싶이 해서 이기능을.. 더보기
ios7 UIKit Dynamics 적용 예제 http://meetkei.com/ 님의 블로그에서 본 UIKit Dynamics 편을 참고 하여 만들어본 소스다. 이런 정보를 제공해준 kei님에게 감사의 말씀을 전하며. 어린 기능을 만들어준 애플에게 짱짱맨을 날리며. 더보기
crittercism 에 dsYM을 추가해보자 아이폰, 아이패드, 맥의 App 오류나 버그를 사용자의 실제 사용으로 리포트를 받을수 있는 유용한 crittercism 하지만 정말 자세하게 나오지는 않아 막연하게 그런 이슈가 있다고 하고 일일이 다 찾아봐야 하는 번거로움이 있고 실제 변수가 계속 다르게 들어올때에는 그런 이슈가 나에게 발생하기만을 기다리며 디버깅 해야 하는 경우도 태반이다 이모든게 dsYM파일이 있다면 좀더 자세하게 분별 가능 하다는걸 이제야 깨달았다 그래서 이번엔 crittercism 에 dsYM을 추가해보는 시간을 가져보자 먼저 해당 프로젝트파일에 crittercism SDK 라이브러리를 적용시킨다. (지금 포스팅은 dsYM등록을 위한 포스팅이기때문에 넘어간다) 라이브러리 파일안에 요런 파일이 있을것이다. dsym_upload.sh.. 더보기
UIWebView에 Header정보 넣기 UIWebView의 url에 디바이스의 각종 정보를 세션으로 넣어서 사용했었는데 창을 띄우고 한참 있다 웹에서 작업을 다시 시작 하면 세션정보를 잃어 버리는 상황이 발생한다. 이를테면 댓글입력 웹창에서 댓글들을 계속 보다가~~~~~~~ 보다가 ~~ 댓글을 입력 하면 일정시간이 지나 url에 넣었던 정보를 잃어 버릴때가 있다. 그래서 직접 헤더로 정보를 넣는식으로 바꾸기로했다. 방법은 우선 UIWebViewDelegate를 이용 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType; 인스턴스 메서드 안에서 .. 더보기
UIWebView의 로드된 웹페이지에 JavaScript 소스 넣기 또는 수정, 삭제 하기(target:'_blank') UIWebView에서 특정 링크에대해 개별적인 처리를 하려고했다.그 특정링크는 targer:'_blank' 속성을 가진 녀석을 safari로 링크를 돌리려고했다. 하지만 앱상에서 해당 웹뷰의 웹페이지 속성을 불러올수 있는 방법을 못찾다가 다음과 같은 방법으로 해결했다. 해당 웹페이지의 javaScript 속성을 변경하는것. - (void)webViewDidFinishLoad:(UIWebView *)webView { NSString *js = @"\ var d = document.getElementsByTagName('a');\ for (var i = 0; i < d.length; i++) {\ if (d[i].getAttribute('target') == '_blank') {\ d[i].removeAtt.. 더보기
UIWebView bounce 비활성화 하기 UIWebView는 기본적으로 UIscrollview속성을 가지고 있다. webView에서도 scrollview속성을 쓸수 있다는 말인데 그중 bounce속성을 건들여보기로했다. for (id subview in _webView.subviews) { if ([[subview class] isSubclassOfClass: [UIScrollView class]]) { ((UIScrollView *)subview).bounces = NO; } } webView의 subView 들중 그 클래스가 UIScrolleView 클래스라면 그 클래스 속성을 변경 하는 코드이다. 더보기