didReceiveRemoteNotification : fetchCompletionHandler의 구문 분석 경고
parse.com에서이 코드를 추가 한 후 오류가 발생합니다.
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
if (application.applicationState == UIApplicationStateInactive) {
[PFAnalytics trackAppOpenedWithRemoteNotificationPayload:userInfo];
}
}
나는 무슨 일이 일어나고 있는지 정말로 이해하지 못하지만 로그에 다음 경고가 표시됩니다.
-[application : didReceiveRemoteNotification : fetchCompletionHandler :]를 구현했지만 여전히 Info.plist의 지원되는 UIBackgroundModes 목록에 "remote-notification"을 추가해야합니다.
plist 파일을 추가 UIBackgroundModes - remote-notification
하면 문제가 해결 될 것입니다.
하지만 그렇게하면 단어가 다음과 같이 바뀝니다.
Required Background Modes
-> App downloads content in response to push notifications
내 앱이 수행하지 않는 것이므로 처음에 왜이 작업을 수행하는지 혼란 스럽습니다.
원격 알림에 대한 응답으로 데이터를 가져 오지 않으려면이 대리자 메서드를 구현할 수 있다고 생각합니다.
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
예 :
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo {
if (application.applicationState == UIApplicationStateInactive) {
[PFAnalytics trackAppOpenedWithRemoteNotificationPayload:userInfo];
}
}
현재 사용중인 것 대신.
.plist
파일 에 수동으로 키를 추가하고 싶지 않은 경우 @MurraySagal의 답변의 그래픽 버전이 있습니다. 1에서 7까지의 단계를 수행하면 완료됩니다. :)
참고 : 단계를 읽을 수없는 경우 Command+ +(확대 용) 및 Command+ -(축소 용 ) 조합을 사용하여 현재 탭을 축소 할 수 있습니다 . 경우 Command작동하지 않습니다, 당신은으로 시도 할 수 있습니다 Ctrl.
@djshiow가 문제를 해결하지 못한다고 생각합니다.
info.plist 파일에 다음을 추가해야합니다.
1) 새 행을 추가하고 왼쪽 열에서 필수 배경 모드를 선택 합니다 .
2) 항목 0 행에서 오른쪽 열을 클릭하고 원격 알림을 입력하십시오 . 엔터 키를 치시오.
출처 : http://hayageek.com/ios-silent-push-notifications/
Xcode 6 :
- 프로젝트 네비게이터에서 프로젝트를 클릭하십시오.
- 프로젝트 및 대상 목록에서 대상을 클릭하십시오.
- 클릭 기능
- 백그라운드 모드 확장 및 켜기
- 원격 알림을 클릭하십시오.
그러면 Required background modes
키와 App downloads content in response to push notifications
값 이에 추가 됩니다 info.plist
.
새로운 didReceive ... 메소드를 사용할 때 다음 두 가지 작업을 수행해야합니다.
- plist에 필요한 항목을 추가하십시오.
- 데이터 처리를위한 이벤트를 처리 할 완료 핸들러 추가
데이터를 다운로드하지 않으려면이를 didReceive ... 메소드에 추가 할 수 있습니다.
completionHandler(.NoData)
'program story' 카테고리의 다른 글
DataTable에서 특정 행 삭제 (0) | 2020.11.09 |
---|---|
WPF-표준 단추를 사용하여 위쪽 및 아래쪽 화살표가있는 단추 만들기 (0) | 2020.11.09 |
JavaScript를 사용하여 긴 배열을 더 작은 배열로 분할하는 방법 (0) | 2020.11.09 |
Android에서 클래스 파일에서 프로그래밍 방식으로 탐색 서랍 헤더 이미지와 이름을 설정하는 방법은 무엇입니까? (0) | 2020.11.09 |
jQueryUI 모달 대화 상자에 닫기 버튼 (x)이 표시되지 않음 (0) | 2020.11.09 |