Photofeed | iOS Universal Social Photo feeds App Template (Swift)

Photofeed | iOS Universal Social Photo feeds App Template (Swift) Created by fvimagination. This templates have specific characteristics, namely: Photofeed has features such as Compatible With: Swift, Software Version: iOS 10.0.x, iOS 9.0.x, iOS 8.4.x, iOS 8.3.x, iOS 8.2.x, iOS 8.1.x, iOS 8.0.x .

You can use this Photofeed | iOS Universal Social Photo feeds App Template (Swift) on Mobile category for community, facebook, feeds, friends, instagram, parse, pictures, social, twitter and another uses.

Photofeed | iOS Universal Social Photo feeds App Template (Swift)
© Copyright by fvimagination

Main Features:

  • Video preview resolution: None
  • Software version: iOS 10.0.x, iOS 9.0.x, iOS 8.4.x, iOS 8.3.x, iOS 8.2.x, iOS 8.1.x, iOS 8.0.x
  • Compatible with: Swift
  • Files included: Layered PSD

Photofeed | iOS Universal Social Picture feeds App Template (Swift)

Sep 27th 2016* Changed Push Notification system to back4app push | Removed OneSignal

Sep 20th 2016* Added the possibility to delete an Activity by swiping left -> Delete on a cell* Fixed a layout bug on iPhone 6+ in the EditProfile controller in Storyboard* Now you can tap your own post in the Me screen and see it fully.* Added an AlertController that will recall the comments query in Comments.swift
Sep 18th 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.widthNOTE: 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
Sep 14th 2016• Added an if check for city cell's labels in Home.swift, SearchVC.swift, Me.swift and OtherUserProfile.swift, in the cellForRowAtIndexPath() methods, so the app won't crash if 'city' field in your Parse Dashboard is nil (undefined). This is the correction:    if postsClass[POSTS_CITY] != nil { cell.cityLabel.text = '(postsClass[POSTS_CITY]!)'     } else { cell.cityLabel.text = 'N/A' }? Improved search by keywords, so we've edited:a) SearchVC.swift file -> queryPosts() by adding an array of keywordsb) AddPost.swift -> postButton() by adding keywords for post's text. If this is an update for you, you need to do the following:1. post a test post with the app with a test user.2. Then enter your Parse Dashboard -> Posts class and search for the new generated 'keywords' column, at your new post's row you'll see something like this: ['i','been','in','london']3. You'll have now to manually add all keywords to the other empty (undefined) rows of the 'keywords' column by using the syntax above, so for instance if a post has 'this is a great shot' text into 'textLowercase' column, copy that text and format it like this: ['this','is','a','great','shot'] and paste it into the empty filed of that post. This is because the app can't do that on already created posts, of course.
Aug 28th 2016:• Accordingly to new EULA terms by Apple, we had to implement a 'Report User' feature too, so we've added the following lines into Configs.swift:   let USER_IS_REPORTED = 'isReported'    let USER_REPORT_MESSAGE = 'reportMessage'    let USER_PASSWORD_STRING = 'passwordString' and updated the SignUp.swift file -> signUpButt() method by adding:        userForSignUp[USER_PASSWORD_STRING] = passwordTxt.text        userForSignUp[USER_IS_REPORTED] = false• Edited queryPostsOfFollowing() method, in Home.swift, to check if a User has been reported and better loading all your posts.• Edited cellForRowAtIndexPath() into Me.swift, the SHOW MY LIKES section• Added the reportButton() method into OtherUserProfile.swift• Added this lines into loginButt() in Login.swift:       // Save passwordString       user![USER_PASSWORD_STRING] = self.passwordTxt.text       user!.saveInBackground()IMPORTANT: So, if this is an update for you, you will have to sign up with a test user (you'll remove it later), so the app will create the 2 columns needed for reporting a user in  the User class in your own Parse Dashboard ('passwordString' and 'isReported'). Then, refresh the User class in your Parse Dashboard and you'll see 3 new columns: 'isReported' 'reportMessage' 'passwordString' 'isReported' and 'reportMessage' rows will be empty, so you'll have to set all 'isReported' rows to FALSE.Then, if you have other users registered in the User class and your app is live on the App Store, you must to change their passwords in the 'password' column as you wish and email them a message similar to the following:'Due to recent Security updates of this app, please do the following steps to reset your password:1. open YOUR APP NAME, enter your Account screen and logout2. In the Login screen, tap 'Forgot password?' and insert the email address you've used to register in the app (which is also your username) and tap 'Reset Password' 3. Change your password with the email you'll get4. Go back to YOUR APP NAME and login again with your username and the new password.Thanks for understanding!' You as the Admin of the app should daily check your Parse Dashboard for reported posts or users and take action about it.* If this is NOT an update and you've bought this app for the first time, just ignore all this 
Jul 19th 2016:• Accordingly to the new EULA terms by Apple, we had to change the Report button for Posts: now you can instantly report a Post and hide it from Search and Home controllers. You may search for 'POSTS_IS_REPORTED' with the Find navigator box in Xcode (left panel, lens icon) to find out the new lines of code we've added in this update and update your own app accordingly.PLEASE NOTE that if this is the first time you buy this app and have no records in your Parse Dashboard yet, you can ignore the statement above. OTHERWISE, if this is an update for you, you will have to manually add 2 columns in your Parse Dashboard, into Posts class:   hasReported      [of type Boolean]   reportMessage   [of type String]Then you'll have to enter each row of the isReported column and set it to FALSE. Then you can run the app and test it again.You as the Admin of the app should daily check your Parse Dashboard for reported posts, so you can do either 2 things: change the isReported row back to FALSE to allow that post(s) to be visible in the app again, or delete it. Please note that if you'll delete a post, you'll have to look for its objectId into the Likes class too (postPointer column) and remove the rows that contain it, otherwise the app will crash in the Me controller -> Likes tab.
Jun 15th 2016:• Fixed crash on push notifications for NON registered users: if a user has not allowed the app to receive Push Notifications, the app wont' crash• Updated AdMob SDK

Photofeed is a Universal App Template where you can post your own pictures, location and relative text and get involved in a funny community.
You can also browse popular posts from other users, see their profiles, like and share their posts to popular social networks.

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

  • XCode 8.x project – Swift – 64bit
  • iOS 8/9/10+ – Universal – Storyboard
  • AdMob banners
  • Push Notifications for likes, follow and comments
  • Works with Parse backend hosted on back{4}app
  • Easily post your pictures, text and current location, like and comment posts of other users, delete your own ones.
  • Terms of User .html file and Report feature included
  • PDF User Guide included
  • PSD graphics included
  • Easy to customize, well commented code

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

Important Disclaimer: 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.