구글 로그인 API 사용시 앱 크래쉬 발생시 해결. 에러 로그 Your app is missing support for the following URL schemes: com.googleusercontent.app구글로그인 URL scheme 추가하기 Xcode의 프로젝트 navigation bar에서 프로젝트 이름을 클릭하고‘TARGETS’->‘Info’->‘URL Types’으로 이동하십시오. 그런 다음 '+'버튼을 클릭하고 뒤집힌 client ID를 'URL Schemes'에 추가하십시오. ‘GoogleService-Info.plist’의 목록중 REVERSED_CLIENT_ID에서 클라이언트 ID를 얻을 수 있습니다.
1. NSUserDefaults Instance 얻기 + standardUserDefaults Returns the shared defaults object. Example NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];+ resetStandardUserDefaults Synchronizes any changes made to the shared user defaults object and releases it from memory. Example [NSUserDefaults resetStandardUserDefaults];2. NSUserDefaults Object 초기화 하기 - init Returns an NSUserDef..
AsyncTask 는 Deprecated 되었습니다. 구현부 package com.winchester.retrofit.example.http.asyncTask; import android.app.ProgressDialog; import android.os.AsyncTask; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.google.gson.JsonObject; import com.winchester.retrofit.example.http.responseBody.RespPacket; import java.io.IOException; import java.lang.ref.WeakReference; imp..
1. NSURL 속성 URL: http://www.testUrl.com/notice/contents?a=1&b=2&c=3 (설명을 위한 임시 URL) scheme: http (:// 이전의 텍스트) host: www.testUrl.com (://과 맨 처음 / 사이의 텍스트) path: /notice/contents (맨 처음 /와 ? 사이의 텍스트) query: a=1&b=2&c=3 (? 이후의 텍스트) 예제 NSString *strUrl = @"https://www.api.com/api/info?t=123&sign=test123"; NSURL *reqURL = [NSURL URLWithString:strUrl]; NSLog(@"%@", [reqURL host]); NSLog(@"%@", [reqURL..
안드로이드에 포스팅되어있는 md5 알고리즘과 동일하게 작동되는 코드입니다. + (NSString *) md5:(NSString *) input { const char *cStr = [input UTF8String]; unsigned char digest[CC_MD5_DIGEST_LENGTH]; CC_MD5( cStr, (CC_LONG)strlen(cStr), digest ); // This is the md5 call NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2]; for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) [output appendFormat:@"%02x..
objc 에서 콜백함수에 대한 이벤트리스너를 만드려면 1. block(^) 2. selector 3. noti 4. delegate 가 있다고 한다. 현재 상황에서 나에게 필요한건 block 이었기 때문에 혹시 필요하신 분들을 위해 샘플코드를 제공합니다. @implementation -(void)doSomething:(void (^)(BOOL, int))completionBlock { NSLog(@"Do Something first"); completionBlock(YES, 1); completionBlock(NO, 2); NSLog(@"Then may be something else"); } - (void)viewDidLoad { [super viewDidLoad]; // Do any additiona..
자주 까먹는 이슈 ios10 부터 지원하려고 하면 겪는 문제. ios13부터는 window 프로퍼티가 기본 내장되있는듯 하다 [Application] The app delegate must implement the window property if it wants to use a main storyboard file.ios10을 지원하려면 AppDelegate.h 에 추가해주면 된다 같은 내용의 자료가 많아서 포스팅하지 않으려 했으나 은근히 까먹기 때문에 작성함. #import @interface AppDelegate : UIResponder @property (nonatomic, strong) UIWindow * window; @end
pod install 시 이 로그를 봤다면 [!] Could not automatically select an Xcode project. Specify one in your Podfile like so: project 'path/to/Project.xcodeproj'타겟에는 워크스페이스를 프로젝트에는 인스톨하고자 하는 프로젝트명의 경로를 추가해준다. source 'https://github.com/CocoaPods/Specs.git' platform :ios, '9.0' target 'SampleSDK' do project 'SampleSDK/SampleSDK.xcodeproj' pod 'AFNetworking', &#..
딕셔너리에 string int long 등이 있을때 element 타입체크하기. for(NSString *key in mDict) { id value = [mDict objectForKey:key]; if([value isKindOfClass:[NSString class]]) { NSString *temp = (NSString*)value; NSLog(@"%@",temp); } else if([value isKindOfClass:[NSNumber class]]) { NSNumber *numTemp = (NSNumber*)value; NSString *strTemp = [numTemp stringValue]; NSLog(@"%@",strTemp); } }
- Total
- Today
- Yesterday
- nsurl 에서 nsstring 변환
- 절대값함수
- Error Domain=SKErrorDomain Code=0
- LanguageCode
- abs 함수
- iTunes Store에 연결할 수 없음
- permissionCheck
- convert nsurl to nsstring
- DeviceModel
- countryName
- setCancelable vs setCanceledOnTouchOutside
- 퍼미션체크
- NSUserDefaults 예제
- Locale.getDefault().getLanguage()
- abs
- nsurl to nsstring convert
- dialog
- ioutil
- tempdir
- java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line
- tempfile
- countryCode
- Golang
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |