오늘의 Tip

1. CocoaPods이란?

2. CocoaPods 설치

3. Pod 설치

4. Pod 찾아보기


안녕하세요 야곰입니다.

오늘은 코코아팟에 대한 이야기를 해보려고 합니다.


# CocoaPods이란?


iOS 및 macOS, tvOS 등 애플 플랫폼에서 개발을 할 때, 외부 라이브러리를 관리하기 쉽도록 도와주는 의존성 관리 도구들이 있습니다. CocoaPods는 애플 플랫폼을 위한 의존성 관리도구의 일종입니다. 애플 플랫폼에서 사용할 수 있는 의존성 관리 도구의 대표적인 예로는 [CocoaPods], [Carthage], [Swift Package Manager] 등이 있습니다.


더 자세한 설명은 이미 써두신 분들이 많아 링크를 드립니다.


CocoaPods에 대해 설명하고 있는 문서 링크


# CocoaPods 설치 및 Pod 설치


가장 빠른 것은 아래 영상을 보고 따라하는거예요.






영상을 보기 싫은 분들을 위해 텍스트 설명


# CocoaPods 설치


쉽습니다. 별로 할 게 없어요. 맥을 사용하고 있다면 터미널을 열어서 명령어 한 줄만 입력하면 됩니다.

아무 반응이 없더라도 기다리세요. 설치가 되고 있습니다. 처음에 꽤 오래 걸립니다. 그러니 차분히 기다리세요.


sudo gem install cocoapods


# Pod 설치


CocoaPods를 통해 가져올 수 있는 라이브러리를 Pod이라고 할 수 있습니다. 


먼저 현재 내가 진행하고 있는 프로젝트 폴더에 Podfile 이라는 이름의 파일을 생성합니다. 이 Podfile을 통해 CocoaPods이 라이브러리 의존성을 파악하게 됩니다.


원하는 라이브러리는 cocoapods.org에서 검색해 보는 것이 가장 쉽고 빠릅니다. 검색하여 찾은 라이브러리의 pod spec을 복사하여 Podfile에 붙여넣어줍니다.


파일을 저장한 후 터미널에서 (프로젝트 경로에서)아래 명령어를 입력해줍니다.


pod install


그러면 기존 프로젝트 파일 외에 워크스페이스 파일이 별도로 생성되는데, 이제 그 워크스페이스 파일로 작업을 진행하면 됩니다.



# Pod 설치


그러면 도대체 쓸만한 Pod은 어디서 찾을까요?


일단 CocoaPods를 통해 제공되는 라이브러리는 모두 cocoapods.org에서 찾아볼 수 있는데요, 

UI를 미리 보고 싶다면 cocoacontrols.com도 추천합니다.

각종 UI/UX 라이브러리들이 모여있고, 미리보기, 라이센스 확인도 모두 가능합니다.




Download Source를 선택해 들어가면 대부분 github 페이지로 이동합니다.

github 페이지의 README 파일에 보면 대부분 cocoapods을 통해 설치할 수 있는 pod 정보도 설명이 되어있습니다.




그런데 더 놀라운 곳이 있습니다! 양이 너무 많아 무얼 써보아야 할지 모르지만~ 

[Awesome iOS]에 많은 라이브러리 목록이 있습니다. 

UI만 또 모아놓은 곳도 있구요~ [Awesome iOS UI]


이제 손쉽게 라이브러리를 검색하고 의존성 관리도 손쉽게 해보세요!








by yagom

facebook : https://facebook.com/yagomsoft

facebook group : https://www.facebook.com/groups/yagom/


p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.

RSS Feed 받기   


Posted by yagom

댓글을 달아 주세요

  1. jinhongstar 2018.02.23 11:27  댓글주소  수정/삭제  댓글쓰기

    안녕하세요 야공(야곰)님!!

    swift 책 도 잘봤고,

    덕분에 도움이 잘 됬습니다.

    가끔 이렇게 꿀팁영상 보면서 도움을 많이 받고 있습니다.

    감사합니다 ^^

  2. 분당조승우 2018.12.17 19:24  댓글주소  수정/삭제  댓글쓰기

    야곰님 좋은 팁 나눠주셔서 정말 감사해요~


iOS 오픈 라이브러리 모음


제가 자주 사용하는 라이브러리들을 모아봤습니다. 

개인 취향이나 세부목적에 쓰는 기능이 아닌 보편적으로 쓸 수 있는 기능들을 위주입니다.
누군가에게는 도움이 되면 좋겠네요 :D

* [] 안에 표시된 이름은 Objective-C로 작성된 유사 라이브러리입니다.


* 유틸리티


Alamofire [AFNetworking]

말이 필요없는 네트워킹 라이브러리죠! 

Swift로 쓰여졌으며 대부분의 네트워킹 기능을 아주 멋드러지게 구현해두었습니다. 

형제로는 Objective-C로 쓰여진 AFNetworking이 있습니다.


https://github.com/Alamofire/Alamofire

https://github.com/AFNetworking/AFNetworking




SwiftyJSON [JSONModel]

스위프트에서 JSON 다루기 정말 귀찮으시죠? 
스위프트에서 JSON을 손쉽게 다룰 수 있도록 기능이 구현되어있는 라이브러리입니다.




ObjectMapper

모델 객체를 JSON과 손쉽게 상호 변환할 수 있는 라이브러리입니다.

Alamofire, Realm 등 다른 라이브러리와도 손쉽게 연계할 수 있습니다.

[전수열님 추천] <- 심지어 전수열님은 이 라이브러리의 Contributor로 활동하고 계시죠 꺅


https://github.com/Hearst-DD/ObjectMapper




Kingfisher [SDWebImage]

웹 서버에 있는 이미지를 손쉽게 가져올 수 있으며, 캐싱 등의 처리를 알아서 관리해주는 라이브러리입니다. 
다양한 옵션으로 캐싱과 이미지 로딩 방법 등을 손쉽게 제어할 수 있습니다.






RealmSwift [RealmCocoa]

Realm 모바일 데이터베이스는 SQLite와 CoreData를 대체할 수 있는 크로스 플랫폼 모바일 데이터베이스로 무료 오픈소스로 제공됩니다. 
iOS 뿐만 아니라 안드로이드, React Native, Xamarin 등 여러 플랫폼에서 사용할 수 있습니다. 
Realm 모바일 데이터베이스를 사용하면 데이터 모델을 따로 만들고 않고도 리액티브 데이터 레이어를 쉽게 구현할 수 있으면서 성능이 최적화된 앱 개발에 도움이 됩니다.

