Swift port of AnyPic project

Related tags

Image SwiftAnyPic
Overview

Build Status

SwiftAnyPic

Swift port of AnyPic project https://github.com/ParsePlatform/Anypic

Requirements

This application requires Xcode 7 and the iOS SDK v9.0.

  • Developed on Xcode 7.
  • Tested only with:
    • Simulator iPhone 5s.
    • Device iPhone 5s (iOS 9.1)
  • Note: Cocoapods version must be at least version 0.38.2

Setup

  1. Install all project dependencies from CocoaPods by running this script: pod install
  2. Open the Xcode workspace Anypic.xcworkspace
  3. Create your Anypic App on Parse
  4. Copy your new app's application id and client key into AppDelegate.swift: Parse.setApplicationId("APPLICATION_ID", clientKey: "CLIENT_KEY")

Configuring Anypic's Facebook integration

  1. Set up a Facebook app at http://developers.facebook.com/apps
  2. Set up a URL scheme for fbFACEBOOK_APP_ID, where FACEBOOK_APP_ID is your Facebook app's id.
  3. Add your Facebook app id to Info.plist in the FacebookAppID key.

Note: By using the original Parse application ID, client key and the Facebook App ID in the source code, the app will connect to the Parse and Facebook apps which the App Store's AnyPic app is using.

TODO

This project is still work in progress. There are quite a lot of things need to be fixed.

  • Many iOS APIs used in the objective-C version are already deprecated. They need to be replaced with the latest APIs.
  • I encountered some strange crashes in Bolts. Same error as described in https://github.com/BoltsFramework/Bolts-iOS/issues/102. I temporarily used the workaround mentioned by https://github.com/wdcurry.
  • We need @3x images for iPhone 6 Plus (so far I just tested on Simulator iPhone 5s only).
  • I basically just converted the Objective-C syntax to Swift syntax for most of the code whenever possible. So there are still rooms for improvement to make the code more "Swifty".
  • etc.

Misc

Please feel free to contribute! :-)

