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') 부분에서 오류가 발생하는 것 같습니다.
답변부탁드려요!