CoreData를 감싼 라이브러리가 아니라 완전히 새로운 데이터베이스입니다. 렘이라고 읽습니다. 
렘 모바일 플랫폼(https://realm.io/docs/get-started/overview/#the-realm-mobile-platform)을 사용하면 서버와 손쉬운 데이터베이스 동기화도 가능합니다.




Then

대한민국의 짱짱 iOS 개발자 전수열느님[https://github.com/devxoul]이 만든 라이브러리입니다. 

클로저를 사용하여 인스턴스를 생성한 뒤 원하는 처리를 해줄 수 있습니다. 코드가 분산되지 않고 깔끔해집니다!


https://github.com/devxoul/Then




CoreStore

CoreData를 손쉽고 안전하게 관리할 수 있도록 도와주는 라이브러리입니다. 학습비용이 조금 있습니다만, 코어데이터를 조금 더 쉽게 운용할 수 있습니다.





SugarRecord

CoreData와 Realm 데이터베이스를 손쉽게 사용할 수 있도록 감싸놓은 라이브러리입니다. 

두 데이터베이스 종류에 상관없이 손쉽게 데이터베이스를 운용할 수 있습니다.


https://github.com/carambalabs/SugarRecord




Google Analytics Service

사용자 분석과 로그분석, 크래시 분석에 유용하죠. 구글 분석 툴.


https://developers.google.com/analytics/devguides/collection/ios/v3/sdk-download



Fabric

최근에 구글로 인수된 트위터의 사용자 분석 및 인증 도움 라이브러리입니다. 여러 기능을 포함하고 있습니다. 

저는 주로 사용자분석에 많이 활용하고, 크래시리틱스를 통해 크래스 로그 분석에 사용합니다.


https://get.fabric.io





* UI/UX


SnapKit

오토레이아웃을 코드로 구성할 때 매우 편리하게 작성할 수 있게 도와주는 라이브러리입니다. 즉, 손쉬운 오토레이아웃 코드 작성 라이브러리! 


https://github.com/SnapKit/SnapKit




DZNEmptyDataSet

테이블 뷰나 컬렉션 뷰 등에 데이터가 없을 때 보여줄 수 있는 심플한 화면을 손쉽게 관리할 수 있는 라이브러리입니다.


https://github.com/dzenbot/DZNEmptyDataSet





TextFieldEffects

텍스트필드에 다양한 효과를 줄 수 있는 라이브러리입니다.

 텍스트 필드에 다양한 애니메이션을 손쉽게 넣어줄 수 있습니다.


https://github.com/raulriera/TextFieldEffects





RETableViewManager

테이블뷰를 통해 여러종류의 입력을 받을 때 매우 유용하게 사용할 수 있는 라이브러리입니다. 

내 코드에서 테이블뷰 delegate와 dataSource 메서드를 구현해줄 필요도 없습니다.

커스터마이징도 자유롭게 제공합니다. 

조금의 학습비용이 있지만 제대로 사용할 줄 알면 편하게 테이블뷰를 다룰 수 있습니다.


https://github.com/romaonthego/RETableViewManager




Spring

애니메이션을 손쉽게 구현할 수 있는 라이브러리입니다. 

다양하고 연속적인 애니메이션을 간단한 코드로 사용할 수 있습니다. 

코드 뿐만 아니라 스토리보드에서도 옵션 설정이 가능합니다.


https://github.com/MengTo/Spring




SVProgressHUD

로딩 팝업 등을 손쉽고 예쁘게 보여줄 수 있는 라이브러리입니다. 

다양한 옵션과 모양이 있어 어떤 앱에서도 사용하기 좋습니다.


https://github.com/SVProgressHUD/SVProgressHUD



iRate

사용자에게 언제, 어떻게 앱스토어 리뷰를 제안해야 할지 고민이 많다구요? 

iRate를 사용하면 시기 적절하게 앱스토어 리뷰를 요청할 수 있습니다. 

짜증나지 않는 선에서 알아서 간간히 앱스토어 리뷰를 요청합니다.


https://github.com/nicklockwood/iRate



SCAlertView

손쉽게 알림창(Alert)를 보여줄 수 있는 라이브러리입니다. 커스터마이징이 쉽고 깔끔하게 동작합니다.


https://github.com/vikmeup/SCLAlertView-Swift



MGSwipeTableCell

테이블뷰의 셀을 Swipe(옆으로 밀어 끌기) 했을 때 다양한 애니메이션과 메뉴 옵션을 제공하는 라이브러리입니다. 


https://github.com/MortimerGoro/MGSwipeTableCell



Charts

예쁜 차트를 손쉽게 그리고 관리할 수 있는 라이브러리입니다. 크으~


https://github.com/danielgindi/Charts



PagingMenuController

세그먼트 컨트롤 또는 툴바 등을 사용한 여러 메뉴를 한 화면에 보여주는 경우 스와이프 제스쳐로 페이징이 가능하도록 할 수 있는 라이브러입니다. 

iOS에서 권장하는 UX는 아니지만 종종 필요한 경우 유용합니다.


https://github.com/kitasuke/PagingMenuController




Hero

다양한 인터렉션을 통해 뷰 컨트롤러 간에 전환(transition)을 손쉽게 구현할 수 있는 라이브러리입니다. 
다양한 제스쳐와 전환 애니메이션을 제공합니다. 강추!
[윤병훈님 추천]





* 폰트/디자인


Chameleon

디자인 감각이 없는 사람도 예쁜 색 조합을 맞출 수 있습니다. 

최근 베타로 테마기능을 넣어서 테마만 설정해주면 앱 전반적으로 플랫 색상을 지정해줍니다. 

개인 개발자에게 매우 유용!


https://github.com/ViccAlexander/Chameleon




FontAwesomeKit

다양한 아이콘 폰트를 사용할 수 있는 라이브러리. 

웹에는 Font Awsome이 있다면 iOS에는 FontAwsomeKit이 있습니다!


https://github.com/PrideChung/FontAwesomeKit



FontBlaster

외부 서체(폰트)를 손쉽게 가져와서 활용할 수 있도록 도와주는 라이브러리입니다. 

기본 폰트가 아닌 앱 전용 폰트를 사용한다면 매우 유용하게 사용할 수 있습니다.


https://github.com/ArtSabintsev/FontBlaster



Material

메테리얼 디자인을 위한 라이브러리입니다. 

다양한 메테리얼 애니메이션과 그래픽 요소들이 포함되어 있습니다.


https://github.com/CosmicMind/Material




* 보너스

PinterestSwift

라이브러리는 아니지만 Pinterest와 같은 화면 이동을 구현해놓은 샘플코드입니다. 참고해볼 만한 코드.








유용한 라이브러리를 찾으셨나요?

더 좋은 라이브러리, 추천하고 싶은 라이브러리가 있다면 덧글로 알려주세요~! 한 번 모아볼까요? :D
 



by yagom

facebook : https://facebook.com/yagomsoft

facebook group : https://www.facebook.com/groups/yagom/


p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.

RSS Feed 받기   


Posted by yagom

댓글을 달아 주세요

  1. 윤병훈 2017.03.23 13:33  댓글주소  수정/삭제  댓글쓰기

    요즘 뜨고있는(?) Hero 추천 합니다
    https://github.com/lkzhao/Hero

  2. 윙맨 2017.03.23 13:59  댓글주소  수정/삭제  댓글쓰기

    AFNetworking의 AF가 AlamoFire의 약자라는걸 어제 알았음ㅋㅋ

  3. 유태훈 2017.06.12 19:21  댓글주소  수정/삭제  댓글쓰기

    안녕하세요.

    이번에 처음 swift로 ios 개발 중인 초보입니다.
    처음이라 너무너무 어렵네요 ㅠ

    혹시 PagingMenuController 사용법 좀 알 수 있을까요?
    초보가 소스를 분석해서 사용하기에 PagingMenuController는 너무 어렵네요 ㅠ

    • Favicon of https://blog.yagom.net BlogIcon yagom 2017.06.12 20:11 신고  댓글주소  수정/삭제

      안녕하세요 유태훈님!
      해당 라이브러리의 github의 README 파일을 참고하시면 예제소스와 함께 예제 프로젝트도 제공되고 있습니다 :)
      제가 아무리 잘 설명해도 만든 사람이 직접 설명한 것 보다 잘 설명하긴 어려울 것 같아요^^;

  4. Favicon of http://liebus.tistory.com BlogIcon 리베스 2018.04.26 10:32  댓글주소  수정/삭제  댓글쓰기

    유용한 정보 잘봤습니다.
    Objective-C 로만 해오다가 이번 플젝에서 swift 로 바꿨는데 라이브러리 찾는것도 일이네요
    감사합니다. ㅎㅎ

  5. 분당조승우 2018.12.17 19:28  댓글주소  수정/삭제  댓글쓰기

    Alamofire로 UDP통신도 구현해보셨나요?ㅠㅠ


오늘의 Tip

1. iOS 7 상태바 없애기


안녕하세요. 오랜만에 포스팅입니다.

iOS 7에서는 화면마다 상태바를 보여줄 수 있거나 안보여 줄 수 있게 되었죠.

그래서 화면마다 상태바를 보여줄지 말지 결정하는 코드가 들어가야 한다는 이야기입니다.

어떻게 보면 귀찮아졌죠...

상태바를 안보이게 하는 방법을 한 번 알아봅시다.

# 상태바 없애기


일단 싱글뷰로 빈 프로젝트를 생성해 봤습니다.

그냥 실행 해 보면 빈 화면에 상태바가 나올거예요.

그러면 이제 뷰컨트롤러 구현 파일에 코드를 넣어봅시다.


요로코롬 넣고 실행하면 해당 뷰 컨트롤러에서는 상태바가 안보이게 될거예요.

그런데, 이걸 뷰 컨트롤러마다 넣어줄 수도 없고..ㅡㅡ 귀찮아요.

그래서 커스텀 클래스를 만들어서 다른 뷰 컨트롤러들에 상속시켜주려고 해요.

커스텀 클래스를 만들고 똑같이 코드를 넣어줍니다.

그냥.. 너무 간단한거라 첨부도 해봅니다.





그리고 기존에 뷰 컨트롤러를 우리가 만들어준 커스텀 뷰 컨트롤러를 상속받도록 해줘요.



그리고 실행해보면 상태바가 없어져있는 화면과 마주하게 되겠죠~




지금 여기에서 설명한 용어 중 어렵거나 모르는 용어가 있다면 제 블로그 찾아보시면 다 나와요. 검색만 하셔도 쉽게 찾을 수 있어요 :)

그럼 저는 이만 뿅 



by yagom

facebook : http://fb.yagom.net

facebook group : https://www.facebook.com/groups/yagom/

twitter : http://twitter.yagom.net ( @yagomsoft )

p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.

RSS Feed 받기   


↓↓↓저 열심히 썼는데 손가락 한방 꾹 눌러주고 가시는 건 어떨까요? 로그인이 필요 없습니다. ^~^ 고맙습니다~ ↓↓↓ 


Posted by yagom

