2013-11-05 2 views
1

구독/가입 취소 및 푸시 알림 기능이있는 네이티브 앱이 있지만 사용중인 WLPushOptions 객체에서 API가 전달되지 않는 것 같습니다.WLPush에서 WLPushOptions이 전달되지 않습니다. subscribe

내 OBJ C 코드에서 호출 :

NSLog(@"Trying to subscribe ..."); 
id options = [WLPushOptions new]; 
[options addSubscriptionParameter:@"param3" :@"Testing3"]; 

NSLog(@"Connecting to server and initializing push notification … "); 

ReadyToSubscribeListener *readyToSubscribeListener = [[ReadyToSubscribeListener alloc] initWithContext:ctx]; 
readyToSubscribeListener.alias = @"iOSPushAlias"; 
readyToSubscribeListener.adapterName = @"PushAdapter"; 
readyToSubscribeListener.eventSourceName = @"PushEventSource"; 
NSLog(@"Creating subscribe listener..."); 

MySubscribeListener *mySubscribeListener = [[MySubscribeListener alloc]  initWithContext:ctx];  
[[WLPush sharedInstance]subscribe:@"iOSPushAlias" :options :mySubscribeListener]; 

NSLog(@"Finished subscribe."); 

로그 :

Nov 4 20:29:44 Davids-iPhone-5 xxxx [771] <Warning>: Trying to subscribe ... 
Nov 4 20:29:44 Davids-iPhone-5 xxxx [771] <Warning>:  [WorklightNativeExtensionTemplateiOS] Connecting to server and initializing push notification ... 
Nov 4 20:29:44 Davids-iPhone-5 xxxx [771] <Warning>: Creating subscribe listener... 
Nov 4 20:29:44 Davids-iPhone-5 xxxx [771] <Warning>: Finished subscribe. 
Nov 4 20:29:44 Davids-iPhone-5 xxxx [771] <Warning>: [INFO] Successfully subscribed to alias iOSPushAlias 

다음, HSQL DB 로그 (현지 작업등 개발자 클라이언트를 사용하여) :

DELETE FROM NOTIFICATION_DEVICE WHERE ID=91 
INSERT INTO NOTIFICATION_DEVICE VALUES(91,'iOSPushAlias','MYAPPNAME-iOSnative-1.0','XXXXXXXX-0C65-4BEF-BE3E-098B21BDFCEF','{}','Apple','XXXXXXXX324CA75650BB85853B946F3D1D9881E5D2E4F3E02268AA6CAA3254B3','XXXXXXXXXX-debug 1.2.0 (iPhone; iPhone OS 7.0.2; en_US)',91) 
COMMIT 

앱 및 구독 ID를 X'ed했습니다.

다섯 번째 필드 (NOTIFICATION_DEVICE 테이블의 OPTIONS 필드)에서 볼 수 있듯이 "param3"키와 "Testing3"값을 전달한 빈 JSON 개체가 삽입됩니다. 나는 것으로 기대 :

{'param3':'Testing3'} 

이것은 네이티브 아이폰 OS API 문서가 addSubscriptionParameter 방법에 (있는 NSString 매개 변수)를 기대하는 것 같다. 나는 Objective C에 매우 익숙하다. 그러나 이것은 나에게 맞았다.

누구나 내가 뭘 잘못하고 있는지 알아?

답변

1

이것은 결함으로 기록되었습니다. 다행히 쉬운 해결 방법은 :

WLPushOptions *options = [WLPushOptions new]; 
options.parameters = [NSMutableDictionary new]; 
[options addSubscriptionParameter:@"param3" :@"Testing3"]; 
+0

해결 방법은 나를 위해 컴파일되지 않습니다, 점점 오류 "속성 '매개 변수'유형 'ID'의 개체를 찾을 수 없습니다"나는 할 때 : ID 옵션 = [ WLPushOptions new]; options.parameters = [NSMutableDictionary new]; – DavidW

+0

WLPushOptions 대신 'id'로 옵션을 정의했기 때문입니다. 위의 대답을 편집해야합니다. – jnortey

+0

굉장! 그건 아름답게, 미안 해요, 내 Obj C는 그다지 크지 않아, 나는 약 9 일간 코딩 만했습니다. 고맙습니다! – DavidW