문의 시 사용하시는 SDK 버전 정보를 알려주세요.
안녕하세요
cordova --version = 10.0.0
npm list | grep cordova = cordova-ios@6.1.0
사용한 플러그인 = https://github.com/taejaehan/Cordova-Kakaotalk-Plugin
위 사이트에서 앱델레게이트 에 추가하라고 하여
아래 파일에 추가해주었습니다
appdelegate.m
#import "AppDelegate.h"
#import "MainViewController.h"
#import <KakaoOpenSDK/KakaoOpenSDK.h>
@implementation AppDelegate
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
self.viewController = [[MainViewController alloc] init];
return [super application:application didFinishLaunchingWithOptions:launchOptions];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
NSLog(@"test application url ");
if ([KOSession isKakaoAccountLoginCallback:url]){return [KOSession handleOpenURL:url];}
}
- (void)applicationDidBecomeActive:(UIApplication *)application{ NSLog(@"test application didbecome active "); [KOSession handleDidBecomeActive];}
@end
OtherLinkplags = -ObjC -all_load
으로 all_load 또한 추가해주었습니다.
실제 코드는 아래와 같습니다
₩₩₩
function LoginWithKakao(Type) {
//alert(KakaoTalk.login());
KakaoTalk.login(
function (result) {
var Id = result.id;
var NickName = result.nickname;
var Email = result.email;
console.log("test kakaotalk : "+result);
//alert(JSON.stringify(result));
LoginFormSetAjax(Id, NickName, Email, Type);
},
function (message) {
$.alertable.alert("로그인이 실패하였습니다.").always(function() { });
}
);
}
₩₩₩
코드를 확인해보니
Login 은 탄듯 한데 결과 또는 에러가 아무것도 반환이 안됩니다
login 함수를 확인해본 결과
₩₩₩
- (void) login:(CDVInvokedUrlCommand*) command
{
[[KOSession sharedSession] close];
NSLog(@“test KOSession : %@”, [KOSession sharedSession]);
[[KOSession sharedSession] openWithCompletionHandler:^(NSError error) {
NSLog(@“test Kakaotalk123123”);
if ([[KOSession sharedSession] isOpen]) {
// login success
NSLog(@“login succeeded.”);
[KOSessionTask meTaskWithCompletionHandler:^(KOUser result, NSError error) {
CDVPluginResult pluginResult = nil;
if (result) {
// success
NSLog(@“userId=%@”, result.ID);
NSLog(@“nickName=%@”, [result propertyForKey:@“nickname”]);
NSLog(@“profileImage=%@”, [result propertyForKey:@“profile_image”]);
…
₩₩₩
NSLog(@“test Kakaotalk123123”); 이부분이 아예 안타더라구요…ㅠㅠ
어떻게 해야할지 모르겠습니다…
동일한 코드인데 안드로이드 정상 작동 되는데
도움 주시면 감사하겠습니다.
** 추가
카카오톡 앱이 열리고
빈 창이 밑에서 팝업이 되는데
화면이 보이기 전에 다시 원래 앱으로 돌아옵니다…