댓글을 달아 주세요

  1. Favicon of https://holic5719.tistory.com BlogIcon 홀릭s 2013.10.01 18:34 신고  댓글주소  수정/삭제  댓글쓰기

    상태바를 없애야하는건지는 모르겠는데 어플 실행시 가장 처음에 보는 메인뷰의 닙파일을 아무리 수정해도 시뮬레이터에 반영이 안되네요 ㅠ 혹시 이거 상태바를 없애줘야하나요? xcode4에서 잘됐는데 5오니까 뭔가..UI가 다 위로 조금씩 밀리면서..

    • Favicon of https://blog.yagom.net BlogIcon yagom 2013.10.02 00:14 신고  댓글주소  수정/삭제

      iOS 6까지는 상태바가 있으면 화면 자체가 20px 줄어드는 효과를 받았었는데요, iOS 7 부터는 상태바도 투명으로 취급하여 화면 전체를 쓰도록 변경이 되었기 때문입니다.. 그래서 레리아웃 깨지고 난리도 아니죠..
      닙파일에서 상태바를 없애셔도 실질적으로 앱에서 사라지지 않습니다.
      위와같은 처리를 해 주시면 상태바를 없앨 수 있습니다.

  2. Favicon of https://holic5719.tistory.com BlogIcon 홀릭s 2013.10.10 17:14 신고  댓글주소  수정/삭제  댓글쓰기

    아하..감사합니다^^

  3. S.Y.B 2013.11.15 14:24  댓글주소  수정/삭제  댓글쓰기

    야곰님 혹시

    앱스토어에 어플올리는 강좌는 안해주시나요 ?

    제가 올리고있는데 힘들어서 검색해보니 많은 사람들이 헤매고있는거 같더라구요

    • Favicon of https://blog.yagom.net BlogIcon yagom 2013.11.17 15:46 신고  댓글주소  수정/삭제

      그건... 앱 종류마다 케이스가 너무 달라서... 딱히 어떻게 해드려야 할지..^^; 기회가 닿는다면 써보겠습니다~!
      좋은 의견 고맙습니다 :)

  4. cham 2013.11.21 01:10  댓글주소  수정/삭제  댓글쓰기

    안녕하세요.
    iPhone App 개발의 초보자입니다. 좋은 내용들을 올려주셔서 감사합니다.
    XML 파일과 NSXMLParser을 이용한 login하는 부분에 대해서 알고 싶습니다.
    (XML파일은 단순한것으로 다음과 같습니다.)
    <A>
    <Name>aaa</Name>
    <Password>bbb</Password>
    </A>

    감사합니다.

    • Favicon of https://blog.yagom.net BlogIcon yagom 2013.11.22 20:02 신고  댓글주소  수정/삭제

      글쎄요;;;
      어떤 부분에 무엇을 로그인 하는지.. 무엇을 어떻게 처리하는지 말씀해 주셔야 답변이 가능 할 것 같은데요...^^;

  5. cham 2013.11.23 09:33  댓글주소  수정/삭제  댓글쓰기

    어느 웹사이트에 접근할때의 로그인하는 것입니다.
    XML 파일은 위에 있는 단순한 파일이며, 단지 username과 password만으로 구성되어 있습니다.
    사용자가 username과 password를 입력하고 login키를 누르면, 입력된 2개의 값과 XML파일에 저장되어 있던 값들을 비교하여, 같은 username과 password가 존재하는지 확인하는 과정입니다.
    그 xml파일은 단순하며, 많은 username과 password을 갖고 있을 수 있습니다. 그 형식은 다음과 같습니다.
    <A>
    <Name>aaa</Name>
    <Passwork>ZZZ</Password>
    <Name>abc</Name>
    <Passwork>gfd</Password>
    <Name>ksd</Name>
    <Passwork>mkfdsf</Password>
    : :
    </A>

    감사합니다.

    • Favicon of https://blog.yagom.net BlogIcon yagom 2013.11.25 09:10 신고  댓글주소  수정/삭제

      허허, 글쎄요..
      그렇게만 말씀해 주시면 제가 파악 할 수 있는 정보가 아무것도 없습니다 ^^;
      그 사이트에서 로그인 처리를 어떤 방식으로 하는지 등등 그 외의 많은 정보들이 추가적으로 필요합니다^^;
      어떤 것을 원하시는지는 대충 느낌이 오지만, 그 사이트를 직접 운영하거나 코딩하고 계신 것이 아니라면 아마 쉽게 해결되지는 않을 것 같아요.

  6. 음주범루돌프 2014.03.12 10:32  댓글주소  수정/삭제  댓글쓰기

    야곰님 위의 방법이랑
    xcode에서
    target - info - Custom IOS Target Properties 에서
    View controller-based status bar appearance -NO 추가 해주는거랑 차이점이 뭔지 궁금합니다

  7. 꿈나무개발자 2014.05.07 12:02  댓글주소  수정/삭제  댓글쓰기

    아 정말 좋은 강좌 너무나도 감사드립니다!!
    전 이제 한달된 ios 개발자인데 처음 ios 개발을 하고 있어서 너무나도 막막했는데
    이렇게 좋은 블로그를 발견해서 너무나도 기쁩니다!!!!
    차근차근 모르는 부분들 공부하며 배워나가겠습니다!!

  8. 꿈나무개발자 2014.05.07 12:02  댓글주소  수정/삭제  댓글쓰기

    아 정말 좋은 강좌 너무나도 감사드립니다!!
    전 이제 한달된 ios 개발자인데 처음 ios 개발을 하고 있어서 너무나도 막막했는데
    이렇게 좋은 블로그를 발견해서 너무나도 기쁩니다!!!!
    차근차근 모르는 부분들 공부하며 배워나가겠습니다!!

  9. Favicon of https://shiftkey.tistory.com BlogIcon Shift Key 2017.05.10 11:25 신고  댓글주소  수정/삭제  댓글쓰기

    안녕하세요, 야곰님 블로그를 자주 보게되어요.. 좋은 글 넘 감사합니다^^
    궁금한 점이 있어 댓글 달아보아요..
    status bar를 상황에 맞게 숨겼다, 보였다 하는 방법이 있을까요??


오늘의 Tip

1. NSURLConnection으로 데이터 업로드하기


서버로 데이터를 전송할 수 있는 코드입니다.
자세한 설명은 생략하고 샘플코드정도 올려드립니다.

NSURLConnection으로 데이터 업로드만 할 수 있는 것은 아니기 때문에 도큐먼트를 보면서 활용방안을 좀 더 찾아보시면 많은 곳에 활용할 수 있습니다.

예제에는 이미지 업로드를 예제로 하였으나 비단 이미지 데이터 뿐만 아니라 대부분의 데이터 전송이 가능하므로 참고하시기 바랍니다.

우선 헤더에 NSURLConnectionDataDelegate를 사용할 것이라고 명기합니다.

비동기 방식으로 전송하려면 델리게이트를 사용해야 합니다.


NSURLConnectionDataDelegate는 iOS 5.0 이상부터 사용 가능합니다.

그 이하 버전은 조금 다르니 문서를 참고하세요.

데이터 전송 코드를 구현합니다.

아래 코드에서 contentType, boundary, params, filename, URL 등은 자신이 원하는 정보로 적절히 바꿔주셔야겠지요~

파라메터 없이 데이터만 전송할 계획이라면 파라메터 추가하는 부분은 없애셔도 무방합니다.

 
그리고 델리게이트 메소드도 구현해 주어야겠지요.


 NSURLConnectionDataDelegate 메소드는 위의 두 메소드 말고도 더 있으니 도큐먼트를 참고하세요.

이상입니다~




by yagom

facebook : http://fb.yagom.net

twitter : http://twitter.yagom.net ( @yagomsoft )

p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.

RSS Feed 받기   


↓↓↓저 열심히 썼는데 손가락 한방 꾹 눌러주고 가시는 건 어떨까요? 로그인이 필요 없습니다. ^~^ 고맙습니다~ ↓↓↓ 


Posted by yagom

댓글을 달아 주세요

  1. CstLex 2013.08.07 12:10  댓글주소  수정/삭제  댓글쓰기

    감사합니다 ㅎㅎ저때문에 다른포스팅이 밀린건 아닌지 모르겠네요 ㅎㅎ
    페북에 링크까지...너무 감사합니다 ㅎㅎ

  2. BelAmi 2013.08.21 15:19  댓글주소  수정/삭제  댓글쓰기

    NSURLConnection 부분.. 좀 더 설명해주시면 안 될까요?
    설명이 없어서 잘 모르겠어요 ㅠㅠ

    • Favicon of https://blog.yagom.net BlogIcon yagom 2013.08.21 18:18 신고  댓글주소  수정/삭제

      이건 따로 설명을 덧붙이려고 쓴 포스트는 아니라서요;;

      검색해 보시면 많은 자료 나올겁니다...^^;

      제일 좋은 것은 공식 도큐먼트를 참고하는 것이구요.

      큰 도움을 드리지 못해 죄송합니다.

  3. hide 2013.11.18 23:02  댓글주소  수정/삭제  댓글쓰기

    사랑해요 ㅜㅜ

  4. 그린비 2014.07.17 18:59  댓글주소  수정/삭제  댓글쓰기

    안녕하세요! yagom님 강좌 보면서 조금씩 조금씩 배워가는 초보 개발자 입니다!
    혹시 php파일도 공유 해주 실수 있나요?ㅠㅠ
    이 소스만 가지고 어떤 방식으로 저장되는지 잘 몰라서 그런거예요.. ㅠㅠ

    • Favicon of https://blog.yagom.net BlogIcon yagom 2014.07.20 14:07 신고  댓글주소  수정/삭제

      안녕하세요, 그린비님.
      아쉽게도 제가 가진 php 예제 소스는 없어요...^^
      검색해 보시면 손쉽게 찾을 수 있을거예요 ㅎ
      요런 예제가 있네요 ㅎ
      http://php.net/manual/kr/features.file-upload.php


오늘의 Tip

1. 4인치 디바이스 적용하기


음... 일단 매우 늦은감이 넘치지만ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

요청이 있어 짬내어 포스팅합니다.

아이폰 5가 출시되면서 화면 비율의 파편화가 생겼죠...

