2014-12-02 2 views
1

기기를 테스트 할 때 제대로 작동하는 앱이 있습니다.하지만 검토를 위해 Apple에 제출 한 후에 앱을 출시 할 때 충돌이 발생했다고 들었습니다.앱이 거부 됨 - 시작시 충돌이 발생하여 복제 할 수 없음

누구나이 전에 다음을 참조하십시오 symbolicated 충돌 로그의 추가 조사 기능 (self.highScore = leaderboardRequest.localPlayerScore.value131) 아래에 뭔가 문제가 있다고 보여? 64 비트 아키텍처와 관련이 있다고 생각하지만 오류를 복제 할 수는 없습니다.

func getHighScore(leaderBoardId: String) { 

    let localPlayerID = GKLocalPlayer.localPlayer().playerID 

    let leaderboardRequest = GKLeaderboard(playerIDs: [localPlayerID]) as GKLeaderboard! 
    leaderboardRequest.identifier = leaderBoardId 
    if leaderboardRequest != nil 
    { 
     leaderboardRequest.loadScoresWithCompletionHandler({ (scores:[AnyObject]!, error:NSError!) -> Void in 
      if error != nil 
      { 
       //handle error 
       log.debug("error retrieving score") 
      } 
      else 
      { 
       log.debug("here we go: \(leaderboardRequest.localPlayerScore.value)") 
       self.highScore = leaderboardRequest.localPlayerScore.value //line 131 
       NSNotificationCenter.defaultCenter().postNotificationName(AUTHENTICATED_NOTIFICATION, object: self) 
      } 
     }) 
    } 
} 

충돌 로그는 다음과 같습니다 : 당신의 점수 배열이 전무이기 때문에 leaderboardRequest (사람이 하나를 제출하기 전에 더 점수가 없다)

{"app_name":"MyGameApp","app_version":"1.1","bundleID":"com.aaapps.MyGameApp","adam_id":933686335,"os_version":"iPhone OS 8.1.1 (12B435)","slice_uuid":"00f078c2-cb60-3dec-b4d5-27187cb55a13","share_with_app_devs":false,"build_version":"1","is_first_party":false,"bug_type":"109","name":"MyGameApp"} 
Incident Identifier: 5010EF12-A30A-41E2-9FEA-2335C25EB3DC 
CrashReporter Key: e3d10d2ccd5af0e83a5e75453e737ab344eca9e4 
Hardware Model:  xxx 
Process:    MyGameApp [2917] 
Path:    /private/var/mobile/Containers/Bundle/Application/D3BD0802-4F20-4C10-AC6A-E0EACECFEE44/MyGameApp.app/MyGameApp 
Identifier:   com.aaapps.MyGameApp 
Version:    1 (1.1) 
Code Type:   ARM-64 (Native) 
Parent Process:  launchd [1] 

Date/Time:   2014-12-01 09:56:07.167 -0800 
Launch Time:   2014-12-01 09:56:01.608 -0800 
OS Version:   iOS 8.1.1 (12B435) 
Report Version:  105 

Exception Type: EXC_BREAKPOINT (SIGTRAP) 
Exception Codes: 0x0000000000000001, 0x00000001002682e0 
Triggered by Thread: 0 

Thread 0 name: Dispatch queue: com.apple.main-thread 
Thread 0 Crashed: 
0 libswiftCore.dylib    0x00000001002682e0 _TFSs18_fatalErrorMessageFTVSs12StaticStringS_S_Su_T_ + 144 
1 libswiftCore.dylib    0x00000001002682dc _TFSs18_fatalErrorMessageFTVSs12StaticStringS_S_Su_T_ + 140 
**2 MyGameApp        0x00000001000f8c48 MyGameApp.GameKitHelper.(getHighScore (MyGameApp.GameKitHelper) -> (Swift.String) ->()).(closure #1) (GameKitHelper.swift:131)** 
3 MyGameApp       0x00000001000f9060 reabstraction thunk helper from @callee_owned (@owned [Swift.AnyObject]!, @owned ObjectiveC.NSError!) -> (@unowned()) to @callee_owned (@in ([Swift.AnyObject]!, ObjectiveC.NSError!)) -> (@out()) (GameKitHelper.swift:123) 
4 MyGameApp       0x00000001000f3188 partial apply forwarder for reabstraction thunk helper from @callee_owned (@owned [Swift.AnyObject]!, @owned ObjectiveC.NSError!) -> (@unowned()) to @callee_owned (@in ([Swift.AnyObject]!, ObjectiveC.NSError!)) -> (@out()) (GameKitHelper.swift:0) 
5 MyGameApp       0x00000001000f9088 reabstraction thunk helper from @callee_owned (@in ([Swift.AnyObject]!, ObjectiveC.NSError!)) -> (@out()) to @callee_owned (@owned [Swift.AnyObject]!, @owned ObjectiveC.NSError!) -> (@unowned()) (GameKitHelper.swift:0) 
6 MyGameApp       0x00000001000f91f8 reabstraction thunk helper from @callee_owned (@owned [Swift.AnyObject]!, @owned ObjectiveC.NSError!) -> (@unowned()) to @callee_unowned @objc_block (@unowned ObjectiveC.NSArray!, @unowned ObjectiveC.NSError!) -> (@unowned()) (GameKitHelper.swift:123) 
7 GameCenterFoundation   0x000000018d45e3c0 __39-[GKDispatchGroup 

답변

0
if (error != nil) { 
    println("Error: \(error!.localizedDescription)") 
    }else if (scores != nil) { 
    let localPlayerScore = leaderBoardRequest.localPlayerScore 
    println("Local player's score: \(localPlayerScore.value)") 
    } 

당신이

if (scores != nil) 

을 추가해야합니다 .localPlayerScore.value가 nil이고 충돌이 발생했습니다.

헛간

관련 문제