iosxcodexcode8build-settings

xcode add embedded binary with buildscript


I have been given a dynamic framework from a third party which does not compile on X86_64 based archs at linker stage due missing symbols, I have asked them repeatedly bundle this architecture with their framework, but they haven't been able to do so until now.

Now my question is the following, I can't find anyway to add the stage embedded binary stage using the build settings, how are the embedded binaries linked to the app during the build/linker process?

I know that if they do so, i might have to strip the arch from the framework, but it beats to not being able to compile the framework.


Solution

  • Thank you @RicardoDuarte; There is my script for both iPhone & simulator.

    Example_To=$BUILT_PRODUCTS_DIR"/"$PRODUCT_NAME".app/Frameworks/Example.framework/"
    Example_From=$PROJECT_DIR"/../out/Build/Products/"$CONFIGURATION$EFFECTIVE_PLATFORM_NAME"/Example.framework"
    
    mkdir -p $BUILT_PRODUCTS_DIR"/"$PRODUCT_NAME".app/Frameworks"
    cp -Rv $Example_From $Example_To
    
    if [[ $PLATFORM_NAME == 'iphoneos' ]]; then
        CODE_SIGN_IDENTITY_FOR_ITEMS="${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
    
        if [ "${CODE_SIGN_IDENTITY_FOR_ITEMS}" = "" ] ; then
            CODE_SIGN_IDENTITY_FOR_ITEMS="${CODE_SIGN_IDENTITY}"
        fi
    
        codesign --force --verbose --sign "${CODE_SIGN_IDENTITY_FOR_ITEMS}" $Example_To
    fi
    

    I also added path to framework

    $(PROJECT_DIR)/../out/Build/Products/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)

    to "Framework Search Paths" and "Header Search Paths", your's path and framework name can be different of course.