Конфликт названий Swift и Objective-C при использовании основной графики

С Xcode 6.1 я внезапно получаю эту ошибку.

/...-Bridging-Header.h:5:2: note: in module 'CoreGraphics' imported from /...-Bridging-Header.h:5:
@import CoreGraphics;
 ^

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.1.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGGeometry.h:271:1: error: definition with same mangled name as another definition CGPointMake(CGFloat x, CGFloat y)

Это происходит только тогда, когда я вызываю CGPointMake из своего класса swift. Класс swift использует класс target-c, импортированный в заголовок моста, который импортирует основную графику.

Я очистил кеш модуля и все производные данные и перезапустил его на всякий случай. Если это не ошибка в кеше модуля, а основные графические функции определены в двух местах, я не знаю, как с этим справиться, кроме «просто не используйте этот файл Objective-C», что я и делаю. Тем временем мы сделали, чтобы обойти это :/


person jackslash    schedule 21.10.2014    source источник


Ответы (1)


Не используйте CGPointMake в Swift:

let point = CGPoint(x: 123, y: 456)
person fluidsonic    schedule 22.10.2014
comment
Благодарю вас! иногда простые вещи сбивают с толку! - person jackslash; 22.10.2014