Buzz It | iOS Universal Public Audio Chat App (Swift)

Buzz It | iOS Universal Public Audio Chat App (Swift)

Buzz It | iOS Universal Public Audio Chat App Template (Swift)

Apr 30th 2017
• Added Facebook login button in Login controller and its relative code into AppDelegate.swift, Login.swift and Info.plist
• Updated the User Guide
• Added the Facebook SDK frameworks into the Frameworks folder in XCode
Apr 14th 2017
• Added this line into Record.swift -> prepareRecorder() method:
      AVFormatIDKey: Int(kAudioFormatLinearPCM),
This is because we're building the Android version and it supports that kind of audio format.
• Edited this line of code into Chats ->  sendAudioMessage():
      let audioFile = PFFile(name: "message.wav", data: audioData)
So now the app saves the audio message as .wav format in your Parse Dashboard, and the Android version will be able to play such file.
Apr 1st 2017
• Added this line of code into Configs.swift:
   let CHAT_ROOM_POINTER = "roomPointer" 
• In the didSelectItemAt() method in Rooms.swift, we had to remove theRoomName and pass the Room Object directly to the Chats.swift file, lie this:
    chatsVC.roomObj = roomsClass
• Since sometimes users may create rooms with the same name, we had to remove "theRoomName" variable in Configs.swift and use a roomObj. 
• Edited this line of code into the loadChats() method in Chats.swift:" 
    query.whereKey(CHAT_ROOM_POINTER, equalTo: roomObj)
• Added this romObj on the top of Chats.swift:
    var roomObj = PFObject(className: ROOMS_CLASS_NAME)
•  Edited Account.swift and Chats.swift.
If this is an update for you, you will have to compare your old swift files with the updated ones mentioned above and take action, then do the following:
1. run the app, enter a room and send a message
2. enter your Parse Dashboard -> ChatRooms class, you'll find a new column called roomPointer, this contains the objectId of the room where you've sent the message to. 
3. You have now to copy the objectId of each room in the Rooms class and paste it in the 'roomsPointer' field, based on the name of the Rooms that you can still see in the 'name' column.
Mar 6th 2016
• Added 3D Touch options in AppDelegate.swift to create a New Room and Share the app with 3D touch on the app icon
• Changed the Home screen cells into 2 cell=row by editing collectionViewLayout as it follows:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    return CGSize(width: view.frame.size.width/2 - 20, height: view.frame.size.width/2 - 20)
Feb 10th 2017
• Added some PFInstallation() code into the 'applicationDidBecomeActive()' function in AppDelegate.swift, in order to reset the app's badge icons to 0 
• Updated the User Guide with a new link for the APN .p12 certificates creation tutorial
Jan 15h 2017
• Added Push notifications for sent messages with Parse Push system: when a user sends a message in a chat room, the owner of such room will get notified with a Push Notification.
So we've edited AppDelegate.swift, Rooms.swift and Chats.swift files with the proper code to handle push notifications
• Updated the User Guide
• Placed the ad banners to the bottom-center of the screen
• Edited the fecthIfneeded() method in the cellForRowAtindexPath() method in Chats.swift, for better performance
• Added a timeAgoSinceDate() extension in Configs.swift and edited the code that gets date of a cell in cellForRowAtindexPath() method (still into Chats.swift file)
• Edited the didFinishPickingMediaWithInfo() delegate in Account.swift, now it automatically saves the avatar image, for better performances
Jan 10h 2017
• Updated to XCode 8.2.x | Updated GoogleMobileAds.framework and its code
• Edited Chats.swift to report messages instantly, not by email anymore, accordingly to the Apple EULA terms.

IMPORTANT: If this is an update for you, you must first add a new column of type 'Boolean' in the ChatRooms class in your Parse Dashboard, name it exactly as "isReported" and set all the empty fields of that column as 'False'. 
Then you can compare your Chats.swift file with the updated one and make changes, run the app and test the report feature.
Oct 29th 2016
• Updated to XCode 8.1
• Added Privacy Camera row in Info.plist
Mar 24th 2016
• Went back to Parse SDK hosted on back{4}app | removed CloudKit

Buzz It is a Universal App Template for who wants to provide a mobile audio chat service where users can post audio messages in public rooms or easily create their own rooms.

BuzzIt is written in Swift language, easy to customize, native XCode project, Parse SDK hosted on, Universal.

Need an html template to promote and showcase your own version of this app?

  • XCode 8.x project – Swift – 64bit
  • Universal – Storyboard – iOS 8/9/10+
  • AdMob banners
  • 3D Touch for quick options (iPhone 6+/7+ only)
  • Works with Parse SDK hosted on
  • Push Notifications for sent messages (the room’s owner will get a notification on every new message that has been sent in his/her room)
  • Easily create your own Rooms and browse the existing ones
  • Record your 10-sec message, replay and post it with just a tap
  • Settings screen implemented, where you can share the app and rate it on the App Store
  • Report inappropriate messages feature
  • Terms Of Use html page
  • PDF User Guide included
  • PSD graphics included
  • Easy to customize, well commented code

Have fun with Buzz It and don’t forget to rate it on your Downloads page if you like it!

Important Disclaimer: We’e recently found out that some developers have bought our app templates, reskinned them just a bit and put them on sale on other source code markets similar to CodeCanyon, saying that they developed and own such source codes.
That is a serious copyright infringement, developers who buy our templates are allowed to reskin and sell them as apps on the AppStore (accordingly to the License type they’ve purchased a template for), but are not allowed to put our original source codes for sale on source code markets, including CodeCanyon. We will report developers who made copyright infringements to the competent authorities. Thanks.