Google에서 작성한 세 가지 프레임 워크를 사용하는 앱과 앱 확장 (키보드 및 iMessage 확장 프로그램)이 두 개 있습니다. 프레임 워크는 프로젝트의 일부이며 각 프레임 워크는 자체 목표를가집니다. 앱과 확장 기능은 이러한 프레임 워크에서 링크되며 우리는이를 사용하여 데이터베이스에 액세스하는 것과 같은 일반적인 작업을 수행합니다.프레임 워크의 예외로 인한 크래시 틱스 보고서
우리가 Crashlytics이
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool
{
Fabric.with([Crashlytics.self])
... more
}
다음
가 충돌, 오른쪽 링크 된 프레임 워크 중 하나에 발생한 경우에도 충돌을보고한다고처럼 AppDelegate에 초기화 한 경우? 앱, 앱 확장 및 프레임 워크 용 dSYM 파일이있는 경우 프레임 워크 코드에 충돌을 나타낼 수 있어야합니다. 맞습니까?
나는 crashlytics에 일들을 신뢰성있게보고하는 데 어려움을 겪고 있습니다. 주전 선 코드의 함수에 Crashlytics.sharedinstance().crash()
을 입력하면 정상적으로 작동합니다. 나는 또한 0으로 나누기를 강제로 충돌을 강제 시도
@objc func onPreviewLongPress(_ notification : Notification)
{
if let userInfo = notification.userInfo, let collectionName = userInfo["collectionName"] as! String? {
let alert = UIAlertController(title: "", message: "Enter the code:", preferredStyle: .alert)
alert.addTextField { (textField) in
textField.text = ""
}
alert.addAction(UIAlertAction(title: "Cancel", style: .default, handler: nil))
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { (_) in
let textField = alert.textFields![0]
// original code snipped
if textField.text!.doesContain("crash") {
self.callForCrash()
}
}))
self.present(alert, animated: true, completion: nil)
}
}
private func callForCrash() {
Crashlytics.sharedInstance().crash() // DOES NOT REPORT!!!
}
이 같은 UIAlertAction에서 함수 ...
private func callForCrash() {
let nom = 12;
let result = nom/zeroNum(13)
print(result)
}
// separate function to allow division by zero to get through swift parsing
private func zeroNum(_ num: Int) -> Int {
return num - num;
}
이를 호출하는 경우뿐만 아니라보고하지 않습니다. 그러나 방금 알리미 바로 앞에 코드에 Crashlytics.sharedInstance().crash()
을 넣으면 잘보고됩니다.
지난 몇 일 동안 설치 프로세스와 샘플 코드를 여러 번 해왔습니다.
- 콘솔 내가 콘솔이없는 dSYM 파일에 문제가보고되지 않은 새로운 빌드 번호
- 을 포함하여 시험에 노력하고있어 버전, 나는 비트 코드를 사용할 수없는
- , 을 보여줍니다
- 나는 건물입니다 '활성 구조를 단지'= 예 (I는 또한 아니오로 설정 시도),
- 실행 스크립트는 응용 프로그램과 두 개의 앱 정보를위한 존재가 (아직 확장 테스트를 시도하지 않은)
- Xc에서 실행 해 보았습니다. ode 설치 후 실행을 멈추는 경우
- 기기 창 (Xcode 9.2)을 통해 애드혹 빌드 및 설치를 시도했습니다.
- 충돌을 유발 한 다음보고 할 수 있도록 앱을 다시 시작합니다.
누구가 내가 놓친 것일 수 있습니까? 나는 arm64가 문제가되는 것에 대해 읽었지 만 그것은 꽤 오래 되었기 때문에 여전히 문제가 있는지 확신 할 수 없다. 로그에서 찾을 수있는 것이 있습니까, 작동하는지 아닌지 알려 줄 수 있습니까? 업데이트 동일한 ID (예 : 'com.mydomain.myapp')를 사용하는 Android 및 iOS 버전의 앱이 모두 예측할 수없는 동작을 일으킬 수 있습니까? 패브릭 콘솔에 별도로 표시됩니다.
TIA, 마이크
복잡한 질문이 있으십니까? 모든 타겟에 대해 실행 스크립트 빌드 단계를 구축하도록 할 수 있습니까? 플랫폼간에 동일한 식별자를 사용하는 것은 중요하지 않습니다. 프로젝트에서 다른 번들 ID를 사용하고있는 경우이 원인이 될 수 있습니다. –
Todd. 주석 주셔서 감사합니다. '모든 대상'이라고 말하면 프레임 워크를 의미하지 않는다고 가정합니다. 프레임 워크 자체에는 번들 ID가 없습니다. 앱, 키보드 확장 및 iMessage 확장 빌드 단계에서 실행 스크립트가 있습니다. 오늘 끝내려고 할 때 조사 할 다른 것을 권할 수 있습니까? – Mikey
지금 막 프레임 워크에서 뭔가를 얻었습니다. 이름이 엉망이되었지만, 추락 한 기능을 찾는데 충분합니다. 잠시 후에 업데이트를 게시하겠습니다. – Mikey