Today extension doesn't show up in a Swift app, but it does in a Objective C app.
What I did was to add a UILabel with some content on the storyboard for the swift and objective c apps.
It showed up when I ran the Objective C app, but not when I executed the Swift app.
Am I missing something here?
You can comment out the supplied init method.
// init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
// super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
// // Custom initialization
// }
This will allow your extension to run properly. The issue seems to be caused by differing initializer behavior between Swift and Objective-C. Removing the above initializer will inherit all of the required initializers from the superclass.
Found that solution on the apple developer forums for your reference.
Note: You may have to Clean and Build
your project after doing this before the changes will have any effect
The extension is actually crashing, with an error like:
fatal error: use of unimplemented initializer 'init(coder:)' for class 'com_blabla_blabla_MyTodayExtension.TodayViewController'
This indicates that another option would be to implement:
init(coder aDecoder: NSCoder!) {
super.init(coder: aDecoder)
// Custom initialization here
}
if you want to retain the ability to do custom initialization.
An app extension target must include the arm64 (iOS) or x86_64
architecture (OS X) in its Architectures build settings.
See Apple's documentation
Xcode6 is beta and this is a bug with it, you will have to wait for a new release.
The problem for me was that the extension's deployment target was set to a different version than my app's target. You should confirm the extension's target is set appropriately because it may target a different version.