Xcode(wiki,chs)是mac平台的IDE,用于开发macOS、iOS等平台上的软件。
支持c、c++、Objective-C、Swift等语言。从4.2版本起,使用Clang C/C++/Objective-C作为缺省编译器,从4.5版本起,使用LLDB作为缺省调试器。
启动Xcode后,弹出工程对话框,右边列出打开过的项目工程,双击即可打开
下文使用的Xcode版本为Version 12.5.1(12E507),并以UE4.25.1的Debug版本配置为例来讲解如何在Xcode中真机调试游戏
生成Xcode项目工程
方法①:执行以下命令
"%EngineDir%/GenerateProjectFiles.sh" -project="%GameDir%/MyTest1.uproject" -Game -Engine
方法②:启动编辑器,点击菜单栏“文件” -- “刷新Xcode项目”
打UE4的iOS包
① 配置个人开发者证书
② 开始Package ios包
具体打包流程详见:打包iOS项目
真机设置
① 要调试的手机的uuid已配置在PP描述文件(Provisioning Profiles)中
② 通过usb连上mac机并信任
③ 安装打好的ipa包
开发者选项
iPhone
iPad
iOS16以后,开发者在 iPhone 上调试运行App都需要打开手机的开发者模式,否则Xcode将显示警告。
开发者模式不会影响普通用户从AppStore安装应用,影响的是需要 Xcode中机型构建、调试和运行App等,以及使用Apple Configurator安装.ipa文件等场景,也就是第三方应用商店对应用的管理。
配置游戏Debug版的Scheme
① 点击Xcode菜单Product -- Scheme -- Edit Scheme来打开配置面板
② 将Build Configuration修改为Debug,然后就可以单击上方MyTest1右边的区域,从弹出的列表中选中要调试的真机设备(xxx的iPhone)
注1:如果看不到真机设备,可能是以下原因导致:a.数据线没插好 b.插上但没有信任设备 c.Xcode工程没有重新Generate
注2:选中了要调试的真机设备后,Xcode的主工具栏上也会被切换
注3:勾选Debug executable表示调试启动
注4:LLDB init File 未知
注5:Launch -- Automatically
Launch -- Wait for the executable to be launched
③ 去掉所有参数选项的勾选
调试MyTest1应用
点击Xcode的主工具栏上的播放按钮,来编译并调试运行MyTest1应用
① Build:会编译代码生成MyTest1/Binaries/IOS/MyTest1-IOS-Debug(可执行程序)及MyTest1/Binaries/IOS/MyTest1-IOS-Debug.dSYM(符号表)
并拷贝MyTest1-IOS-Debug到MyTest1/Binaries/IOS/Payload/MyTest1.app目录中,最后对MyTest1.app进行重签名
Running command : Engine/Binaries/DotNET/UnrealBuildTool.exe MyTest1 IOS Debug -deploy /Users/xxx/CodeTest/MyTest1/MyTest1.uproject -buildscw
Using 'git status' to determine working set for adaptive non-unity build (/Users/xxx/CodeTest/UnrealEngine).
Waiting for 'git status' command to complete
Building MyTest1...
[Adaptive unity build] Excluded from AppleMoviePlayer unity file: AppleMovieStreamer.cpp
Performing 7 actions (8 in parallel)
[1/7] Compile MyTest1Character.cpp
[2/7] sh /Users/xxx/CodeTest/MyTest1/Binaries/IOS/MyTest1-IOS-Debug
[3/7] sh -c 'rm -rf "/Users/xxx/CodeTest/MyTest1/Binaries/IOS/MyTest1-IOS-Debug.dSYM"; "/usr/bin/dsymutil" "/Users/xxx/CodeTest/MyTest1/Binaries/IOS/MyTest1-IOS-Debug" -o "/Users/xxx/CodeTest/MyTest1/Binaries/IOS/MyTest1-IOS-Debug.dSYM"; cd "/Users/xxx/CodeTest/MyTest1/Binaries/IOS/MyTest1-IOS-Debug.dSYM/.."; zip -r -y -1 MyTest1-IOS-Debug.dSYM.zip MyTest1-IOS-Debug.dSYM'
[4/7] xcrun actool --output-format human-readable-text --notices --warnings --output-partial-info-plist '/Users/xxx/CodeTest/MyTest1/Intermediate/IOS/Resources/assetcatalog_generated_info.plist' --app-icon AppIcon --product-type com.apple.product-type.application --target-device iphone --target-device ipad --minimum-deployment-target 10.0 --platform iphoneos --enable-on-demand-resources YES --compile '/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app' '/Users/xxx/CodeTest/MyTest1/Intermediate/IOS/Resources/Assets.xcassets'
2021-01-12 16:43:33.002 ibtoold[1592:15151] DEBUG: Added to environment: {
TMPDIR = "/var/folders/rs/bd5vxx415tlb9kxhlcx3336d35dmqg/T/C29ABB63-A455-4A75-B607-DA53C965476D";
}
/* com.apple.actool.document.notices */
/Users/xxx/CodeTest/MyTest1/Intermediate/IOS/Resources/Assets.xcassets:./AppIcon.appiconset/[][ipad][76x76][][][1x][][]: notice: 76x76@1x app icons only apply to iPad apps targeting releases of iOS prior to 10.0.
/* com.apple.actool.compilation-results */
/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/AppIcon20x20@2x.png
/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/AppIcon20x20@2x~ipad.png
/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/AppIcon20x20@3x.png
/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/AppIcon20x20~ipad.png
/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/AppIcon29x29@2x.png
/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/AppIcon29x29@2x~ipad.png
/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/AppIcon29x29@3x.png
/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/AppIcon29x29~ipad.png
/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/AppIcon40x40@2x.png
/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/AppIcon40x40@2x~ipad.png
/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/AppIcon40x40@3x.png
/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/AppIcon40x40~ipad.png
/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/AppIcon60x60@2x.png
/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/AppIcon60x60@3x.png
/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/AppIcon76x76@2x~ipad.png
/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/AppIcon76x76~ipad.png
/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/AppIcon83.5x83.5@2x~ipad.png
/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/Assets.car
/Users/xxx/CodeTest/MyTest1/Intermediate/IOS/Resources/assetcatalog_generated_info.plist
updating: MyTest1-IOS-Debug.dSYM/ (stored 0%)
updating: MyTest1-IOS-Debug.dSYM/Contents/ (stored 0%)
updating: MyTest1-IOS-Debug.dSYM/Contents/Resources/ (stored 0%)
updating: MyTest1-IOS-Debug.dSYM/Contents/Resources/DWARF/ (stored 0%)
updating: MyTest1-IOS-Debug.dSYM/Contents/Resources/DWARF/MyTest1-IOS-Debug (deflated 75%)
updating: MyTest1-IOS-Debug.dSYM/Contents/Info.plist (deflated 52%)
[5/7] sh -c 'rm -rf "/Users/xxx/CodeTest/MyTest1/Binaries/IOS/MyTest1-IOS-Debug.udebugsymbols"; dwarfdump --uuid "/Users/xxx/CodeTest/MyTest1/Binaries/IOS/MyTest1-IOS-Debug.dSYM" | cut -d" " -f2; chmod 777 ./DsymExporter; ./DsymExporter -UUID=$(dwarfdump --uuid "/Users/xxx/CodeTest/MyTest1/Binaries/IOS/MyTest1-IOS-Debug.dSYM" | cut -d" " -f2) "/Users/xxx/CodeTest/MyTest1/Binaries/IOS/MyTest1-IOS-Debug.dSYM/Contents/Resources/DWARF/MyTest1-IOS-Debug" "/Users/xxx/CodeTest/MyTest1/Binaries/IOS"'
4CD4BEBD-49F4-3346-8A96-E6DF95FACF37
[6/7] UnrealBuildTool.exe Executing PostBuildSync
Generating and uploading Crashlytics Data
1 GameName: MyTest1, ProjectName: MyTest1
UPL Init: None
Write entitlements from provisioning file /Users/xxx/Library/MobileDevice/Provisioning Profiles/UAGamePP.mobileprovision
[7/7] UnrealBuildTool.exe MyTest1-IOS-Debug.target
Total time in Local executor: 413.31 seconds
Deploying MyTest1 IOS Debug...
1 GameName: MyTest1, ProjectName: MyTest1
UPL Init: None
Total execution time: 425.52 seconds
Build target MyTest1 of project MyTest1 with configuration Debug
ProcessInfoPlistFile /Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/Info.plist /Users/xxx/CodeTest/MyTest1/Intermediate/IOS/MyTest1-Info.plist
cd /Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
builtin-infoPlistUtility /Users/xxx/CodeTest/MyTest1/Intermediate/IOS/MyTest1-Info.plist -genpkginfo /Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/PkgInfo -expandbuildsettings -format xml -platform iphoneos -requiredArchitecture arm64 -o /Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/Info.plist
PhaseScriptExecution Sign\ Manual\ Frameworks build/MyTest1.build/Debug-iphoneos/MyTest1.build/Script-239A32610BCB459342A6C3A4.sh
cd /Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles
export ACTION=build
export AD_HOC_CODE_SIGNING_ALLOWED=NO
export ALTERNATE_GROUP="TENCENT\\Domain Users"
export ALTERNATE_MODE=u+w,go-w,a+rX
export ALTERNATE_OWNER=xxx
export ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=NO
export ALWAYS_SEARCH_USER_PATHS=NO
export ALWAYS_USE_SEPARATE_HEADERMAPS=NO
export APPLE_INTERNAL_DEVELOPER_DIR=/AppleInternal/Developer
export APPLE_INTERNAL_DIR=/AppleInternal
export APPLE_INTERNAL_DOCUMENTATION_DIR=/AppleInternal/Documentation
export APPLE_INTERNAL_LIBRARY_DIR=/AppleInternal/Library
export APPLE_INTERNAL_TOOLS=/AppleInternal/Developer/Tools
export APPLICATION_EXTENSION_API_ONLY=NO
export APPLY_RULES_IN_COPY_FILES=NO
export APPLY_RULES_IN_COPY_HEADERS=NO
export ARCHS=arm64
export ARCHS_STANDARD=arm64
export ARCHS_STANDARD_32_64_BIT="armv7 arm64"
export ARCHS_STANDARD_32_BIT=armv7
export ARCHS_STANDARD_64_BIT=arm64
export ARCHS_STANDARD_INCLUDING_64_BIT=arm64
export ARCHS_UNIVERSAL_IPHONE_OS="armv7 arm64"
export ASSETCATALOG_FILTER_FOR_DEVICE_MODEL=iPhone12,1
export ASSETCATALOG_FILTER_FOR_DEVICE_OS_VERSION=14.2
export AVAILABLE_PLATFORMS="appletvos appletvsimulator iphoneos iphonesimulator macosx watchos watchsimulator"
export BITCODE_GENERATION_MODE=marker
export BUILD_ACTIVE_RESOURCES_ONLY=YES
export BUILD_COMPONENTS="headers build"
export BUILD_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build
export BUILD_LIBRARY_FOR_DISTRIBUTION=NO
export BUILD_ROOT=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build
export BUILD_STYLE=
export BUILD_VARIANTS=normal
export BUILT_PRODUCTS_DIR=/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload
export BUNDLE_CONTENTS_FOLDER_PATH_deep=Contents/
export BUNDLE_EXECUTABLE_FOLDER_NAME_deep=MacOS
export BUNDLE_FORMAT=shallow
export BUNDLE_FRAMEWORKS_FOLDER_PATH=Frameworks
export BUNDLE_PLUGINS_FOLDER_PATH=PlugIns
export BUNDLE_PRIVATE_HEADERS_FOLDER_PATH=PrivateHeaders
export BUNDLE_PUBLIC_HEADERS_FOLDER_PATH=Headers
export CACHE_ROOT=/var/folders/rs/bd5vxx415tlb9kxhlcx3336d35dmqg/C/com.apple.DeveloperTools/12.3-12C33/Xcode
export CCHROOT=/var/folders/rs/bd5vxx415tlb9kxhlcx3336d35dmqg/C/com.apple.DeveloperTools/12.3-12C33/Xcode
export CHMOD=/bin/chmod
export CHOWN=/usr/sbin/chown
export CLANG_CXX_LANGUAGE_STANDARD=c++14
export CLANG_MODULES_BUILD_SESSION_FILE=/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation
export CLASS_FILE_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build/JavaClasses
export CLEAN_PRECOMPS=YES
export CLONE_HEADERS=NO
export CODESIGNING_FOLDER_PATH=/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app
export CODE_SIGNING_ALLOWED=YES
export CODE_SIGNING_REQUIRED=YES
export CODE_SIGN_CONTEXT_CLASS=XCiPhoneOSCodeSignContext
export CODE_SIGN_ENTITLEMENTS=/Users/xxx/CodeTest/MyTest1/Intermediate/IOS/MyTest1.entitlements
export CODE_SIGN_IDENTITY="iPhone Developer: zhong jianbin (Y68J4EHQT9)"
export CODE_SIGN_INJECT_BASE_ENTITLEMENTS=YES
export COLOR_DIAGNOSTICS=NO
export COMBINE_HIDPI_IMAGES=YES
export COMMAND_MODE=legacy
export COMPILER_INDEX_STORE_ENABLE=Default
export COMPOSITE_SDK_DIRS=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/CompositeSDKs
export COMPRESS_PNG_FILES=YES
export CONFIGURATION=Debug
export CONFIGURATION_BUILD_DIR=/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload
export CONFIGURATION_TEMP_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos
export CONTENTS_FOLDER_PATH=MyTest1.app
export COPYING_PRESERVES_HFS_DATA=NO
export COPY_HEADERS_RUN_UNIFDEF=NO
export COPY_PHASE_STRIP=YES
export COPY_RESOURCES_FROM_STATIC_FRAMEWORKS=YES
export CORRESPONDING_SIMULATOR_PLATFORM_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform
export CORRESPONDING_SIMULATOR_PLATFORM_NAME=iphonesimulator
export CORRESPONDING_SIMULATOR_SDK_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.3.sdk
export CORRESPONDING_SIMULATOR_SDK_NAME=iphonesimulator14.3
export CP=/bin/cp
export CREATE_INFOPLIST_SECTION_IN_BINARY=NO
export CURRENT_ARCH=arm64
export CURRENT_VARIANT=normal
export DEAD_CODE_STRIPPING=YES
export DEBUGGING_SYMBOLS=YES
export DEBUG_INFORMATION_FORMAT=dwarf-with-dsym
export DEFAULT_COMPILER=com.apple.compilers.llvm.clang.1_0
export DEFAULT_DEXT_INSTALL_PATH=/System/Library/DriverExtensions
export DEFAULT_KEXT_INSTALL_PATH=/System/Library/Extensions
export DEFINES_MODULE=NO
export DEPLOYMENT_LOCATION=NO
export DEPLOYMENT_POSTPROCESSING=NO
export DEPLOYMENT_TARGET_CLANG_ENV_NAME=IPHONEOS_DEPLOYMENT_TARGET
export DEPLOYMENT_TARGET_CLANG_FLAG_NAME=miphoneos-version-min
export DEPLOYMENT_TARGET_CLANG_FLAG_PREFIX=-miphoneos-version-min=
export DEPLOYMENT_TARGET_LD_ENV_NAME=IPHONEOS_DEPLOYMENT_TARGET
export DEPLOYMENT_TARGET_LD_FLAG_NAME=ios_version_min
export DEPLOYMENT_TARGET_SETTING_NAME=IPHONEOS_DEPLOYMENT_TARGET
export DEPLOYMENT_TARGET_SUGGESTED_VALUES="9.0 9.1 9.2 9.3 10.0 10.1 10.2 10.3 11.0 11.1 11.2 11.3 11.4 12.0 12.1 12.2 12.3 12.4 13.0 13.1 13.2 13.3 13.4 13.5 13.6 14.0 14.1 14.2 14.3"
export DERIVED_FILES_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build/DerivedSources
export DERIVED_FILE_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build/DerivedSources
export DERIVED_SOURCES_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build/DerivedSources
export DEVELOPER_APPLICATIONS_DIR=/Applications/Xcode.app/Contents/Developer/Applications
export DEVELOPER_BIN_DIR=/Applications/Xcode.app/Contents/Developer/usr/bin
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
export DEVELOPER_FRAMEWORKS_DIR=/Applications/Xcode.app/Contents/Developer/Library/Frameworks
export DEVELOPER_FRAMEWORKS_DIR_QUOTED=/Applications/Xcode.app/Contents/Developer/Library/Frameworks
export DEVELOPER_LIBRARY_DIR=/Applications/Xcode.app/Contents/Developer/Library
export DEVELOPER_SDK_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
export DEVELOPER_TOOLS_DIR=/Applications/Xcode.app/Contents/Developer/Tools
export DEVELOPER_USR_DIR=/Applications/Xcode.app/Contents/Developer/usr
export DEVELOPMENT_LANGUAGE=English
export DEVELOPMENT_TEAM=L3E7KQ25LR
export DOCUMENTATION_FOLDER_PATH=MyTest1.app/English.lproj/Documentation
export DONT_GENERATE_INFOPLIST_FILE=NO
export DO_HEADER_SCANNING_IN_JAM=NO
export DSTROOT=/tmp/MyTest1.dst
export DT_TOOLCHAIN_DIR=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
export DWARF_DSYM_FILE_NAME=MyTest1.app.dSYM
export DWARF_DSYM_FILE_SHOULD_ACCOMPANY_PRODUCT=NO
export DWARF_DSYM_FOLDER_PATH=/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload
export EFFECTIVE_PLATFORM_NAME=-iphoneos
export EMBEDDED_CONTENT_CONTAINS_SWIFT=NO
export EMBEDDED_PROFILE_NAME=embedded.mobileprovision
export EMBED_ASSET_PACKS_IN_PRODUCT_BUNDLE=NO
export ENABLE_BITCODE=YES
export ENABLE_DEFAULT_HEADER_SEARCH_PATHS=YES
export ENABLE_HARDENED_RUNTIME=NO
export ENABLE_HEADER_DEPENDENCIES=YES
export ENABLE_ON_DEMAND_RESOURCES=YES
export ENABLE_TESTABILITY=YES
export ENABLE_TESTING_SEARCH_PATHS=NO
export ENTITLEMENTS_ALLOWED=YES
export ENTITLEMENTS_DESTINATION=Signature
export ENTITLEMENTS_REQUIRED=YES
export EXCLUDED_INSTALLSRC_SUBDIRECTORY_PATTERNS=".DS_Store .svn .git .hg CVS"
export EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES="*.nib *.lproj *.framework *.gch *.xcode* *.xcassets (*) .DS_Store CVS .svn .git .hg *.pbproj *.pbxproj"
export EXECUTABLES_FOLDER_PATH=MyTest1.app/Executables
export EXECUTABLE_FOLDER_PATH=MyTest1.app
export EXECUTABLE_NAME=MyTest1
export EXECUTABLE_PATH=MyTest1.app/MyTest1
export EXPANDED_CODE_SIGN_IDENTITY=CB708B40EE42998E79E0338E63488C7C6A00B742
export EXPANDED_CODE_SIGN_IDENTITY_NAME="iPhone Developer: zhong jianbin (Y68J4EHQT9)"
export EXPANDED_PROVISIONING_PROFILE=700539a1-132d-4ebc-9753-e9e56fcd6173
export FILE_LIST=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build/Objects/LinkFileList
export FIXED_FILES_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build/FixedFiles
export FRAMEWORKS_FOLDER_PATH=MyTest1.app/Frameworks
export FRAMEWORK_FLAG_PREFIX=-framework
export FRAMEWORK_SEARCH_PATHS="/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload "
export FRAMEWORK_VERSION=A
export FULL_PRODUCT_NAME=MyTest1.app
export GCC3_VERSION=3.3
export GCC_ENABLE_CPP_RTTI=NO
export GCC_INLINES_ARE_PRIVATE_EXTERN=YES
export GCC_PFE_FILE_C_DIALECTS="c objective-c c++ objective-c++"
export GCC_PRECOMPILE_PREFIX_HEADER=YES
export GCC_PREFIX_HEADER=/Users/xxx/CodeTest/UnrealEngine/Engine/Source/Editor/UnrealEd/Public/UnrealEd.h
export GCC_PREPROCESSOR_DEFINITIONS="__INTELLISENSE__ MONOLITHIC_BUILD=1"
export GCC_SYMBOLS_PRIVATE_EXTERN=NO
export GCC_THUMB_SUPPORT=YES
export GCC_TREAT_WARNINGS_AS_ERRORS=NO
export GCC_VERSION=com.apple.compilers.llvm.clang.1_0
export GCC_VERSION_IDENTIFIER=com_apple_compilers_llvm_clang_1_0
export GCC_WARN_CHECK_SWITCH_STATEMENTS=NO
export GENERATED_MODULEMAP_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/GeneratedModuleMaps-iphoneos
export GENERATE_MASTER_OBJECT_FILE=NO
export GENERATE_PKGINFO_FILE=YES
export GENERATE_PROFILING_CODE=NO
export GENERATE_TEXT_BASED_STUBS=NO
export GID=1085706827
export GROUP="TENCENT\\Domain Users"
export HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_BUILT=YES
export HEADERMAP_INCLUDES_FRAMEWORK_ENTRIES_FOR_ALL_PRODUCT_TYPES=YES
export HEADERMAP_INCLUDES_NONPUBLIC_NONPRIVATE_HEADERS=YES
export HEADERMAP_INCLUDES_PROJECT_HEADERS=YES
export HEADERMAP_USES_FRAMEWORK_PREFIX_ENTRIES=YES
export HEADERMAP_USES_VFS=NO
export HEADER_SEARCH_PATHS="/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/include 。。。。。。 /Users/xxx/CodeTest/UnrealEngine/Engine/Source/ThirdParty/PhysX3/APEX_1.4/shared/internal/include"
export HIDE_BITCODE_SYMBOLS=YES
export HOME=/Users/xxx
export ICONV=/usr/bin/iconv
export INFOPLIST_EXPAND_BUILD_SETTINGS=YES
export INFOPLIST_FILE=/Users/xxx/CodeTest/MyTest1/Intermediate/IOS/MyTest1-Info.plist
export INFOPLIST_OUTPUT_FORMAT=xml
export INFOPLIST_PATH=MyTest1.app/Info.plist
export INFOPLIST_PREPROCESS=NO
export INFOSTRINGS_PATH=MyTest1.app/English.lproj/InfoPlist.strings
export INLINE_PRIVATE_FRAMEWORKS=NO
export INSTALLHDRS_COPY_PHASE=NO
export INSTALLHDRS_SCRIPT_PHASE=NO
export INSTALL_DIR=/tmp/MyTest1.dst/Applications
export INSTALL_GROUP="TENCENT\\Domain Users"
export INSTALL_MODE_FLAG=u+w,go-w,a+rX
export INSTALL_OWNER=xxx
export INSTALL_PATH=/Applications
export INSTALL_ROOT=/tmp/MyTest1.dst
export IPHONEOS_DEPLOYMENT_TARGET=11.0
export JAVAC_DEFAULT_FLAGS="-J-Xms64m -J-XX:NewSize=4M -J-Dfile.encoding=UTF8"
export JAVA_APP_STUB=/System/Library/Frameworks/JavaVM.framework/Resources/MacOS/JavaApplicationStub
export JAVA_ARCHIVE_CLASSES=YES
export JAVA_ARCHIVE_TYPE=JAR
export JAVA_COMPILER=/usr/bin/javac
export JAVA_FOLDER_PATH=MyTest1.app/Java
export JAVA_FRAMEWORK_RESOURCES_DIRS=Resources
export JAVA_JAR_FLAGS=cv
export JAVA_SOURCE_SUBDIR=.
export JAVA_USE_DEPENDENCIES=YES
export JAVA_ZIP_FLAGS=-urg
export JIKES_DEFAULT_FLAGS="+E +OLDCSO"
export KASAN_DEFAULT_CFLAGS="-DKASAN=1 -fsanitize=address -mllvm -asan-globals-live-support -mllvm -asan-force-dynamic-shadow"
export KEEP_PRIVATE_EXTERNS=NO
export LD_DEPENDENCY_INFO_FILE=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build/Objects-normal/arm64/MyTest1_dependency_info.dat
export LD_GENERATE_MAP_FILE=NO
export LD_MAP_FILE_PATH=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build/MyTest1-LinkMap-normal-arm64.txt
export LD_NO_PIE=NO
export LD_QUOTE_LINKER_ARGUMENTS_FOR_COMPILER_DRIVER=YES
export LEGACY_DEVELOPER_DIR=/Applications/Xcode.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer
export LEX=lex
export LIBRARY_DEXT_INSTALL_PATH=/Library/DriverExtensions
export LIBRARY_FLAG_NOSPACE=YES
export LIBRARY_FLAG_PREFIX=-l
export LIBRARY_KEXT_INSTALL_PATH=/Library/Extensions
export LIBRARY_SEARCH_PATHS="/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload "
export LINKER_DISPLAYS_MANGLED_NAMES=NO
export LINK_FILE_LIST_normal_arm64=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build/Objects-normal/arm64/MyTest1.LinkFileList
export LINK_WITH_STANDARD_LIBRARIES=YES
export LLVM_TARGET_TRIPLE_OS_VERSION=ios11.0
export LLVM_TARGET_TRIPLE_VENDOR=apple
export LOCALIZABLE_CONTENT_DIR=
export LOCALIZED_RESOURCES_FOLDER_PATH=MyTest1.app/English.lproj
export LOCALIZED_STRING_MACRO_NAMES="NSLocalizedString CFCopyLocalizedString"
export LOCALIZED_STRING_SWIFTUI_SUPPORT=YES
export LOCAL_ADMIN_APPS_DIR=/Applications/Utilities
export LOCAL_APPS_DIR=/Applications
export LOCAL_DEVELOPER_DIR=/Library/Developer
export LOCAL_LIBRARY_DIR=/Library
export LOCROOT=
export LOCSYMROOT=
export MACH_O_TYPE=mh_execute
export MAC_OS_X_PRODUCT_BUILD_VERSION=19H2
export MAC_OS_X_VERSION_ACTUAL=101507
export MAC_OS_X_VERSION_MAJOR=101500
export MAC_OS_X_VERSION_MINOR=1507
export METAL_LIBRARY_FILE_BASE=default
export METAL_LIBRARY_OUTPUT_DIR=/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app
export MODULES_FOLDER_PATH=MyTest1.app/Modules
export MODULE_CACHE_DIR=/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache.noindex
export NATIVE_ARCH=armv7
export NATIVE_ARCH_32_BIT=i386
export NATIVE_ARCH_64_BIT=x86_64
export NATIVE_ARCH_ACTUAL=x86_64
export NO_COMMON=YES
export OBJECT_FILE_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build/Objects
export OBJECT_FILE_DIR_normal=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build/Objects-normal
export OBJROOT=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build
export ONLY_ACTIVE_ARCH=YES
export OS=MACOS
export OSAC=/usr/bin/osacompile
export PACKAGE_TYPE=com.apple.package-type.wrapper.application
export PASCAL_STRINGS=YES
export PATH="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/local/bin:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/libexec:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/local/bin:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/usr/bin:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/usr/local/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/local/bin:/Applications/Xcode.app/Contents/Developer/Tools:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
export PATH_PREFIXES_EXCLUDED_FROM_HEADER_DEPENDENCIES="/usr/include /usr/local/include /System/Library/Frameworks /System/Library/PrivateFrameworks /Applications/Xcode.app/Contents/Developer/Headers /Applications/Xcode.app/Contents/Developer/SDKs /Applications/Xcode.app/Contents/Developer/Platforms"
export PBDEVELOPMENTPLIST_PATH=MyTest1.app/pbdevelopment.plist
export PKGINFO_FILE_PATH=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build/PkgInfo
export PKGINFO_PATH=MyTest1.app/PkgInfo
export PLATFORM_DEVELOPER_APPLICATIONS_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Applications
export PLATFORM_DEVELOPER_BIN_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin
export PLATFORM_DEVELOPER_LIBRARY_DIR=/Applications/Xcode.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library
export PLATFORM_DEVELOPER_SDK_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
export PLATFORM_DEVELOPER_TOOLS_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Tools
export PLATFORM_DEVELOPER_USR_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr
export PLATFORM_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
export PLATFORM_DISPLAY_NAME=iOS
export PLATFORM_NAME=iphoneos
export PLATFORM_PREFERRED_ARCH=arm64
export PLATFORM_PRODUCT_BUILD_VERSION=18C61
export PLIST_FILE_OUTPUT_FORMAT=binary
export PLUGINS_FOLDER_PATH=MyTest1.app/PlugIns
export PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR=YES
export PRECOMP_DESTINATION_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build/PrefixHeaders
export PRESERVE_DEAD_CODE_INITS_AND_TERMS=NO
export PRIVATE_HEADERS_FOLDER_PATH=MyTest1.app/PrivateHeaders
export PRODUCT_BUNDLE_IDENTIFIER=com.tencent.mf.mytest1
export PRODUCT_BUNDLE_PACKAGE_TYPE=APPL
export PRODUCT_MODULE_NAME=MyTest1
export PRODUCT_NAME=MyTest1
export PRODUCT_SETTINGS_PATH=/Users/xxx/CodeTest/MyTest1/Intermediate/IOS/MyTest1-Info.plist
export PRODUCT_TYPE=com.apple.product-type.application
export PROFILING_CODE=NO
export PROJECT=MyTest1
export PROJECT_DERIVED_FILE_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/DerivedSources
export PROJECT_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles
export PROJECT_FILE_PATH=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/MyTest1.xcodeproj
export PROJECT_NAME=MyTest1
export PROJECT_TEMP_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build
export PROJECT_TEMP_ROOT=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build
export PROVISIONING_PROFILE_REQUIRED=YES
export PROVISIONING_PROFILE_SPECIFIER=700539a1-132d-4ebc-9753-e9e56fcd6173
export PUBLIC_HEADERS_FOLDER_PATH=MyTest1.app/Headers
export RECURSIVE_SEARCH_PATHS_FOLLOW_SYMLINKS=YES
export REMOVE_CVS_FROM_RESOURCES=YES
export REMOVE_GIT_FROM_RESOURCES=YES
export REMOVE_HEADERS_FROM_EMBEDDED_BUNDLES=YES
export REMOVE_HG_FROM_RESOURCES=YES
export REMOVE_SVN_FROM_RESOURCES=YES
export RESOURCE_RULES_REQUIRED=YES
export REZ_COLLECTOR_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build/ResourceManagerResources
export REZ_OBJECTS_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build/ResourceManagerResources/Objects
export REZ_SEARCH_PATHS="/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload "
export SCAN_ALL_SOURCE_FILES_FOR_INCLUDES=NO
export SCRIPTS_FOLDER_PATH=MyTest1.app/Scripts
export SCRIPT_INPUT_FILE_COUNT=0
export SCRIPT_INPUT_FILE_LIST_COUNT=0
export SCRIPT_OUTPUT_FILE_COUNT=0
export SCRIPT_OUTPUT_FILE_LIST_COUNT=0
export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.3.sdk
export SDK_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.3.sdk
export SDK_DIR_iphoneos14_3=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.3.sdk
export SDK_NAME=iphoneos14.3
export SDK_NAMES=iphoneos14.3
export SDK_PRODUCT_BUILD_VERSION=18C61
export SDK_VERSION=14.3
export SDK_VERSION_ACTUAL=140300
export SDK_VERSION_MAJOR=140000
export SDK_VERSION_MINOR=140300
export SED=/usr/bin/sed
export SEPARATE_STRIP=NO
export SEPARATE_SYMBOL_EDIT=NO
export SET_DIR_MODE_OWNER_GROUP=YES
export SET_FILE_MODE_OWNER_GROUP=NO
export SHALLOW_BUNDLE=YES
export SHARED_DERIVED_FILE_DIR=/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/DerivedSources
export SHARED_FRAMEWORKS_FOLDER_PATH=MyTest1.app/SharedFrameworks
export SHARED_PRECOMPS_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/SharedPrecompiledHeaders
export SHARED_SUPPORT_FOLDER_PATH=MyTest1.app/SharedSupport
export SKIP_INSTALL=NO
export SOURCE_ROOT=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles
export SRCROOT=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles
export STRINGS_FILE_OUTPUT_ENCODING=binary
export STRIP_BITCODE_FROM_COPIED_FILES=YES
export STRIP_INSTALLED_PRODUCT=YES
export STRIP_STYLE=all
export STRIP_SWIFT_SYMBOLS=YES
export SUPPORTED_DEVICE_FAMILIES=1,2
export SUPPORTED_PLATFORMS="macosx iphoneos appletvos"
export SUPPORTS_MACCATALYST=NO
export SUPPORTS_TEXT_BASED_API=NO
export SWIFT_PLATFORM_TARGET_PREFIX=ios
export SYMROOT=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build
export SYSTEM_ADMIN_APPS_DIR=/Applications/Utilities
export SYSTEM_APPS_DIR=/Applications
export SYSTEM_CORE_SERVICES_DIR=/System/Library/CoreServices
export SYSTEM_DEMOS_DIR=/Applications/Extras
export SYSTEM_DEVELOPER_APPS_DIR=/Applications/Xcode.app/Contents/Developer/Applications
export SYSTEM_DEVELOPER_BIN_DIR=/Applications/Xcode.app/Contents/Developer/usr/bin
export SYSTEM_DEVELOPER_DEMOS_DIR="/Applications/Xcode.app/Contents/Developer/Applications/Utilities/Built Examples"
export SYSTEM_DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
export SYSTEM_DEVELOPER_DOC_DIR="/Applications/Xcode.app/Contents/Developer/ADC Reference Library"
export SYSTEM_DEVELOPER_GRAPHICS_TOOLS_DIR="/Applications/Xcode.app/Contents/Developer/Applications/Graphics Tools"
export SYSTEM_DEVELOPER_JAVA_TOOLS_DIR="/Applications/Xcode.app/Contents/Developer/Applications/Java Tools"
export SYSTEM_DEVELOPER_PERFORMANCE_TOOLS_DIR="/Applications/Xcode.app/Contents/Developer/Applications/Performance Tools"
export SYSTEM_DEVELOPER_RELEASENOTES_DIR="/Applications/Xcode.app/Contents/Developer/ADC Reference Library/releasenotes"
export SYSTEM_DEVELOPER_TOOLS=/Applications/Xcode.app/Contents/Developer/Tools
export SYSTEM_DEVELOPER_TOOLS_DOC_DIR="/Applications/Xcode.app/Contents/Developer/ADC Reference Library/documentation/DeveloperTools"
export SYSTEM_DEVELOPER_TOOLS_RELEASENOTES_DIR="/Applications/Xcode.app/Contents/Developer/ADC Reference Library/releasenotes/DeveloperTools"
export SYSTEM_DEVELOPER_USR_DIR=/Applications/Xcode.app/Contents/Developer/usr
export SYSTEM_DEVELOPER_UTILITIES_DIR=/Applications/Xcode.app/Contents/Developer/Applications/Utilities
export SYSTEM_DEXT_INSTALL_PATH=/System/Library/DriverExtensions
export SYSTEM_DOCUMENTATION_DIR=/Library/Documentation
export SYSTEM_KEXT_INSTALL_PATH=/System/Library/Extensions
export SYSTEM_LIBRARY_DIR=/System/Library
export TAPI_VERIFY_MODE=ErrorsOnly
export TARGETED_DEVICE_FAMILY=1,2
export TARGETNAME=MyTest1
export TARGET_BUILD_DIR=/Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload
export TARGET_DEVICE_IDENTIFIER=00008030-000435A80A91802E
export TARGET_DEVICE_MODEL=iPhone12,1
export TARGET_DEVICE_OS_VERSION=14.2
export TARGET_NAME=MyTest1
export TARGET_TEMP_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build
export TEMP_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build
export TEMP_FILES_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build
export TEMP_FILE_DIR=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build
export TEMP_ROOT=/Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build
export TEST_FRAMEWORK_SEARCH_PATHS=" /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.3.sdk/Developer/Library/Frameworks"
export TEST_LIBRARY_SEARCH_PATHS=" /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib"
export TOOLCHAINS=com.apple.dt.toolchain.XcodeDefault
export TOOLCHAIN_DIR=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
export TREAT_MISSING_BASELINES_AS_TEST_FAILURES=NO
export UID=1180095215
export UNLOCALIZED_RESOURCES_FOLDER_PATH=MyTest1.app
export UNSTRIPPED_PRODUCT=NO
export USER=xxx
export USER_APPS_DIR=/Users/xxx/Applications
export USER_HEADER_SEARCH_PATHS="/Users/xxx/CodeTest/UnrealEngine/Engine/Source 。。。。。。 /Users/xxx/CodeTest/UnrealEngine/Engine/Source/Runtime/AugmentedReality/Public"
export USER_LIBRARY_DIR=/Users/xxx/Library
export USE_DYNAMIC_NO_PIC=YES
export USE_HEADERMAP=NO
export USE_HEADER_SYMLINKS=NO
export USE_LLVM_TARGET_TRIPLES=YES
export USE_LLVM_TARGET_TRIPLES_FOR_CLANG=YES
export USE_LLVM_TARGET_TRIPLES_FOR_LD=YES
export USE_LLVM_TARGET_TRIPLES_FOR_TAPI=YES
export VALIDATE_PRODUCT=NO
export VALIDATE_WORKSPACE=NO
export VALID_ARCHS="x86_64 arm64 armv7 armv7s"
export VERBOSE_PBXCP=NO
export VERSIONPLIST_PATH=MyTest1.app/version.plist
export VERSION_INFO_BUILDER=xxx
export VERSION_INFO_FILE=MyTest1_vers.c
export VERSION_INFO_STRING="\"@(#)PROGRAM:MyTest1 PROJECT:MyTest1-\""
export WRAPPER_EXTENSION=app
export WRAPPER_NAME=MyTest1.app
export WRAPPER_SUFFIX=.app
export WRAP_ASSET_PACKS_IN_SEPARATE_DIRECTORIES=NO
export XCODE_APP_SUPPORT_DIR=/Applications/Xcode.app/Contents/Developer/Library/Xcode
export XCODE_PRODUCT_BUILD_VERSION=12C33
export XCODE_VERSION_ACTUAL=1230
export XCODE_VERSION_MAJOR=1200
export XCODE_VERSION_MINOR=1230
export XPCSERVICES_FOLDER_PATH=MyTest1.app/XPCServices
export YACC=yacc
export arch=arm64
export variant=normal
/bin/sh -c /Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build/Script-239A32610BCB459342A6C3A4.sh
ProcessProductPackaging /Users/xxx/Library/MobileDevice/Provisioning\ Profiles/UAGamePP.mobileprovision /Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/embedded.mobileprovision
cd /Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
builtin-productPackagingUtility /Users/xxx/Library/MobileDevice/Provisioning\ Profiles/UAGamePP.mobileprovision -o /Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app/embedded.mobileprovision
Touch /Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app
cd /Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/usr/bin/touch -c /Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app
CodeSign /Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app
cd /Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles
export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
Signing Identity: "iPhone Developer: zhong jianbin (Y68J4EHQT9)"
Provisioning Profile: "UAGamePP"
(700539a1-132d-4ebc-9753-e9e56fcd6173)
/usr/bin/codesign --force --sign CB708B40EE42998E79E0338E63488C7C6A00B742 --entitlements /Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles/build/MyTest1.build/Debug-iphoneos/MyTest1.build/MyTest1.app.xcent --timestamp=none /Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app
Validate /Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app
cd /Users/xxx/CodeTest/MyTest1/Intermediate/ProjectFiles
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
export PRODUCT_TYPE=com.apple.product-type.application
builtin-validationUtility /Users/xxx/CodeTest/MyTest1/Binaries/IOS/Payload/MyTest1.app
② Run:会拷贝MyTest.app到手机上进行安装,安装成功后会启动手机上的MyTest App进程
如果一些Xcode设置不对,可能会出现以下问题
问题1:Could not launch “MyTest1”
导致的原因是:没有设置对应配置的签名和BundleId
问题2:Unable to install XXGame "CFBundleExecutable" specifies a file that is not executable
需要为UAGame增加可执行权限
chmod +x Binaries/IOS/Payload/UAGame.app/UAGame
问题3:Unable to install XXGame
注:可点击“Details”按钮来查看具体失败的原因
可能的原因如下:
a. 该ipa没有被开发者证书签名
b. 手机上已经安装了其他证书的同名ipa
问题4:failed to prepare device for development
打开Devices and Simulators面板如下:
解决方法:重启手机设备
放置断点调试游戏逻辑
注:要清除调试之前设置的断点,再重新放置断点,断点才会生效。
在lldb中可使用以下命令来查看,删除,清理断点:
(lldb) breakpoint list // 列出所有断点
Current breakpoints:
1: file = '/Users/admin/UnrealEngine/Engine/Source/Runtime/Launch/Private/LaunchEngineLoop.cpp', line = 2299, exact_match = 0, locations = 0 (pending)
2: file = '/Users/admin/UnrealEngine/Engine/Plugins/Media/AvfMedia/Source/AvfMedia/Private/Player/AvfMediaPlayer.cpp', line = 341, exact_match = 0, locations = 0 (pending)
(lldb) breakpint delete 1 // 删除断点id为1的断点
1 breakpoints deleted.
(lldb) breakpoint delete // 删除所有断点
About to delete all breakpoints, do you want to do that?: [Y/n] Y
All breakpoints removed. (2 breakpoints)
非本地打包的ipa包调试
① 除了上面的设置外,还需要将ipa包后缀改成zip并解压,然后将Payload整个目录拷贝到UAGame/Binaries/IOS中
② 按住Ctrl键,调试启动UAGame App 注:按住Ctrl键是为了跳过编译
③ 使用lldb命令加载UAGame.dSYM符号表文件
(lldb) add-dsym /Users/xxx/Trunk/UAGroup/UAGame.dSYM
symbol file '/Users/xxx/Trunk/UAGroup/UAGame.dSYM/Contents/Resources/DWARF/UAGame' has been added to '/private/var/containers/Bundle/Application/37563B3B-BC0D-4003-A900-4F8071DE066A/UAGame.app/UAGame'
测试一下能否找到名为NicoTest相关的符号
(lldb) image lookup -vn NicoTest
1 match found in /private/var/containers/Bundle/Application/37563B3B-BC0D-4003-A900-4F8071DE066A/UAGame.app/UAGame:
Address: UAGame[0x000000010282a820] (UAGame.__TEXT.__text + 42087776)
Summary: UAGame`UMFPWPluginManager::NicoTest(int) at MFPWPluginManager.cpp:174
Module: file = "/private/var/containers/Bundle/Application/37563B3B-BC0D-4003-A900-4F8071DE066A/UAGame.app/UAGame", arch = "arm64"
CompileUnit: id = {0x00000ac4}, file = "/Users/admin/UAGroup/R6Game/Intermediate/Build/IOS/UAGame/Development/MFPluginWrapper/Module.MFPluginWrapper.cpp", language = "objective-c++"
Function: id = {0x7fffffff1f233c0b}, name = "UMFPWPluginManager::NicoTest(int)", mangled = "_ZN18UMFPWPluginManager8NicoTestEi", range = [0x0000000105766820-0x0000000105767880)
FuncType: id = {0x7fffffff1f233c0b}, byte-size = 0, decl = MFPWPluginManager.h:35, compiler_type = "void (int)"
Blocks: id = {0x7fffffff1f233c0b}, range = [0x105766820-0x105767880)
LineEntry: [0x0000000105766820-0x0000000105766840): /Users/admin/UAGroup/R6Game/Plugins/MFPluginWrapper/Source/MFPluginWrapper/Private/MFPWPluginManager.cpp:174
Symbol: id = {0x001c9032}, range = [0x0000000105766820-0x0000000105767880), name="UMFPWPluginManager::NicoTest(int)", mangled="_ZN18UMFPWPluginManager8NicoTestEi"
Variable: id = {0x7fffffff1f233c7f}, name = "this", type = "UMFPWPluginManager *", location = DW_OP_fbreg -136, decl =
Variable: id = {0x7fffffff1f233c91}, name = "nParam", type = "int", location = DW_OP_fbreg -140, decl = MFPWPluginManager.cpp:173
Variable: id = {0x7fffffff1f233ca6}, name = "CrashService", type = "UMFGCloudCrashService *", location = DW_OP_fbreg -152, decl = MFPWPluginManager.cpp:175
Variable: id = {0x7fffffff1f233cbb}, name = "GCloudPlugin", type = "UMFGCloudPlugin *", location = DW_OP_fbreg -160, decl = MFPWPluginManager.cpp:176
1 match found in /private/var/containers/Bundle/Application/37563B3B-BC0D-4003-A900-4F8071DE066A/UAGame.app/UAGame:
Address: UAGame[0x000000010282a820] (UAGame.__TEXT.__text + 42087776)
Summary: UAGame`UMFPWPluginManager::NicoTest(int) at MFPWPluginManager.cpp:174
Module: file = "/private/var/containers/Bundle/Application/37563B3B-BC0D-4003-A900-4F8071DE066A/UAGame.app/UAGame", arch = "arm64"
CompileUnit: id = {0x00000ac4}, file = "/Users/admin/UAGroup/R6Game/Intermediate/Build/IOS/UAGame/Development/MFPluginWrapper/Module.MFPluginWrapper.cpp", language = "objective-c++"
Function: id = {0x7fffffff1f233c0b}, name = "UMFPWPluginManager::NicoTest(int)", mangled = "_ZN18UMFPWPluginManager8NicoTestEi", range = [0x0000000105766820-0x0000000105767880)
FuncType: id = {0x7fffffff1f233c0b}, byte-size = 0, decl = MFPWPluginManager.h:35, compiler_type = "void (int)"
Blocks: id = {0x7fffffff1f233c0b}, range = [0x105766820-0x105767880)
LineEntry: [0x0000000105766820-0x0000000105766840): /Users/admin/UAGroup/R6Game/Plugins/MFPluginWrapper/Source/MFPluginWrapper/Private/MFPWPluginManager.cpp:174
Symbol: id = {0x001c9032}, range = [0x0000000105766820-0x0000000105767880), name="UMFPWPluginManager::NicoTest(int)", mangled="_ZN18UMFPWPluginManager8NicoTestEi"
Variable: id = {0x7fffffff1f233c7f}, name = "this", type = "UMFPWPluginManager *", location = DW_OP_fbreg -136, decl =
Variable: id = {0x7fffffff1f233c91}, name = "nParam", type = "int", location = DW_OP_fbreg -140, decl = MFPWPluginManager.cpp:173
Variable: id = {0x7fffffff1f233ca6}, name = "CrashService", type = "UMFGCloudCrashService *", location = DW_OP_fbreg -152, decl = MFPWPluginManager.cpp:175
Variable: id = {0x7fffffff1f233cbb}, name = "GCloudPlugin", type = "UMFGCloudPlugin *", location = DW_OP_fbreg -160, decl = MFPWPluginManager.cpp:176
在defaultengine.ini中设置dSYM调试文件输出
[/Script/IOSRuntimeSettings.IOSRuntimeSettings]
bGeneratedSYMFile=True
bGeneratedSYMBundle=True
bGenerateCrashReportSymbols=True
编译ios二进制可执行文件时,会将dSYM文件输出到UAGame/Binaries/IOS/UAGame.dSYM
④关联源代码
(lldb) settings set target.source-map /Users/admin/UAGroup /Users/xxx/Trunk/UAGroup // TargetDir MyDir
UAGame was compiled with optimization - stepping may behave oddly; variables may not be available.
Attach调试手机上运行的App
① 选择调试手机设备
② 从菜单Debug -- Attach to Process中查找要调试的手机进程即可
③ 如果取消调试,可从菜单Debug -- Detach from UAGame来解除调试会话
在defaultengine.ini中开启FileSharing
[/Script/IOSRuntimeSettings.IOSRuntimeSettings]
bSupportsITunesFileSharing=True
优化调试时UE类型变量的显示
(lldb) command script import "/Users/xxx/CodeTest/UnrealEngine/Engine/Extras/LLDBDataFormatters/UE4DataFormatters.py"
注:如果想让Xcode调试时就加载该python脚本,需要在当前用户主目录中放置一个名为.lldbinit文件【~/.lldbinit】,并将上面的内容填写在该文件中
FString str1优化前:
FString str1优化后:
注:UE4DataFormatters.py脚本中没有处理FName类型
参考
Attaching sources to iOS/macOS binaries compiled on another machine