Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-28158] iOS: Duplicate framework search paths

GitHub Issuen/a
TypeBug
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2020-10-05T14:00:14.000+0000
Affected Version/sRelease 9.2.0
Fix Version/sRelease 9.2.1
Componentsn/a
Labelsn/a
ReporterJan Vennemann
AssigneeJan Vennemann
Created2020-10-01T09:46:13.000+0000
Updated2020-10-05T16:13:09.000+0000

Description

The iOS build constructs a massive framework search path due duplicate search path entries and new recursive search path for XCFrameworks. Currently this does not cause any build failures but i suspect it unnecessarily slows down the build and makes it hard to dig through logs because they are spammed with search path options. Example output for compiling a single ObjC source file:
[TRACE] CompileC /Users/jvennemann/Development/appc/test-classic/build/iphone/build/Intermediates/test-classic.build/Debug-iphonesimulator/test-classic.build/Objects-normal/i386/AccelerometerModule.o /Users/jvennemann/Development/appc/test-classic/build/iphone/Classes/AccelerometerModule.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler (in target 'test-classic' from project 'test-classic')
[TRACE]     cd /Users/jvennemann/Development/appc/test-classic/build/iphone
[TRACE]     export LANG\=en_US.US-ASCII
[TRACE]     /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -target i386-apple-ios10.0-simulator -fmessage-length\=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit\=0 -std\=c99 -fobjc-weak -fmodules -gmodules -fmodules-cache-path\=/Users/jvennemann/Development/appc/test-classic/build/iphone/DerivedData/ModuleCache.noindex -fmodules-prune-interval\=86400 -fmodules-prune-after\=345600 -fbuild-session-file\=/Users/jvennemann/Development/appc/test-classic/build/iphone/DerivedData/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror\=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-return-type -Wunreachable-code -Wno-implicit-atomic-properties -Wno-objc-interface-ivars -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wduplicate-method-match -Wno-missing-braces -Wno-parentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wno-unused-variable -Wno-unused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector -Wdeprecated-implementations -DDEPLOYTYPE\=development -D__LOG__ID__\=f222de47-d81d-4b21-b5c0-8d39264ab2e3 -DDEBUG\=1 -DTI_VERSION\=9.3.0 -DLAUNCHSCREEN_STORYBOARD\=1 -DDEFAULT_BGCOLOR_RED\=1 -DDEFAULT_BGCOLOR_GREEN\=1 -DDEFAULT_BGCOLOR_BLUE\=1 -DDISABLE_TI_LOG_SERVER\=1 -DOBJC_OLD_DISPATCH_PROTOTYPES\=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.2.sdk -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -Wno-sign-conversion -Winfinite-recursion -Wcomma -Wblock-capture-autoreleasing -Wno-strict-prototypes -Wno-semicolon-before-method-body -Wno-unguarded-availability -fobjc-abi-version\=2 -fobjc-legacy-dispatch -index-store-path /Users/jvennemann/Development/appc/test-classic/build/iphone/DerivedData/Index/DataStore -iquote /Users/jvennemann/Development/appc/test-classic/build/iphone/build/Intermediates/test-classic.build/Debug-iphonesimulator/test-classic.build/test-classic-generated-files.hmap -I/Users/jvennemann/Development/appc/test-classic/build/iphone/build/Intermediates/test-classic.build/Debug-iphonesimulator/test-classic.build/test-classic-own-target-headers.hmap -I/Users/jvennemann/Development/appc/test-classic/build/iphone/build/Intermediates/test-classic.build/Debug-iphonesimulator/test-classic.build/test-classic-all-target-headers.hmap -iquote /Users/jvennemann/Development/appc/test-classic/build/iphone/build/Intermediates/test-classic.build/Debug-iphonesimulator/test-classic.build/test-classic-project-headers.hmap -I/Users/jvennemann/Development/appc/test-classic/build/iphone/build/Products/Debug-iphonesimulator/include -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.2.sdk/usr/include/libxml2 -Iheaders -I/Users/jvennemann/Development/appc/test-classic/build/iphone/build/Intermediates/test-classic.build/Debug-iphonesimulator/test-classic.build/DerivedSources-normal/i386 -I/Users/jvennemann/Development/appc/test-classic/build/iphone/build/Intermediates/test-classic.build/Debug-iphonesimulator/test-classic.build/DerivedSources/i386 -I/Users/jvennemann/Development/appc/test-classic/build/iphone/build/Intermediates/test-classic.build/Debug-iphonesimulator/test-classic.build/DerivedSources -Wno-arc-performSelector-leaks -F/Users/jvennemann/Development/appc/test-classic/build/iphone/build/Products/Debug-iphonesimulator -FFrameworks -F/Users/jvennemann/Development/appc/test-classic/platform/ios -F/Users/jvennemann/Development/appc/test-classic/platform/ios/testfw.xcframework -F/Users/jvennemann/Development/appc/test-classic/platform/ios/testfwobjc.xcframework -F/Users/jvennemann/Development/appc/test-classic/platform/ios/testfw.xcframework/ios-arm64 -F/Users/jvennemann/Development/appc/test-classic/platform/ios/testfw.xcframework/ios-arm64_x86_64-simulator -F/Users/jvennemann/Development/appc/test-classic/platform/ios/testfwobjc.xcframework/ios-arm64 -F/Users/jvennemann/Development/appc/test-classic/platform/ios/testfwobjc.xcframework/ios-arm64_x86_64-simulator -F/Users/jvennemann/Development/appc/test-classic/platform/ios -F/Users/jvennemann/Development/appc/test-classic/platform/ios/testfw.xcframework -F/Users/jvennemann/Development/appc/test-classic/platform/ios/testfwobjc.xcframework -F/Users/jvennemann/Development/appc/test-classic/platform/ios/testfw.xcframework/ios-arm64 -F/Users/jvennemann/Development/appc/test-classic/platform/ios/testfw.xcframework/ios-arm64_x86_64-simulator -F/Users/jvennemann/Development/appc/test-classic/platform/ios/testfwobjc.xcframework/ios-arm64 -F/Users/jvennemann/Development/appc/test-classic/platform/ios/testfwobjc.xcframework/ios-arm64_x86_64-simulator -F/Users/jvennemann/Library/Application\ Support/Titanium/modules/iphone/hyperloop/6.0.1 -F/Users/jvennemann/Library/Application\ Support/Titanium/modules/iphone/hyperloop/6.0.1/assets -F/Users/jvennemann/Library/Application\ Support/Titanium/modules/iphone/hyperloop/6.0.1/documentation -F/Users/jvennemann/Library/Application\ Support/Titanium/modules/iphone/hyperloop/6.0.1/example -F/Users/jvennemann/Library/Application\ Support/Titanium/modules/iphone/hyperloop/6.0.1/hooks -F/Users/jvennemann/Library/Application\ Support/Titanium/modules/iphone/hyperloop/6.0.1/hyperloop.xcframework -F/Users/jvennemann/Library/Application\ Support/Titanium/modules/iphone/hyperloop/6.0.1/example/android -F/Users/jvennemann/Library/Application\ Support/Titanium/modules/iphone/hyperloop/6.0.1/example/windows -F/Users/jvennemann/Library/Application\ Support/Titanium/modules/iphone/hyperloop/6.0.1/hooks/generate -F/Users/jvennemann/Library/Application\ Support/Titanium/modules/iphone/hyperloop/6.0.1/hooks/node_modules -F/Users/jvennemann/Library/Application\ Support/Titanium/modules/iphone/hyperloop/6.0.1/hyperloop.xcframework/ios-arm64_armv7 -F/Users/jvennemann/Library/Application\ Support/Titanium/modules/iphone/hyperloop/6.0.1/hyperloop.xcframework/ios-arm64_i386_x86_64-simulator -F/Users/jvennemann/Library/Application\ Support/Titanium/modules/iphone/hyperloop/6.0.1/hyperloop.xcframework/ios-arm64_x86_64-maccatalyst -F/Users/jvennemann/Library/Application\ Support/Titanium/modules/iphone/hyperloop/6.0.1/hooks/generate/templates -F/Users/jvennemann/Library/Application\ Support/Titanium/modules/iphone/hyperloop/6.0.1/hooks/node_modules/.bin -F/Users/jvennemann/Library/Application\ Support/Titanium/modules/iphone/hyperloop/6.0.1/hooks/node_modules/@babel -F/Users/jvennemann/Library/Application\ Support/Titanium/modules/iphone/hyperloop/6.0.1/hooks/node_modules/ansi-regex
This is a truncated message, it goes on and on for every subfolder in node_modules.

Comments

  1. Jan Vennemann 2020-10-01

    PR: https://github.com/appcelerator/titanium_mobile/pull/12146
  2. Sohail Saddique 2020-10-05

    FR #2 passed. Closing ticket.
  3. Sohail Saddique 2020-10-05

    Fix verified in SDK's 9.2.1.v20201002104158 and 9.3.0.v20201002103630

JSON Source