Comments
  • cannot compile with xcode 7 beta

    cannot compile with xcode 7 beta

    Nice job. Many guys are looking for this porting. Thanks. I just googled yesterday and could not find. and today, I found it -:)

    I had compiling issue: ld: framework not found FacebookSDK for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

    there are several other bugs that I commented out.

    Have you been able to compile?

    opened by ihomecall 26
  • Updated UIImageAFAdditions location

    Updated UIImageAFAdditions location

    UIImageAFAdditions no longer found on melvitax.

    Transferred UIImageAFAdditions from melvitax repository to teklabs.

    • updated Podfile with new location, name
    • updated PAPUtility with new name
    opened by austinbagley 3
  • How can I run this project? It's won't let me build

    How can I run this project? It's won't let me build

    Hi, when I try to run this project, its simulator is set to "IOS DEVICES" and not able to change the device to other types of simulators (iphone6, 5, 4, etc.).

    opened by ghost 3
  • fatal error: unwrapping

    fatal error: unwrapping

    Hi,

    I get the error:

    fatal error: unexpectedly found nil while unwrapping an Optional value

    in the below line.. any idea why? Thanks!

    self.headerView = PAPPhotoDetailsHeaderView(frame: PAPPhotoDetailsHeaderView.rectForView(), photo:self.photo!)

    opened by ghost 2
  • bitcode issue with some library and solution.

    bitcode issue with some library and solution.

    when I do pod install, and then compile, it always complains the bitcode not available for some of the library.

    I found this solution. add this to the Podfile, it will disable bitcode for all library.

    post_install do |installer|

    installer.pods_project.targets.each do |target|

    target.build_configurations.each do |config|
    
      config.build_settings['ENABLE_BITCODE'] = 'NO'
    
    end
    

    end

    end

    opened by ihomecall 2
  • Fix build for Swift 2.2+ and add Podfile.lock to SVC

    Fix build for Swift 2.2+ and add Podfile.lock to SVC

    More details about the fix for Swift 2.2+: ParsePlatform/Parse-SDK-iOS-OSX#806 ParsePlatform/Parse-SDK-iOS-OSX#859

    https://guides.cocoapods.org/using/using-cocoapods.html

    "Whether or not you check in the Pods directory, the Podfile and Podfile.lock should always be kept under version control."

    opened by thiagoghisi 1
  • Why does info.plist not include Facebook's added code to App Transport Security?

    Why does info.plist not include Facebook's added code to App Transport Security?

    In their setup instructions they specify that with iOS 9 the urls that facebook's sdk connects to must be whitelisted here with:

    <key>NSAppTransportSecurity</key>
    <dict>
      <key>NSExceptionDomains</key>
      <dict>
        <key>facebook.com</key>
        <dict>
          <key>NSIncludesSubdomains</key>
          <true/>
          <key>NSExceptionRequiresForwardSecrecy</key>
          <false/>
        </dict>
        <key>fbcdn.net</key>
        <dict>
          <key>NSIncludesSubdomains</key>
          <true/>
          <key>NSExceptionRequiresForwardSecrecy</key>
          <false/>
        </dict>
        <key>akamaihd.net</key>
        <dict>
          <key>NSIncludesSubdomains</key>
          <true/>
          <key>NSExceptionRequiresForwardSecrecy</key>
          <false/>
        </dict>
      </dict>
    </dict>
    
    opened by Harout360 1
  • Can you help with finding this code.

    Can you help with finding this code.

    let PAPAppDelegateApplicationDidReceiveRemoteNotification = "com.parse.Anypic.appDelegate.applicationDidReceiveRemoteNotification" let PAPUtilityUserFollowingChangedNotification = "com.parse.Anypic.utility.userFollowingChanged" let PAPUtilityUserLikedUnlikedPhotoCallbackFinishedNotification = "com.parse.Anypic.utility.userLikedUnlikedPhotoCallbackFinished" let PAPUtilityDidFinishProcessingProfilePictureNotification = "com.parse.Anypic.utility.didFinishProcessingProfilePictureNotification" let PAPTabBarControllerDidFinishEditingPhotoNotification = "com.parse.Anypic.tabBarController.didFinishEditingPhoto" let PAPTabBarControllerDidFinishImageFileUploadNotification = "com.parse.Anypic.tabBarController.didFinishImageFileUploadNotification" let PAPPhotoDetailsViewControllerUserDeletedPhotoNotification = "com.parse.Anypic.photoDetailsViewController.userDeletedPhoto" let PAPPhotoDetailsViewControllerUserLikedUnlikedPhotoNotification = "com.parse.Anypic.photoDetailsViewController.userLikedUnlikedPhotoInDetailsViewNotification" let PAPPhotoDetailsViewControllerUserCommentedOnPhotoNotification = "com.parse.Anypic.photoDetailsViewController.userCommentedOnPhotoInDetailsViewNotification"

    I want to know where this function i.e didFinishImageFileUploadNotification is defined. I am new to NSNotification. Thanks

    opened by nishantdongare 1
  • Help needed in understanding 'like' component of anypic (for android)

    Help needed in understanding 'like' component of anypic (for android)

    Hi I am a android newbie and I don't know anything about objective C and not about swift.I am planning to develop a android app which is based on parse and uses the 'like' component described in the anypic tutorial in parse.com .I am able to create a like object and destroy it when need .But the problem I am facing is that how do I develop the facebook or instagram like feeds section where I need to check if if a parse object is already liked or not by the user or not.I know this can be done using a inner query for each row of parse post object.But doing so will lead to many api requests and thus crossing the limit .Please help me and tell me how does the anypic objective-C and swift(your version implementation) checks if a post object is liked or not by the user without the inner query since there is no anypic version fro android .I am only looking for some kind of algorithm or pseudo code or even some proper explanation regarding the technique described used in the anypic app. Please help. Thank You.

    opened by mik-dass 0
Owner
null
VRTracerSample - Learning project in Metal Ray Tracing and Swift

VRTracer This is a personal project for learning Metal's Ray Tracing API with sw

null 1 Feb 12, 2022
AsyncImageExample An example project for AsyncImage. Loading images in SwiftUI article.

AsyncImageExample An example project for AsyncImage. Loading images in SwiftUI article. Note: The project works in Xcode 13.0 beta (13A5154h).

Artem Novichkov 4 Dec 31, 2021
In our project we are interested in the manipulation of HSLA images

