2016-08-16 7 views
2

AppStore에 앱이 있으며 이틀 전에 업데이트했습니다. 점검 한 모든 휴대 전화에서 정상적으로 작동하지만 일부 사용자의 경우 애플리케이션이 개통 직후 충돌 경고없이 닫히는 불만이 제기됩니다. Xcode에서 크래시 보고서를 확인한 결과이 오류가 발견되었습니다 : \UIKit: __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 556 및 UI가있는 것으로 보았습니다.하지만 버전 간 UI를 변경하지 않았기 때문에 그 이유는 앱 폐쇄가 확실하지 않습니다. 충돌이 발생했습니다 ... 그리고 코드에는 exit (0)이 없습니다.응용 프로그램이 충돌 경고없이 닫습니다.

코드가 없으므로 버전 간 앱 열 때 아무 것도 변경되지 않았습니다. 버튼 클릭으로 열 수있는 QR 클래스를 추가했습니다.

알림이없는 앱이 닫히는 이유에 대해 아는 사람이 있습니까 (아니면 바로 배경에 가 될까요?).

편집 : 방금이 문제가있는 전화가 있습니다. 나는 그것을 닫는 상점에서 설치할 때 앱이 작동 내 컴퓨터 ...

Edit2가에서 직접 응용 프로그램을 설치할 때

kernel[0] <Notice>: xpcproxy[7827] Container: /private/var/mobile/Containers/Data/Application/7E2AA7B7-E2B2-4B2A-A362-BF95D6DFF594 (sandbox) 
<Error>: task_set_exception_ports(B07, 400, D03, 0, 0) failed with error (4: (os/kern) invalid argument) 
<Notice>: ReportCrash acting against PID 7827 
<Warning>: Attempt to read info_array in pid 7827 failed, address was 120045fe8 
<Warning>: Attempt to read info_array in pid 7827 failed, address was 120045fe8 
<Warning>: Attempt to read info_array in pid 7827 failed, address was 120045fe8 
<Warning>: Attempt to read info_array in pid 7827 failed, address was 120045fe8 
<Notice>: Formulating crash report for process TmcSystemsApp[7827] 
com.apple.xpc.launchd[1] (UIKitApplication:com.tmc-systems.TmcSystemsApp[0x578a][7827]) <Notice>: Service exited due to signal: Trace/BPT trap: 5 
<Error>: Not saving crash log because we have reached the limit for logs to store on disk. Sync or otherwise clear logs from /var/mobile/Library/Logs/CrashReporter to save new logs. 
<Error>: Could not save crash report to disk! 
<Error>: Incident Identifier: DBBCA5F0-062B-4430-AFDA-03E4218DE37F 
<Error>: CrashReporter Key: 36ec2d0341c8d9e6a53e387d034dfa76962801d5 
<Error>: Hardware Model:  iPhone7,2 
<Error>: Process:    TmcSystemsApp [7827] 
<Error>: Path:    /private/var/mobile/Containers/Bundle/Application/9C394EDA-BC3A-4AE3-AD6F-E9D9A42D5F37/TmcSystemsApp.app/TmcSystemsApp 
<Error>: Identifier:   TmcSystemsApp 
<Error>: Version:    ??? 
<Error>: Code Type:   ARM-64 (Native) 
<Error>: Parent Process:  launchd [1] 
<Error>: Date/Time:   2016-08-17 12:28:38.078 +0300 
<Error>: Launch Time:   2016-08-17 12:28:38.043 +0300 
<Error>: OS Version:   iOS 8.4.1 (12H321) 
<Error>: Report Version:  105 
<Error>: Exception Type: EXC_BREAKPOINT (SIGTRAP) 
<Error>: Exception Codes: 0x0000000000000001, 0x0000000120019088 
<Error>: Triggered by Thread: 0 
<Error>: Dyld Error Message: 
<Error>: Library not loaded: /System/Library/Frameworks/ContactsUI.framework/ContactsUI 
<Error>: Referenced from: /private/var/mobile/Containers/Bundle/Application/9C394EDA-BC3A-4AE3-AD6F-E9D9A42D5F37/TmcSystemsApp.app/TmcSystemsApp 
<Error>: Reason: image not found 
<Error>: Dyld Version: 353.12 
<Error>: Binary Images: 
<Error>: 0x120018000 - 0x12003ffff dyld arm64 <dddc36a8e70636f7a9fea757477bf90b> /usr/lib/dyld 
SpringBoard[54] <Warning>: Application 'UIKitApplication:com.tmc-systems.TmcSystemsApp[0x578a]' crashed. 
+0

