현재 사용 하고 있는 POD를 정리 해 보기.

 

머 상황마다 다르겠지만 지금은 간단하게 사용할 수 있는 POD 를 나열해보자.

 

Objective-c를 사용는데 요세는 Objective-c를 찾기가 어렵다 ㅠ.ㅠ

 

 

 

pod 'ViewDeck', '~> 3.0'

https://github.com/ViewDeck/ViewDeck

 

ViewDeck/ViewDeck

An implementation of the sliding menu found in various iOS apps. - ViewDeck/ViewDeck

github.com

pod 'EKKeyboardAvoiding'

https://github.com/kirpichenko/EKKeyboardAvoiding

 

kirpichenko/EKKeyboardAvoiding

It's an universal solution for keyboard avoiding for iOS that allows automatically change content inset of UIScrollView and it's subclasses. When keyboard is presented you will be able to s...

github.com

 

pod 'Firebase/Core'

pod 'Firebase/Messaging'

 

pod 'FBSDKCoreKit', '~> 4.38.0'

pod 'FBSDKLoginKit', '~> 4.38.0'

 

pod 'youtube-ios-player-helper'

 

pod 'naveridlogin-sdk-ios'

pod 'IGRFastFilterView'

pod 'NMapsMap'

 

pod 'PPBadgeView'

https://github.com/jkpang/PPBadgeView

 

jkpang/PPBadgeView

iOS Custom Badge, Support UIView, UITabBarItem, UIBarButtonItem ,Support Objective-C/Swift; iOS自定义Badge组件, 支持UIView, UITabBarItem, UIBarButtonItem, 支持Objective-C/Swift - jkpang/PPBadgeView

github.com

pod 'BEMCheckBox'

https://github.com/Boris-Em/BEMCheckBox

 

Boris-Em/BEMCheckBox

Tasteful Checkbox for iOS. (Check box). Contribute to Boris-Em/BEMCheckBox development by creating an account on GitHub.

github.com

pod 'MarqueeLabel'

https://github.com/cbpowell/MarqueeLabel

 

cbpowell/MarqueeLabel

A drop-in replacement for UILabel, which automatically adds a scrolling marquee effect when the label's text does not fit inside the specified frame - cbpowell/MarqueeLabel

github.com

pod 'FSPagerView'

https://github.com/WenchaoD/FSPagerView

 

WenchaoD/FSPagerView

FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner View、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. - WenchaoD/FSPagerView

github.com

 

 

 

 

 

 

 

아주 주관적이고 막혔을떄 정리하는거라 태글걸지 마시기 바랍니다.

 