Aㅏ........... 

여튼...ㅋㅋㅋ 아이폰 5에 적절히 대응하는 방법에 대해 알아보도록 합시다.

# 기본 준비

일단, 4인치 기기인지 구별할 수 있는 매크로를 구현해 봅시다.

프로젝트의 pch파일에 해당 매크로를 추가합니다.

이렇게 해 두면 프로젝트 어디에서라도 이 매크로를 사용할 수 있습니다.


그리고 한가지 팁을 더 추가하면

시뮬레이터에서 기기를 변경하는 방법입니다.

3.5인치, 4인치 번갈아가면서 하려면 기기를 선택할 줄 알아야 하죠.





# nib(xib)을 사용하는 경우

여러가지 방법이 존재하지만, 제가 사용하고 있는 방법을 소개해 드릴게요.

카테고리를 이용합니다.

프로젝트에서 카테고리 파일을 하나 만들어 줍니다.


그리고 아래와 같이 소스를 작성해 줍니다.

소스 내용은 과니님 소스를 참고하였습니다. ( http://tiny2n.tistory.com/139 )

+ 덧

소스 원작자 과니님께 미리 양해를 구하지 못해 죄송합니다. 

덧글로 말씀해주셔서 이제야 수정하고 사과드립니다.

참, 이 소스는 ARC 기준입니다 :)


UIViewController_Is4Inch.h

UIViewController_Is4Inch.m




기존 xib파일을 3.5인치 디바이스 크기로 변경해 주고,



4인치용 xib 파일을 만들어 줍니다.

우선 빈 xib 파일을 만들어 준 후 


xib의 클래스를 해당 클래스에 맞게 설정 해 주신 후에, 뷰를 하나 얹습니다. 크기는 4인치용으로!


참, 뷰 컨트롤러 xib니까 view 아울렛을 연결해 주시는 것도 잊지 마시구요~!

아울렛 연결 방법은 ( http://blog.yagom.net/185 ) 참고! 


4인치 디바이스 실행 시,



3.5인치 디바이스 실행 시




# 스토리보드를 사용하는 경우

간단합니다.

일단 4인치용 스토리보드를 하나 더 만들어 줍니다.


그리고 기존 스토리보드의 크기는 3.5인치 크기로~



새로운 스토리보드에 4인치 화면과 label을 하나 얹어주시고~ 



AppDelegate의 application:didFinishLaunchingWithOptions 메소드에 아래와같이 작성해 줍니다.


끝~!

4인치 디바이스 실행 시,



3.5인치 디바이스 실행 시,





# 4인치 전용 이미지 로딩이 필요한 경우

이 경우는 최건우님께서 작성해 두신 오픈소스를 사용하였습니다.

https://gist.github.com/Hardtack/4755404

UIImage+HTLong.h
UIImage+HTLong.m

두 파일을 프로젝트에 포함시켜 빌드하기만 하면 됩니다.

-568h 라는 suffix를 가지게 되면 4인치 디바이스일 경우 자동으로 해당 이미지를 로드합니다.

만약 -568h 접미어를 가진 파일이 없는 경우 기본 이미지를 로드하게 되구요.


이상입니다.


참고.

http://cafe.naver.com/mcbugi/236038

http://www.couplestyle.com/entry/%EC%9D%B4%EC%A0%84-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%95%84%EC%9D%B4%ED%8F%B05-%ED%95%B4%EC%83%81%EB%8F%84-%EB%8C%80%EC%9D%91


http://blog.naver.com/PostView.nhn?blogId=whiteday910&logNo=40186791084

http://tiny2n.tistory.com/139

http://survival.egloos.com/310015

http://blog.naver.com/PostView.nhn?blogId=syowoo&logNo=100172131674


by yagom

facebook : http://fb.yagom.net

twitter : http://twitter.yagom.net ( @yagomsoft )

p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.

RSS Feed 받기   


↓↓↓저 열심히 썼는데 손가락 한방 꾹 눌러주고 가시는 건 어떨까요? 로그인이 필요 없습니다. ^~^ 고맙습니다~ ↓↓↓ 


Posted by yagom

댓글을 달아 주세요

  1. yimcold@gmail.com 2013.08.01 16:33  댓글주소  수정/삭제  댓글쓰기

    역시 이곳에 있었어 ㅋㅋㅋㅋㅋ
    매번 도움받네요!
    감사합니다 ^_^

  2. Favicon of https://holic5719.tistory.com BlogIcon 홀릭s 2013.10.28 10:26 신고  댓글주소  수정/삭제  댓글쓰기

    잘읽었습니다^^

  3. 방문자 2014.03.11 15:28  댓글주소  수정/삭제  댓글쓰기

    [tableView registerNib:[UINib nibWithNibName:@"TableViewCell" bundle:nil] forCellReuseIdentifier:@"Cell"];
    cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];

    테이블뷰에 쏄도 XIB를 사용하는대 이건적용이 안되요 ㅠㅠ

    도움 부탁드리겠습니다.

  4. 방문자 2014.08.04 22:14  댓글주소  수정/삭제  댓글쓰기

    Yagom 님 글을 보면서 하루하루 배우고 있습니다 :)
    그런데 이 소스를 사용해보는데, LegacyNibName 부분에서 undeclared selector 라고 warning이 발생하고
    4인치 시뮬레이터를 켜도 3.5인치 화면이 나오는데... 어떻게 해야되나요?? ㅠㅠ

    • Favicon of https://blog.yagom.net BlogIcon yagom 2014.08.05 10:31 신고  댓글주소  수정/삭제

      안녕하세요 :)
      경고가 나오는건 맞구요, 3.5인치 화면이 나온다면 4인치 xib파일의 이름이 잘 맞게 되어있는지, 카테고리 헤더파일을 import 했는지, initWithNib으로 뷰 컨트롤러를 init했는지 확인해보시기 바랍니다 :)

  5. 이젠 2014.10.28 13:29  댓글주소  수정/삭제  댓글쓰기

    이렇게 개발하면 큰일나죠..
    오토레이아웃을 써야해요

  6. 과니 2016.12.19 23:57  댓글주소  수정/삭제  댓글쓰기

    지금이야 안쓰는 기법들이지만, 다음부터는 출처와 함께 원작자에게도 알려주셨으면 합니다. 출처로 작성할 경우 copyright를 남겨두는 것 또한 기본 매너이구요.

    • Favicon of https://blog.yagom.net BlogIcon yagom 2016.12.20 01:15 신고  댓글주소  수정/삭제

      안녕하세요 과니님! 제가 당시에는 그 점을 미처 몰랐어요^^; 정말 죄송합니다! 지금은 모바일이라... 차후에 수정토록 하겠습니다! 행복한 연말 되시길 빕니다


오늘의 Tip

1. 스토리보드가 xml로 나올 때 스토리보드 화면으로 나오도록 열기


# 스토리보드야 나와줘!!!

으히히, 가끔 스토리보드 기반으로 작업하다보면 xCode가 멍때리는지 스토리보드가 아닌 xml문서로 열리는 경우가 가끔 생깁니다.
아래 화면처럼요.


자, 그럼 스토리보드로 열어 봅시다.
이렇게요 ㅎㅎ .storyboard파일에서 우클릭 또는 ctrl 클릭 하면 팝업메뉴가 나오죠. 거기서 Open As - Interface Builder를 선택해 줍니다.



짜잔~~~~~~~~~~~~~~~~~



초간단 팁 끝~~~~~~~~~

by yagom

facebook : http://fb.yagom.net

twitter : http://twitter.yagom.net ( @yagomsoft )

p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.

RSS Feed 받기   


↓↓↓저 열심히 썼는데 손가락 한방 꾹 눌러주고 가시는 건 어떨까요? 로그인이 필요 없습니다. ^~^ 고맙습니다~ ↓↓↓ 


Posted by yagom

댓글을 달아 주세요

  1. 허니 2012.09.18 03:53  댓글주소  수정/삭제  댓글쓰기

    항상 재밌는 내용 감사합니다 날씨가 추워졌네요 건강조심하세요 :)

  2. Favicon of https://winplz.tistory.com BlogIcon 윈플. 2012.10.10 17:46 신고  댓글주소  수정/삭제  댓글쓰기

    드디어 스토리보드에 손을 대시기 시작하셨군요!!
    써보시면 생각보다 편하시다고 느끼실겁니다 ㅋㅋ( 물론 적응한 후에.. )
    스토리보드 사용할 때 가끔씩 저렇게 되긴 하는데 ㅎㅎ
    반대로 Open As 에서 Source Code 로 들어가면 XML로 보실 수 있습니다

  3. 시우아빠 2012.11.20 17:05  댓글주소  수정/삭제  댓글쓰기

    ^^ 정말 간단하지만 유용한 정보네요~
    저런거 때문에 무한 삽질로 프로젝트 다시 만들고 할때도 있을거 같은데
    깨알같지만 유용한 Tip 잘보고 갑니다.


오늘의 Tip

1. iOS Version Check


# iOS 버전체크하기

가끔 우리는 특정 버전에서 사용할 수 없는 메소드들을 만나게 됩니다.

그럼 지원하지 않는 버전의 기기에서 그 메소드를 호출하면 펑~ 하고 어플리케이션이 죽어버리는 사태가 발생하죠.