아이폰 OS 9.0에 분 전개 대상을 변경합니다. 아마 그들은 오래된 iOS 버전을 사용합니다. 보기 : https://stackoverflow.com/questions/21237571/random-uisearchdisplaycontroller-crash-ios-7 –

+0

감사합니다.하지만 버전에 관한 것은 아니지만 4s에서 잘 작동하지만 6s에서 발생합니다 (다른 6s에서는 작동 함). 너무 좋아). – MorZa

+1

마지막 업데이트와이 업데이트 사이에 프로젝트에 리소스를 추가 했습니까? 나는 dev 타겟에 리소스를 추가했기 때문에 과거에는이 문제가 있었지만 내 타겟이 build의 "copy bundle resources"섹션에 없도록 자동으로 모든 타겟에 추가하지는 않는다. 단계. 번들로 복사되지 않은 리소스에 액세스하려고하면 사용자가 설명하는 정확한 동작이 발생합니다. – Kevin

답변

1

귀하의 응용 프로그램이 iOS 9에 추가 된 프레임 워크 (ContactsUI)에 연결되어 있으며, 귀하의 응용 프로그램이 iOS 8.4.1 장치에서 실행되고 있습니다. dyld가 프레임 워크를 해결하려고하면 찾을 수 없으며 실패합니다.

당신은 하나 약한 연결하는 데 필요한 ContactsUI 프레임 워크를하고 그것에서 무엇이든을 사용하기 전에 그 존재를 확인, 또는 장치 충돌에 대한 특별한 무엇을 발견하려고

+0

감사합니다. contactsUI 프레임 워크였습니다. 그러나 문제가 버전 인 경우 버전 8.4의 iPhone 4에서 어떻게 작동합니까? – MorZa

0

: 감사합니다 @ CY-4AH에, 여기에 로그 캣입니다 iOS는 마술처럼 앱 if applicationDidFinishLaunching takes to long to finish을 죽이기 때문에이 함수를 살펴보고 QR 코드 지원을 위해 추가 한 모든 라인을 다른 코드로 옮기는 것이 좋습니다 (예 : 이것이 내 코드라면 어쩌면 뷰 컨트롤러의 viewDidLoad 함수에 넣을 수도 있습니다). dispatch_async 블록 뒤).

+0

답변을 주셔서 감사합니다. 그리고 왜 그것을 버튼 클릭 대신에 viewDidLoad로 옮기는 지 이해하지 못합니다. 버튼을 클릭 할 때 전혀 시간이 걸리지 않습니다. 아니면 뭔가 빠졌습니까? 내 편집을 참조하십시오. – MorZa

+0

버튼 클릭으로 필요한 것을 할 수도 있습니다. 중요한 것은 'applicationDidFiinishLaunching'메소드를 최대한 가볍게 유지하는 것입니다. 따라서 iOS의 내장 타임 아웃이 마술처럼 실행되지는 않습니다. –

2

크래시 보고서가 생성되지 않으면 애플리케이션이 시스템에 의해 종료됩니다. 몇 가지 이유로 인해 발생할 수 있습니다. 너무 많은 메모리를 할당했는데 didStartApplication이 너무 길었습니다. 콘솔 로그에서 응용 프로그램이 시스템에 의해 닫힌 이유를 찾으십시오.

+0

감사합니다. 콘솔 로그에서 확인할 수 없습니다. 내 컴퓨터에서 설치하면 작동하지만, 어쨌든 확인해 보겠습니다. – MorZa

+0

@MorZa appstore에서 설치하고 콘솔을 살펴보십시오. 무슨 문제 야? –

+0

이제 주된 문제는 내가 가지고있는 모든 전화기가 작동하고 있다는 것입니다. 사용자로부터 몇 분 동안이 문제가있는 전화가있었습니다. 나는 다시 한 번 확인할 것입니다. 감사. – MorZa

관련 문제