Is it possible to call Swift convenience initializer in Objective-C
<p>Say I have a convenience initializer in Swift:</p>

<pre><code>extension UIImage {
    convenience init?(bundleNamed name: String) {
        let bundle = NSBundle(forClass: Foo.self)
        self.init(named: name, inBundle: bundle, compatibleWithTraitCollection: nil)
    }
}
</code></pre>

<p>How might I call this in Objective-C? The following doesn't work:</p>

<pre><code>[UIImage bundleNamed:@"Bar"];
[[UIImage alloc] initWithBundleNamed:@"Bar"];
</code></pre>

<p>Do I need an additional class extension solely for Objective-C?</p>

<hr>

<p><strong>Solution</strong>: following Lasse's answer below, the steps I had to do were:</p>

<p>In the Objective-C classes implementation file, add </p>

<pre><code>#import &lt;ModuleName-Swift.h&gt;
</code></pre>

<p>then I had to delete derived data and rebuild. Then I was able to use the convenience initializer as follows:</p>

<pre><code>[[UIImage alloc] initWithBundleNamed: @"Bar"];
</code></pre>

<p>I didn't need to declare the initializer as <code>public</code> because the default level of <code>internal</code> was sufficient for my module.</p>