Code

Askk | iOS Social Questions/Answers Application [XServer]

Askk | iOS Social Questions/Answers Application [XServer]

By
Cart 26 sales



Overview

Askk is a great solution for those who need to quickly build a mobile app where people can ask any question and get answers for free form the community









Description

Askk is a full-working template (UI + Source Code) where people can post, browse or edit questions and answers, help users who need to know something about any topic or just get answers to their own questions.
Users are also allowed to post anonymous questions/answers, report inappropriate content/users, like and dislike answers, and share questions to social network apps, email, and SMS.

The Admin can daily check the database for reported content or users and take action for it, as well as manually edit data in the Database.

The design is clean, code is commented and project folders and files are well organized in the package.

• Check out the Features section below to see what this app does.
Read the online Documentation to learn how to configure the template’s features and the database.
• Check out the Demo Database, login as:
Username: demo
Password: demo
• Keep an eye to the Change Log on the bottom of this page when an update gets released.


Backend

The backend of this template is XServer, so you can either buy the XServer REST API an install it on your own VPS server, or create an account on XServer.app and a Database for this app.
After performing the configurations mentioned below, you will run the app and see no content, so Sign Up with a test user in order to create a test account and start testing the app.
NOTE: in case you want to implement your own backend to this template, you do not need to buy the XServer API, nor create an account on XServer.app, but please be aware that implementing a different backend to this template must be performed by you or your developers.

Extended License

As per Envato Marketplace Terms, the Extended License applies to all applications that charge money to their users. In case your users will not be charged of money through your own version of this app, you can still buy it under a Regular license.
Therefore, you must buy this template under and Extended License if your plans are either one or more of the following:
  • Add In-App Purchase or any other Payment Gateway in the source code and publish the app for free on the App/Play Store – NOTE: If you want to publish your own version of this application for FREE only, then you can still buy it under a Regular License.
  • Publish this application as a PAID app on the App Store.
  • Transfer the live app of your own verison of this app on the App/Play Store to another owner by selling your ownership on flippa.com or similar marketplaces.
IMPORTANT: You ARE NOT allowed to sell or share the original source code of this template anywhere due to copyright infringement

Features

iOS Swift language – Native Xcode project – Edit the template as you wish with the power of Xcode and Swift.

Storyboard, iOS 11.0 and above, Universal – Run your app on all iOS devices

Backend with XServer – Built on a great and reliable BaaS that offers many features with just a few clicks, it’s super easy to create and set up a database on XServer.app, as well as use the XServer REST API hosted on your VPS server.

Browse and post Questions or Answers – Users are free to ask questions based on several categories, unlimited times. They can answers to any question, even anonimously

Search questions by keywords – Use the top search field to search for posts by typing desired search terms

Filter Questions by Trending, Latest and not answered yet, or by choosing a category – The top scrolling bar displays the category buttons to show questions based on selection in the Home screen

Report inappropriate Users or Content – People can help the Admin by reporting abusive posts or users, this is a good feature to build a stable and reliable community

Profile screen with avatar images – The account screen makes you know who’s in the community

Edit profile with Name, Username, Email, etc – Edit your profile and show people your identity, make yourself trustworthy

Set the Best Answer in a Question’s details page – The question’s owner can do that. This option gives the community the chance to quickly find good answers in the app

Notifications screen – Check out who liked or sent you an answer. if you tap a row you’ll be redirected to the user’s profile screen

Terms of Use and Privacy Policy HTML file (GDPR compliant) – The template contains a ‘tou.html’ file the Admin can edit to display his Terms of Service to the app’s folks.

Push Notifications – Users will receive notifications for likes and new answers

Google Sign in – People can quickly sign with their Google account from the Intro page.

AdMob Interstitial ads – Get some revenue from full-screen advertisement banners

Modern, clean design – The UI has been carefully crafted to offer the best user experience to your clients.

Online Documentation – Read the extensive guide of this template to be able to configure it properly.

PSD icons included in the package – App and buttons icons are stored into a PSD folder, for easy image replacement.


Requirements

The latest official version of Xcode – Beta versions of an IDE usually never work 100% properly, and the code of this app has been written using the latest official version of Xcode and you can download it from the Mac App Store. You must use it and avoid Betas.

An Apple Mac computer, updated to its latest OS version – It’s always good to keep your macOS up to date, technology keeps growing and I follow its changes, as well as updating my templates every time a new OS gets released.

An Apple Developer Account with an active iOS Development Program – This is needed for you to publish apps on the iTunes App Store. You can still edit this template on code without that account, but you won’t be able to run it on your real iOS device since you’ll need a Team ID.

Basic knowledge of Xcode and Swift language – You don’t need to be a skilled or professional developer, anyway it’s recommended to have at least the basic knowledge of what you’re dealing with, in order to be able to customize this template and publish your applications on the App Store.

XServer API – You can either create an account and a Database on XServer.app, or buy the XServer REST API and host it into your own VPS server.

An active AdMob account – Unless you want to remove ads in this app, you need to sign up for an AdMob account to display them.

A real device to test the app before submitting it to the App Store – iOS Simulators may fail during tests, they are not reliable as a real device is, so I strongly recommend you to always run this application on a real phone/tablet. This is also suggested by Apple’s official Guidelines.

Change log

May 5, 2021

- Added the following keys and descriptions in the 'Info.plist' file:
  • Privacy - Tracking Usage Description
** Here's a screenshot for your reference: https://i.postimg.cc/156kd2jc/att-infoplist.png **