Projet 1 HSLA Images Réalisé par : Adil Erraad,Said El Ouardi Link to another page. HSLA Images Introduction Dans le cadre de notre projet nous nous s

null 0 Nov 7, 2021
Starter project for Mars rover photos iOS app.

MarzyPan is an app that allows users to view photos taken by Mars rovers during their time on the planet. This is a starter project that has some UI

Ruben Hansen-Rojas 0 Dec 30, 2021
Easy Tooltip for your SwiftUI Project

SwiftUI Tooltip This package provides you with an easy way to show tooltips over any SwiftUI view, since Apple does not provide one. Getting started Y

Quassum Manus 187 Jan 1, 2023
AZS - There are two frameworks in the pod file, you need to install them to work with the project

AZS There are two frameworks in the pod file, you need to install them to work w

Nikita12G 0 Jan 14, 2022
SwiftUI project to show ActivityIndicator above Image while loading

ImageWithActivityIndicatorDemo SwiftUI project to show ActivityIndicator above Image while loading ImageWithActivityIndicatorDemo is a demo app that s

Ali Adam 4 May 27, 2021
TQIBank - Project developed for iOS Acceleration in partnership with DIO (Digital Innovation One)

Projeto TQIBank Projeto desenvolvido para Aceleração iOS em parceria com a DIO (

Roberth Diorges 6 Jul 4, 2022
An Xcode plugin to improve dealing with colors in your project

Crayons is an Xcode7 plugin with various features that improve working with colors in your projects ##Code palettes (iOS only) You can share palettes

Fabio Ritrovato 477 Sep 23, 2022
API surface for Swift plug-ins using the Swift Plugin Manager

SwiftPlugin The minimal API surface required for the Swift Plugin Manager to create instances from a loaded plugin. Additional documentation and refer

Joakim Hassila 2 Mar 25, 2022
Contentful.swift : Swift Delivery SDK for Contentful

contentful.swift - Swift Delivery SDK for Contentful Swift SDK for the Contentfu

An Tran 1 Jan 6, 2022
Swift Package Manager command plugin for Swift-DocC

Swift-DocC Plugin The Swift-DocC plugin is a Swift Package Manager command plugin that supports building documentation for SwiftPM libraries and execu

Apple 225 Dec 24, 2022
Agrume - 🍋 An iOS image viewer written in Swift with support for multiple images.

Agrume An iOS image viewer written in Swift with support for multiple images. Requirements Swift 5.0 iOS 9.0+ Xcode 10.2+ Installation Use Swift Packa

Jan Gorman 601 Dec 26, 2022
BlockiesSwift - Unique blocky identicons generator for Swift

⚗️ BlockiesSwift This library is a Swift implementation of the Ethereum fork of Blockies which is intended to be used in iOS, watchOS, tvOS and macOS

null 56 Jan 6, 2023
FacebookImagePicker is Facebook album photo picker written in Swift.

Features • Installation • Usage • Translation • License GBHFacebookImagePicker is Facebook's album photo picker written in Swift, built to provide a s

Florian Gabach 231 Dec 17, 2022
GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing.

GPUImage 2 Brad Larson http://www.sunsetlakesoftware.com @bradlarson [email protected] Overview GPUImage 2 is the second generation of th

Brad Larson 4.8k Dec 29, 2022
GPUImage 3 is a BSD-licensed Swift framework for GPU-accelerated video and image processing using Metal.

GPUImage 3 Janie Clayton http://redqueengraphics.com @RedQueenCoder Brad Larson http://www.sunsetlakesoftware.com @bradlarson contact@sunsetlakesoftwa

Brad Larson 2.4k Jan 3, 2023
A lightweight generic cache for iOS written in Swift with extra love for images.

Haneke is a lightweight generic cache for iOS and tvOS written in Swift 4. It's designed to be super-simple to use. Here's how you would initalize a J

Haneke 5.2k Dec 11, 2022
A lightweight and fast image loader for iOS written in Swift.

ImageLoader ImageLoader is an instrument for asynchronous image loading written in Swift. It is a lightweight and fast image loader for iOS. Features

Hirohisa Kawasaki 293 Nov 24, 2022