Appcenter在从UIViewController实现自定义基类后不会构建iOS



我为几个需要跟踪的VC制作了一个BaseTrackingViewController。代码是用最新的xcode测试版和开发版本构建的。在iOS 14.5模拟器和iOS 15.0公测版的真实iPhone 11 Pro上运行。跑步非常完美。

在appcenter中取消编译
出现错误

CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler (in target 'ios' from project 'ios')
cd /Users/runner/work/1/s
export DEVELOPER_DIR=/Applications/Xcode_12.4.app/Contents/Developer
export SDKROOT=/Applications/Xcode_12.4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.4.sdk
/Applications/Xcode_12.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -incremental -module-name ios -O -whole-module-optimization -enforce-exclusivity=checked -Xfrontend -enable-swift3-objc-inference -Xfrontend -warn-swift3-objc-inference-minimal @/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/Objects-normal/arm64/ios.SwiftFileList -DRELEASE -D COCOAPODS -sdk /Applications/Xcode_12.4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.4.sdk -target arm64-apple-ios9.0 -g -module-cache-path /Users/runner/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -swift-version 5 -I /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/LGSideMenuController -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/MaterialShowcase -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/Mixpanel-swift -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/PhoneNumberKit -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/ReachabilitySwift -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SVProgressHUD -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SwifCron -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SwiftClient -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SwiftCron -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SwipeCellKit -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/TrustKit -F /Users/runner/work/1/s/Pods/AppCenter/AppCenter-SDK-Apple/iOS -c -num-threads 3 -output-file-map /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/Objects-normal/arm64/ios-OutputFileMap.json -parseable-output -serialize-diagnostics -emit-dependencies -emit-module -emit-module-path /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/Objects-normal/arm64/ios.swiftmodule -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/ios-generated-files.hmap -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/ios-own-target-headers.hmap -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/ios-all-non-framework-target-headers.hmap -Xcc -ivfsoverlay -Xcc /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/all-product-headers.yaml -Xcc -iquote -Xcc /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/ios-project-headers.hmap -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/SourcePackages/checkouts/swift-numerics/Sources/_NumericsShims/include -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/include -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/LGSideMenuController/LGSideMenuController.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/MaterialShowcase/MaterialShowcase.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/Mixpanel-swift/Mixpanel.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/PhoneNumberKit/PhoneNumberKit.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/ReachabilitySwift/Reachability.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SVProgressHUD/SVProgressHUD.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SwifCron/SwifCron.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SwiftClient/SwiftClient.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SwiftCron/SwiftCron.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SwipeCellKit/SwipeCellKit.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/TrustKit/TrustKit.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/DerivedSources-normal/arm64 -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/DerivedSources/arm64 -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/DerivedSources -Xcc -DCOCOAPODS=1 -emit-objc-header -emit-objc-header-path /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/Objects-normal/arm64/ios-Swift.h -working-directory /Users/runner/work/1/s
CompileSwift normal arm64 (in target 'ios' from project 'ios')
cd /Users/runner/work/1/s
/Applications/Xcode_12.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -filelist /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/sources-dfeeee -supplementary-output-file-map /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/supplementaryOutputs-d07bd5 -target arm64-apple-ios9.0 -Xllvm -aarch64-use-tbi -enable-objc-interop -sdk /Applications/Xcode_12.4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.4.sdk -I /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/LGSideMenuController -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/MaterialShowcase -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/Mixpanel-swift -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/PhoneNumberKit -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/ReachabilitySwift -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SVProgressHUD -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SwifCron -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SwiftClient -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SwiftCron -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SwipeCellKit -F /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/TrustKit -F /Users/runner/work/1/s/Pods/AppCenter/AppCenter-SDK-Apple/iOS -g -module-cache-path /Users/runner/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -swift-version 5 -enforce-exclusivity=checked -O -D RELEASE -D COCOAPODS -enable-swift3-objc-inference -warn-swift3-objc-inference-minimal -serialize-debugging-options -Xcc -working-directory -Xcc /Users/runner/work/1/s -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/ios-generated-files.hmap -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/ios-own-target-headers.hmap -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/ios-all-non-framework-target-headers.hmap -Xcc -ivfsoverlay -Xcc /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/all-product-headers.yaml -Xcc -iquote -Xcc /Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/ios-project-headers.hmap -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/SourcePackages/checkouts/swift-numerics/Sources/_NumericsShims/include -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/include -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/LGSideMenuController/LGSideMenuController.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/MaterialShowcase/MaterialShowcase.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/Mixpanel-swift/Mixpanel.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/PhoneNumberKit/PhoneNumberKit.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/ReachabilitySwift/Reachability.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SVProgressHUD/SVProgressHUD.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SwifCron/SwifCron.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SwiftClient/SwiftClient.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SwiftCron/SwiftCron.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/SwipeCellKit/SwipeCellKit.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/BuildProductsPath/Release-iphoneos/TrustKit/TrustKit.framework/Headers -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/DerivedSources-normal/arm64 -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/DerivedSources/arm64 -Xcc -I/Users/runner/Library/Developer/Xcode/DerivedData/ios-efllujispuaysmafvdethlpdlhcf/Build/Intermediates.noindex/ArchiveIntermediates/ios/IntermediateBuildFilesPath/ios.build/Release-iphoneos/ios.build/DerivedSources -Xcc -DCOCOAPODS=1 -target-sdk-version 14.4 -module-name ios -num-threads 3 -output-filelist /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/outputs-831b78
Command CompileSwift failed with a nonzero exit code
** ARCHIVE FAILED **

