Ошибка архива в Xcode 15 (невозможно прочитать файл по адресу «......)»IOS

Программируем под IOS
Ответить
Гость
 Ошибка архива в Xcode 15 (невозможно прочитать файл по адресу «......)»

Сообщение Гость »

Эта ошибка возникла при архивировании с помощью Xcode 15.0 ❌

Код: Выделить всё

unable to read the file at '/Users/username/Library/Developer/Xcode/DerivedData/ProjectName-evdaaakoxjwwlberzguzentcxrnd/Build/Intermediates.noindex/ArchiveIntermediates/Framework/BuildProductsPath/Release-iphoneos/FrameworkName.framework/FrameworkName'
Ошибка сборки в скрипте многоплатформенной сборки
Сообщение об ошибке
Сообщение об ошибке
Я могу запустить симулятор и устройство в Xcode 15.0. ✅

Я могу запустить симулятор, устройство и архив в Xcode 14.2. ✅
Проблема возникает только при архивировании с помощью Xcode 15.
Дополнительная информация:
  • Нет какао-стручков
  • Объектный проект
Вот Скрипт мультиплатформенной сборки в рамках

Код: Выделить всё

set -e

# If we're already inside this script then die
if [ -n "$RW_MULTIPLATFORM_BUILD_IN_PROGRESS" ]; then
exit 0
fi
export RW_MULTIPLATFORM_BUILD_IN_PROGRESS=1

RW_FRAMEWORK_NAME=${PROJECT_NAME}
RW_INPUT_STATIC_LIB="lib${PROJECT_NAME}.a"
RW_FRAMEWORK_LOCATION="${BUILT_PRODUCTS_DIR}/${RW_FRAMEWORK_NAME}.framework"

function build_static_library {
# Will rebuild the static library as specified
#     build_static_library sdk
xcrun xcodebuild -project "${PROJECT_FILE_PATH}" \
-target "${PROJECT_NAME}" \
-configuration "${CONFIGURATION}" \
-sdk "${1}" \
ONLY_ACTIVE_ARCH=NO \
BUILD_DIR="${BUILD_DIR}" \
OBJROOT="${OBJROOT}/DependentBuilds" \
BUILD_ROOT="${BUILD_ROOT}" \
SYMROOT="${SYMROOT}" $ACTION
}

function make_fat_library {
# Will smash 2 static libs together
#     make_fat_library in1 in2 out
xcrun lipo -create "${1}" "${2}" -output "${3}"
}

# Extract the platform (iphoneos/iphonesimulator) from the SDK name
if [[ "$SDK_NAME" =~ ([A-Za-z]+) ]]; then
RW_SDK_PLATFORM=${BASH_REMATCH[1]}
else
echo "Could not find platform name from SDK_NAME: $SDK_NAME"
exit 1
fi

# Extract the version from the SDK
if [[ "$SDK_NAME" =~ ([0-9]+.*$) ]]; then
RW_SDK_VERSION=${BASH_REMATCH[1]}
else
echo "Could not find sdk version from SDK_NAME: $SDK_NAME"
exit 1
fi

# Determine the other platform
if [ "$RW_SDK_PLATFORM" == "iphoneos" ]; then
RW_OTHER_PLATFORM=iphonesimulator
else
RW_OTHER_PLATFORM=iphoneos
fi

# Find the build directory
if [[ "$BUILT_PRODUCTS_DIR" =~ (.*)$RW_SDK_PLATFORM$ ]]; then
RW_OTHER_BUILT_PRODUCTS_DIR="${BASH_REMATCH[1]}${RW_OTHER_PLATFORM}"
else
echo "Could not find other platform build directory."
exit 1
fi

# Build the other platform.
build_static_library "${RW_OTHER_PLATFORM}${RW_SDK_VERSION}"

# If we're currently building for iphonesimulator, then need to rebuild
#   to ensure that we get both i386 and x86_64
if [ "$RW_SDK_PLATFORM" == "iphonesimulator" ]; then
build_static_library "${SDK_NAME}"
fi

# Join the 2 static libs into 1 and push into the .framework
#make_fat_library "${BUILT_PRODUCTS_DIR}/${RW_INPUT_STATIC_LIB}" \
#"${RW_OTHER_BUILT_PRODUCTS_DIR}/${RW_INPUT_STATIC_LIB}" \
#"${RW_FRAMEWORK_LOCATION}/Versions/A/${RW_FRAMEWORK_NAME}"

# Ensure that the framework is present in both platorm's build directories
#cp -a "${RW_FRAMEWORK_LOCATION}/Versions/A/${RW_FRAMEWORK_NAME}" \
#"${RW_OTHER_BUILT_PRODUCTS_DIR}/${RW_FRAMEWORK_NAME}.framework/Versions/A/${RW_FRAMEWORK_NAME}"

# Generate framework for each platform
cp -a "${BUILT_PRODUCTS_DIR}/${RW_INPUT_STATIC_LIB}" \
"${RW_FRAMEWORK_LOCATION}/Versions/A/${RW_FRAMEWORK_NAME}"
cp -a "${RW_OTHER_BUILT_PRODUCTS_DIR}/${RW_INPUT_STATIC_LIB}" \
"${RW_OTHER_BUILT_PRODUCTS_DIR}/${RW_FRAMEWORK_NAME}.framework/Versions/A/${RW_FRAMEWORK_NAME}"

# Combine generated frameworks into xcframework
rm -rf "${BUILT_PRODUCTS_DIR}/${RW_FRAMEWORK_NAME}.xcframework"
xcodebuild -create-xcframework -framework "${RW_FRAMEWORK_LOCATION}" -framework "${RW_OTHER_BUILT_PRODUCTS_DIR}/${RW_FRAMEWORK_NAME}.framework" -output "${BUILT_PRODUCTS_DIR}/${RW_FRAMEWORK_NAME}.xcframework"

# Copy the framework to the project's directory
ditto "${RW_FRAMEWORK_LOCATION}" "${SRCROOT}/${RW_FRAMEWORK_NAME}.framework"
ditto "${BUILT_PRODUCTS_DIR}/${RW_FRAMEWORK_NAME}.xcframework" "${SRCROOT}/${RW_FRAMEWORK_NAME}.xcframework"

# Copy the resources bundle to the project's directory
rm -rf "${SRCROOT}/${RW_FRAMEWORK_NAME}.bundle"
ditto "${BUILT_PRODUCTS_DIR}/${RW_FRAMEWORK_NAME}.bundle"  \
"${SRCROOT}/${RW_FRAMEWORK_NAME}.bundle"
Вот полный журнал сборки/ошибок:

https://gist.githubusercontent.com/zmkh ... chiveerror .log
Я пробую множество решений, которые могу найти, но все равно не могу добиться успеха.
Например, очистка производных данных, изменение сценария сборки, настройки сборки и т. д. .

Подробнее здесь: https://stackoverflow.com/questions/781 ... he-file-at
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»