그래서 개발문서를 잘 보고 메소드를 사용하여야 합니다.

나도 모르는사이에 펑하고 어플리케이션이 죽어버릴 수 있으니까요 ㅎㅎㅎ

자, 그럼 버전체크하기~

주석에 달려있듯이 아래  메소드를 사용하여 내가 적어준 버전과 같은지, 그보다 아래인지 위에인지 판단 할 수 있습니다.


자주 필요하다면 아래처럼 App-Prefix.pch 내에 매크로로 정의하여 사용하여도 편리합니다~
 


 



by yagom

facebook : http://fb.yagom.net

twitter : http://twitter.yagom.net ( @yagomsoft )

p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.

RSS Feed 받기   


↓↓↓저 열심히 썼는데 손가락 한방 꾹 눌러주고 가시는 건 어떨까요? 로그인이 필요 없습니다. ^~^ 고맙습니다~ ↓↓↓ 


Posted by yagom

댓글을 달아 주세요

  1. 낭만떡대 2012.11.22 09:42  댓글주소  수정/삭제  댓글쓰기

    어머 이 좋은 Tip에 댓글 이 하나도 없네 ㅋ

    감사 드립니다.~


Tip

ARC(Automatic Reference Counting) 프로젝트에서 특정파일 ARC 제외시키기


안녕하세요 야곰입니다.^^

팁이지만 간만에 포스팅이네요~_~

iOS5가 나온 이후로 ARC가 생겨서 많이들 좋아하셨는데, 다른 오픈소스나 라이브러리 등을 가져다 쓰려면 지난 소스들은 ARC 기준으로 작성되어 있지 않기 때문에 적용하기 난감했던 경우가 많으셨을 겁니다.

그런데 이런 방법으로 하면 간편히 지난 소스들을 다시 사용할 수 있습니다 ㅎㅎㅎ

# 본 포스팅은 iOS5.1, Xcode Version 4.3.3 (4E3002) 기준으로 작성되었음을 알려드립니다.

# ARC 제외시키기

일단 뭐 ARC 프로젝트가 필요한데 딱히 뭐 쓸만한 놈이 없으니 하나 만들어 봅니다 ㅎㅎㅎ
당연히 Use Automatic Reference Counting이 체크 되어있어야지 ARC 프로젝트가 되겠죠?ㅎㅎ


자, 저는 Reachability라는 녀석을 가져와서 빌드 해 보니 Fail이 되었네요~ (Reachability 라는 녀석은 Systemconfiguration.framework 프레임워크를 추가해 주셔야 합니다.)
붉은 악마들 천지입니다 ㅋㅋㅋ
소스를 보면 release, autorelease, NSAutoreleasePool 등 ARC에서 사용할 수 없는 녀석들 천지인 것을 볼 수 있습니다 ㅎㅎ 


자, 이따위 에러들을 뱉어내었군요...


그럼 이제 이렇게 하시면 됩니다~!
프로젝트를 선택하신 후 TARGETS - Build Phases를 선택, 그리고 ARC해제를 원하는 소스파일들을 선택합니다. 그리고 엔터!


그러면 요런 창이 뜨는데, 거기에 -fno-objc-arc 라고 입력해 줍니다. 그리고 Done..(다 완성됐다는 소리죠?ㅋㅋㅋㅋㅋㅋㅋㅋㅋ) 


자, 그리고서 빌드를 해보니까~!? 이렇게 깔끔~ 붉은악마들이여 안녕~





by yagom

facebook : http://fb.yagom.net

twitter : http://twitter.yagom.net ( @yagomsoft )

p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.

RSS Feed 받기   


↓↓↓저 열심히 썼는데 손가락 한방 꾹 눌러주고 가시는 건 어떨까요? 로그인이 필요 없습니다. ^~^ 고맙습니다~ ↓↓↓ 




Posted by yagom

댓글을 달아 주세요

  1. 나에게넌 2012.08.14 17:19  댓글주소  수정/삭제  댓글쓰기

    깨알같은 팁 감사합니다..

    다시 강의 처음부터 복습해야겠어요 ㅎㅎ

    강의에 system.configuration.framework추가하라고 알려주세요..혹시 모르시는분은 안된다고 헤매실지도..

  2. 이누꼬로 2012.09.06 10:18  댓글주소  수정/삭제  댓글쓰기

    특정 파일만 ARC를 사용하게 할수는 없나요?

    원래 ARC를 사용하지 않는 프로젝트에서 특정파일만 ARC를 사용할수있게요;

  3. 귀공자 2012.10.09 08:30  댓글주소  수정/삭제  댓글쓰기

    와 이건 대박이네요 ㅜ.ㅜ
    1년동안은 그냥 소스들을 죄다 고쳐서 가져다 썼는데...

  4. 노력중.. 2013.03.08 16:21  댓글주소  수정/삭제  댓글쓰기

    감사합니다~~


오늘의 Tip

1. 어플리케이션 실행 시 로딩 이미지 설정하기
2. 이미지 나타났다 없애기



어플리케이션 실행 했을 때 처음에 나오는 로고 이미지 등을 넣는 방법입니다.ㅎ


# 실행 시 로딩 이미지 넣기

정말 간단합니다.
Default.png 라고 이름을 만들어서 넣으면 알아서 찾습니다.. ^^;
물론 레티나 이미지는 뒤에 @2x 를 붙여주시면 되겠죠?ㅎ
주의할 점은 대소문자를 구분한다는 것입니다. 주의하세요~! ㅎ


그리고 좀 더 로고를 오래 보여주고 싶다면, AppDelegate로 와서 잠깐 정지 시킵니다..ㅎ

여기서는 1.5초를 중지시켜 봤어요~


# 나타났다 사라지는 애니메이션

이미지 뷰를 하나 선언해 주시구요~


애니메이션을 이렇게 만들어 줍니다...^^
이 코딩 기법은 블록코딩 기법입니다.
블록코딩 기법에 대한 상세한 내용은... 다음에 언제 한 번 다뤄보도록 하겠습니다^^;


실행 해 보세요~!

와우~ 판타스틱베이비~ㅋㅋㅋㅋㅋㅋㅋ


by yagom

facebook : http://fb.yagom.net

twitter : http://twitter.yagom.net ( @yagomsoft )

p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.

RSS Feed 받기   


↓↓↓저 열심히 썼는데 손가락 한방 꾹 눌러주고 가시는 건 어떨까요? 로그인이 필요 없습니다. ^~^ 고맙습니다~ ↓↓↓ 


Posted by yagom

댓글을 달아 주세요

  1. paxdreamer 2012.06.28 10:18  댓글주소  수정/삭제  댓글쓰기

    너무 좋은 내용 항상 감사드립니다.
    야곰님은 정말 복받으실꺼에요.
    감사합니다.^^

  2. Favicon of http://spacechild.kr BlogIcon 루나리안 2012.07.12 15:33  댓글주소  수정/삭제  댓글쓰기

    와우~ 판타스틱 베이비 ㅋㅋㅋㅋㅋ

    아 웃겨 ㅋㅋㅋ

    지나가다가 댓글 하나 안 적고 갈 수가 없네요 ㅋㅋㅋㅋ

    재밌었습니다 ㅋㅋㅋㅋ

  3. 나에게넌 2012.08.14 14:43  댓글주소  수정/삭제  댓글쓰기

    8월 현재는 강남스타일이죠..
    오..오빤 강남 스타일~~~

  4. 인절미후후 2012.08.14 18:38  댓글주소  수정/삭제  댓글쓰기

    최근에 짬을 내서 다시 포스트 하시는군요!
    관련 질문 한가지 드릴까해서 겸사겸사 글 적어봅니다.
    인트로 이미지는 어플이 종료된 경우에 실행하면 시작과 함께 보여지는 화면이잖아요?
    아이폰 특성상 홈버튼만으로 어플이 종료되는게 아니고 메모리 릭이 없을 경우 보통 어플이 안꺼지면은
    다시 어플런처아이콘을 클릭할때 홈버튼 누르기전 화면이 나오는경우가 많은데
    항상 저 로고를 보여주면서 처음부터 시작하는 어플들이 있더군요
    그런건 홈버튼 누를때 어플을 다 종료시킨다고 봐야할까요 아니면 다시 시작되는경우에도 처음부터 시작되도록 프로그램 한걸까요?

  5. 초보엑스코더 2012.12.10 14:44  댓글주소  수정/삭제  댓글쓰기

    야곰님, 전 가로방향 어플리케이션을 만들어 보려고 하는데요

    분명히 Default.png 화일을 그래서 960 x 640 사이즈로 만들어서 가로모양으로 넣었거든요?

    그런데 이상하게 실행을 하면, 로딩 화면이 가로 화면으로 제대로 안나오고,
    세로로 길쭉한 화면이 90도 돌아간것처럼
    나오네요 ㅠㅠ

    그러니까 예를 들어 제가, N 이라는 로딩화면을 가로로 보여주고 싶은데,

    화면상에는 z 로 보이게 되는 현상이 자꾸 발생하네요 ㅠㅠ 왜 그럴까요?


오늘의 Tip

1. 현재 기기의 정보 가져오기 


# UIDevice

오늘은 현재 기기의 정보들을 가져오는 것에 대해 알아봅시다.