- Imported these frameworks in the 'XServerSDK.swift' file:
  import AppTrackingTransparency
  import AdSupport

- Added the 'requestATTPermission()' function in the 'XServerSDK.swift' file
- Called that function into the 'viewDidLoad()' function of the 'Home.swift' file:
    requestATTPermission()

April 20, 2021

- Updated the AdMob framework files to version 8.3.0 (in the Frameworks folder)
- Edited the 'fireInterstitialAd()' function in the 'XServerSDK.swift' file

February 8, 2021

- Edited the 'XSSignUp()' and 'XSObject()' functions in the 'XServerSDK.swift' file, in order to get an aray of parameters and perform better
- Added 2 more extensions in the 'XServerSDK.swift' file
- Edited all the 'let params' and 'var params' arrays in all the Swift files where they are present, in order to match the new code of the SDK and allow you to save the '&' character in a String column of your database.

January 30, 2021

- Edited the 'XSCurrentUser()' and 'XSGetPointer()' functions in the 'XServerSDK.swift' file

September 25, 2020

- Updated to Xcode 12
- Moved this line out if its IF statement in the 'QuestionScreen.swift' file:
    DEFAULTS.set(adCount, forKey: "adCount")

September 11, 2020

- Edited the 'XSObject()' function in the 'XServerSDK.swift', now it can retrieve the saved data as a JSON object, so it can be used within the saving function
- Edited all the calls of the 'XSObject()'' function in the swift files where such call is present

July 27, 2020

** MAJOR UPDATE **
Replaced Parse Server with the XServer backend: https://xserver.app
Please read the Documentation and this page for more info

April 28, 2020

- Due to Apple's deprecation about UIWebView, I've updated the following files inside the 'Parse' folder:
    Parse.framework
    ParseFacebookUtilsV4.framework
    Bolts.framework
    FBSDKLoginKit.framework 
    FBSDKCireKit.framework 

- Removed the FBSDKShareKit.framework

** IMPORTANT** - If this is an UPDATE for you, you should perform the following steps:
- Open your old Xcode project and expand the 'Frameworks' folder from the files list menu on the left pane
- Select the framework files mentioned above and the FBSDKShareKit.framework too, right-click and select 'Delete' .-> Move to Trash, so those files will be removed from the 'Parse' folder
- Open the 'Parse' folder inside the updated project folder and copy all its files
- Open the 'Parse' folder inside your old project folder and paste them
- Select those files and drag them inside the 'Frameworks' folder from the files list menu on the left pane in Xcode, and click the 'Finish' button
- Clean the project and run the app, Xcode should give you a few errors:
    'FBSDKGraphRequest' has been renamed to 'GraphRequest'
    Cannot call value of non-function type 'ApplicationDelegate'
    'sharedInstance' has been renamed to 'shared'

So you can easily fix those errors by clicking on their red dots -> Fix button. Xcode will perform name changes for you.
Alternatively, you may compare your old 'AppDelegate.swift' and Intro.swift' files to the updated ones and perform the few code updates

April 23, 2020

- Updated the GoogleMobileAds framework files into the 'AdMob' folder: removed the old .framework files in the 'Frameworks' folder in Xcode and imported the new ones - this should fix the UIWebView warning message from Apple after submitting the app on the App Store

March 23, 2020

- Added a third-party swift file called "ImageScrollView.swift" in the Xcode project, downloaded here: https://github.com/huynguyencong/ImageScrollView
- Replaced the "imagePreview" UIIMageView in the 'QuestionScreen' controller in the Storyboard with a UIScrollView, and set its Class and Module to "ImageScrollView" in the Identity Inspector in Xcode
-  Declared that View as:
    @IBOutlet weak var imagePreviewScrollView: ImageScrollView! in the 'QuestionScreen.swift' file
- Edited the 'QuestionScreen.swift' file in order to make you able to zoom a full-screen image with a pinch gesture.

January 17, 2020

- Removed the appleButton View from the Storyboard, because Apple wants apps to use its default 'Apple Sign in Button', no custom and well-designed buttons.

- Edited the Intro.swift file by adding some code to programmatically create the 'Apple Sign in Button' into the 'viewDidLoad()' function, and by replacing:
    @IBAction func appleButt(_ sender: Any) {
with:
    @objc func appleButt() {

- Removed these lines too:
    @IBOutlet weak var appleButton: UIButton!
    appleButton.layer.cornerRadius = 22

January 13, 2020

- Added Apple Sing In button in the Intro controller of the Storyboard 
- Edited the Intro.swift file by adding the Apple Sing In code
- Added an 'apple_icon' ImageSet in the Assets.xcassets folder
- Edited the Login and SignUp controllers in the Storyboard and their relative swift files
- Replaced:
    vc.modalPresentationStyle = .overFullScreen
    present(vc, animated: true, completion: nil)
with:
    navigationController?.pushViewController(vc, animated: true)

in all those @IBAction functions that instantiate the "Intro" controller of the Home.swift, QuestionScreen.swift, Notifications.swift and Account.swift files. 

- Updated the online Documentation

December 23, 2019

- Updated the 'main.js' file to compile with the latest Parse Server 3.x version | Remember to update the Parse Server version of your app on back4app from the 'Manage Parse Server' section!


Support

For any support requests, please contact me through my Profile’s Contact Form

Rate my Work

Your support is always greatly appreciated, from comments to product’s reviews, so please click here to rate your purchases!
by
by
by
by
by
by