Objective-C method conflicts with optional requirement method Swift Objective-C method conflicts with optional requirement method Swift ios ios

Objective-C method conflicts with optional requirement method Swift


I'm not sure exactly why the compiler is throwing the error, however I do see a difference in the default Swift version of those same methods. Perhaps you could replace the function declaration with those created with a normal Swift project:

1

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool

2

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool

I'd recommend replacing your method declarations with the above to see if it compiles now.


EDIT 1 (9/21/2015): I've confirmed these are now up to date for Xcode 7's public release. They removed the optional (annotation: AnyObject?) and made it (annotation: AnyObject), in declaration #2.


The type of the launchOptions parameter of the didFinishLaunchingWithOptions function was changed in XCode 6.3:

"launchOptions: NSDictionary?" has become "launchOptions: [NSObject: AnyObject]?"

Just change your function header to match the following:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool


You should also make sure you are using the correct type. Use String instead of NSString.