일단 버전별 호환성 때문에 버전체크를 가장 많이 사용을 할 텐데, 버전정보를 가져오는 메소드를 살펴봅시다.

우선 UIDevice라는 클래스가 있네요. 

레퍼런스를 살펴봅시다.


프로퍼티 중에 여러가지가 있는데, 이왕이면 한 번 다 같이 알아보도록 해요 ㅎㅎ


이런식으로 정보를 가져올 수 있습니다.
특히 기기 이름은 사용자가 지정해 놓은 기기명입니다.


그게 무슨뜻이냐구요?ㅎ

설정 - 일반 - 정보에 들어가면 나오는 이름을 뜻합니다.


버전을 체크할 때 이렇게 메소드들을 직접 만들어서 하기도 하구요,



미리 컴파일된 헤더(.pch) 파일에 #define으로 넣어서 구현하기도 한답니다.

예)

#define SYSTEM_VERSION_EQUAL_TO(version) ([[[UIDevice currentDevice] systemVersion] compare:version options:NSNumericSearch] == NSOrderedSame);

이런식으로요 ㅎ

pch가 뭐냐구요? 그건 구글신에게...ㅋㅋㅋ 

저도 추후에 기회가 된다면 포스팅 해겠지만, 일단은 구글에게 물어보아요 ㅎㅎㅎ

google 검색 링크


또한 위에 보여드렸던 레퍼런스에 보면 기기의 기울임 상태(세로 가로) 라던지 배터리 상태 등 기기의 많은 정보들을 가져올 수 있으니 한 번 활용해 보시길 ^^*


by yagom

facebook : http://fb.yagom.net

twitter : http://twitter.yagom.net ( @yagomsoft )

p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.

RSS Feed 받기   


↓↓↓저 열심히 썼는데 손가락 한방 꾹 눌러주고 가시는 건 어떨까요? 로그인이 필요 없습니다. ^~^ 고맙습니다~ ↓↓↓ 


Posted by yagom

댓글을 달아 주세요

  1. Favicon of https://mnworld.co.kr BlogIcon ShakeJ 2012.06.15 15:47 신고  댓글주소  수정/삭제  댓글쓰기

    잘보고갑니다~!

  2. miho 2012.06.16 04:43  댓글주소  수정/삭제  댓글쓰기

    안녕하세요~^^
    블로그에서 너무 많은 정보를 얻고 있습니다. 우선 감사하다는 말씀 드릴께요!
    야곰님이 올려주시는 게시물들 보고 하나하나 따라하고 있는데..한가지 요청드리고 싶은게 생겨서 이렇게 글을 남기게 되었습니다. (물론 그 전까지도 손가락은 꼭 잊지 않았구요^^)

    혹시 pinterest라는 앱을 아시나요? 제가 앱을 만들려고 이리저리 전전긍긍하고 있는와중에 이 앱이 눈에 확 들어왔는데
    테이블뷰에 스크롤에, 탭바에... 각각을 하나하나씩보면 할수 있겠다 싶었는데 막상 하려니 잘 안되네요 ㅜㅜ 혹시 괜찮으시다면 요런 형식의 앱 만드는 강의는 올려보실 생각이 있으신가요? 디스플레이만 비슷한 형식으로 구현했으면 하거든요.

    갑자기 불쑥 부탁만 드리고 가서 죄송해요ㅜ_ㅜ (어려울것 같다고 하셔도 괜찮아요!!!!)

    그럼 항상 감사합니다! 앞으로도 좋은강의 많이 부탁드릴께요~^^*

    • Favicon of https://blog.yagom.net BlogIcon yagom 2012.06.16 19:58 신고  댓글주소  수정/삭제

      안녕하세요 miho님!
      우선 찾아주시고 덧글도 주시고 관심도 주셔서 정말 고맙습니다.
      그런데 요즘 프로젝트 때문에 당장은 어려울 것 같아요 ㅠㅠ
      지금도 당장 쓰고 있지 못하는 상황이라 ㅠ
      혹시 어떤 부분이 어려운 부분인지, 원하는 부분을 말씀해 주시면 도와드릴 수는 있을 텐데 통채로 다 구현해나가는 것은 당장은 힘들 것 같아요 ㅠ_ㅠ
      다음 달 쯤 여유가 되면 진행 할 수도 있을 듯 한데 저도 제 본업이 있기 때문에 당장은 빠듯하네용.. 정말 죄송합니다.
      앱을 한 번 다운받아서 해 봤는데 화면 구성이나 설계는 그다지 어렵지 않을 것 같습니다.
      어떤 부분이 궁금하신지 말씀해 주시면 최선을 다해 도와드릴게요..^^
      하다가 막히는 부분 있으면 말씀해주세요~!

  3. 나에게넌 2012.08.14 13:45  댓글주소  수정/삭제  댓글쓰기

    쭉쭉 넘어갑니다~~!!

이번에 iOS 6 개발자 베타버전이 배포되었죠.

그래서 저도 설치해 보았습니다 ㅎㅎㅎ

한국어 siri 및 뭐 다양한 기능들이 있고, 페이스북도 들어가고...ㅎㅎ

오늘은 설치방법에 대해 한 번 알아봅니다~!

일단 애플 개발자 개정이 있어야 합니다. (무료 개발자 말고 $99 결제 한 개발자에 한함)

물론 설치하려고 하는 기기도 개발자 계정에 등록이 되어있어야 합니다.

http://developer.apple.com 에 방문하여

iOS Dev Center로 향합니다.ㅎ 

개발자 계정으로 로그인을 하면 아래와 같은 화면이 나옵니다.

iOS 6 SDK beta 탭에 들어가셔서 Downloads를 클릭!

 
일단 iTunes 10.6.3을 다운받습니다(기존의 아이튠즈를 업데이트 하셔도 됩니다.) 
그리고 자신의 기기에 맞는 iOS 6 beta 설치본을 받습니다.


다운로드가 완료되면 dmg형식으로 다운로드가 되어지는데요, 더블클릭하여 열어줍니다.


그럼 이렇게 장비에 잡힐거예요 ㅎ 그리고 이제 10.6.3 버전의 아이튠즈로 가 봅시다~


아이튠즈에서 기기 목록에서 일단 백업을 해 둡니다.
백업 안하시면 다 날아가요~~~~~~~~~!!


백업이 완료되면 아이튠즈에서 복원을 누르는데 OS별로 눌러야 하는 키가 다릅니다.
맥에서는 옵션+클릭, 윈도우에서는 쉬프트+클릭입니다.


그리고 우리가 받아두었던 그 ipsw파일을 선택 해 줍니다!


두구두구두구둑두구둑두구둑두굳구두굳구두굳구둑두구두구두구!
설치가 완료되면 아까 백업해 두었으니 백업에서 복원을 합니다.


복원이 완료되었다고 바로 연결을 해제하지 마세요!! 아래 사진처럼 복원 후에도 어플이나 데이터 설치를 위하여  계속 동기화 중입니다.

그러므로 동기화 완료가 될 때 까지 연결해제 하지 마세요~^^
물론 동기화 중에도 사용을 할 수는 있습니다~



Posted by yagom

댓글을 달아 주세요

  1. Seed Boom 2012.06.17 10:46  댓글주소  수정/삭제  댓글쓰기

    개발자 등록이 없어도 되나요??

  2. 나에게넌 2012.08.14 13:38  댓글주소  수정/삭제  댓글쓰기

    후다닥~~! 숑

오늘은 시뮬레이터에서 언어를 변경 하는 방법에 대해 알아봅니다.

로컬라이제이션을 마친 후 테스트를 할 때 언어별로 테스트 해보고 싶을 때 유용하겠죠?ㅎ

저를 사랑한다고 해주신 '남자'분 지호님께서 요청하셨습니다... ^^ 


시뮬레이터 설정(Settings)에 들어갑니다.

 

General(일반) 클릭


International(다국어) 클릭


Language(언어)클릭하여 원하는 언어 선택


키보드 추가가 필요하다면 Keyboards(키보드) 클릭


Add New Keyboard...(새로운 키보드 추가...) 클릭! 해서 원하는 언어의 키보드 추가~



요로코롬 하시믄 됩니다 ^^*



↓↓↓도움이 되었다면 손가락 한방 꾹 눌러주고 가시는 건 어떨까요? ^~^ 사랑합니다~ ↓↓↓




Posted by yagom

댓글을 달아 주세요

  1. 인절미후후 2012.06.11 11:06  댓글주소  수정/삭제  댓글쓰기

    깨알 같은 정보도 감초처럼 넣어주시기 감사할 따릅입니다.
    알고 있었는데 안바꿔보던 부분인데 이렇게 강좌로 올려주시니 덕분에 한번 변경해 보았습니다.
    아이폰/패드 시뮬레이터는 설정에서 할 수 있는게 적어서 언어설정도 없겠지... 했었는데 ㅎㅎ
    오늘도 열심히 야곰님 강좌 보면서 도움 받도록 하겠습니다.

  2. 나에게넌 2012.08.14 10:00  댓글주소  수정/삭제  댓글쓰기

    간만에 아는 내용이라 혼자 뿌듯하네요..발도장 꾸욱!

오늘은 네트워크 상태 체크하는 방법에 대해 간략하게 소개합니다~

