2014-12-30 2 views
8

또한 dispatch_async에서 Parse.enableLocalDatastore()를 실행했습니다. 경고가 표시됩니다. 내가 warnParseOperationOnMainThread에 상징적 중단 점을 추가 할 때Parse.enableLocalDatastore() - 경고 : 주 스레드에서 장기 실행 작업이 실행되고 있습니다.

심지어는 여기

휴식 응용 프로그램 위임

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
     // Override point for customization after application launch. 

     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { 
      Parse.enableLocalDatastore() 

      Parse.setApplicationId("XXX", clientKey: "YYY") 
      PFAnalytics.trackAppOpenedWithLaunchOptionsInBackground(launchOptions, block: nil) 

      var defaultACL = PFACL() 
      defaultACL.setPublicReadAccess(true) 
      defaultACL.setPublicWriteAccess(false) 
      PFACL.setDefaultACL(defaultACL, withAccessForCurrentUser:true) 

      CAUser.registerSubclass() 

      NSLog("App finish loading") 

      dispatch_async(dispatch_get_main_queue()){ 
       () -> Void in 
       // any UI updates need to happen in here back on the main thread 
      } 
     } 

     return true 
    } 

요청

에서 코드입니다 누군가가 나에게 강조하는 경우 감사합니다 나던 데요, 이 경고 메시지를 피하기 위해 누락 된 부분은 무엇입니까?

+0

같은 다음 구문 분석 SDK 릴리스에서 해결 될 것입니다. 나는 이것이 버그라고 생각한다. – alix

+0

어쩌면 우선 순위 배경을 사용해 보시겠습니까? 이 경고는 주 스레드에서 실행 중이 어서 UI를 차단할 때 실행중인 일부 코드로 인해 발생합니다. 100 % 확실하다면 다른 곳이 아닌 이곳에서 일어난다. 그렇지 않으면 나는 잘 모른다, 그것은 모두 좋아 보인다. 한편 parse explicity는 어쨌든 이러한 경고는 단지 경고 일 뿐이므로 어쨌든 앱이 원활하게 실행되면 응답을 무시하고 안전하게 무시할 수 있다고 답합니다. –

+0

제안 해 주셔서 감사합니다. 우선 순위를 배경으로 변경하려고했지만 여전히 동일한 경고가 표시됩니다. 이 라인의 100 %가 확실한 이유에 관해서는 주석을 달고 라인의 주석 처리를 제거하고 또한 직전과 직전에 인쇄 라인을 작성하고 그 라인에 중단 점을 추가하는 것에 대해 확신합니다. 이것이이 경고의 원인이라고 나는 오류를 무시하려고 읽었지 만 나는 그것을 피할 수 있으면 더 좋을 것이다. Thanks – gfekri

답변

관련 문제