0

Worklight 6에서 하이브리드 응용 프로그램을 개발하고 내 iOS 환경에 푸시 알림을 설정하려고합니다. . 내 iOS 기기에서 푸시 알림을 구독하고 수신 할 수있게되었습니다. 나는 (인증을 수행 할 작업등을 서버에 연결을 시도 후TypeError : 푸시 알림을받은 후 'undefined'가 ('registeredEventSources [pendindPushEvent.alias] .callback'을 평가하는) 객체가 아닙니다.

TypeError: 'undefined' is not an object (evaluating 'registeredEventSources[pendindPushEvent.alias].callback')

이 잘 일어날 것 같다 내가받은 푸시 알림을 클릭하여 응용 프로그램을 열려고 할 때,이 오류를보고하고 WL.Client.login) 로그인 콜백 중 하나가 실행되지 않도록합니다. 이상한 점은이 이벤트 소스 콜백이 호출되는 것을 나타내는 것 같습니다. WL.Client.Push.registerEventSourceCallback에 전달하는 함수가 올바르게 실행되어 알림의 payload.msg가 표시됩니다.

참고 : 푸시 알림없이 앱을 열면 인증이 제대로 작동하는 것 같습니다.

다른 곳에서는이 오류에 대한 정보를 찾을 수 없었습니다. 누구든지이 문제에 관해 밝힐 수 있습니까?

+0

Worklight 버전이 무엇입니까? –

+0

나는 6.0을 실행하고있다 – Opossum

답변

1

사실 IMO는 결함입니다. Android에서는 수정되었지만 iOS에서는 지원되지 않습니다. 나는 그것에 관한 결함을 열었다.

1

당신이 당신의 푸시 알림 콜백을 정의해야처럼 보이는 :

WL.Client.Push.registerEventSourceCallback(
      "myPush", 
      "PushAdapter", 
      "PushEventSource", 
      pushNotificationReceivedCallBack); 

...

function pushNotificationReceivedCallBack(props, payload){ 
    alert("pushNotificationReceived invoked"); 
} 

당신이 두배로 할 수있다 당신이 당신의 이벤트 소스에 등록 된 콜백 함수를 확인? 어쩌면 "registerEventSourceCallback"호출에서 정의 된 함수와 실제 함수 구현 사이에 오타가있을 수 있습니까?

+0

나는 방금 나의 질문을 편집했다. 콜백이 실제로 실행되고 있기 때문에 이것이 내가 당황한 이유 중 하나입니다. 유일한 부작용은 인증 콜백을 실행하지 못하는 것입니다. – Opossum

+0

흠, pushNotificationReceivedCallBack에서 자바 스크립트가 실패 할 가능성이 있습니까? 콜백 코드를 게시 할 수 있습니까? – jnortey

+0

이 시점에서 나는 경고를 표시하고 있습니다. (작동 중) var receivedPushNotification = function (props, payload) { alert (payload.msg); } – Opossum

관련 문제