在框架中嵌入框架(iOS 8+)

时间:2015-01-09 19:59:19

标签: ios xcode cocoa dynamic frameworks

使用Xcode 6或更高版本构建的iOS应用程序允许在其中嵌入动态iOS框架。我正在构建一个共享框架,并希望嵌入一个子框架。我怎么能做到这一点?

注意:此 可能, 正在生产中使用(例如,使用CocoaPods中的Swift框架)。

3 个答案:

答案 0 :(得分:11)

找到答案。以下是它的完成方式:

  • 导航至目标> 构建阶段
  • 点击小" +"图标并选择"新运行脚本构建阶段"
  • 粘贴以下内容:

    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
    

答案 1 :(得分:6)

@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

答案 2 :(得分:2)

要创建包含子框架的Umbrella框架,您可以按照此处记下的分步指南进行操作:Umbrella framework