debugging unit test for iphone-在iphone下调试单元测试

Xcode单元测试配置
本文介绍如何在Xcode中配置并运行单元测试。通过创建新的可执行文件,并设置必要的参数和环境变量,可以轻松地进行应用程序的单元测试。
1.在xcode菜单Project->New Customer Executable..
取名如“otest",Path填”Developer/user/bin/otest”

[img]http://scottdensmore.typepad.com/pictures/General_UnitTests.png[/img]

2.右键Executables下新建的otest,选择“Get Info”,在Arguments下

加参数
-SenTest self
UnitTests.octest

UnitTests.octest为单元测试的bundle

再加环境变量
[table]
|Name| Value|
|DYLD_ROOT_PATH | $(SDKROOT)|
|DYLD_FRAMEWORK_PATH|{BUILD_PRODUCTS_DIR}:${SDK_ROOT}:${DYLD_FRAMEWORK_PATH}|
|IPHONE_SIMULATOR_ROOT | $(SDKROOT)|
|CFFIXED_USER_HOME | $(HOME)/Library/Application Support/iPhone Simulator/User/|
|OBJC_DISABLE_GC | YES|
|DYLD_LIBRARY_PATH|${BUILD_PRODUCTS_DIR}:${SDK_ROOT}:${DYLD_LIBRARY_PATH}|
| DYLD_NEW_LOCAL_SHARED_REGIONS | YES|
| DYLD_NO_FIX_PREBINDING | YES|
[/table]
[img]http://scottdensmore.typepad.com/pictures/Arguments_UnitTests.png[/img]


