마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

폰갭 push 플러그인 질문입니다.(ios 오류)

0 추천
var PushNotification = function(options) {
/* 생략 */
    var that = this;
    var success = function(result) {
        if (result && typeof result.registrationId !== 'undefined') {
            that.emit('registration', result);
        } else if (result && result.additionalData && typeof result.additionalData.callback !== 'undefined') {
            var executeFunctionByName = function(functionName, context /*, args */) {
                var args = Array.prototype.slice.call(arguments, 2);
                var namespaces = functionName.split('.');
                var func = namespaces.pop();
                for (var i = 0; i < namespaces.length; i++) {
                    context = context[namespaces[i]];
                }
                return context[func].apply(context, args);
            };
            executeFunctionByName(result.additionalData.callback, window, result);
    };

푸쉬가 왔을 떄 푸쉬를 누른 면 저 함수 부분이 실행이 되는데..

ios 는 저 부분에서 오류가 납니다.

오류 내용은 TypeError: undefined is not an object (evaluating 'context[func].apply') 이구요..

디버깅을 해 보니 ios는 result.additionalData.callback 값을 noticeSuccess로 가지고 있는데

android는 그냥 undefined입니다.

그래서 else if (result && result.additionalData && typeof result.additionalData.callback !== 'undefined') 부분에서 오류가 발생하는 것 같습니다.

답변부탁드려요!

김톡 (120 포인트) 님이 2016년 5월 6일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...