Я использую Xcode6 GM для создания Coacoa Touch Framework (новая функция в Xcode6), затем эта структура включена в мое приложение.
Все в порядке (отлично работает), за исключением того, что я получаю предупреждения в "#import". В чем причина?
Я использую Xcode6 GM для создания Coacoa Touch Framework (новая функция в Xcode6), затем эта структура включена в мое приложение.
Все в порядке (отлично работает), за исключением того, что я получаю предупреждения в "#import". В чем причина?
Я столкнулся с той же проблемой и в конечном итоге исправил ее, добавив заголовки проектов в заголовок зонтика. Когда вы создаете новую структуру, она должна начинаться с одного файла .h
, озаглавленного проектом (в вашем случае DirectProximityFramework.h
).
Внутри этого файла есть комментарий:
В этом заголовке вы должны импортировать все публичные заголовки своих используя выражения типа
#import <DirectProximityFramework/PublicHeader.h>
Поэтому просто добавьте файл GeofencingHelper.h
в этот файл:
#import <DirectProximityFramework/GeofencingHelper.h>
Это должно удалить все ваши предупреждения!
Возможно, вы можете остановить это предупреждение, добавив следующую строку в "DirectProximityFramework.h"
#import <DirectProximityFramework/GeofencingHelper.h>
... и т.д.
Я предлагаю проверить
[Target your framework] → Фазы сборки → Заголовки → Общие
Я столкнулся с этой проблемой, и все вышеперечисленные решения мне не подошли, поскольку файл не должен был находиться в заголовке зонтика.
Итак, если это ваша собственная структура и этот конкретный файл не должен находиться в заголовке зонтика, убедитесь, что он не помечен public
в разделе целевого членства.
Это исправило это для меня.
//В этом заголовке вы должны импортировать все публичные заголовки своей структуры с помощью таких утверждений, как
#import <GameworkSDK/GWObject.h>
вот так:
#import <UIKit/UIKit.h>
#import <GameworkSDK/GWObject.h>
//! Project version number for GameworkSDK.
FOUNDATION_EXPORT double GameworkSDKVersionNumber;
//! Project version string for GameworkSDK.
FOUNDATION_EXPORT const unsigned char GameworkSDKVersionString[];
У меня была эта проблема cocoa pods
мое решение было действительно простым, но навсегда потребовалось выяснить.
glhf!
У меня была такая же проблема, и мое решение было...
При создании проекта framework. Ваш проект автоматически создается файл yourProjectName.h. В этом заголовочном файле импортируется класс класса.
В моем случае я получаю missing submodule 'MSFramework.MSLocationManager' [-Wincomplete-umbrella]
это предупреждение.
разрешено просто импортировать
#import <UIKit/UIKit.h>
# import "MSLocationManager.h"
//! Project version number for MSFramework.
FOUNDATION_EXPORT double MSFrameworkVersionNumber;
//! Project version string for MSFramework.
FOUNDATION_EXPORT const unsigned char MSFrameworkVersionString[];
здесь я просто добавляю # import "MSLocationManager.h"
в заголовочный файл.
Задайте путь поиска заголовка в настройках проекта:
ЦЕЛИ/Настройки сборки/пути поиска заголовков "$ PODS_CONFIGURATION_BUILD_DIR/[YOUR PROJ NAME]/[YOUR PROJ NAME].framework/Headers"
Теперь импортируйте файл заголовка.
#import <DirectProximityFramework.h>
Если это не ваша структура и вам нечего делать, вы можете отключить предупреждение таким образом.
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wincomplete-umbrella"
#import <DirectProximityFramework/GeofencingHelper.h>
#pragma clang diagnostic pop
Обратите внимание - это не исправление, оно просто скрывает проблему.