I used to build our dynamic frameworks for internal development using
xcodebuild -workspace <workspace_path> build -configuration "Release"
now that we are shipping frameworks to 3rd party developers we want to remove symbols from framework binary.
I noticed that using build
option the binary always contains the symbols, even if the project is configured with:
DEBUG_INFORMATION_FORMAT = dwarf-with-dsym
STRIP_INSTALLED_PRODUCT = YES
STRIP_STYLE = non-global
It seems that using archive
xcodebuild action the framework is generated with a binary without symbols and a separated dSYM file.
However the archive action produce an .xcarchive empty directory (in ~/Library/Developer/Xcode/Archives/<DATE>
)
The generated artifacts (binaries and dSYM) can be found in ~/Library/Developer/Xcode/DerivedData/<project_build_dir>/Build/Intermediates/ArchiveIntermediates/<framework_name>.framework/BuildProductsPath/Release-iphoneos
- Is it correct to use
archive
to build dynamic frameworks? - Shouldn't the artifacts be placed in the related .xcarchive?
- Are there other settings that could be used to properly place the generated artifacts in the .xcarchive?
- How do you usually build and distribute a dynamic framework?
----- EDIT: 6/9/2017 -----
- Are there other settings that could be used to properly place the generated artifacts in the .xcarchive?
- Shouldn't the artifacts be placed in the related .xcarchive?
After setting this:
Skip Install (SKIP_INSTALL) = NO
the .xcarchive is properly filled with binary dSYM and other stuff.
来源:https://stackoverflow.com/questions/46053496/xcodebuild-build-action-to-distribute-a-dynamic-framework-with-stripped-dsym