Multipeer connectivity is something that used to be awfully hard, but in iOS it's less than 150 lines of code to produce this entire app – and over half of that is code for the collection view and the image picker!
The advantage it has compared to traditional data sharing over Wi-Fi is that multipeer can use an existing Wi-Fi network, or can silently create a new Wi-Fi network or even a Bluetooth network depending on what's available. All this is an implementation detail that Apple solves on your behalf.
If you'd like to take this project further, add a button that will show a table view listing the names of all devices currently connected to the session. You could also try sending text messages across the wire – there's a
data(using:) method for strings that converts a string to
Data. Use it with the parameters
String.Encoding.utf8 to ensure everything is sent safely.
You finished another project, and I'm glad Hacking with Swift helped you. Now I need your help. Please take just a moment out of your day to tell others about Hacking with Swift so they can benefit too.
You can click below to post a tweet straight to this project. Or if you're feeling particularly generous, you can click here to link to Hacking with Swift on your website and help spread the word.
Thank you. Your support is what keeps me going!
Paul Hudson is the creator of Hacking with Swift, the most comprehensive series of Swift books in the world. He's also the editor of Swift Developer News, the maintainer of the Swift Knowledge Base, and Mario Kart world champion. OK, so that last part isn't true. If you're curious you can learn more here.
Hacking with watchOS
Transfer your Swift skills to watchOS the easy way, and learn to build real-world apps in the process!