우선 최근까지 pod `NMapsMap' 만 install 해주면 아주 깔끔하게 사용할 수 있었다.

그래서 그렇게 사용하고 있었는데. 다른 프로젝트에 적용하려고 하니.. 이런 SSi... 에러가 에러가...

 

0. IB Designables: Failed to render and update auto layout status.

0. Undefined symbols for architecture x86_64 _objc_class_$

 

라는 에러를 계속 내뿜는게 아닌가.

 

그래서 이걸 어떻게 해결해야하나.. 구글링을 계속 하는데.. 별에 별걸 다 해본것 같다.


Build Setting -> BitCode 를 검색해 NO로 바꿔주라고해서 바꿔줬는데도 똑같고.

Framework Path가 잘못되어있나 강제로도 넣어봤고.

Other Path로 설정해봤고.

새로운 프로젝트를 열어서 다시 해보고.

혹시 Pod에 문제가있나해서 Pod도 지웠다가 다시 설치해보고.

컴퓨터가 문제인가 컴퓨터를 바꿔서도 해보고


.

아... 그런데 똑같은 문제가 계속 발생...

 

결국. Naver Cloud Platform 홈페이지 들어가서 문의글을 딱 남기는데...

바로 해결... ㅋㅋ

 

내가 멍청했던거지.. 물어보면 끝나는걸...

혹시 안되서 검색하는 분들을 위해 이걸을 남겨본다 ㅋㅋㅋ

 

이글 본사람들은 문의하길 바라고.. 우선 내가 해결했던 방법을 설명해본다.

 


 

간단 명료하게 결론만 말하자면 NMapsMap이 용량이 커지면서 Git-lfs 를 이용하게 되었다는것.

그래서 Git-lfs를 설치를 해줘야한다는 것.

 

https://github.com/navermaps/ios-map-sdk

NaverMap github에 들어가서 CocoaPods구성 확인

 

1. 기존에 사용중이던 Pods 폴더를 삭제.

2. 터미널창에 pod cache clean NMapsMap 실행

3. git-lfs 설치

3-1. 터미널창에 sudo gem install cocoapods 실행

3-2. brew install git-lfs 실행 [ https://brew.sh/ ]

   * not found ... 에러가 나는 분들은 Homebrew 가 없어서 그러니 

   /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

   위 명령어를 그대로 복사해서 실행.

   * brew 설치가 끝나고 확인하기위해 brew doctor 실행

   * brew doctor 실행이 끝나면 brew install git-lfs 실행

3-3. git-lfs install 실행 <- 나는 이건 실행안한것 같다.

4. 프로젝트 폴더로 이동 cd /path/your-project

   * 간혹 그대로 path/your-project로 control+c | control+v 하는 사람 있는데 그러지말고

   * 1. 터미널에 cd 입력하고 한칸띄고

   * 2. 당신의 프로젝트가 있는 Finder를 열어서 해당 폴터를 끌어다가 터미널에 넣으면 경로가 자동으로 입력이 되고

   * 3. 그뒤! 엔터를 누르면 됩니다.

5. 프로젝트에있는 Pods 폴더와 캐쉬를 지웠으니 터미널에 pod install --repo-update 실행

6. 업데이트가 다 되면 프로젝트 실행 후 클린하고 빌드하면 Build Success를 볼수 있다.

 


 

여기까지가 내가 애먹었던 부분을 풀어논것이다.

 

먼가 이상하고 애매하고 잘안되는 사람은 리뷰 달지마시고 찾아보는 것을 추천한다.

 

 

 

 

 

 

 

 

 

 




팩트 설명.


0. UIWebView 에 Delegate 연결

0. webView:shouldStartLoadWithRequest:navigationType: 함수 선언

0. [[request URL] absoluteString] 으로 케치

0. 입맛대로 코딩




코딩



클라이언트 -


- (BOOL) webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

    NSLog(@"%@", [request URL].absoluteString);

    

    if ([[request URL].absoluteString isEqualToString:@"appscheme://callNative"]) {

        /// 입맛대로 코딩 ///

 ...

    }

    return YES;

}




웹 -


<script type='text/javascript'>(function callNative(){window.location = 'appscheme://callNative';}());</script>





웹에서 버튼 호출 시 클라이언트가 처리해야 되는 부분이 있으면 이런식으로 호출을 하고 받을 수가 있다.


이건 어려운거 아니니 간단하게 테스트해봐도 된다.






아이콘이 가장 중요한 부분이면서도 자주 까먹기도하는 아이콘 사이즈를 정리해보자.



이제 IOS 6.1이하는 제외해도 될것이다.




우선 준비해야할 사이즈 들이다.


Table 1  iPhone-only application icon requirements.

Image Size (px)

File Name

Used For

App Store

Ad Hoc

512x512

iTunesArtwork

App list in iTunes

Do not include

Optional but recommended

1024x1024

iTunesArtwork@2x

App list in iTunes on devices with retina display

Do not include

Optional but recommended

120x120

Icon-60@2x.png

Home screen on iPhone/iPod Touch with retina display

Required

Required

180x180

Icon-60@3x.png

Home screen on iPhone with retina HD display

Optional but recommended

Optional but recommended

76x76

Icon-76.png

Home screen on iPad

Optional but recommended

Optional but recommended

152x152

Icon-76@2x.png

Home screen on iPad with retina display

Optional but recommended

Optional but recommended

167x167

Icon-83.5@2x.png

Home screen on iPad Pro

Optional but recommended

Optional but recommended

40x40

Icon-Small-40.png

Spotlight

Optional but recommended

Optional but recommended

80x80

Icon-Small-40@2x.png

Spotlight on devices with retina display

Optional but recommended

Optional but recommended

120x120

Icon-Small-40@3x.png

Spotlight on devices with retina HD display

Optional but recommended

Optional but recommended

29x29

Icon-Small.png

Settings

Recommended if you have a Settings bundle, optional otherwise

Recommended if you have a Settings bundle, optional otherwise

58x58

Icon-Small@2x.png

Settings on devices with retina display

Recommended if you have a Settings bundle, optional otherwise

Recommended if you have a Settings bundle, optional otherwise

87x87

Icon-Small@3x.png

Settings on devices with retina HD display

Recommended if you have a Settings bundle, optional otherwise

Recommended if you have a Settings bundle, optional otherwise








@2x, @3x 만 알아두면 올리기 쉽다.



20pt = 20 x 20


20pt 2x = 40 x 40

20pt 3x = 60 x 60



29pt = 29 x 29


29pt 2x = 58 x 58

29pt 3x = 87 x 87



40pt = 40 x 40


40pt 2x = 80 x 80

40pt 3x = 120 x 120



60pt = 60 x 60


60pt 2x = 120 x 120

60pt 3x = 180 x 180




대충 이정도면 보면 누구나 알기 쉬울것이다.




! 그런데 어디에다가 저 파일들을 넣어야하냐 !


1. 프로젝트 왼쪽 사이드 메뉴에  Assets.xcassets 클릭

2. AppIcon 클릭


이제 여기에다가 하나씩 하나씩 넣어보자.





정 모르시겠다면


https://developer.apple.com/library/content/qa/qa1686/_index.html


참조하자!







2018/01/16 - [[ IT 정보 ]] - ICON 간단하게 만들어주는 사이트


// [ 자료형 ] //

 

 

이번에 정리할 자료형은 NSMutableString 이다.

 

이 자료형은 NSString의 서브 클래스 이기 때문에 NSString의 모든 메서드를 사용할 수 있다.

 

 

간단하게 설명해보면 NSString의 확장형이라고 생각하자.

* 하위 문자열의 첨부, 삽입, 대체, 삭제가 가능하다.

 

 

이번에도 가장 많이 쓰는 것 위주로 나열해보자.

대신, NSString에서 썻던 매서드는 제외.

 

 

개발 : 맥북, 아이 맥, 맥북 프로

IOS, 앱, 어플리케이션, 어플

 

 

2. NSMutableString

 

 // 문자열 첨부 //

 [mMuStr appendString:@"문자열 끝에 문자열 첨부"];

 

 

 // 문자열 삽입 //

 [mMuStr insertString:@"삽입할 문자" atIndex:0]; // atIndex (삽입할 문자 위치)

 

 

 // 문자열 삭제 //

 NSRange range = NSMakeRange(0, 5);

 [mMuStr deleteCharactersInRange:range];

 

 

 // 문자열 대체 //

 [mMuStr replaceOccurrencesOfString:@"," withString@"?" option:NSCaseInsensitiveSearch range:rangeOfString];

 

 

 

 

 

어엌... 오늘은 여기까지만 해보고

 

자고 일어나서 정리해보자..

 

 

 

잠와서 앉아서 버리는 시간이 아깝다..

 

 

IOS

 

 

// [ 자료형 ] //







크게 달라지는건 없지만 

Objective - C는  C 를 더 쉽게 쓰기 위해 새로운 자료형들로 만들어졌다.




대표적인 예 

[ NSString, NSNumber, NSArray, NSDictionary, NSInteger, NSUInteger, BOOL, ENUM ]



다 알고 있고 많은 블로그에 자세한 설명이 있으니 자세한 설명은 제외하고 


가장 많이 쓰는 부분을 예시로 한번 해보자.



1. NSString



// - [ 빈 문자열 생성 ]

   [NSString string]; 



// - [ 문자열 초기화 ]

   mStr = [NSString stringWithString:@" 문자열 초기화 (stringWithString) "];

   mStr = [[NSString alloc] initWithString:@" 문자열 초기화 (initWIthString)"];



// - [ 문자열 길이 ]

mLength = [mStr length];



// - [ 문자열 합치기 ]

mStr = [mStr stringByAppendingString:mStrSub];    // -> mStr자신에 mStrSub 문자열 합치기 //

 


// - [ 문자열 비교 ]

BOOL mIsEqual = [mStr isEqualToString:mStrSub];  // -> return type [ BOOL ] //



// - [ 문자열 비교 ( 대 소문자 구분 )

mStr = @"One";

mStrSub = @"one";

NSComparisonResult mCompare = [mStr compare:mStrSub option:NSCaseInsensitiveSearch];


if (mCompare == NSOrderedSame) {

NSLog(" 같음 ");

}

 


// - [ 대문자로 변환 ]

mStr = [mStr uppercaseString];

 


 // - [ 소문자 변환 ]

mStr = [mStr lowercaseString];



 // - [ UTF - 8 형식 인코딩 ]

const char *mChr = [mStr UTF8String];



// - [ 인덱스까지 문자 추출 ] : (1~10) -> value : 5 = result : 1,2,3,4,5

mStr = [mStr substringToIndex:5];

 


// - [ 인덱스부터 문자열 끝까지 추출 ] : (1~10) -> value : 5 = result : 5,6,7,8,9

mStr = [mStr substringFromIndex:5];

 


 // - [ 문자열 검사 ]

mRng = [mStr rangeOfString:@"RngOfString"];

if (mRng.location == NSNotFound) { }



// - [ 문자열 형변환 ]

[mStr intValue];        // -> int 형

[mStr floatValue];     // -> float 형

[mStr doubleValue];    // -> double 형

[mStr longValue];     // -> long 형

[mStr charValue];     // -> char 형
 



NSString 자료형을 더 다양하게는 쓰겠지만 이정도만 알아도 많이안다고 할 수 있다.



내가 공부할때까지는 NSString 이었지만 더 확장한 NSMutableString 나왔다.


NSMutableString부분은 다음에 이어서 같이 해보자.





[ 중요 ] NSString 때문에 들어오신분들의 생각의 전환을 주기 위한 글


* 문자열 비교 시 여러가지 방법이 있다.


[ 비교할 문자를 변환하지 않고 비교하는 방법도 있고! ]

[ 모든 문자를 대문자로 변환 후 비교 하는 방법도 있고! ]

[ 모든 문자를 소문자로 변환 후 비교 하는 방법도 있고! ]

[ 띄어쓰기 검사 후 비교 하는 방법도 있고! ]

[ 앞에서 몇글자 추출 후 비교하는 방법도 있고! ]

[ 뒤에서 몇글자 추출 후 비교하는 방법도 있고! ]

[ 중간에서 몇글자 추출 후 비교하는 방법도 있고! ]

[ 빈문자열인지 비교하는 방법도 있고! ]

[ 문자열 길이가 같은지 다른지 비교하는 방법도 있고! ]







+ Recent posts