我的iOS 8框架是否需要自己的代码签名才能进行分发?

bro*_*deo 14 xcode ios

我正在尝试将我的iOS 8应用程序上传到应用程序商店以进行分发.我的应用程序包含使用Xcode 6创建的框架.我从上传工具中收到以下配置文件错误.

"错误ITMS-90161:无效的供应配置文件.包com.auraishere.AuraClient [Payload/hipgroup.app/Frameworks/AuraCore.framework]中包含的供应配置文件无效.缺少代码签名证书."

归档工作正常,我正在为目标和项目使用新创建的分发证书和配置文件.app id特定于包名称,而不是通配符.

该框架使用不同组织的开发证书成功编译在单独的框架项目中.我是否需要使用该组织的分发证书进行编译,或者这不是必需的?

我有一个脚本,使用lipo工具创建一个胖二进制文件,以支持多个体系结构,并将胖二进制文件复制到我的应用程序的项目文件夹.我不认为这是问题,但我已将其包括在内.

# define output folder environment variable
UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/${CONFIGURATION}-universal

# Build framework for iPhoneOS
xcodebuild -target AuraCore ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos  BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}"

# Build framework for iPhoneSimulator
xcodebuild -target AuraCore -configuration ${CONFIGURATION} -sdk iphonesimulator -arch i386 BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}"

mkdir -p "${UNIVERSAL_OUTPUTFOLDER}"

# Build the universal library
lipo -create -output "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}" "${BUILD_DIR}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework/${PROJECT_NAME}" "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${PROJECT_NAME}.framework/${PROJECT_NAME}"

# Copy the .framework folder of iphoneos
cp -R "${BUILD_DIR}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework" "${UNIVERSAL_OUTPUTFOLDER}/"

# Delete the library for iphoneos
rm "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}.framework/${PROJECT_NAME}"

# Move the Universal Library into our framework
mv "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}" "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}.framework/"

# Copy the framework
cp -R "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}.framework" "${PROJECT_DIR}"
rm -Rf "${PROJECT_DIR}/../../aura-ios-demo/{PROJECT_NAME}.framework"
cp -Rf "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}.framework" "${PROJECT_DIR}/../../aura-ios-demo"

if [ -d "${PROJECT_DIR}/../../concierge" ]; then
    echo "dir exsits"
# Copy the framework
cp -R "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}.framework" "${PROJECT_DIR}"
rm -Rf "${PROJECT_DIR}/../../concierge/{PROJECT_NAME}.framework"
cp -Rf "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}.framework" "${PROJECT_DIR}/../../concierge"
fi
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激.谢谢.

ing*_*ham 5

关于这个开发者论坛帖子:“框架确实需要代码签名,但 Xcode 会为你处理这个问题。他们不需要任何额外的配置文件或应用程序 ID 来运行。为了使用它们,你唯一需要做的就是以确保在构建过程中使用额外的构建阶段正确复制它们。”

在构建阶段是否选中了“Code Sign On Copy”框?

在此处输入图片说明

  • 如果我不想强制代码签名,因为我收到了一个已经签名的 3rd 方框架怎么办?如果所有代码都没有以相同的身份签名,iTunes 连接似乎会拒绝二进制文件。 (3认同)