<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 23, 2015 at 10:04 AM, Corinne Krych <span dir="ltr">&lt;<a href="mailto:corinnekrych@gmail.com" target="_blank">corinnekrych@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
&gt; On 23 Jan 2015, at 10:00, Matthias Wessendorf &lt;<a href="mailto:matzew@apache.org">matzew@apache.org</a>&gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Fri, Jan 23, 2015 at 9:30 AM, Corinne Krych &lt;<a href="mailto:corinnekrych@gmail.com">corinnekrych@gmail.com</a>&gt; wrote:<br>
&gt; Hello all,<br>
&gt;<br>
&gt; Yesterday I was discussing with Sebi about @objc and how you make a Swift class available in Objective-C<br>
&gt;<br>
&gt; Sebi has one issue, in its Swift protocol he wants to declare longitude/latitude Double and make them optional [1]. Because his protocol is swift only (not inheriting a Obj-c one) he uses @objc and this is when, compiler complains with “Property cannot be marked @objc because its type cannot be represented in Objective-C”.<br>
&gt;<br>
&gt; This issue is well-explain in this stack overflow thread [2]<br>
&gt; One work-around (the one used by Sebi) is to use NSNumber and make then optional.<br>
&gt;<br>
&gt; To echo that issue, yesterday Christos on this thread [3] gave the example of QueryKit which uses pod subspec coupled with some Objective-C re-write classes (seen as temporary) to bridge the gap Swift to Objective-C fro a Swift first library.<br>
&gt;<br>
&gt; As we’re talking about iOS7 support for our Swift libs there are 2 aspect of it:<br>
&gt; - support from obj-c code is one aspect<br>
&gt; - dynamic fwk support as expained in this thread [4] is another one…<br>
&gt;<br>
&gt; All in one, it makes me wonder if it’s worth it… all those hacks in Swift code.<br>
&gt;<br>
&gt; +1<br>
&gt;<br>
&gt; Maybe the option we used for ios-push lib i.e.: having obj-c and swift version of the lib would be a better approach.<br>
&gt;<br>
&gt; that means we need to code the missing parts on our other libs, like http or oauth, right ?<br>
&gt;<br>
&gt;<br>
<br>
<br>
</span>Yeap, OAuth2 will be a good one to start with…<br></blockquote><div><br></div><div>+1</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Part of it was already written in objc in 1.6.X code base. It’s based on AFNetworking for the http layer.<br>
Maybe we can keep using AFNet and no need to move ios-http to obj-c<br></blockquote><div><br></div><div>+1000</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
&gt;<br>
&gt; ++<br>
&gt; Corinne<br>
&gt; [1] <a href="https://github.com/sebastienblanc/helloworld-geo-ios/blob/master/UnifiedGeo%2FUnifiedGeo%2FAGClientDeviceInformation.swift#L46" target="_blank">https://github.com/sebastienblanc/helloworld-geo-ios/blob/master/UnifiedGeo%2FUnifiedGeo%2FAGClientDeviceInformation.swift#L46</a><br>
&gt; [2] <a href="http://stackoverflow.com/questions/26366082/cannot-access-property-of-swift-type-from-objective-c" target="_blank">http://stackoverflow.com/questions/26366082/cannot-access-property-of-swift-type-from-objective-c</a><br>
&gt; [3] <a href="http://aerogear-dev.1069024.n5.nabble.com/aerogear-dev-Parallel-support-for-a-Cocoapods-Swift-Obj-c-library-td10632.html" target="_blank">http://aerogear-dev.1069024.n5.nabble.com/aerogear-dev-Parallel-support-for-a-Cocoapods-Swift-Obj-c-library-td10632.html</a><br>
&gt; [4] <a href="http://aerogear-dev.1069024.n5.nabble.com/aerogear-dev-Swift-Frameworks-Static-libs-and-Cocoapods-tc8456.html" target="_blank">http://aerogear-dev.1069024.n5.nabble.com/aerogear-dev-Swift-Frameworks-Static-libs-and-Cocoapods-tc8456.html</a><br>
&gt; _______________________________________________<br>
&gt; aerogear-dev mailing list<br>
&gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Matthias Wessendorf<br>
&gt;<br>
&gt; blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
&gt; sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
&gt; twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a><br>
&gt; _______________________________________________<br>
&gt; aerogear-dev mailing list<br>
&gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
<br>
<br>
_______________________________________________<br>
aerogear-dev mailing list<br>
<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Matthias Wessendorf <br><br>blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a></div>
</div></div>