我需要帮助才能找到应用程序中的重大崩溃。它发生在我们从 Carthage 切换到 Cocoapods 之后,并且由于我们没有在应用程序中链接 CoreTelephony,我认为它是一个正在使用它的 pod。但公平地说;我不知道是不是这样。
它主要发生在 iPad 上,但也偶尔出现在 iPhone 上。仅在 iOS 9.3.5 和 iOS 10.x 上有很多崩溃 - 大约。16% 的用户,所以这不是一个罕见的错误。
由于我怀疑一个 pod,这是我们的 podfile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
# ignore all warnings from all pods
inhibit_all_warnings!
target 'Secret App TopShelf' do
platform :tvos, '9.2'
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
pod 'RxSwift', '~> 4.0'
pod 'CoreBrick', '~> 4.0.2'
pod 'SwiftyJSON', '4.2'
pod 'HTTPStatusCodes', '3.2'
pod 'RxCocoa', '~> 4.0'
pod 'ReachabilitySwift', '4.3'
end
target 'Secret App iOS' do
use_frameworks!
pod 'RxSwiftExt'
pod 'ParentalGate', '1.1.1'
pod 'ReachabilitySwift', '4.3'
pod 'HTTPStatusCodes', '3.2'
pod 'ThePerfectApp', '4.8'
pod 'TrackingBrick', '2.6.1'
pod 'AdobeMobileSDK', '~> 4.17'
pod 'RxSwift', '~> 4.0'
pod 'RxCocoa', '~> 4.0'
pod 'SwiftyJSON', '4.2'
pod 'Kingfisher', '~> 4.0'
pod 'RxGesture'
end
target 'Secret App iOS Tests' do
inherit! :search_paths
# Pods for testing
end
target 'Secret App iOS UI Tests' do
inherit! :search_paths
# Pods for testing
end
target 'Secret App tvOS' do
platform :tvos, '9.2'
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
pod 'RxSwift', '~> 4.0'
pod 'CoreBrick', '~> 4.0.2'
pod 'SwiftyJSON', '4.2'
pod 'HTTPStatusCodes', '3.2'
pod 'RxCocoa', '~> 4.0'
pod 'ReachabilitySwift', '4.3'
pod 'RxSwiftExt'
pod 'Kingfisher', '~> 4.0'
end
target 'Secret App tvOS Tests' do
inherit! :search_paths
# Pods for testing
end
target 'Secret App tvOS UI Tests' do
inherit! :search_paths
# Pods for testing
end
我在网上读到,
有一个 iOS 错误会导致 CTTelephonyNetworkInfo 类的实例在释放后有时会收到通知。而不是实例化、使用和释放实例,您必须保留而不是释放它们来解决错误。
但我不知道应该在哪里引用 CoreTelephony。代码中没有使用 CTTelephonyNetworkInfo。
希望你们能以此为我指明任何方向。
谢谢。
更新:在调查了更多之后,我了解到:
- 使用 Ashley Mills ReachabilitySwift v. 4.3.0 不包括 CoreTelephony
- 使用 ReachabilitySwift v. 4.3.1 确实包括 CoreTelephony
看着这个错误,我开始相信崩溃是由于在 CoreTelephony 不存在时试图访问它的可达性造成的。
如错误中所述,我现在尝试手动添加 CoreTelephony 并允许访问 wifi 信息。
我会更新结果。