The following build commands failed:
CompileSwift normal armv7
CompileSwiftSources normal armv7 com.apple.xcode.tools.swift.compiler
CompileSwift normal arm64
(3 failures)
##[error]Error: /usr/bin/xcodebuild failed with return code: 65
##[section]Finishing: Xcode build (signed)
##[section]Starting: Xcode build (signed)

这是基本的UIViewController类

class BaseTrackingViewController: UIViewController {
var screenName: String { return String.empty }
lazy private var trackingProperties: [String: MixpanelType] = ["SCREEN_NAME": screenName]
var customTrackingProperties: [String: MixpanelType]?

override func viewDidLoad() {
super.viewDidLoad()
let properties = customTrackingProperties != nil ? mergeDictionaries(trackingProperties, customTrackingProperties!) : trackingProperties
trackEvent(event: "LOADED", properties: properties)
}

func viewDidUnload() {
trackEvent(event: "DISMISSED", properties: trackingProperties)
}

override func dismiss(animated flag: Bool, completion: (() -> Void)? = nil) {
super.dismiss(animated: flag, completion: completion)
viewDidUnload()
}

func trackEvent(_ event: String, properties: [String: MixpanelType]) {
let properties = mergeDictionaries(trackingProperties, properties)
trackEvent(event: event, properties: properties)
}

private func trackEvent(event: String, properties: [String: MixpanelType]) {
Mixpanel.mainInstance().track(event: event, properties: properties)
}

private func mergeDictionaries(_ dict1: [String: MixpanelType], _ dict2: [String: MixpanelType]) -> [String: MixpanelType] {
return dict1.merging(dict2){(_, second) in second}
}
}

基类的实现方式如下:

class RandomViewController: BaseTrackingViewController, DeltaChangedDelegate {

override var screenName: String  { return "PersonalSummary" }
var delta = 0
var deltaDelegate: DeltaChangedDelegate?
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
deltaDelegate = self
}
override func viewDidLoad() {
// to track something extra when initialized
customTrackingProperties = ["DELTA": delta]
super.viewDidLoad()
}
func doSomething() {
trackEvent("SomeEvent", properties: ["SomeProperty": "SomeValue"])
}
func onReceiveDeltaChanged() {
trackEvent("LOADED", properties: ["DELTA": delta])
}
}
protocol DeltaChangedDelegate: AnyObject {
func onDeltaChanged()
}

创建了一个变通方案,以了解视图控制器何时"关闭";被驳回";由用户执行。由于在视图控制器上执行dismisse操作导致导航堆栈被清除。就我而言,这是不可取的。

class RandomNavigationController: UINavigationController {
override func popViewController(animated: Bool) -> UIViewController? {
if let vc = super.popViewController(animated: animated) as? BaseTrackingViewController {
vc.viewDidUnload()
}
return nil
}
}

当删除所有这些代码及其实现时,appcenter将重新构建。xcode测试版和实时xcode应用程序中没有编译器错误。尚未对项目或目标设置或包进行任何更改

发现故障

的解密

func viewDidUnload() { 
....
}

与appcenter编译器对viewDidUnload的旧声明(自iOS 7.0以来已弃用并已删除(相冲突。重命名它修复了的问题

最新更新