네트워크 상태 체크하는 API는 따로 없지만 애플에서 공식적으로 클래스를 제공해 주고 있습니다~

# '나는 고수다' 하시는 분들은

1. Reachability Link 를 들어가서 샘플코드를 다운로드 받은 후에 Classes 폴더 내부의 Reachability 헤더와 구현파일을 자신의 프로젝트로 가져온다.
2. Systemconfiguration.framework를 추가한다.
3. 사용을 원하는 곳에 Reachability.h 를 임포트하여 사용한다.
4. 간략한 소스를 원한다면 Classes 폴더 내의 AppDelegate 구현파일을 참고한다.
5. 만약 Reachability를 넣고 링크 에러가 난다면 글 맨 아래를 참고한다.

# 위의 내용이 이해가 안간다 하시는 분들을 위해 깨알 캡쳐~

먼저, Systemconfiguration 프레임 워크를 추가합니다.

 



그리고 이쁘게 클래스 파일을 가져오기 위해 그룹도 하나 만들고 Reachability라고 이름 지어 줍시다~

 
그 후에 직접 클래스 구현 파일을 가지러 가야겠죠?ㅎ

요기 Reachability Link 를 따라서 가 봅시다~

여기서 Download Sample Code 를 클릭!


다운로드 받고 압축을 풀면 이렇게 파일들이 나타나는데요~
여기서 Classes 폴더에 들어가보면~~~


이런 녀석들이 있는데, 그 중에 Reachability 라는 두 녀석을 끌어서 아까 만들어둔 그룹으로 끌어옵니다~


이렇게 화면 나오면 파일 추가 해주시구요~


 Reachability 헤더를 임포트 합니다.



그리고 네트워크 체크 메소드를 구현해 주고, 원하는 상황에 체크하여 알림을 주면 끝~!



#만약 링크 에러가 나다면!?
Reachability.m 파일이 타겟지정이 되어있는지 확인합니다~!




by yagom

twitter : @yagomsoft

p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.

RSS Feed 받기   


↓↓↓저 열심히 썼는데 추천 한방 꾹 눌러주고 가시는 건 어떨까요? 로그인이 필요 없습니다. ^~^ 고맙습니다~ ↓↓↓ 




 

Posted by yagom

댓글을 달아 주세요

  1. 앱만들자 2012.07.29 09:06  댓글주소  수정/삭제  댓글쓰기

    잘보고 배웁니다ㅡ 감사드립니다...

    tcp/ip소켓으로 통신하는데 안되는 부분이 있어 질문을 드립니다........

    소켓이 잘되는데 아이폰의 전원 버튼과 그냥두면 화면이 검정색으로 되는 절전모드로 바뀌는데 이때 소켓 tcp/ip 네트워크가 끊어짐니다... 끊어진후 다시 어플 실행하면 잘되는데 네트워크만 끊어진 상태로 되는데 왜 그런지? 아니면 애플 정책이라 그런지
    아니면 background모드로 갈때 어떤 설정을 해야하는지 모르겠네요
    조언 부탁드립니다...

    • Favicon of https://blog.yagom.net BlogIcon yagom 2012.07.29 13:04 신고  댓글주소  수정/삭제

      안녕하세요 앱만들자님.
      구글에 검색해 보니 젤 처음 글에서 해답이 나오네요~
      검색어 : iOS Socket background
      http://stackoverflow.com/questions/8973252/presistent-socket-in-background-ios
      참고하시기 바랍니다.

  2. 나에게넌 2012.08.14 09:59  댓글주소  수정/삭제  댓글쓰기

    나는 고수다!!!!!!!!!!!!!! 가 아닌데..발도장 찍고 갑니다..

  3. 새벽다섯시반 2013.06.24 16:15  댓글주소  수정/삭제  댓글쓰기

    잘보았습니다 야곰님 ㅎㅎ
    궁금한게 있는데요. 네트워크를 실시간으로 체크를 하고 싶은데 어떤식으로 하면 될까요?
    ios버전도 달라져서 지원안되는 부분도 꽤 있더라구요,;
    설명 좀 부탁드려도 될까요?

    • Favicon of https://blog.yagom.net BlogIcon yagom 2013.06.24 16:42 신고  댓글주소  수정/삭제

      안녕하세요 :)

      저도 네트워크 실시간 상태체크 때문에 고민을 많이 했었는데요...

      결론은 공식적인 방법으로 불가능하다 입니다.

      실시간으로 네트워크가 아예 끊겼다, 살았다 하는 것은 이것으로 체크할 수 있지만

      네트워크가 연결되어있긴 하지만 통신이 제대로 이루어지고 있다.. 는 공식적으로 체크할 수가 없습니다...^^;

      * 실시간 체크를 네트워크가 끊어짐을 실시간으로 체크하는 방법이라고 말씀하신거면 Reachability로 검색하시면 많이 나올거예요 ^^

'아퐁'님의 요청으로 만들어 보았습니다~

버튼을 누를 때 마다 이미지가 바뀌도록 설명해 달라고 하셔서 해 봅니다.

일단 추천 한방 어떠세요 ㅋㅋ



시작!

화면에 버튼을 올리고 액션을 연결해 줍니다.


그리고 버튼에 사용할 이미지를 프로젝트에 추가해 주고, 버튼 이미지를 눌리지 않은 상태로 변경해 줍니다. 



그리고 요로코롬 깔쌈하게 메소드를 코드로 채워주면 끝~!


잘 되나 확인해 볼까요?ㅎ

 

굿 웍~!



↓↓↓도움이 되었다면 추천 한방 꾹 눌러주고 가시는 건 어떨까요? ^~^ 고맙습니다~ ↓↓↓


Posted by yagom

댓글을 달아 주세요

  1. 인절미후후 2012.06.14 15:42  댓글주소  수정/삭제  댓글쓰기

    잘 보고 갑니다~
    제가 얼마전 버튼의 텍스트를 변경하는데서 안되서 조금 고생을 했었습니다.
    버튼에 아웃렛과 액션을 연결시켜주고
    버튼클릭시에 해당 버튼의 텍스트를 변경시켜주려고 했었는데요
    action매서드{
    if(isOn){
    btn.titleLable.text = @"Off";
    isOn = NO;
    }
    }
    대강 이런식으로 했더니 안되더라구요.

    위의 소스처럼
    [publicButton setTitle:@"ON" forState:UIControlStateNormal];
    으로 변경하니까 되더라구요~
    이 글을 이전에 잘 읽어뒀더라면 구글검색하는 고생을 안했을텐데 ㅎㅎ;
    그리고 보다가 알게된거는 변수를 따로 안주고 태그값을 변경시켜주는 부분도 좋고
    버튼을 따로 아웃렛변수로 안주고 액션에서 가져오는 id값을 가져와서 버튼으로 바꿔주는 부분 너무 편리해 보이네요
    지금까지는 저럴경우 항상 아웃렛주고 액션 주고 두번 고생을 했었는데 앞으로는 그 부분의 작업은 줄어들게 되겠네요
    정말 감사합니다!!

개발하다가 소스코드가 길어지고 지저분해 지다보면 어떤 메소드가 어디에 있는지 찾아가기 굉장히 불편해지고 가독성이 떨어지게 됩니다.

그래서 소스코드를 약간 이쁘게 정리해 둘 필요가 있습니다.

습관을 들여놓으면 아주 좋아요 ㅎ

#pragma mark 

요녀석을 사용하면 좋은데요~

한 번 보여드릴게요~

코드 오른쪽 상단에 보면 바로갈 수 있는 네비게이터가 있는데요 한 번 클릭해 보시면 구현되어있는 변수들과 메소드들이 쭈욱 나열될 거예요.
그런데 영역별로 마크를 남겨주면 알아서 보기 좋게 정리해 줍니다~


이렇게 이쁘게 깔끔하게 말이죵~ㅎㅎ


정리 되어있지 않았을 때입니다.
소스코드 정말 얼마 되지도 않는 컨트롤러인데도 자신이 원하는 메소드 한 번에 찾아가기 거의 불가능 하다고 봐야겠죠^^;



요로코롬 유용한 녀석이 있으니, 꼭 습관처럼 작성하면 좋습니다 ㅎ


by yagom

twitter : @yagomsoft

p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.

RSS Feed 받기   


↓↓↓저 열심히 썼는데 추천 한방 꾹 눌러주고 가시는 건 어떨까요? 로그인이 필요 없습니다. ^~^ 고맙습니다~ ↓↓↓ 



Posted by yagom

