【发布时间】:2015-03-08 05:28:49
【问题描述】:
使用 Xcode 6 或更高版本构建的 iOS 应用程序允许在其中嵌入动态 iOS 框架。我正在构建一个共享框架并想嵌入一个子框架。我怎样才能做到这一点?
注意:这是可能的,并且正在在生产中使用(例如,CocoaPods 中的 Swift 框架)。 p>
【问题讨论】:
标签: ios xcode cocoa dynamic frameworks
使用 Xcode 6 或更高版本构建的 iOS 应用程序允许在其中嵌入动态 iOS 框架。我正在构建一个共享框架并想嵌入一个子框架。我怎样才能做到这一点?
注意:这是可能的,并且正在在生产中使用(例如,CocoaPods 中的 Swift 框架)。 p>
【问题讨论】:
标签: ios xcode cocoa dynamic frameworks
找到答案。以下是它的完成方式:
粘贴以下内容:
cd $BUILT_PRODUCTS_DIR
mkdir $PROJECT_NAME.framework/Frameworks &>/dev/null
for framework in *.framework; do
if [ $framework != $PROJECT_NAME.framework ]; then
cp -r $framework $PROJECT_NAME.framework/Frameworks/ &>/dev/null
fi
done
【讨论】:
@Vatsal Manot 的回答对我很有帮助。我对其进行了一些修改,并且还需要对复制的嵌入式框架进行签名。我的脚本在下面。
cd $BUILT_PRODUCTS_DIR/$PRODUCT_NAME.app/Frameworks/Custom.framework/Frameworks
for framework in *.framework; do
mv $framework $BUILT_PRODUCTS_DIR/$PRODUCT_NAME.app/Frameworks/
/usr/bin/codesign --force --sign "iPhone Developer" --preserve-metadata=identifier,entitlements --timestamp=none $BUILT_PRODUCTS_DIR/$PRODUCT_NAME.app/Frameworks/$framework
done
【讨论】:
要创建包含子框架的 Umbrella 框架,您可以按照此处记录的分步指南进行操作:Umbrella framework
【讨论】: