periphery icon indicating copy to clipboard operation
periphery copied to clipboard

Periphery scan command fails when run as Xcode script but succeeds in terminal

Open adarshgj opened this issue 9 months ago • 6 comments

Description

When running the Periphery scan command as part of an Xcode run script, the build fails with exit status '65'. However, the same command succeeds without any issues when run directly in the terminal.

Environment

  • Xcode Version: 16.2
  • Periphery Version: 3.0.3
  • macOS Version: 15.3

Steps to Reproduce

  1. Add a run script to an Xcode aggregate target with the following Periphery scan command:

periphery scan --project "ProjectName.xcodeproj" --schemes "ProjectName(Dev)" --format "xcode"

  1. Run the aggregate target in Xcode.

Expected Behavior

The Periphery scan should complete successfully when run as an Xcode script, just as it does when run in the terminal.

Actual Behavior

The script fails with the following error message

periphery scan --project “ProjectName.xcodeproj" --schemes "ProjectName(Dev)" --format "xcode" but this throwing follwing error error: Shell command 'xcodebuild -project ‘path/ProjectName/Repository/ProjectName/ProjectName/ProjectName.xcodeproj' -scheme 'ProjectName(Dev)' -parallelizeTargets -derivedDataPath ‘path/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-7eb6d32b-b83b60fb' -quiet build-for-testing CODE_SIGNING_ALLOWED="NO" ENABLE_BITCODE="NO" DEBUG_INFORMATION_FORMAT="dwarf" COMPILER_INDEX_STORE_ENABLE="YES" INDEX_ENABLE_DATA_STORE="YES"' returned exit status '65' 


Additional Context

  • The Periphery scan command works as expected when run directly in the terminal.
  • The Xcode environment variables and working directory have been checked and are consistent with the terminal environment.
  • All paths and permissions have been verified, and there are no compilation errors when building the scheme directly in Xcode.

Note: @ileitch Could you kindly update the Xcode integration document to reflect the latest changes? It would be very helpful for the developers. Thank you!

adarshgj avatar Mar 18 '25 17:03 adarshgj

Share an example:

# Type a script or drag a script file from your workspace to insert its path.
PERIPHERY_PATH="$HOME/.local/share/mise/shims/periphery"
if [ -z "$CONFIGURATION" ] || [ "$CONFIGURATION" != "Debug" ]; then
    echo "[*] Skip periphery: $CONFIGURATION"
    return 0
fi

if [ -f "$PERIPHERY_PATH" ]; then
    echo $BUILD_ROOT
    PROJECT_DERIVED_PATH="${BUILD_ROOT%/Build/*}"
    DATA_STORE_PATH="$PROJECT_DERIVED_PATH/Index.noindex/DataStore"
    
    "$PERIPHERY_PATH" clear-cache
    "$PERIPHERY_PATH" scan --schemes FaceYoga --format xcode --index-store-path $DATA_STORE_PATH
fi

AFutureD avatar Mar 27 '25 02:03 AFutureD

Actual error is:

error: unable to attach DB: error: accessing build database ".../Caches/com.github.peripheryapp/DerivedData-b25ed6cb-be051481-be051481/Build/Intermediates.noindex/XCBuildData/build.db": database is locked Possibly there are two concurrent builds running in the same filesystem location.

It appears when I build in Aggregate or as a run script phase for the target.

oleghnidets avatar Apr 03 '25 15:04 oleghnidets

@ileitch Hey. About this issue:

error: unable to attach DB: error: accessing build database ".../Caches/com.github.peripheryapp/DerivedData-b25ed6cb-be051481-be051481/Build/Intermediates.noindex/XCBuildData/build.db": database is locked Possibly there are two concurrent builds running in the same filesystem location.

it's not possible to run two concurrent periphery-scripts on CI?

As I see the derived path is configured this way: "DerivedData-\(xcodeVersionHash)-\(projectHash)-\(schemesHash)" - so this path will be the same for concurrent builds.

nermolenko-fhl avatar Apr 21 '25 09:04 nermolenko-fhl

It would be interesting to know how others have worked around this issue and if it's been actively looked at. I also have an issue with xcodebuild been able to complete from with an aggregate target. I have worked around this for now by adding a run script to the end of the build phases in my normal target and by skipping the build with '--skip-build' as this will already be done.