3.debug时选择otest,右键“Start otest With BreakPoint”
Showing All Messages SwiftVerifyEmittedModuleInterface normal arm64 Verifying\ emitted\ module\ interface\ Google_Mobile_Ads_SDK.private.swiftinterface /Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Intermediates.noindex/Pods.build/ReleaseForRunning-iphoneos/Google-Mobile-Ads-SDK.build/Objects-normal/arm64/Google_Mobile_Ads_SDK.private.swiftinterface (in target 'Google-Mobile-Ads-SDK' from project 'Pods') /Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Intermediates.noindex/Pods.build/ReleaseForRunning-iphoneos/Google-Mobile-Ads-SDK.build/Objects-normal/arm64/Google_Mobile_Ads_SDK.private.swiftinterface:5:19: error: underlying Objective-C module 'Google_Mobile_Ads_SDK' not found 3 | // swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name Google_Mobile_Ads_SDK 4 | // swift-module-flags-ignorable: -interface-compiler-version 6.1.2 5 | @_exported import Google_Mobile_Ads_SDK | `- error: underlying Objective-C module 'Google_Mobile_Ads_SDK' not found 6 | import Swift 7 | import _Concurrency /Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Intermediates.noindex/Pods.build/ReleaseForRunning-iphoneos/Google-Mobile-Ads-SDK.build/Objects-normal/arm64/Google_Mobile_Ads_SDK.private.swiftinterface:1:1: error: failed to verify module interface of 'Google_Mobile_Ads_SDK' due to the errors above; the textual interface may be broken by project issues or a compiler bug 1 | // swift-interface-format-version: 1.0 | `- error: failed to verify module interface of 'Google_Mobile_Ads_SDK' due to the errors above; the textual interface may be broken by project issues or a compiler bug 2 | // swift-compiler-version: Apple Swift version 6.1.2 effective-5.10 (swiftlang-6.1.2.1.2 clang-1700.0.13.5) 3 | // swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name Google_Mobile_Ads_SDK Failed frontend command: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -typecheck-module-from-interface /Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Intermediates.noindex/Pods.build/ReleaseForRunning-iphoneos/Google-Mobile-Ads-SDK.build/Objects-normal/arm64/Google_Mobile_Ads_SDK.private.swiftinterface -target arm64-apple-ios12.0 -Xllvm -aarch64-use-tbi -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.5.sdk -I /Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Products/ReleaseForRunning-iphoneos/Google-Mobile-Ads-SDK -F /Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Products/ReleaseForRunning-iphoneos/Google-Mobile-Ads-SDK -F /Users/minertycoon/Documents/untitled\ folder\ 5/Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework -F /Users/minertycoon/Documents/untitled\ folder\ 5/Pods/GoogleUserMessagingPlatform/Frameworks/Release -F /Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Products/ReleaseForRunning-iphoneos/XCFrameworkIntermediates/Google-Mobile-Ads-SDK -F /Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Products/ReleaseForRunning-iphoneos/XCFrameworkIntermediates/GoogleUserMessagingPlatform -no-color-diagnostics -enable-library-evolution -g -debug-info-format\=dwarf -dwarf-version\=4 -import-underlying-module -module-cache-path /Users/minertycoon/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -swift-version 5 -enforce-exclusivity\=checked -O -D COCOAPODS -serialize-debugging-options -const-gather-protocols-file /Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Intermediates.noindex/Pods.build/ReleaseForRunning-iphoneos/Google-Mobile-Ads-SDK.build/Objects-normal/arm64/Google-Mobile-Ads-SDK_const_extract_protocols.json -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -validate-clang-modules-once -clang-build-session-file /Users/minertycoon/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/minertycoon/Documents/untitled\ folder\ 5/Pods -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift -file-compilation-dir /Users/minertycoon/Documents/untitled\ folder\ 5/Pods -Xcc -fmodule-map-file\=/Users/minertycoon/Documents/untitled\ folder\ 5/Pods/Headers/Public/Google_Mobile_Ads_SDK/Google-Mobile-Ads-SDK.modulemap -Xcc -ivfsstatcache -Xcc /Users/minertycoon/Library/Developer/Xcode/DerivedData/SDKStatCaches.noindex/iphoneos18.5-22F76-7fa4eea80a99bbfdc046826b63ec4baf.sdkstatcache -Xcc -I/Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Intermediates.noindex/Pods.build/ReleaseForRunning-iphoneos/Google-Mobile-Ads-SDK.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Intermediates.noindex/Pods.build/ReleaseForRunning-iphoneos/Google-Mobile-Ads-SDK.build/Google-Mobile-Ads-SDK-generated-files.hmap -Xcc -I/Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Intermediates.noindex/Pods.build/ReleaseForRunning-iphoneos/Google-Mobile-Ads-SDK.build/Google-Mobile-Ads-SDK-own-target-headers.hmap -Xcc -I/Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Intermediates.noindex/Pods.build/ReleaseForRunning-iphoneos/Google-Mobile-Ads-SDK.build/Google-Mobile-Ads-SDK-all-non-framework-target-headers.hmap -Xcc -ivfsoverlay -Xcc /Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Intermediates.noindex/Pods.build/ReleaseForRunning-iphoneos/Pods-8699adb1dd336b26511df848a716bd42-VFS-iphoneos/all-product-headers.yaml -Xcc -iquote -Xcc /Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Intermediates.noindex/Pods.build/ReleaseForRunning-iphoneos/Google-Mobile-Ads-SDK.build/Google-Mobile-Ads-SDK-project-headers.hmap -Xcc -I/Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Products/ReleaseForRunning-iphoneos/Google-Mobile-Ads-SDK/include -Xcc -I/Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Intermediates.noindex/Pods.build/ReleaseForRunning-iphoneos/Google-Mobile-Ads-SDK.build/DerivedSources-normal/arm64 -Xcc -I/Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Intermediates.noindex/Pods.build/ReleaseForRunning-iphoneos/Google-Mobile-Ads-SDK.build/DerivedSources/arm64 -Xcc -I/Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Intermediates.noindex/Pods.build/ReleaseForRunning-iphoneos/Google-Mobile-Ads-SDK.build/DerivedSources -Xcc -DPOD_CONFIGURATION_RELEASE_FOR_RUNNING\=1 -Xcc -DCOCOAPODS\=1 -module-name Google_Mobile_Ads_SDK -disable-clang-spi -target-sdk-version 18.5 -target-sdk-name iphoneos18.5 -external-plugin-path /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/swift/host/plugins\#/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/swift-plugin-server -external-plugin-path /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/local/lib/swift/host/plugins\#/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/swift-plugin-server -in-process-plugin-server-path /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -plugin-path /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins -plugin-path /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/local/lib/swift/host/plugins /Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Intermediates.noindex/Pods.build/ReleaseForRunning-iphoneos/Google-Mobile-Ads-SDK.build/Objects-normal/arm64/Google_Mobile_Ads_SDK.private.swiftinterface:5:19: underlying Objective-C module 'Google_Mobile_Ads_SDK' not found /Users/minertycoon/Library/Developer/Xcode/DerivedData/Unity-iPhone-fiernqgdfhbkgmhletwrtlipsbtr/Build/Intermediates.noindex/Pods.build/ReleaseForRunning-iphoneos/Google-Mobile-Ads-SDK.build/Objects-normal/arm64/Google_Mobile_Ads_SDK.private.swiftinterface:1:1: failed to verify module interface of 'Google_Mobile_Ads_SDK' due to the errors above; the textual interface may be broken by project issues or a compiler bug
06-17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值