Swift Package binary framework issue

When adding a Swift Binary Package to an Xcode project that also have an extension the binary package will be copied both to the Plugins folder and the Frameworks folder.

This happen on Xcode 12.1 and earlier.

My project build settings does not contain anything that copies the frameworks to the Plugins folder.

Is there a known workaround to solve this?.

Many thanks.

I have crated a bug report regarding this issue containing a sample project to reproduce the bug SR-13840.

3 Likes

This is also happening to me and is preventing me from deploying to Itunes. I get a Transporter Error:

[04:36:09]: [Transporter Error Output]: ERROR ITMS-90680: "Invalid directory. The bundle Payload/BinarySPMTest.app/PlugIns/Binary.framework is not contained in a correctly named directory. It should be under "Frameworks"."
[04:36:09]: [Transporter Error Output]: ERROR ITMS-90685: "CFBundleIdentifier Collision. There is more than one bundle with the CFBundleIdentifier value 'com.test.binary' under the iOS application 'Test.app'."
[04:36:09]: [Transporter Warning Output]: WARNING ITMS-90806: "CFBundleIdentifier collision. Each bundle must have a unique bundle identifier. The bundle identifier 'com.test.binary' is used in the bundles '[Payload/BinarySPMTest.app/Frameworks/Binary.framework, Payload/BinarySPMTest.app/PlugIns/Binary.framework]'"
[04:36:10]: Transporter transfer failed.

I was able to remove the frameworks in the PlugIns folder via a Run Script build phase (specify the path to each framework in input files - $(BUILT_PRODUCTS_DIR)/$(PLUGINS_FOLDER_PATH)/Binary.framework):

#!/bin/bash

COUNTER=0
while [ $COUNTER -lt "${SCRIPT_INPUT_FILE_COUNT}" ]; do
    tmp="SCRIPT_INPUT_FILE_$COUNTER"
    FILE=${!tmp}

    echo "Removing $FILE"
    rm -rf "$FILE"
    let COUNTER=COUNTER+1
done
Terms of Service

Privacy Policy

Cookie Policy