Note I have added a new build configuration for 'UnusedCode' so I can choose when to run Periphery.

PERIPHERY_PATH="/opt/homebrew/bin/periphery"

if [ -z "$CONFIGURATION" ] || [ "$CONFIGURATION" != "UnusedCode" ]; then
    echo "[*] Skip periphery for: $CONFIGURATION change the build configuration to UnusedCode to scan with periphery."
    exit 0
fi

if [ ! -f "$PERIPHERY_PATH" ]; then
    echo "[!] Periphery is not installed or not found at $PERIPHERY_PATH. Please install it before running this script."
    exit 1
fi

if [ -f "$PERIPHERY_PATH" ]; then
    echo "[*] Starting scan for unused code for configuration: $CONFIGURATION"
    echo $BUILD_ROOT
    PROJECT_DERIVED_PATH="${BUILD_ROOT%/Build/*}"
    DATA_STORE_PATH="$PROJECT_DERIVED_PATH/Index.noindex/DataStore"
    
    "$PERIPHERY_PATH" clear-cache
    "$PERIPHERY_PATH" scan --project "xxxxx.xcworkspace" --config '../periphery/.periphery.yml' --format xcode --index-store-path $DATA_STORE_PATH --skip-build
fi

christoff-1992 avatar Apr 30 '25 07:04 christoff-1992

Hey Christoff,

I'm brand new to Periphery - don't truly know what to expect... but when running the script... I think it ran - fine... I'm expecting an output of issues... that I could click and goto source location.

I'm not getting that - or anything... oh look in the Build Logs...

I might have misconfigured something... but what?

=== my Periphery-UnusedCodeScan (uh... Scheme... thingy)

Showing Recent Messages

Prepare build

ComputePackagePrebuildTargetDependencyGraph

CreateBuildRequest

SendProjectDescription

CreateBuildOperation

ComputeTargetDependencyGraph

note: Building targets in dependency order note: Target dependency graph (1 target) Target 'Periphery-UnusedCodeScan' in project 'Portfolio' (no dependencies)

Building targets in dependency order

Target dependency graph (1 target)

GatherProvisioningInputs

Build target Periphery-UnusedCodeScan of project Portfolio with configuration Debug warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'Periphery-UnusedCodeScan' from project 'Portfolio')

Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase.

