Objective-C/iOS-是否可以将一个私有框架编译成另一个私有框架?
几个朋友已经在objective-c中创建了一些私有框架,我想创建自己的私有框架,使用他们发送给我的私有框架作为包装。这可能吗?我想把我的框架交给其他人,而他们却不知道他们在使用其他框架,因为我的框架利用了不同框架之间的所有共性,使执行某些操作更容易Objective-C/iOS-是否可以将一个私有框架编译成另一个私有框架?,ios,objective-c,frameworks,Ios,Objective C,Frameworks,几个朋友已经在objective-c中创建了一些私有框架,我想创建自己的私有框架,使用他们发送给我的私有框架作为包装。这可能吗?我想把我的框架交给其他人,而他们却不知道他们在使用其他框架,因为我的框架利用了不同框架之间的所有共性,使执行某些操作更容易 Framework A action 1 action 2 Framework B action 1 action 2 My framework action 1 chooses to use actio
Framework A
action 1
action 2
Framework B
action 1
action 2
My framework
action 1 chooses to use action 1 from either
framework provided by the data passed into the method
action 2 chooses to use action 2 from either
framework provided by the data passed into the method
所以,我发现这是一个代码签名问题。使用MyFramework的应用程序抛出错误,因为它没有对嵌套框架进行签名。为了做到这一点,您必须告诉使用MyFramework在构建阶段通过运行shell脚本对嵌套框架进行代码签名的应用程序:
pushd ${TARGET_BUILD_DIR}/${PRODUCT_NAME}.app/Frameworks/MyFramework.framework/Frameworks
for EACH in *.framework; do
echo "-- signing ${EACH}"
/usr/bin/codesign --force --deep --sign
"${EXPANDED_CODE_SIGN_IDENTITY}" --entitlements
"${TARGET_TEMP_DIR}/${PRODUCT_NAME}.app.xcent" --timestamp=none $EACH
done
popd
是的。到目前为止,您尝试了什么?您在哪里遇到问题?@Aminegm Awad我尝试只包含它而不公开标题,但在编译时,我会抛出错误,认为文件丢失。您必须导出标题。因此,无法隐藏标题?如果没有,他们会意识到它正在使用几种不同的其他框架吗?或者他们只是知道他们在使用我的?只要你想让用户有机会使用框架中的东西,你就必须在标题中显示声明。但是,为什么要隐藏它们?