오늘의 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


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


오늘의 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


오늘의 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


오늘의 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


오늘의 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


오늘의 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

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


오늘의 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


오늘의 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


오늘의 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
이번에 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
오늘은 시뮬레이터에서 언어를 변경 하는 방법에 대해 알아봅니다.

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

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


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

 

General(일반) 클릭


International(다국어) 클릭


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


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


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



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



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




저작자 표시 비영리 변경 금지
신고
Posted by yagom
오늘은 네트워크 상태 체크하는 방법에 대해 간략하게 소개합니다~

네트워크 상태 체크하는 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

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

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

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



시작!

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


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



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


잘 되나 확인해 볼까요?ㅎ

 

굿 웍~!



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


저작자 표시 비영리 변경 금지
신고
Posted by yagom
개발하다가 소스코드가 길어지고 지저분해 지다보면 어떤 메소드가 어디에 있는지 찾아가기 굉장히 불편해지고 가독성이 떨어지게 됩니다.

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

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

#pragma mark 

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

한 번 보여드릴게요~

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


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


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



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


by yagom

twitter : @yagomsoft

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

RSS Feed 받기   


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



저작자 표시 비영리 변경 금지
신고
Posted by yagom

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


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

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

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


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

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


저작자 표시 비영리 변경 금지
신고
Posted by yagom

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

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


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


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


↓↓↓저 열심히 썼는데 추천 한방 꾹 눌러주고 가시는 건 어떨까요? ^~^ 사랑합니다~ ↓↓↓ 
저작자 표시 비영리 변경 금지
신고
Posted by yagom


티스토리 툴바