댓글을 달아 주세요

  1. berry 2012.06.17 16:26  댓글주소  수정/삭제  댓글쓰기

    오랜만에 들렀습니다!!
    사실 ... 제가 하고있는일을 검색하다가
    여기군하고 링크를 눌렀는데
    야곰님 블로그였네요 ㅎㅎ
    시간이 빨리 나아져서
    야곰님껄 보면서 스터디를 하고 싶은데
    아직 시간이 빠듯해서 그렇게 하질 못하고있군요 !!!
    다른거보다가 이것도 유용한거같아서 한번 읽고 갑니다 ㅎ

  2. 나에게넌 2012.08.13 15:56  댓글주소  수정/삭제  댓글쓰기

    간만에 쉬운 내용이라 쭈욱 훓어보고 지나갑니다..

  3. Favicon of http://blog.naver.com/rbfwmqwntm BlogIcon C. 탄소 2012.10.08 20:28  댓글주소  수정/삭제  댓글쓰기

    좋은 정보 감사합니다. 도대체 뭐하는건가 싶어 찾아봤는데 참 편하게 정리해주네요ㅎㅎ
    (이전까지는 메서드 별로 주석 달아서 관리하고 있었습니다...
    클래스 메서드는 // Class Methods 같이... ㅎㅎ)

iOS 시뮬레이터의 사진첩에 사진을 넣어봅시다.


시뮬레이터를 실행하고 그냥 아무때나 상관없이 원하는 사진을 시뮬레이터로 끌어다 놓습니다.

그러면 safari창이 뜨는데요, 이미지를 잠시 꾹 눌러줍니다.

그러면 이렇게 액션시트가 뜨는데 거기서 이미지를 저장해 주면 사진첩에 저장이 됩니다.


가끔 정상적으로 저장이 안되는 경우가 있다고 하는데, 다른 이미지로 하시면 잘 될거예요~
jpg나 png 이미지로 시도해 보세요~ㅎ 

↓↓↓도움이 되었다면 추천 한방 꾹 눌러주고 가시는 건 어떨까요? ^~^ 사랑합니다~ ↓↓↓


Posted by yagom

댓글을 달아 주세요

  1. 인절미후후 2012.04.25 17:06  댓글주소  수정/삭제  댓글쓰기

    원리는 해당 파일의 링크가 사파리브라우저를 통해서 열리는것이죠 iOS가 자유롭게 저장할수 있는건 사진파일만이라서 저 방식으로 사진만 이동시킬수 있는것이구요
    이게 제가 추측해 본건데 맞을까요?

    • Favicon of https://blog.yagom.net BlogIcon yagom 2012.04.25 17:51 신고  댓글주소  수정/삭제

      음... 꼭 자유롭게 저장할 수 있는것이 이미지 뿐이라는 것은 저도 확실히는 모르겠습니다만, 파일 링크를 사파리브라우저를 통해서 여는 것은 맞습니다^^~

      ㅎㅎ물론 시뮬레이터 라이브러리에 이미지를 저장하는 다른 방법도 존재합니다만, 이 방법보다 훨씬 복잡하기 때문에 소량의 이미지를 저장하고 싶다면 저는 이 방법을 추천드립니다..ㅎㅎㅎ

  2. yuyu 2012.06.21 17:35  댓글주소  수정/삭제  댓글쓰기

    완전 멋진 팁 감사합니다~!!^^

  3. 동군~ 2012.11.13 14:48  댓글주소  수정/삭제  댓글쓰기

    감사합니다.

xib에서 오브젝트들 화면에 구성해 놓고 아울렛이나 액션 연결하려면 소스파일로 왔다가 갔다가... 귀찮으셨죠?

한방에 해결해 봅시다 ㅎㅎ

Xcode4에서 이런 좋은 기능을 제공합니다~

일단 우선 Editor모드를 Show the Assistance editor 모드로 변경하면 두개의 소스파일을 동시에 볼 수 있죠?

(캡쳐에서 오른쪽 위에 네모표시가 있습니다)

그 모드에서 xib파일과 헤더파일을 동시에 열어줍니다.

왼쪽 화면에 파일 내용을 띄우고 싶으면 파일을 클릭하면 되고, 오른쪽에 파일 내용을 띄우고 싶다면 Alt+클릭을 하면 됩니다.

그 후 아래 이미지처럼 마우스 오른쪽 버튼 드래그&드랍 또는 Ctrl+드래그&드랍 해주시면 너무나 쉽게 Action 또는 Outlet을 선언해 줄 수 있습니다^^*




↓↓↓도움이 되었다면 추천 한방 꾹 눌러주고 가시는 건 어떨까요? ^~^ 사랑합니다~ ↓↓↓


Posted by yagom

댓글을 달아 주세요

Xcode4 미만 버전을 쓰던 분들에게는 Xcode4는 정말 헷갈리죠..^^

Xcode4에서 프레임워크 추가하는 방법입니다.

네비게이션 영역에서 프로젝트를 클릭해주고 TARGETS를 클릭. Summary 탭으로 이동합니다.

Linked Frameworks and Libraries 영역이 있습니다.



거기서 +버튼을 누르시고 원하는 프레임워크를 추가!



참 쉽죠잉~ㅎ

라이브러리도 마찬가지 입니다^^

↓↓↓도움이 되었다면 추천 한방 꾹 눌러주고 가시는 건 어떨까요? ^~^ 사랑합니다~ ↓↓↓

Posted by yagom

댓글을 달아 주세요

iOS 어플리케이션 개발을 한 대의 맥에서 한다면 걱정이 없습니다만,

여러대의 맥에서 해야 한다면 인증서를 여러대의 맥에 설치를 해야 합니다.

간단하게 생각하면 개발자 홈페이지에서 다시 다운받아 설치하면 된다고 생각을 하지만, 실상 그렇지가 못합니다.

참..! 그리고 처음 인증서를 발급 받을 때 생성하였던 파일들을 모두 보관해 두시기 바랍니다.

나중에 갱신에 필요할지도 모르니까요^^

여튼, 여러대의 맥에서 개발을 하려면 처음 인증서를 발급받은 맥에서 일정 과정을 거쳐 복사하여 다른 맥으로 옮겨줘야 합니다.


인증서 파일을 복사하려면

응용프로그램 - 유틸리티 - 키체인 접근

을 실행합니다.



키체인에서 로그인, 카테고리에서 인증서를 선택하면 인증서 목록이 쭈욱 나오게 됩니다.

거기에서 관련된 3개의 항목이 존재합니다.

iPhone Distribution, iPhone Developer, Apple Worldwide Developer Certification Authority

이 세가지 항목을 선택하고 오른쪽버튼을 눌러 3개 항목 보내기...를 클릭합니다.



경로를 지정하고 저장을 누르면

인증서를 다른 맥에서 설치할 때 사용할 암호를 생성합니다.



그 후, 현재 매킨토시의 계정 비밀번호를 확인합니다. (3번 확인 할 수도 있습니다.)



이제 이렇게 이쁘게 인증서 내보내기가 완료되었습니다.



다른 맥에 가서 이 파일을 실행시키고 암호를 입력해주면 자동으로 인증서 설치가 완료됩니다 :-)



↓↓↓도움이 되었다면 추천 한방 꾹 눌러주고 가시는 건 어떨까요? ^~^ 사랑합니다~ ↓↓↓

Posted by yagom

댓글을 달아 주세요

  1. 밤피 2012.03.29 07:55  댓글주소  수정/삭제  댓글쓰기

    감사합니다~잘봤습니다^^즐겨찾기 하고 자주 와서 참고하겠습니다^^

    티스토리는 어케 가입하나요 ㅠ

    • Favicon of https://blog.yagom.net BlogIcon yagom 2012.03.29 10:36 신고  댓글주소  수정/삭제

      찾아주셔서 감사합니다.^^*
      저도 가입한지 너무 오래되서 기억이 안나네요..ㅠ
      그때는 누군가 초대장을 보내서 가입했던거로 기억하는데요..ㅋ

  2. Favicon of https://zuperztar.tistory.com BlogIcon LarryAhn 2012.04.14 17:29 신고  댓글주소  수정/삭제  댓글쓰기

    캬~~ 블로그에 정말 유용한 정보들만 쏙쏙 있어서 정말 좋네요.

    다년간 윈도우 프로그램만 개발하다가 맥OS 를 살펴시 같이 하려다 보니 다시 초보자가 된 느낌이 많네요 ㅎㅎ

  3. yimcold 2014.02.24 14:46  댓글주소  수정/삭제  댓글쓰기

    짱짱짱짱짱!!!!!!!!!!!
    여기는 정말 유용유용한 정보만 있는듯!!

  4. kpjSkool 2014.03.22 05:29  댓글주소  수정/삭제  댓글쓰기

    감사합니다!
    막 iPad 어플을 개발하기 시작했는데요,
    objective-c부터 도움받는게 정말정말 많습니다.
    나중에 꼭 훌륭한 어플 만들어서 보답해드리고 싶네요
    감사합니다!
    자주 들를게요!

아이콘에 발광 효과를 넣지 않았는데 아이콘의 글로시 효과는 자동으로 나와요~
없애고 싶으신 분들을 위하여 방법을 알려드립니다~
어플리케이션의 plist파일로 들어와서 공백에 대고 마우스 오른쪽 클릭!
또는 컨트롤+클릭 하시면 메뉴가 나오는데요
Add Row를 클릭합니다~


그러면 새로 한 줄이 나오는데요, Key라는 열의 내용을 Icon already includes gloss effects라고 입력하여 하시고 (아마 자동완성으로 나올거예요) Value는 YES를 써주시구요~(대소문자 구별합니다)


다시 실행하여 봅니다~
엄허~! 뽀송뽀송 글로시 효과가 사라졌어용 ㅋㅋㅋ


↓↓↓저 열심히 썼는데 추천 한방 꾹 눌러주고 가시는 건 어떨까요? ^~^ 사랑합니다~ ↓↓↓ 
Posted by yagom

댓글을 달아 주세요