아… 그런가요…? 확인해보겠습니다…
근데 iOS8에서는 저부분 사용안해서 되는거 였군요…ㅠㅠ
감사합니다.
아… 그런가요…? 확인해보겠습니다…
근데 iOS8에서는 저부분 사용안해서 되는거 였군요…ㅠㅠ
감사합니다.
잘되네요…^^;;;
이건 다른 에러인데 1.0.42 버전에서 발생하였습니다.
(XCODE 7.0, Swift 2.0)
로그인 과정이 진행되지 않고있습니다.
KOSession.sharedSession().openWithCompletionHandler({(error:NSError!) → Void in
혹시 해결의 힌트를 얻을 수 있을까요?
(item0의 appID는 삭제 하고 올립니다.)
@dm_byun 정상 동작입니다.
해당 디바이스에 카카오톡과 카카오스토리가 설치되지 않아서 나오는 로그입니다.
https://devtalk.kakao.com/t/ios9/14632
FAQ에 있었네요!!!
앞으로는 먼저 상세히 살펴보고 질문을 올리도록 하겠습니다.
빠른 답변 감사합니다 ^^
몇가지 추가로 질문 더 드립니다.
기존에는 해당 디바이스에 카카오톡과 카카오 스토리가 설치 되지 않았을 경우 웹을 이용해 로그인을 수행했는데 위 시스템 에러 메세지 출력 후 더이상 진행 되지 않습니다.
IOS9은 아직 지원 되지 않는건가요?
지원 되지 않는다면 저 시스템 에러 메세지가 발생했을때 앱 내부에서 컨트롤 할 수 있는 방법이 있나요? openWithCompletionHandler의 Handler가 호출되지 않아 NSError정보도 넘어 오지 않습니다.
----IOS 개발가이드 로그인 부분 중—
저도 iOS9 에 앱 개발중인데 위와 같이 동일하게 설정되어있음에도 안되네요 ㅠㅠ… 뭐가 문제인지…
많이 바쁘시겠지만 도움 주시면 감사하겠습니다.
저도 카카오계정 로그인과 카카오링크 실행 시 앱이 깔려있지 않으면 오류 로그만 나오고 아무런 반응이 없네요.
앱스토어로 넘어가던지 해야 하는데…
또 카카오계정 로그인 시도 시 앱이 깔려 있어도
[[KOSession sharedSession] isOpen] 여기서 실패만 나오네요.
@dm_byun 더이상 진행이 안된다는게 어떤 이야기 이신가요?
저 위 에러는 톡과 스토리가 안깔려 있다라는 에러고… 직접입력해서 로그인 하는 플로우랑은 상관 없습니다.
로그인 웹뷰로 로그인 할 수 있지 않나요?
@irun0220 @wsky1101 에러로그나 스크린 캡쳐 등으로 원인 파악이 쉽게 도와주세요~
어떤 설정이 잘못 하신건지 감이 안오네요~
참고로 item0 = kakao 는 아니구요.
kakao+appkey 입니다. ex) kakaodd4e9cb75815cbdf7d87ed721a659baf
에러 출력 후 로그인 웹뷰 화면이 뜨지 않습니다.
(XCODE 7, Swift 2.0, IOS9 Simulator)
KOSession.sharedSession().close() // 수행 함
//아래 openWithCompletionHandler 에서 위 시스템 에러 메세지 발생 후 웹뷰 이동하지 않음.
KOSession.sharedSession().openWithCompletionHandler({(error:NSError!) -> Void in
//진입하지 않음
if(KOSession.sharedSession().isOpen()) {
//로그인 성공
} else {
//로그인 실패
}
})
AppDelegate
func application(application: UIApplication,
openURL url: NSURL,
sourceApplication: String?,
annotation: AnyObject) -> Bool {
pinft("openURL \(url)") // 호출 되지 않음.
if KOSession.isKakaoAccountLoginCallback(url){
return KOSession.handleOpenURL(url)
}
}
웹뷰가 안뜨나요?
KOSession.sharedSession().presentingViewController 를 이용해 보세요.
카카오 샘플 스위프트 버전 참고…
말씀해주신대로 Swift 샘플 보고 해보니 웹뷰가 뜹니다!!!
self.navigationController를 이용하는 부분이 추가 되었네요.
감사합니다!!
위에 올린 제 구현 방법에서의 수정은 아래와 같이 했습니다.
다른 분들도 참고하시길 바랍니다.
KOSession.sharedSession().close()
KOSession.sharedSession().presentingViewController = self.navigationController
KOSession.sharedSession().openWithCompletionHandler({(error:NSError!) -> Void in
KOSession.sharedSession().presentingViewController = nil
if(KOSession.sharedSession().isOpen()) {
//로그인 성공
} else {
//로그인 실패
}
})
dm_byun 님과 완전히 동일한 증상입니다.
카카오 계정 로그인 시 카카오스토리가 설치되어 있지 않을 때 :
-canOpenURL: failed for URL: “storykompassauth://authorize” - error: “(null)”
카카오 계정 로그인 시 카카오톡이 설치되어 있지 않을 때 :
-canOpenURL: failed for URL: “kakaokompassauth://authorize” - error: “(null)”
카카오 계정 로그인 시 카카오스토리와 카카오톡이 설치 되어 있을 때 :
if ([[KOSession sharedSession] isOpen]) {
실패;;
}
카카오 링크 사용 시 카카오톡이 설치되어 있지 않을 때 :
-canOpenURL: failed for URL: “kakaolink://send” - error: “(null)”
Info.plist 는 위에 적어주신 것과 완전히 동일하게 설정했습니다.
물론 “kakao”+appkey 로요.
SDK는 1.0.42 입니다.
샘플을 보니 obj-c 쪽도 추가 되어있네요
한번 확인해보세요 ^^
KOSession *session = [KOSession sharedSession];
if (session.isOpen) {
[session close];
}
session.presentingViewController = self.navigationController; <---- 중요
[session openWithCompletionHandler:^(NSError *error) {
session.presentingViewController = nil; <--- 중요
if (!session.isOpen) {
[[[UIAlertView alloc] initWithTitle:@"에러" message:error.description delegate:nil cancelButtonTitle:@"확인" otherButtonTitles:nil, nil] show];
}
}];
-canOpenURL: failed for URL: “kakaolink://send” - error: “(null)”
이 에러는 ios9 에서 추가되어서, 스킴을 열수 있는 앱이 없으면 로그에 찍고 있습니다.
정상 동작이니 너무 놀래지 마세요~
if ([[KOSession sharedSession] isOpen]) {
실패;;
}
false 인건가요? 아님 앱이 죽나요?
단순히 로그인웹뷰가 안보이는 거면, dm_byun 님이 적어주신걸로 해결 가능할것 같습니다.
isOpen() == false {
session open 하시면 됩니다.
}
해결 되었습니다… 바쁘신와중에 답변에 감사드립니다. ㅠㅠ
다른문제였지만… 제 실수로…
KOSession *session = [KOSession sharedSession];
if (session.isOpen) {
[session close];
}
session.presentingViewController = self.navigationController;
[session openWithCompletionHandler:^(NSError *error) {
NSLog(@"로그인 시도 ::: %@", error.localizedDescription);
session.presentingViewController = nil;
if (session.isOpen) {
NSLog(@"login succeeded.");
}
else {
NSLog(@"login failed");
}
카톡이나 카스가 깔려있지 않을 때에는 session open 이 안되네요.
NSLog(@"로그인 시도 ::: … 까지 넘어가지 않습니다.
앱이 깔려 있을 때에는 죽는 건 아니고 NSLog(@“login failed”); 로그가 찍힙니다.
이제 저만 안되는 것 같네요. ㅠ.ㅠ
에러 로그가 아예 안찍혀요;;;;
앱키와 번들 ID는 잘 등록되어 있습니다. 8.* 버전까진 잘 동작하고 있었거든요.