Catch The Monsters | iOS Universal Geolocation Game Template (Swift)

Catch The Monsters | iOS Universal Geolocation Game Template (Swift)

Catch The Monsters | iOS Universal Geolocation Game Template (Swift)

Both iOS and Android version can share the same Parse database by inserting the same App Id and Client Key strings in their Configs files

Feb 12th 2017
• We only changed Monsters images and the app icon, the code has not been edited at all, we just  got tired of the old monster images :)
Feb 1st 2017
• Added the necessary code to get the current location coordinates of a new user who signs up with Facebook in Login.swift
Jan 27th 2017
• Added Facebook Login button in the Login controller in Storyboard, and its relative code in Login.swift and AppDelegate.swift and Info.plist
• Updated the User Guide
• Added the following .framework files:
Jan 16th 2017
• Updated to XCode 8.2.1
• Updated GoogleMobileAds.framework and its relative code
• Added a method that will automatically create Monsters class at first startup in your own Parse Dashboard
• Updated the User Guide
Nov 3rd 2016
• Updated to XCode 8.1
• Removed all 'contView' UIViews from their ScrollViews, since Apple has fixed the bug in Storyboard.
Sep 30th 2016
• Added Privacy rules for Camera, Photo Library, Bluetooth and Calendars into Info.plist, required by Apple for App Store submission, check this screenshot:
Sep 27th 2016
• Changed Push Notification into back4app Push console | Removed OneSignal
Sep 21st 2016
• Updated to Xcode 8
• We had to embed all the views that are in ScrollViews into a UIView called 'contView' in Storyboard, so the app will keep all layouts ok due to a bug of Xcode 8 on Autoresizing mask. 
You'll find this line of code into viewDidLoad() methods in the .swift files that have a ScrollView:
    contView.frame.size.width = view.frame.size.width
NOTE: Due to the bug on Xcode 8, every time you'll reopen your Xcode project, you will have to select those 'contView' UIViews and set their width to 320 by using the Size inspector panel on the right size
Aug 20th 2016:
• Added some code to get user's current location coordinates when he registers in the app (so in SignUp.swift). We've added this line of code into Configs.swift too:
   let USER_CURRENT_LOCATION = "currentLocation" 

So now when a new user signs up in your app, you'll get a new column in your Parse Dashboard called "currentLocation" and it will show you his coordinates, so if you daily check your dashboard you'll be able to quickly add some monster around new users area, no matter where they are.
• Updated GoogleMobileAds.framework to version 7.10.0
Aug 6th 2016:
• Unchecked Location updates in background from the Capabilities tab in XCode since it's not needed.
Aug 5th 2016:
* Accordingly to new EULA terms by Apple, we had to remove the email textFields in the SignUp.swift and Account.swift files and their relative controllers in Storyboard: Apple doesn't want users to register emails in this kind of app, so we also had to remove the Forgot Password feature because it works only if you provide a valid email address.
PS: if this makes you disappointed, just complain with Apple and their strict rules about security, we have nothing to do with that :)
• Fixed a crash in MonstersCatched.swift, an alert will popup in case you haven't catched at least 1 Monster and it won't crash
Aug 3rd 2016:
• Optimized Nearby.swift file by adding a noMonstersLabel behind the collectionView and edited some code into queryMonstersNearby(), in order to avoid the Alert to pop up too many times.
Aug 2nd 2016:
• Fixed a small issue in TopTen.swift file, cellForRowAtIndexPath() method, so now the app doesn't crash anymore.
• Changed:
      let USER_USERNAME = ?avatar" 
    let USER_USERNAME = "username" 
into Configs.swift file, so no more crash while entering the Account screen.

Catch The Monsters is a Universal Geolocation Game Template where you have to find monsters around your area, and if the app finds them you must get closer to them (at least 50 meters) and catch them to earn points and climb the Top 10 Leaderboard, or just share your statistics on social networks, Mail and SMS.
As the Admin of the app, you have to insert as many Monsters as you want in any location of the world into your Parse Dashboard, so users who access the app can search for Monsters around their areas, and if they are there, User can tap on a Monster and get its position on the Map. You can easily insert Monsters’ coordinates, name and points via the Parse Dashboard, everything is explained in the User Guide included in the package.
The embedded Map gives you the possibility to trace a route to get from your current position to the Monster’s one.

TIP FOR TESTING AND PUBLISHING:You should create some Monster around your current area and use a real device to test this app, so you can walk or drive towards those monsters and catch them.
Please also note that once you catch a Monster, it gets removed from the Monsters class in your Parse Dashboard, otherwise other Users may catch the same Monsters you’ve catched in a specific area, so you should daily check your Dashboard to add new Monsters and keep the game alive.
It’s a big challenge that may amaze your users anywhere they are, or just in a specific Country, because you may place Monsters in a chosen Country and publish your own version of this app to that Country’s App Store only, then buy another License on this page, localize Monsters in another Country and publish a new app, and so on.
Another great thing you (Admin) can do is to use Push web console on back4app to send Push Notifications to all registered devices. For instance, let’s pretend you’ve added new Monsters in a the New York area, you can send a notifications to your users like “New Monsters got in New York City last night, catch them all!”, and keep your users wanting to play the game!

Since its backend is by Parse you don’t have to buy any domain/hosting, there are NO php files to upload to a web server so you’ll save some money for sever side.
You’ve probably also read that Parse is shutting down on next year, but it’s only its hosting service that will be gone, not the Parse SDK, so that’s why we’ve hosted it on back{4}app.

Catch The Monsters is a native XCode project, Swift language, Storyboard, Universal, super easy to customize, backend with Parse SDK hosted on

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

  • XCode 8.x – Swift – 64bit
  • iOS 8/9/10+ – Universal – Storyboard
  • Admob banners
  • Facebook login
  • Backend with Parse SDK hosted on back{4}app
  • Push Notifications via Push web console on back4app
  • Place Monsters anywhere in the world by inserting their GPS coordinates in your Parse Dashboard
  • Find nearby Monsters and catch them by going close to them in the Map
  • Trace route to Monsters in the Map
  • Statistics and caught Monsters list
  • PDF User Guide and PSD included
  • Easy to customize | Well commented code

Have fun with Catch The Monsters, and don’t forget to rate it on your Downloads page!

We’ve 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 App Store (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.