https://swift.org/migration-guide-swift4/ Using two Swift Package Manager manifest files: https://github.com/realm/SwiftLint/blob/0.23.0/Package.swift https://github.com/realm/SwiftLint/blob/0.23.0/Package%40swift-4.swift Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
Oct 09, 2017•22 min•Ep 33•Transcript available on Metacast Measuring Swift compile times in Xcode 9: https://www.jessesquires.com/blog/measuring-compile-times-xcode9/ Profiling your Swift compilation times: http://irace.me/swift-profiling Guarding Against Long Compiles: http://khanlou.com/2016/12/guarding-against-long-compiles/ Type checker performance tests: Directory: https://github.com/apple/swift/tree/master/validation-test/Sema/type_checker_perf PR: https://github.com/apple/swift/pull/11494 Mailing list discussions: Ben Asher: https://lists.swift.o...
Oct 02, 2017•25 min•Ep 32•Transcript available on Metacast Friday Q&A: https://mikeash.com/pyblog/friday-qa-2017-09-22-swift-4-weak-references.html Leave a review on iTunes: https://itunes.apple.com/us/podcast/swift-unwrapped/id1209817203?mt=2 Chat with us at: http://spectrum.chat/specfm/swift-unwrapped
Sep 25, 2017•31 min•Ep 31•Transcript available on Metacast iPhone X keynote + GM seeds for Xcode 9, Swift 4 Synthesizing Equatable and Hashable: https://github.com/apple/swift-evolution/blob/master/proposals/0185-synthesize-equatable-hashable.md Sourcery: https://github.com/krzysztofzablocki/Sourcery Improved pointers: https://github.com/apple/swift-evolution/blob/master/proposals/0184-unsafe-pointers-add-missing.md Notes from Ted Kremenek LibDispatch correction: https://twitter.com/pedantcoder/status/904951873483956225...
Sep 18, 2017•33 min•Ep 30•Transcript available on Metacast Swift.org blog post on Swift Local Refactoring: https://swift.org/blog/swift-local-refactoring/ Clang-based refactoring engine: http://lists.llvm.org/pipermail/cfe-dev/2017-June/054286.html Adding indexing support to Clangd: http://lists.llvm.org/pipermail/cfe-dev/2017-May/053869.html Small PR demonstrating implementing a refactoring action to simplify long number literal format: https://github.com/apple/swift/pull/11711 SR-5746: https://bugs.swift.org/browse/SR-5746 All Swift refactoring action...
Sep 11, 2017•33 min•Ep 29•Transcript available on Metacast Please take a minute to leave a review on iTunes and join us on Spectrum chat if you'd like to discuss the show. Concurrency manifesto: https://gist.github.com/lattner/31ed37682ef1576b16bca1432ea9f782 Tweet from Chris: https://twitter.com/clattner_llvm/status/898310296183357441 Ted Kremenek's email: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170814/038891.html Chris's email: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170814/038892.html Async/Await propos...
Sep 04, 2017•1 hr•Ep 27•Transcript available on Metacast Mailing List: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170807/038645.html Swift Evolution Readme: https://github.com/apple/swift-evolution/blob/master/README.md Please take a minute to leave a review on iTunes (https://itunes.apple.com/us/podcast/swift-unwrapped/id1209817203) and join us on http://spectrum.chat/specfm/swift-unwrapped if you'd like to discuss the show.
Aug 28, 2017•35 min•Ep 28•Transcript available on Metacast ABI Stability Manifesto: https://github.com/apple/swift/blob/master/docs/ABIStabilityManifesto.md ABI Dashboard: https://swift.org/abi-stability ABI Docs: https://github.com/apple/swift/tree/master/docs/ABI Please take a minute to leave a review on iTunes (https://itunes.apple.com/us/podcast/swift-unwrapped/id1209817203) and join us on http://spectrum.chat/specfm/swift-unwrapped if you'd like to discuss the show.
Aug 21, 2017•26 min•Ep 26•Transcript available on Metacast Twitter thread on source stability discussion for episode 22: https://twitter.com/swift_unwrapped/status/892023116377075712 ABI Stability Manifesto: https://github.com/apple/swift/blob/master/docs/ABIStabilityManifesto.md ABI Dashboard: https://swift.org/abi-stability ABI Docs: https://github.com/apple/swift/tree/master/docs/ABI Mike Ash & Gwynne Raskind Friday Q&A 2014-08-08: Swift Name Mangling: https://mikeash.com/pyblog/friday-qa-2014-08-15-swift-name-mangling.html Please take a minu...
Aug 14, 2017•34 min•Ep 25•Transcript available on Metacast ABI Stability Manifesto: https://github.com/apple/swift/blob/master/docs/ABIStabilityManifesto.md ABI Dashboard: https://swift.org/abi-stability ABI Docs: https://github.com/apple/swift/tree/master/docs/ABI Swift memory layout (Mike Ash): Talk: https://news.realm.io/news/goto-mike-ash-exploring-swift-memory-layout/ Part 1: https://mikeash.com/pyblog/friday-qa-2014-07-18-exploring-swift-memory-layout.html Part 2: https://www.mikeash.com/pyblog/friday-qa-2014-08-01-exploring-swift-memory-layout-pa...
Aug 07, 2017•38 min•Ep 24•Transcript available on Metacast ABI Stability Manifesto: https://github.com/apple/swift/blob/master/docs/ABIStabilityManifesto.md ABI Dashboard: https://swift.org/abi-stability ABI Docs: https://github.com/apple/swift/blob/master/docs/ABI.rst
Jul 31, 2017•38 min•Ep 23•Transcript available on Metacast Bug of the week (sandboxing!): SR-549 , SR-5061 String newline escaping: SE-0182 Substring perf: SE-0183 String index overhaul: SE-0180 SPM c++ support: SE-0181...
Jul 24, 2017•27 min•Ep 22•Transcript available on Metacast Bug of the week: https://bugs.swift.org/browse/SR-4088 Ted’s email: https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20170605/004751.html Migrator: https://github.com/apple/swift/tree/master/lib/Migrator Migrating to Swift 4: https://swift.org/migration-guide/, https://help.apple.com/xcode/mac/current/#/deve838b19a1
Jul 17, 2017•29 min•Ep 21•Transcript available on Metacast Improvement of the week: https://github.com/apple/swift-package-manager/pull/1249 Ted’s email: https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20170605/004751.html Panel: https://news.realm.io/news/wwdc-2017-swift-panel/ Xcode 9b2 release notes: http://adcdownload.apple.com/Developer_Tools/Xcode_9_beta_2/Release_Notes_for_Xcode_9_beta_2.pdf Ole Begemman’s panel highlights: https://oleb.net/blog/2017/06/chris-lattner-wwdc-swift-panel/...
Jul 10, 2017•43 min•Ep 20•Transcript available on Metacast SipHash: https://github.com/lorentey/SipHash CryptoSwift: https://github.com/krzyzanowskim/CryptoSwift Result: https://github.com/antitypical/Result Commander: https://github.com/kylef/Commander SwiftyGPIO: https://github.com/uraimo/SwiftyGPIO Stencil: https://github.com/kylef/Stencil Sourcery: https://github.com/krzysztofzablocki/Sourcery SWXMLHash: https://github.com/drmohundro/SWXMLHash YamlSwift: https://github.com/behrang/YamlSwift Yams: https://github.com/jpsim/Yams swift-lsp (in progress)...
Jul 03, 2017•38 min•Ep 19•Transcript available on Metacast Testing Swift: https://github.com/apple/swift/blob/master/docs/Testing.rst Lit: LLVM Integrated Tester: http://llvm.org/docs/CommandGuide/lit.html SwiftCI: https://ci.swift.org Announcement: https://swift.org/blog/swift-ci/ Overview: https://swift.org/continuous-integration/ Docs: https://github.com/apple/swift/blob/master/docs/ContinuousIntegration.md Source Compatibility: https://github.com/apple/swift-source-compat-suite Smoke Testing Validation Testing Benchmarking Lint Testing Source Compat...
Jun 26, 2017•31 min•Ep 15•Transcript available on Metacast Error Handling: https://github.com/apple/swift/blob/master/docs/ErrorHandling.rst Rationale and Proposal: https://github.com/apple/swift/blob/master/docs/ErrorHandlingRationale.rst Swift 2.0 blog post: https://developer.apple.com/swift/blog/?id=29 Cocoa error handling: https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ErrorHandlingCocoa/ErrorHandling/ErrorHandling.html Typed throws vs not discussed in Swift Weekly Brief #68 and #51...
Jun 19, 2017•36 min•Ep 18•Transcript available on Metacast What should you expect with Swift 4? Some great new features and improvements. Ole's Swift 4 playground: https://oleb.net/blog/2017/05/whats-new-in-swift-4-playground/ Swift Evolution Proposal SE-0165: Dictionary and Set Enhancements Swift Evolution Proposal SE-0173: Add MutableCollection.swapAt(_:_:) Swift Evolution Proposal SE-0176: Enforce Exclusive Access to Memory Swift Evolution Proposal SE-0171: Reduce with inout Swift Evolution Proposal SE-0148: Generic Subscripts Swift Evolution Proposa...
Jun 12, 2017•31 min•Ep 17•Transcript available on Metacast What should you expect with Swift 4? Some great new features and improvements. Ole's Swift 4 playground: https://oleb.net/blog/2017/05/whats-new-in-swift-4-playground/ Swift Evolution Proposal SE-0172: One-sided Ranges Swift Evolution Proposal SE-0168: Multi-Line String Literals Swift Evolution Proposal SE-0163: String Revision: Collection Conformance, C Interop, Transcoding Swift Evolution Proposal SE-0178: Add unicodeScalars property to Character Swift Evolution Proposal SE-0169: Improve Inter...
Jun 05, 2017•26 min•Ep 16•Transcript available on Metacast SwiftPM iOS SwiftPM Cross-Compilation: https://github.com/apple/swift-package-manager/pull/1098 SwiftPM Xcode Better SwiftPM/Xcode integration: https://twitter.com/SmileyKeith/status/862444840008548352 Potential Package.swift support in Xcode Swift Refactoring in Xcode References to "Rename" actions in SourceKit from Xcode 8.3 https://twitter.com/simjp/status/848288462952316928 Swift Syntax Structured Editing Library: https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20170206/004...
May 29, 2017•28 min•Ep 14•Transcript available on Metacast Moving to Discourse, email from Ted: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170206/031657.html Nate Cook's Discourse experiment: http://discourse.natecook.com/ Slava tweets: https://twitter.com/slava_pestov/status/854490613575700480 https://twitter.com/slava_pestov/status/857382737669271552 Thank You Thanks to this episode's sponsor, Kobiton : complete mobile device lab solution. Start a 15 day free trial today at https://kobiton.com/swiftunwrapped....
May 22, 2017•27 min•Ep 13•Transcript available on Metacast Manifesto: https://github.com/apple/swift/blob/master/docs/OwnershipManifesto.md TL;DR: https://gist.github.com/Gankro/1f79fbf2a9776302a9d4c8c0097cc40e Graydon Hoare, Swift team member, creator of Rust: https://en.wikipedia.org/wiki/Rust_(programming_language) Some work has already landed to enforce exclusivity in Swift 4: https://github.com/apple/swift/pull/9373 https://github.com/apple/swift/pull/9198 https://github.com/apple/swift/pull/9112 Thank You Thanks to this episode's sponsor, BuddyBui...
May 15, 2017•29 min•Ep 12•Transcript available on Metacast SE-0168: Multi-line strings Proposal: https://github.com/apple/swift-evolution/blob/master/proposals/0168-multi-line-string-literals.md John Holdsworth (Injection4Xcode): https://twitter.com/Injection4Xcode Took just over 12 months to land: https://github.com/apple/swift/pull/2275 Final PR: https://github.com/apple/swift/pull/8813 Starter Bugs to improve diagnostics: https://bugs.swift.org/browse/SR-4701 Approval Post: https://lists.swift.org/pipermail/swift-evolution-announce/2017-April/000360....
May 08, 2017•48 min•Ep 11•Transcript available on Metacast String Manifesto: https://github.com/apple/swift/blob/master/docs/StringManifesto.md Chris Lattner on Swift 4 goals including String re-evaluation: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160725/025676.html Ole Begemann: Why String.CharacterView is not a MutableCollection: https://oleb.net/blog/2017/02/why-is-string-characterview-not-a-mutablecollection/ One for the Unicode Nerds: https://oleb.net/blog/2014/06/one-for-the-unicode-nerds/ Objc.io article on unicode: https:/...
May 01, 2017•39 min•Ep 10•Transcript available on Metacast SE-0166: Swift Archival & Serialization NSCoding: https://developer.apple.com/reference/foundation/nscoding http://nshipster.com/nscoding/ Swift Archival & Serialization: https://github.com/apple/swift-evolution/blob/master/proposals/0166-swift-archival-serialization.md ABI Stability Dashboard: https://swift.org/abi-stability/ SE-0167: Swift Encoders https://github.com/apple/swift-evolution/blob/master/proposals/0167-swift-encoders.md Semantics of Codable Types in Archives NSValueTransfo...
Apr 24, 2017•30 min•Ep 9•Transcript available on Metacast Access Control Roller Coaster First came the private/fileprivate change (SE-0025): https://github.com/apple/swift-evolution/blob/master/proposals/0025-scoped-access-level.md Then came open (SE-0117): https://github.com/apple/swift-evolution/blob/master/proposals/0117-non-public-subclassable-by-default.md For the last few weeks, a faction in the community has been proposing undoing it (SE-0159): https://github.com/apple/swift-evolution/blob/master/proposals/0159-fix-private-access-levels.md Wow. ...
Apr 17, 2017•38 min•Ep 8•Transcript available on Metacast Swift 3.1 Release Official Swift 3.1 release post: https://swift.org/blog/swift-3-1-released/ Swift 3.1 was first available on Swift for iPad, not macOS 🙀 https://twitter.com/stroughtonsmith/status/844451069228994560 Anna Zaks, program analysis at Apple: https://twitter.com/zaks_anna Visual Debugging with Xcode WWDC 2016: https://developer.apple.com/videos/play/wwdc2016/410/ ASAN: https://en.wikipedia.org/wiki/AddressSanitizer TSAN: https://clang.llvm.org/docs/ThreadSanitizer.html TSAN at WWDC ...
Apr 10, 2017•45 min•Ep 7•Transcript available on Metacast There's been a much stronger focus on calling ObjC from Swift than the other way around, but in this talk we'll cover both directions and the parts of the Swift language involved in the process. ObjC Interop Overview Nikita Lutsenko's talk: https://realm.io/news/altconf-nikita-lutsenko-objc-swift-interoperability/ NS_SWIFT_NAME NS_SWIFT_UNAVAILABLE NS_REFINED_FOR_SWIFT NS_SWIFT_NOTHROW NS_NOESCAPE NSEXTENSIBLESTRING_ENUM Nullability Annotations Generic Annotations ClangImporter (omit needless wo...
Apr 03, 2017•41 min•Ep 6•Transcript available on Metacast Swift has evolved since 1.x to have a fluctuating amount of magic/implicit bridging from ObjC and Foundation types, sometimes going in the opposite direction towards very explicit type conversions. We've started seeing more of what the "steady state" looks like as Swift 3.x/4.x development matures. In the early days, Swift users would need deep compiler internal implementation details to know which NSNumber-representable type could implicitly convert. As of SE-0139 that's a lot clearer...
Mar 27, 2017•40 min•Ep 5•Transcript available on Metacast Every Swift developer who has migrated code bases from Swift 1.x to 2.x, or even the more tedious 2.x to 3.x knows the pain of migrating to new Swift versions. In this episode, we cover: What is a source breaking change? Almost guaranteeing that code that compiles with Swift 3.0 continues to compile with Swift 3.x and even Swift 4.x in Swift 3 mode. Why almost? Because it may be best to prevent code that never should have compiled with Swift 3.0 (i.e. compiled due to egregious bugs in the compil...
Mar 20, 2017•30 min•Ep 4•Transcript available on Metacast