PhaseScriptExecution Run\ Script /Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/Script-638232682DD139ED00535044.sh (in target 'Periphery-UnusedCodeScan' from project 'Portfolio') cd /Users/david/Developer/StocksClone_Projects/Portfolio export ACTION=build export AD_HOC_CODE_SIGNING_ALLOWED=YES export ALLOW_BUILD_REQUEST_OVERRIDES=NO export ALLOW_TARGET_PLATFORM_SPECIALIZATION=NO export ALTERNATE_GROUP=staff export ALTERNATE_MODE=u+w,go-w,a+rX export ALTERNATE_OWNER=david export ALTERNATIVE_DISTRIBUTION_WEB=NO export ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=NO export ALWAYS_SEARCH_USER_PATHS=NO export ALWAYS_USE_SEPARATE_HEADERMAPS=NO export APPLICATION_EXTENSION_API_ONLY=NO export APPLY_RULES_IN_COPY_FILES=NO export APPLY_RULES_IN_COPY_HEADERS=NO export APP_SHORTCUTS_ENABLE_FLEXIBLE_MATCHING=YES export ARCHS=arm64 export ARCHS_STANDARD=arm64\ x86_64 export ARCHS_STANDARD_32_64_BIT=arm64\ x86_64 export ARCHS_STANDARD_64_BIT=arm64\ x86_64 export ARCHS_STANDARD_INCLUDING_64_BIT=arm64\ x86_64 export ARCHS_UNIVERSAL_IPHONE_OS=arm64\ x86_64 export ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS=YES export ASSETCATALOG_FILTER_FOR_DEVICE_MODEL=iPhone12,1 export ASSETCATALOG_FILTER_FOR_DEVICE_OS_VERSION=18.2 export ASSETCATALOG_FILTER_FOR_THINNING_DEVICE_CONFIGURATION=iPhone12,1 export AUTOMATICALLY_MERGE_DEPENDENCIES=NO export AVAILABLE_PLATFORMS=android\ appletvos\ appletvsimulator\ driverkit\ iphoneos\ iphonesimulator\ macosx\ qnx\ watchos\ watchsimulator\ xros\ xrsimulator export BITCODE_GENERATION_MODE=marker export BUILD_ACTIVE_RESOURCES_ONLY=YES export BUILD_COMPONENTS=headers\ build export BUILD_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Products export BUILD_LIBRARY_FOR_DISTRIBUTION=NO export BUILD_ROOT=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Products export BUILD_STYLE= export BUILD_VARIANTS=normal export BUILT_PRODUCTS_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Products/Debug-iphonesimulator export BUNDLE_CONTENTS_FOLDER_PATH_deep=Contents/ export BUNDLE_EXECUTABLE_FOLDER_NAME_deep=MacOS export BUNDLE_EXTENSIONS_FOLDER_PATH=Extensions 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/r_/1q327plj1270ndb2kkklzmn40000gn/C/com.apple.DeveloperTools/16.3-16E140/Xcode export CCHROOT=/var/folders/r_/1q327plj1270ndb2kkklzmn40000gn/C/com.apple.DeveloperTools/16.3-16E140/Xcode export CHMOD=/bin/chmod export CHOWN=/usr/sbin/chown export CLANG_ANALYZER_NONNULL=YES export CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION=YES_AGGRESSIVE export CLANG_CACHE_FINE_GRAINED_OUTPUTS=YES export CLANG_CXX_LANGUAGE_STANDARD=gnu++20 export CLANG_ENABLE_EXPLICIT_MODULES=YES export CLANG_ENABLE_MODULES=YES export CLANG_ENABLE_OBJC_ARC=YES export CLANG_ENABLE_OBJC_WEAK=YES export CLANG_MODULES_BUILD_SESSION_FILE=/Users/david/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation export CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING=YES export CLANG_WARN_BOOL_CONVERSION=YES export CLANG_WARN_COMMA=YES export CLANG_WARN_CONSTANT_CONVERSION=YES export CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS=YES export CLANG_WARN_DIRECT_OBJC_ISA_USAGE=YES_ERROR export CLANG_WARN_DOCUMENTATION_COMMENTS=YES export CLANG_WARN_EMPTY_BODY=YES export CLANG_WARN_ENUM_CONVERSION=YES export CLANG_WARN_INFINITE_RECURSION=YES export CLANG_WARN_INT_CONVERSION=YES export CLANG_WARN_NON_LITERAL_NULL_CONVERSION=YES export CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF=YES export CLANG_WARN_OBJC_LITERAL_CONVERSION=YES export CLANG_WARN_OBJC_ROOT_CLASS=YES_ERROR export CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER=YES export CLANG_WARN_RANGE_LOOP_ANALYSIS=YES export CLANG_WARN_STRICT_PROTOTYPES=YES export CLANG_WARN_SUSPICIOUS_MOVE=YES export CLANG_WARN_UNGUARDED_AVAILABILITY=YES_AGGRESSIVE export CLANG_WARN_UNREACHABLE_CODE=YES export CLANG_WARN__DUPLICATE_METHOD_MATCH=YES export CLASS_FILE_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/JavaClasses export CLEAN_PRECOMPS=YES export CLONE_HEADERS=NO export CODESIGNING_FOLDER_PATH=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Products/Debug-iphonesimulator/ export CODE_SIGNING_ALLOWED=NO export CODE_SIGNING_REQUIRED=YES export CODE_SIGN_CONTEXT_CLASS=XCiPhoneSimulatorCodeSignContext export CODE_SIGN_IDENTITY=- export CODE_SIGN_INJECT_BASE_ENTITLEMENTS=YES export CODE_SIGN_STYLE=Automatic export COLOR_DIAGNOSTICS=NO export COMBINE_HIDPI_IMAGES=NO export COMPILATION_CACHE_CAS_PATH=/Users/david/Library/Developer/Xcode/DerivedData/CompilationCache.noindex export COMPILATION_CACHE_KEEP_CAS_DIRECTORY=YES export COMPILER_INDEX_STORE_ENABLE=Default export COMPOSITE_SDK_DIRS=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/CompositeSDKs export COMPRESS_PNG_FILES=YES export CONFIGURATION=Debug export CONFIGURATION_BUILD_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Products/Debug-iphonesimulator export CONFIGURATION_TEMP_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator export COPYING_PRESERVES_HFS_DATA=NO export COPY_HEADERS_RUN_UNIFDEF=NO export COPY_PHASE_STRIP=NO export CORRESPONDING_DEVICE_PLATFORM_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform export CORRESPONDING_DEVICE_PLATFORM_NAME=iphoneos export CORRESPONDING_DEVICE_SDK_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.4.sdk export CORRESPONDING_DEVICE_SDK_NAME=iphoneos18.4 export CP=/bin/cp export CREATE_INFOPLIST_SECTION_IN_BINARY=NO export CURRENT_ARCH=undefined_arch export CURRENT_VARIANT=normal export DEAD_CODE_STRIPPING=YES export DEBUGGING_SYMBOLS=YES export DEBUG_INFORMATION_FORMAT=dwarf export DEBUG_INFORMATION_VERSION=compiler-default 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_SETTING_NAME=IPHONEOS_DEPLOYMENT_TARGET export DEPLOYMENT_TARGET_SUGGESTED_VALUES=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\ 14.4\ 14.5\ 14.6\ 14.7\ 15.0\ 15.1\ 15.2\ 15.3\ 15.4\ 15.5\ 15.6\ 16.0\ 16.1\ 16.2\ 16.3\ 16.4\ 16.5\ 16.6\ 17.0\ 17.1\ 17.2\ 17.3\ 17.4\ 17.5\ 17.6\ 18.0\ 18.1\ 18.2\ 18.3\ 18.4 export DERIVED_FILES_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/DerivedSources export DERIVED_FILE_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/DerivedSources export DERIVED_SOURCES_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.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=en export DEVELOPMENT_TEAM=99568KA9SE export DIAGNOSE_MISSING_TARGET_DEPENDENCIES=YES export DIFF=/usr/bin/diff export DONT_GENERATE_INFOPLIST_FILE=NO export DSTROOT=/tmp/Portfolio.dst export DT_TOOLCHAIN_DIR=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain export DWARF_DSYM_FILE_NAME=.dSYM export DWARF_DSYM_FILE_SHOULD_ACCOMPANY_PRODUCT=NO export DWARF_DSYM_FOLDER_PATH=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Products/Debug-iphonesimulator export DYNAMIC_LIBRARY_EXTENSION=dylib export EAGER_COMPILATION_ALLOW_SCRIPTS=NO export EAGER_LINKING=NO export EFFECTIVE_PLATFORM_NAME=-iphonesimulator export EMBEDDED_CONTENT_CONTAINS_SWIFT=NO export EMBED_ASSET_PACKS_IN_PRODUCT_BUNDLE=NO export ENABLE_APP_SANDBOX=NO export ENABLE_BITCODE=NO export ENABLE_CODE_COVERAGE=YES export ENABLE_DEBUG_DYLIB=NO export ENABLE_DEFAULT_HEADER_SEARCH_PATHS=YES export ENABLE_DEFAULT_SEARCH_PATHS=YES export ENABLE_HARDENED_RUNTIME=NO export ENABLE_HEADER_DEPENDENCIES=YES export ENABLE_INCOMING_NETWORK_CONNECTIONS=NO export ENABLE_ON_DEMAND_RESOURCES=NO export ENABLE_OUTGOING_NETWORK_CONNECTIONS=NO export ENABLE_PREVIEWS=NO export ENABLE_RESOURCE_ACCESS_AUDIO_INPUT=NO export ENABLE_RESOURCE_ACCESS_BLUETOOTH=NO export ENABLE_RESOURCE_ACCESS_CALENDARS=NO export ENABLE_RESOURCE_ACCESS_CAMERA=NO export ENABLE_RESOURCE_ACCESS_CONTACTS=NO export ENABLE_RESOURCE_ACCESS_LOCATION=NO export ENABLE_RESOURCE_ACCESS_PRINTING=NO export ENABLE_RESOURCE_ACCESS_USB=NO export ENABLE_SDK_IMPORTS=NO export ENABLE_STRICT_OBJC_MSGSEND=YES export ENABLE_TESTABILITY=YES export ENABLE_TESTING_SEARCH_PATHS=NO export ENABLE_USER_SCRIPT_SANDBOXING=NO export ENABLE_XOJIT_PREVIEWS=NO export ENFORCE_VALID_ARCHS=YES export ENTITLEMENTS_DESTINATION=__entitlements 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 FILE_LIST=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/Objects/LinkFileList export FIXED_FILES_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/FixedFiles export FRAMEWORK_VERSION=A export FUSE_BUILD_PHASES=YES export FUSE_BUILD_SCRIPT_PHASES=NO export GCC3_VERSION=3.3 export GCC_C_LANGUAGE_STANDARD=gnu17 export GCC_DYNAMIC_NO_PIC=NO export GCC_NO_COMMON_BLOCKS=YES export GCC_OBJC_LEGACY_DISPATCH=YES export GCC_OPTIMIZATION_LEVEL=0 export GCC_PFE_FILE_C_DIALECTS=c\ objective-c\ c++\ objective-c++ export GCC_PREPROCESSOR_DEFINITIONS=DEBUG=1\ 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_64_TO_32_BIT_CONVERSION=YES export GCC_WARN_ABOUT_RETURN_TYPE=YES_ERROR export GCC_WARN_UNDECLARED_SELECTOR=YES export GCC_WARN_UNINITIALIZED_AUTOS=YES_AGGRESSIVE export GCC_WARN_UNUSED_FUNCTION=YES export GCC_WARN_UNUSED_VARIABLE=YES export GENERATED_MODULEMAP_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/GeneratedModuleMaps-iphonesimulator export GENERATE_INFOPLIST_FILE=NO export GENERATE_INTERMEDIATE_TEXT_BASED_STUBS=YES export GENERATE_MASTER_OBJECT_FILE=NO export GENERATE_PKGINFO_FILE=NO export GENERATE_PROFILING_CODE=NO export GENERATE_TEXT_BASED_STUBS=NO export GID=20 export GROUP=staff export HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_BUILT=YES export HEADERMAP_INCLUDES_FRAMEWORK_ENTRIES_FOR_ALL_PRODUCT_TYPES=YES export HEADERMAP_INCLUDES_FRAMEWORK_ENTRIES_FOR_TARGETS_NOT_BEING_BUILT=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 HIDE_BITCODE_SYMBOLS=YES export HOME=/Users/david export HOST_ARCH=arm64 export HOST_PLATFORM=macosx export ICONV=/usr/bin/iconv export IMPLICIT_DEPENDENCY_DOMAIN=default export INFOPLIST_ENABLE_CFBUNDLEICONS_MERGE=YES export INFOPLIST_EXPAND_BUILD_SETTINGS=YES export INFOPLIST_OUTPUT_FORMAT=binary export INFOPLIST_PREPROCESS=NO export INLINE_PRIVATE_FRAMEWORKS=NO export INSTALLAPI_IGNORE_SKIP_INSTALL=YES export INSTALLHDRS_COPY_PHASE=NO export INSTALLHDRS_SCRIPT_PHASE=NO export INSTALL_DIR=/tmp/Portfolio.dst export INSTALL_GROUP=staff export INSTALL_MODE_FLAG=u+w,go-w,a+rX export INSTALL_OWNER=david export INSTALL_ROOT=/tmp/Portfolio.dst export IPHONEOS_DEPLOYMENT_TARGET=17.0 export IS_UNOPTIMIZED_BUILD=YES 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_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 KEEP_PRIVATE_EXTERNS=NO export LD_DEPENDENCY_INFO_FILE=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/Objects-normal/undefined_arch/Periphery-UnusedCodeScan_dependency_info.dat export LD_EXPORT_SYMBOLS=YES export LD_GENERATE_MAP_FILE=NO export LD_MAP_FILE_PATH=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/Periphery-UnusedCodeScan-LinkMap-normal-undefined_arch.txt export LD_NO_PIE=NO export LD_QUOTE_LINKER_ARGUMENTS_FOR_COMPILER_DRIVER=YES export LD_SHARED_CACHE_ELIGIBLE=Automatic export LD_WARN_DUPLICATE_LIBRARIES=NO export LD_WARN_UNUSED_DYLIBS=NO 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_KEXT_INSTALL_PATH=/Library/Extensions export LINKER_DISPLAYS_MANGLED_NAMES=NO export LINK_FILE_LIST_normal_arm64=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/Objects-normal/arm64/Periphery-UnusedCodeScan.LinkFileList export LINK_OBJC_RUNTIME=YES export LINK_WITH_STANDARD_LIBRARIES=YES export LLVM_TARGET_TRIPLE_OS_VERSION=ios17.0 export LLVM_TARGET_TRIPLE_SUFFIX=-simulator export LLVM_TARGET_TRIPLE_VENDOR=apple export LM_AUX_CONST_METADATA_LIST_PATH_normal_arm64=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/Objects-normal/arm64/Periphery-UnusedCodeScan.SwiftConstValuesFileList export LOCALIZATION_EXPORT_SUPPORTED=YES export LOCALIZATION_PREFERS_STRING_CATALOGS=YES 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=/Users/david/Developer/StocksClone_Projects/Portfolio export LOCSYMROOT=/Users/david/Developer/StocksClone_Projects/Portfolio export MAC_OS_X_PRODUCT_BUILD_VERSION=24F74 export MAC_OS_X_VERSION_ACTUAL=150500 export MAC_OS_X_VERSION_MAJOR=150000 export MAC_OS_X_VERSION_MINOR=150500 export MAKE_MERGEABLE=NO export MERGEABLE_LIBRARY=NO export MERGED_BINARY_TYPE=none export MERGE_LINKED_LIBRARIES=NO export METAL_LIBRARY_FILE_BASE=default export METAL_LIBRARY_OUTPUT_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Products/Debug-iphonesimulator/ export MODULE_CACHE_DIR=/Users/david/Library/Developer/Xcode/DerivedData/ModuleCache.noindex export MTL_ENABLE_DEBUG_INFO=INCLUDE_SOURCE export MTL_FAST_MATH=YES export NATIVE_ARCH=arm64 export NATIVE_ARCH_32_BIT=arm export NATIVE_ARCH_64_BIT=arm64 export NATIVE_ARCH_ACTUAL=arm64 export NO_COMMON=YES export OBJC_ABI_VERSION=2 export OBJECT_FILE_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/Objects export OBJECT_FILE_DIR_normal=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/Objects-normal export OBJROOT=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex export ONLY_ACTIVE_ARCH=YES export OS=MACOS export OSAC=/usr/bin/osacompile export PASCAL_STRINGS=YES export PATH=/Applications/Xcode.app/Contents/SharedFrameworks/SwiftBuild.framework/Versions/A/PlugIns/SWBBuildService.bundle/Contents/PlugIns/SWBUniversalPlatformPlugin.bundle/Contents/Frameworks/SWBUniversalPlatform.framework/Resources:/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/iPhoneSimulator.platform/usr/bin:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/usr/local/bin:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/local/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/local/bin:/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 PER_ARCH_MODULE_FILE_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/Objects-normal/undefined_arch export PER_ARCH_OBJECT_FILE_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/Objects-normal/undefined_arch export PER_VARIANT_OBJECT_FILE_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/Objects-normal export PKGINFO_FILE_PATH=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/PkgInfo export PLATFORM_DEVELOPER_APPLICATIONS_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications export PLATFORM_DEVELOPER_BIN_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin export PLATFORM_DEVELOPER_LIBRARY_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library export PLATFORM_DEVELOPER_SDK_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs export PLATFORM_DEVELOPER_TOOLS_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Tools export PLATFORM_DEVELOPER_USR_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr export PLATFORM_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform export PLATFORM_DISPLAY_NAME=iOS\ Simulator export PLATFORM_FAMILY_NAME=iOS export PLATFORM_NAME=iphonesimulator export PLATFORM_PREFERRED_ARCH=x86_64 export PLATFORM_PRODUCT_BUILD_VERSION=22E235 export PLATFORM_REQUIRES_SWIFT_AUTOLINK_EXTRACT=NO export PLATFORM_REQUIRES_SWIFT_MODULEWRAP=NO export PLIST_FILE_OUTPUT_FORMAT=binary export PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR=YES export PRECOMP_DESTINATION_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/PrefixHeaders export PROCESSED_INFOPLIST_PATH=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/Objects-normal/undefined_arch/Processed-Info.plist export PRODUCT_MODULE_NAME=Periphery_UnusedCodeScan export PRODUCT_NAME=Periphery-UnusedCodeScan export PRODUCT_SETTINGS_PATH= export PROFILING_CODE=NO export PROJECT=Portfolio export PROJECT_DERIVED_FILE_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/DerivedSources export PROJECT_DIR=/Users/david/Developer/StocksClone_Projects/Portfolio export PROJECT_FILE_PATH=/Users/david/Developer/StocksClone_Projects/Portfolio/Portfolio.xcodeproj export PROJECT_GUID=e650f8c16248216151144ccdf8635376 export PROJECT_NAME=Portfolio export PROJECT_TEMP_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build export PROJECT_TEMP_ROOT=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex export RECOMMENDED_IPHONEOS_DEPLOYMENT_TARGET=15.0 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_STATIC_EXECUTABLES_FROM_EMBEDDED_BUNDLES=YES export REMOVE_SVN_FROM_RESOURCES=YES export RESCHEDULE_INDEPENDENT_HEADERS_PHASES=YES export REZ_COLLECTOR_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/ResourceManagerResources export REZ_OBJECTS_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/ResourceManagerResources/Objects export SCAN_ALL_SOURCE_FILES_FOR_INCLUDES=NO 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/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator18.4.sdk export SDK_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator18.4.sdk export SDK_DIR_iphonesimulator=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator18.4.sdk export SDK_DIR_iphonesimulator18_4=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator18.4.sdk export SDK_NAME=iphonesimulator18.4 export SDK_NAMES=iphonesimulator18.4 export SDK_PRODUCT_BUILD_VERSION=22E235 export SDK_STAT_CACHE_DIR=/Users/david/Library/Developer/Xcode/DerivedData export SDK_STAT_CACHE_ENABLE=YES export SDK_STAT_CACHE_PATH=/Users/david/Library/Developer/Xcode/DerivedData/SDKStatCaches.noindex/iphonesimulator18.4-22E235-71825a6d136aa4733edcbe86ece5525b.sdkstatcache export SDK_VERSION=18.4 export SDK_VERSION_ACTUAL=180400 export SDK_VERSION_MAJOR=180000 export SDK_VERSION_MINOR=180400 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=NO export SHARED_DERIVED_FILE_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Products/Debug-iphonesimulator/DerivedSources export SHARED_PRECOMPS_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/PrecompiledHeaders export SKIP_INSTALL=YES export SOURCE_ROOT=/Users/david/Developer/StocksClone_Projects/Portfolio export SRCROOT=/Users/david/Developer/StocksClone_Projects/Portfolio export STRINGSDATA_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/Objects-normal/undefined_arch export STRINGSDATA_ROOT=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build export STRINGS_FILE_INFOPLIST_RENAME=YES export STRINGS_FILE_OUTPUT_ENCODING=binary export STRIP_BITCODE_FROM_COPIED_FILES=NO export STRIP_INSTALLED_PRODUCT=NO export STRIP_STYLE=all export STRIP_SWIFT_SYMBOLS=YES export SUPPORTED_DEVICE_FAMILIES=1,2 export SUPPORTED_PLATFORMS=iphoneos\ iphonesimulator export SUPPORTS_TEXT_BASED_API=NO export SUPPRESS_WARNINGS=NO export SWIFT_ACTIVE_COMPILATION_CONDITIONS=DEBUG\ export SWIFT_EMIT_LOC_STRINGS=NO export SWIFT_OPTIMIZATION_LEVEL=-Onone export SWIFT_PLATFORM_TARGET_PREFIX=ios export SWIFT_RESPONSE_FILE_PATH_normal_arm64=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/Objects-normal/arm64/Periphery-UnusedCodeScan.SwiftFileList export SYMROOT=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Products 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_DEMANGLE=YES export TAPI_ENABLE_PROJECT_HEADERS=NO export TAPI_LANGUAGE=objective-c export TAPI_LANGUAGE_STANDARD=compiler-default export TAPI_USE_SRCROOT=YES export TAPI_VERIFY_MODE=Pedantic export TARGETED_DEVICE_FAMILY=1 export TARGETNAME=Periphery-UnusedCodeScan export TARGET_BUILD_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Products/Debug-iphonesimulator export TARGET_DEVICE_IDENTIFIER=D6DDA251-4199-46C1-8796-9EE406B0E238 export TARGET_DEVICE_MODEL=iPhone12,1 export TARGET_DEVICE_OS_VERSION=18.2 export TARGET_DEVICE_PLATFORM_NAME=iphonesimulator export TARGET_NAME=Periphery-UnusedCodeScan export TARGET_TEMP_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build export TEMP_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build export TEMP_FILES_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build export TEMP_FILE_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build export TEMP_ROOT=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex export TEMP_SANDBOX_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/TemporaryTaskSandboxes export TEST_FRAMEWORK_SEARCH_PATHS=\ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks\ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator18.4.sdk/Developer/Library/Frameworks export TEST_LIBRARY_SEARCH_PATHS=\ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.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 TREAT_MISSING_SCRIPT_PHASE_OUTPUTS_AS_ERRORS=NO export UID=501 export UNINSTALLED_PRODUCTS_DIR=/Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/UninstalledProducts export UNSTRIPPED_PRODUCT=NO export USER=david export USER_APPS_DIR=/Users/david/Applications export USER_LIBRARY_DIR=/Users/david/Library export USE_DYNAMIC_NO_PIC=YES export USE_HEADERMAP=YES export USE_HEADER_SYMLINKS=NO export VALIDATE_DEVELOPMENT_ASSET_PATHS=YES_ERROR export VALIDATE_PRODUCT=NO export VALID_ARCHS=arm64\ arm64e\ x86_64 export VERBOSE_PBXCP=NO export VERSION_INFO_BUILDER=david export VERSION_INFO_FILE=Periphery-UnusedCodeScan_vers.c export VERSION_INFO_STRING="@(#)PROGRAM:Periphery-UnusedCodeScan\ \ PROJECT:Portfolio-" export WORKSPACE_DIR=/Users/david/Developer/StocksClone_Projects/Portfolio/Portfolio.xcodeproj 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=16E140 export XCODE_VERSION_ACTUAL=1630 export XCODE_VERSION_MAJOR=1600 export XCODE_VERSION_MINOR=1630 export XPCSERVICES_FOLDER_PATH=/XPCServices export YACC=yacc export _DISCOVER_COMMAND_LINE_LINKER_INPUTS=YES export _DISCOVER_COMMAND_LINE_LINKER_INPUTS_INCLUDE_WL=YES export __DIAGNOSE_DEPRECATED_ARCHS=YES export arch=undefined_arch export variant=normal /bin/sh -c /Users/david/Library/Developer/Xcode/DerivedData/Portfolio-fmxoekxuzcthqoekluljmhcbqpnl/Build/Intermediates.noindex/Portfolio.build/Debug-iphonesimulator/Periphery-UnusedCodeScan.build/Script-638232682DD139ED00535044.sh

[*] Skip periphery for: Debug change the build configuration to UnusedCode to scan with periphery.

[*] Skip periphery for: Debug change the build configuration to UnusedCode to scan with periphery.

davidakoontz avatar May 13 '25 20:05 davidakoontz

@davidakoontz - You can see I added comments for this.

Skip periphery for: Debug change the build configuration to UnusedCode to scan with periphery.

For my use case I did not want to run periphery every single time, but to have an option to run it when I felt necessary. To work around not using an aggregate I used a new build configuration that I named 'UnusedCode'.

At the top of the script you can see that I check if the app is been built in this configuration and if its not I simply output that I am skipping this.

To get the results you will need to either add a new build configuration in Xcode that you can swap to when you would like to run this or you can simply remove the check from the script.

if [ -z "$CONFIGURATION" ] || [ "$CONFIGURATION" != "UnusedCode" ]; then echo "[*] Skip periphery for: $CONFIGURATION change the build configuration to UnusedCode to scan with periphery." exit 0 fi

I added the comment as a warning so that the user still gets feedback, if they were expecting to run periphery and had the wrong build configuration selected they will see this in the console and in the left hand panel within Xcode under warnings.

christoff-1992 avatar May 15 '25 07:05 christoff-1992