Embassy doesn't build with Xcode 9 Beta + Swift 3.2
patricks opened this issue · comments
If I try to build Embassy with the latest Xcode 9 Beta 4, I get the following error message:
KqueueSelector.swift:75:34: Cannot convert value of type 'Int32' to expected argument type 'UInt'
It looks like the Darwin.kevent()
method changed.
Added #37 that fixes this for Xcode 9
Any movement on this, would be great to be able to start using this with Xcode 9
bump
@patricks @kdubb @ccarranzaD3 @mattdeckard hey, sorry for long waiting guys, I was busy with other project. I am now back to this thing, will look int @kdubb's PR this week or next week, review and merge asap.
Thanks for @kdubb's help 👍
I am now back to this thing, will look int @kdubb's PR this week or next week, review and merge asap.
Thank you! I figured you didn't have time for this during the dev previews, so I came back now that 4.0 has been released :3
Thank you for coming back, Fang-Pen Lin. I use your project, but I (tried and) couldn't migrate it myself xD
@felix91gr @mattdeckard @ccarranzaD3 @kdubb @patricks
Embassy and Ambassador 4.0 are released with support for Swift 4.0. I think that would only support Xcode 9, as you can compile both Swift 3.2 and Swift 4 in the same project. But for Xcode 8, it probably won't work. However, as Embassy 3.0 and Ambassador 3.0 is targeting Xcode 8 environment, I don't see there is a reason to make a release for Swift 3.2, as you can always use Embassy / Ambassador 3.0 if you're still using Xcode 8.
If you are using Xcode 9 but mixed Swift 3.2 and Swift 4 dependencies, and mainly 3.2, you can modify your Podfile to make Embassy compile with Swift 4 like this
post_install do |installer|
installer.pods_project.targets.each do |target|
# Fakery is still using Swift 4.0
next if target.name != 'Embassy'
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '4.0'
end
end
end
Unless there is case cannot be covered with these, we probably will skip Swift 3.2 release, just keep going with Swift 4.