Мы создали Framework в Objective c, это отлично работает.
По нижеуказанным простым шагам для создания Framework
1) Создайте новый каркас как,
В xcode выберите
file =>New =>Project =>cocoatouchframework =>Next =>GiveframeworkName =>Create
2) Добавьте файлы .h и .m в проект, который используется для создания Framework.
3) Добавьте файлы в Public Headers на этапах сборки, этот файл будет отображаться в вашей структуре.
4) Нажмите наимя проекта DemoFramework , затем нажмите кнопку + , затем выберите
Cross-platform =>Aggregate
5) Добавить скрипт запуска
6) Добавьте приведенный ниже код в сценарии запуска для агрегирования (пометки) iPhone и каркаса симулятора.
# ============Script Start==============
if [ "${ACTION}" = "build" ]
then
# Set the target folders and the final framework product.
INSTALL_DIR=${SYMROOT}/DemoFramework.framework
DEVICE_DIR=${SYMROOT}/Debug-iphoneos
SIMULATOR_DIR=${SYMROOT}/Debug-iphonesimulator
# Create and renews the final product folder.
mkdir -p "${INSTALL_DIR}"
rm -rf "${INSTALL_DIR}"
rm -rf "${INSTALL_DIR}/DemoFramework"
# Copy the header files to the final product folder.
ditto "${DEVICE_DIR}/DemoFramework.framework/Headers"
"${INSTALL_DIR}/Headers"
# Copy the info.plist file to the final product folder
ditto "${DEVICE_DIR}/DemoFramework.framework/info.plist"
"${INSTALL_DIR}"
# Copy the ResoureBundle.bundle file to the final product folder
ditto "${DEVICE_DIR}/DemoFramework.framework/ResourceBundle.bundle"
"${INSTALL_DIR}/ResourceBundle.bundle"
# Use the Lipo Tool to merge both binary files (i386 + armv6/armv7)
into one Universal final product.
lipo -create "${DEVICE_DIR}/DemoFramework.framework/DemoFramework"
"${SIMULATOR_DIR}/DemoFramework.framework/DemoFramework" -output
"${INSTALL_DIR}/DemoFramework"
fi
# ============Script End==============
7)Теперь создайте проект в три этапа
1) Сборка для устройства iPhone.
Вы увидите, что для устройства iPhone создан каркасрасположение каркаса показано в производных данных проекта, как показано ниже.
2) Сборка для симулятора.
Вы увидите, что каркас создан для симулятора, а расположение каркаса показано в производных данных проекта, как показано ниже.
3) Это последний шаг кСоздайте фреймворк, выберите Aggregate in build option и создайте приложение, см. снимок экрана, как показано ниже.
Наконец, ваш фреймворк создан, используйте этот фреймворк в любом приложении. Расположение фреймворка находится в производных данных, как показано ниже.
Надежды, что эти простые шаги помогут кому-то создать структуру в цели C.