2016-10-20 9 views
1
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
    print(UIApplicationBackgroundFetchIntervalMinimum) 
    UIApplication.shared.setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum) 
    return true 
} 

func application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) { 
    completionHandler(.newData) 
} 

이것은 내 코드이며 Xcode에서 디버그> 배경 시뮬레이션은 이유없이 내 앱 크래시를 가져옵니다. 기능> 배경 모드> 배경 가져 오기 ... 아이디어가 활성화 되었습니까?Swift3 - 디버그시 백그라운드 페치 크래시

시뮬레이터의 iPhone에서만 작동이 중단됩니다. 문제가 없습니다.

+0

를 해결할의 Info.plist 파일

<key>UIBackgroundModes</key> <array> <string>fetch</string> </array> 

이를 추가하려고? –

+0

내 대답을 확인하십시오 –

+0

https://blog.newrelic.com/2016/01/13/ios9-background-execution/ –

답변

3

위의 설명대로 프로젝트에서 사용해 보았지만 정상적으로 작동하며 performFetchWithCompletionHandler도 백그라운드에서 작동합니다.

먼저이 속성을 추가하지 않고 시도하지만 performFetchWithCompletionHandler가 호출되지 않았습니다. 그래서,하는 앱이 추락 '선 그것은 내 문제

+1

아니에 따라 'libsystem_kernel.dylib'mach_msg_trap : 0x182d38164 <+0> : MOVN 16 배속, #에 0x1E 0x182d38168 <+4> : SVC# 0x80으로 -> 0x182d3816c <+8> : 당신이 공유하고 싶습니다 ' –

+0

@BogdanBogdanov을 마지막 ret 나랑 너의 프로젝트? 당신이 마음에 들지 않는다면 나는 그것을 이해할 수있다. –

+0

Jecky는 시뮬레이터 형제에서 작동하지만 내 iPhone 충돌시 –