mirror of
https://bitbucket.org/vendoo/vendoo_v1.0.git
synced 2025-12-25 19:57:41 +00:00
Add Query string class
This commit is contained in:
parent
2ccfb5f451
commit
e65ddf71d3
13
Podfile
13
Podfile
@ -1,6 +1,13 @@
|
|||||||
# Uncomment this line to define a global platform for your project
|
# Uncomment this line to define a global platform for your project
|
||||||
# platform :ios, '9.0'
|
# platform :ios, '9.0'
|
||||||
|
|
||||||
|
|
||||||
|
post_install do |installer|
|
||||||
|
installer.pods_project.build_configuration_list.build_configurations.each do |configuration|
|
||||||
|
configuration.build_settings['CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES'] = 'YES'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
target 'Vendoo' do
|
target 'Vendoo' do
|
||||||
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
|
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
|
||||||
use_frameworks!
|
use_frameworks!
|
||||||
@ -22,8 +29,8 @@ use_frameworks!
|
|||||||
pod 'TYMActivityIndicatorView'
|
pod 'TYMActivityIndicatorView'
|
||||||
pod 'BSImagePicker', '~> 2.3'
|
pod 'BSImagePicker', '~> 2.3'
|
||||||
pod 'SWRevealViewController'
|
pod 'SWRevealViewController'
|
||||||
|
# pod 'CommonCrypto'
|
||||||
|
#'~> 1.1'
|
||||||
|
|
||||||
target 'VendooTests' do
|
target 'VendooTests' do
|
||||||
# inherit! :search_paths
|
# inherit! :search_paths
|
||||||
@ -36,4 +43,6 @@ use_frameworks!
|
|||||||
# Pods for testing
|
# Pods for testing
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
52
Podfile.lock
52
Podfile.lock
@ -1,7 +1,7 @@
|
|||||||
PODS:
|
PODS:
|
||||||
- AeroGearHttp (0.6.0)
|
- AeroGearHttp (0.7.0)
|
||||||
- AeroGearOAuth2 (0.5.1):
|
- AeroGearOAuth2 (0.7.0):
|
||||||
- AeroGearHttp
|
- AeroGearHttp (= 0.7.0)
|
||||||
- AFNetworking (2.6.3):
|
- AFNetworking (2.6.3):
|
||||||
- AFNetworking/NSURLConnection (= 2.6.3)
|
- AFNetworking/NSURLConnection (= 2.6.3)
|
||||||
- AFNetworking/NSURLSession (= 2.6.3)
|
- AFNetworking/NSURLSession (= 2.6.3)
|
||||||
@ -37,25 +37,25 @@ PODS:
|
|||||||
- BSImagePicker (2.3.0):
|
- BSImagePicker (2.3.0):
|
||||||
- BSGridCollectionViewLayout (~> 1.1)
|
- BSGridCollectionViewLayout (~> 1.1)
|
||||||
- UIImageViewModeScaleAspect (~> 1.3)
|
- UIImageViewModeScaleAspect (~> 1.3)
|
||||||
- FBSDKCoreKit (4.14.0):
|
- FBSDKCoreKit (4.15.0):
|
||||||
- Bolts (~> 1.7)
|
- Bolts (~> 1.7)
|
||||||
- FBSDKLoginKit (4.14.0):
|
- FBSDKLoginKit (4.15.0):
|
||||||
- FBSDKCoreKit
|
- FBSDKCoreKit
|
||||||
- FBSDKShareKit (4.14.0):
|
- FBSDKShareKit (4.15.0):
|
||||||
- FBSDKCoreKit
|
- FBSDKCoreKit
|
||||||
- Firebase (3.4.0):
|
- Firebase (3.5.2):
|
||||||
- Firebase/Core (= 3.4.0)
|
- Firebase/Core (= 3.5.2)
|
||||||
- Firebase/Analytics (3.4.0):
|
- Firebase/Analytics (3.5.2):
|
||||||
- FirebaseAnalytics (~> 3.3)
|
- FirebaseAnalytics (~> 3.3)
|
||||||
- Firebase/Core (3.4.0):
|
- Firebase/Core (3.5.2):
|
||||||
- Firebase/Analytics
|
- Firebase/Analytics
|
||||||
- Firebase/Database (3.4.0):
|
- Firebase/Database (3.5.2):
|
||||||
- Firebase/Analytics
|
- Firebase/Analytics
|
||||||
- FirebaseDatabase (= 3.0.2)
|
- FirebaseDatabase (= 3.0.2)
|
||||||
- Firebase/Storage (3.4.0):
|
- Firebase/Storage (3.5.2):
|
||||||
- Firebase/Analytics
|
- Firebase/Analytics
|
||||||
- FirebaseStorage (= 1.0.2)
|
- FirebaseStorage (= 1.0.3)
|
||||||
- FirebaseAnalytics (3.3.0):
|
- FirebaseAnalytics (3.3.1):
|
||||||
- FirebaseInstanceID (~> 1.0)
|
- FirebaseInstanceID (~> 1.0)
|
||||||
- GoogleInterchangeUtilities (~> 1.2)
|
- GoogleInterchangeUtilities (~> 1.2)
|
||||||
- GoogleSymbolUtilities (~> 1.1)
|
- GoogleSymbolUtilities (~> 1.1)
|
||||||
@ -68,8 +68,8 @@ PODS:
|
|||||||
- FirebaseDatabase (3.0.2):
|
- FirebaseDatabase (3.0.2):
|
||||||
- FirebaseAnalytics (~> 3.2)
|
- FirebaseAnalytics (~> 3.2)
|
||||||
- FirebaseInstanceID (1.0.8)
|
- FirebaseInstanceID (1.0.8)
|
||||||
- FirebaseStorage (1.0.2):
|
- FirebaseStorage (1.0.3):
|
||||||
- FirebaseAnalytics (~> 3.2)
|
- FirebaseAnalytics (~> 3.3)
|
||||||
- GoogleNetworkingUtilities (~> 1.2)
|
- GoogleNetworkingUtilities (~> 1.2)
|
||||||
- GDataXML-HTML (1.3.0)
|
- GDataXML-HTML (1.3.0)
|
||||||
- GoogleInterchangeUtilities (1.2.1):
|
- GoogleInterchangeUtilities (1.2.1):
|
||||||
@ -121,23 +121,23 @@ DEPENDENCIES:
|
|||||||
- TYMActivityIndicatorView
|
- TYMActivityIndicatorView
|
||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
AeroGearHttp: e958f301cc2d1c7fbfd4b61af187ea3490040a48
|
AeroGearHttp: 4660c8bf5b56cd00a3b75d7c5ecf94774469df5c
|
||||||
AeroGearOAuth2: 6f29d3fac8b78a0ff6d51b04c4ba1a02baed2e52
|
AeroGearOAuth2: de4218f60a6228d6cdcf1761277fe8af1115600a
|
||||||
AFNetworking: cb8d14a848e831097108418f5d49217339d4eb60
|
AFNetworking: cb8d14a848e831097108418f5d49217339d4eb60
|
||||||
Alamofire: 01a82e2f6c0f860ade35534c8dd88be61bdef40c
|
Alamofire: 01a82e2f6c0f860ade35534c8dd88be61bdef40c
|
||||||
Alamofire-SwiftyJSON: 5812bb37accc36897cc2f2dabb070d8ebcd7ac98
|
Alamofire-SwiftyJSON: 5812bb37accc36897cc2f2dabb070d8ebcd7ac98
|
||||||
Bolts: 8a7995239dbe724f9cba2248b766d48b7ebdd322
|
Bolts: 8a7995239dbe724f9cba2248b766d48b7ebdd322
|
||||||
BSGridCollectionViewLayout: d7304dcb35c6b3b4420c527e9f9b77ff322250f3
|
BSGridCollectionViewLayout: d7304dcb35c6b3b4420c527e9f9b77ff322250f3
|
||||||
BSImagePicker: 591b28ce4994c44cbc4ac896717c1db9f9fadd18
|
BSImagePicker: 591b28ce4994c44cbc4ac896717c1db9f9fadd18
|
||||||
FBSDKCoreKit: 6e020b5db0b5bd1e01f5fb0902131befd129a502
|
FBSDKCoreKit: 6680cbd33a4243d80700f182d0af36b3fa7f3118
|
||||||
FBSDKLoginKit: da563567a108050ef83739c8c8c001ee9e25fa13
|
FBSDKLoginKit: 96d9b70b5784490f02ab86119e542a1f182017a8
|
||||||
FBSDKShareKit: e8e5d4ccef69b41132fe33acda26db1e33143e33
|
FBSDKShareKit: 06ef20cb2f16828ca4b20055333313dd445de362
|
||||||
Firebase: 754562547af419cc2f4b15247fee419081924bc2
|
Firebase: 94e63112efcad75226c0356a8f3032397b8547c9
|
||||||
FirebaseAnalytics: 228be2991cb28efb96cdafc4d62f64680e615c69
|
FirebaseAnalytics: d968d4d5f6aeb795cd64144337bcd233e530efc6
|
||||||
FirebaseAuth: 26fd291c3b552fc9658420b867520d5ae080421c
|
FirebaseAuth: 26fd291c3b552fc9658420b867520d5ae080421c
|
||||||
FirebaseDatabase: 59bea2e7dfd81b3b8b2f8e396caf1a52c2ced6f7
|
FirebaseDatabase: 59bea2e7dfd81b3b8b2f8e396caf1a52c2ced6f7
|
||||||
FirebaseInstanceID: ba1e640935235e5fac39dfa816fe7660e72e1a8a
|
FirebaseInstanceID: ba1e640935235e5fac39dfa816fe7660e72e1a8a
|
||||||
FirebaseStorage: fa2a87dee81f682f553af6839daa37a750e65f6a
|
FirebaseStorage: 3992817bf405f5c1a4f8349678d22724cd0ef509
|
||||||
GDataXML-HTML: 7adc03668cab35c288f1dbb8929a179f0fece898
|
GDataXML-HTML: 7adc03668cab35c288f1dbb8929a179f0fece898
|
||||||
GoogleInterchangeUtilities: def8415a862effc67d549d5b5b0b9c7a2f97d4de
|
GoogleInterchangeUtilities: def8415a862effc67d549d5b5b0b9c7a2f97d4de
|
||||||
GoogleNetworkingUtilities: 3e83269048cfb498dc7ec83ab36813360965c74f
|
GoogleNetworkingUtilities: 3e83269048cfb498dc7ec83ab36813360965c74f
|
||||||
@ -152,6 +152,6 @@ SPEC CHECKSUMS:
|
|||||||
TYMActivityIndicatorView: ad816387ebd5952c376af129218722733044148b
|
TYMActivityIndicatorView: ad816387ebd5952c376af129218722733044148b
|
||||||
UIImageViewModeScaleAspect: 11a790a0b9d248a13dc63e3a78991f1463b6d84e
|
UIImageViewModeScaleAspect: 11a790a0b9d248a13dc63e3a78991f1463b6d84e
|
||||||
|
|
||||||
PODFILE CHECKSUM: 3b36a7c734809ee54f4ecf0055d9910a9279d555
|
PODFILE CHECKSUM: d5879f9153df4c398c04aed34c686baebf1eeafb
|
||||||
|
|
||||||
COCOAPODS: 1.0.0
|
COCOAPODS: 1.0.1
|
||||||
|
|||||||
11
Pods/AeroGearHttp/AeroGearHttp/Http.swift
generated
11
Pods/AeroGearHttp/AeroGearHttp/Http.swift
generated
@ -544,7 +544,13 @@ public class Http {
|
|||||||
if (destinationDirectory == nil) { // use 'default documents' directory if not set
|
if (destinationDirectory == nil) { // use 'default documents' directory if not set
|
||||||
// use default documents directory
|
// use default documents directory
|
||||||
let documentsDirectory = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0] as NSURL
|
let documentsDirectory = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0] as NSURL
|
||||||
finalDestination = documentsDirectory.URLByAppendingPathComponent(filename!)
|
#if swift(>=2.3)
|
||||||
|
// this compiles on Xcode 8 / Swift 2.3 / iOS 10
|
||||||
|
finalDestination = documentsDirectory.URLByAppendingPathComponent(filename!)!
|
||||||
|
#else
|
||||||
|
// this compiles on Xcode 7 / Swift 2.2 / iOS 9
|
||||||
|
finalDestination = documentsDirectory.URLByAppendingPathComponent(filename!)
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
// check that the directory exists
|
// check that the directory exists
|
||||||
let path = destinationDirectory?.stringByAppendingPathComponent(filename!)
|
let path = destinationDirectory?.stringByAppendingPathComponent(filename!)
|
||||||
@ -577,7 +583,8 @@ public class Http {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// MARK: Utility methods
|
// MARK: Utility methods
|
||||||
public func calculateURL(baseURL: String?, var url: String) -> NSURL? {
|
public func calculateURL(baseURL: String?, url: String) -> NSURL? {
|
||||||
|
var url = url
|
||||||
if (baseURL == nil || url.hasPrefix("http")) {
|
if (baseURL == nil || url.hasPrefix("http")) {
|
||||||
return NSURL(string: url)!
|
return NSURL(string: url)!
|
||||||
}
|
}
|
||||||
|
|||||||
@ -65,7 +65,13 @@ public class HttpRequestSerializer: RequestSerializer {
|
|||||||
var newUrl:String
|
var newUrl:String
|
||||||
if (request.URL?.absoluteString != nil && parameters != nil) {
|
if (request.URL?.absoluteString != nil && parameters != nil) {
|
||||||
let queryString = self.stringFromParameters(parameters!)
|
let queryString = self.stringFromParameters(parameters!)
|
||||||
newUrl = "\(request.URL!.absoluteString)\(paramSeparator)\(queryString)"
|
#if swift(>=2.3)
|
||||||
|
// this compiles on Xcode 8 / Swift 2.3 / iOS 10
|
||||||
|
newUrl = "\(request.URL!.absoluteString!)\(paramSeparator)\(queryString)"
|
||||||
|
#else
|
||||||
|
// this compiles on Xcode 7 / Swift 2.2 / iOS 9
|
||||||
|
newUrl = "\(request.URL!.absoluteString)\(paramSeparator)\(queryString)"
|
||||||
|
#endif
|
||||||
request.URL = NSURL(string: newUrl)!
|
request.URL = NSURL(string: newUrl)!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
6
Pods/AeroGearHttp/README.md
generated
6
Pods/AeroGearHttp/README.md
generated
@ -1,6 +1,6 @@
|
|||||||
# aerogear-ios-http [](https://travis-ci.org/aerogear/aerogear-ios-http)
|
# aerogear-ios-http [](https://travis-ci.org/aerogear/aerogear-ios-http)
|
||||||
|
|
||||||
> This module currently build with Xcode 7.2 and supports iOS8, iOS9.
|
> This module currently build with Xcode 7.2 / Xcode 8 and supports iOS8, iOS9, iOS10.
|
||||||
|
|
||||||
Thin layer to take care of your http requests working with NSURLSession.
|
Thin layer to take care of your http requests working with NSURLSession.
|
||||||
Taking care of:
|
Taking care of:
|
||||||
@ -11,7 +11,7 @@ Taking care of:
|
|||||||
* Pluggable object serialization
|
* Pluggable object serialization
|
||||||
* background processing support
|
* background processing support
|
||||||
|
|
||||||
100% Swift 2.0.
|
100% Swift 2.X.
|
||||||
|
|
||||||
| | Project Info |
|
| | Project Info |
|
||||||
| --------------- | ------------- |
|
| --------------- | ------------- |
|
||||||
@ -112,7 +112,7 @@ pod install
|
|||||||
To add the library in your project, you can either use [CocoaPods](http://cocoapods.org) or manual install in your project. See the respective sections below for instructions:
|
To add the library in your project, you can either use [CocoaPods](http://cocoapods.org) or manual install in your project. See the respective sections below for instructions:
|
||||||
|
|
||||||
### Using [CocoaPods](http://cocoapods.org)
|
### Using [CocoaPods](http://cocoapods.org)
|
||||||
Support for Swift frameworks is supported from [CocoaPods-0.36 release](http://blog.cocoapods.org/CocoaPods-0.36/) upwards. In your ```Podfile``` add:
|
We recommend you use[CocoaPods-1.1.0.beta.1 release](https://github.com/CocoaPods/CocoaPods/releases/tag/1.1.0.beta.1). In your ```Podfile``` add:
|
||||||
|
|
||||||
```
|
```
|
||||||
pod 'AeroGearHttp'
|
pod 'AeroGearHttp'
|
||||||
|
|||||||
@ -65,12 +65,12 @@ public class GoogleConfig: Config {
|
|||||||
public init(clientId: String, scopes: [String], accountId: String? = nil, isOpenIDConnect: Bool = false) {
|
public init(clientId: String, scopes: [String], accountId: String? = nil, isOpenIDConnect: Bool = false) {
|
||||||
let bundleString = NSBundle.mainBundle().bundleIdentifier ?? "google"
|
let bundleString = NSBundle.mainBundle().bundleIdentifier ?? "google"
|
||||||
super.init(base: "https://accounts.google.com",
|
super.init(base: "https://accounts.google.com",
|
||||||
authzEndpoint: "o/oauth2/auth",
|
authzEndpoint: "o/oauth2/v2/auth",
|
||||||
redirectURL: "\(bundleString):/oauth2Callback",
|
redirectURL: "\(bundleString):/oauth2Callback",
|
||||||
accessTokenEndpoint: "o/oauth2/token",
|
accessTokenEndpoint: "o/oauth2/token",
|
||||||
clientId: clientId,
|
clientId: clientId,
|
||||||
refreshTokenEndpoint: "o/oauth2/token",
|
refreshTokenEndpoint: "o/oauth2/token",
|
||||||
revokeTokenEndpoint: "rest/revoke",
|
revokeTokenEndpoint: "o/oauth2/revoke",
|
||||||
isOpenIDConnect: isOpenIDConnect,
|
isOpenIDConnect: isOpenIDConnect,
|
||||||
userInfoEndpoint: isOpenIDConnect ? "https://www.googleapis.com/plus/v1/people/me/openIdConnect" : nil,
|
userInfoEndpoint: isOpenIDConnect ? "https://www.googleapis.com/plus/v1/people/me/openIdConnect" : nil,
|
||||||
scopes: scopes,
|
scopes: scopes,
|
||||||
@ -96,13 +96,13 @@ public class KeycloakConfig: Config {
|
|||||||
let bundleString = NSBundle.mainBundle().bundleIdentifier ?? "keycloak"
|
let bundleString = NSBundle.mainBundle().bundleIdentifier ?? "keycloak"
|
||||||
let defaulRealmName = String(format: "%@-realm", clientId)
|
let defaulRealmName = String(format: "%@-realm", clientId)
|
||||||
let realm = realm ?? defaulRealmName
|
let realm = realm ?? defaulRealmName
|
||||||
super.init(base: String(format: "%@/auth", host),
|
super.init(base: "\(host)/auth",
|
||||||
authzEndpoint: String(format: "realms/%@/tokens/login", realm),
|
authzEndpoint: "realms/\(realm)/protocol/openid-connect/auth",
|
||||||
redirectURL: "\(bundleString)://oauth2Callback",
|
redirectURL: "\(bundleString)://oauth2Callback",
|
||||||
accessTokenEndpoint: String(format: "realms/%@/tokens/access/codes", realm),
|
accessTokenEndpoint: "realms/\(realm)/protocol/openid-connect/token",
|
||||||
clientId: clientId,
|
clientId: clientId,
|
||||||
refreshTokenEndpoint: String(format: "realms/%@/tokens/refresh", realm),
|
refreshTokenEndpoint: "realms/\(realm)/protocol/openid-connect/token",
|
||||||
revokeTokenEndpoint: String(format: "realms/%@/tokens/logout", realm),
|
revokeTokenEndpoint: "realms/\(realm)/protocol/openid-connect/logout",
|
||||||
isOpenIDConnect: isOpenIDConnect)
|
isOpenIDConnect: isOpenIDConnect)
|
||||||
// Add openIdConnect scope
|
// Add openIdConnect scope
|
||||||
if self.isOpenIDConnect {
|
if self.isOpenIDConnect {
|
||||||
@ -139,7 +139,7 @@ public class AccountManager {
|
|||||||
:returns: the OAuth2 module
|
:returns: the OAuth2 module
|
||||||
*/
|
*/
|
||||||
public class func addAccount(config: Config, moduleClass: OAuth2Module.Type) -> OAuth2Module {
|
public class func addAccount(config: Config, moduleClass: OAuth2Module.Type) -> OAuth2Module {
|
||||||
var myModule:OAuth2Module
|
var myModule: OAuth2Module
|
||||||
myModule = moduleClass.init(config: config)
|
myModule = moduleClass.init(config: config)
|
||||||
// TODO check accountId is unique in modules list
|
// TODO check accountId is unique in modules list
|
||||||
sharedInstance.modules[myModule.oauth2Session.accountId] = myModule
|
sharedInstance.modules[myModule.oauth2Session.accountId] = myModule
|
||||||
|
|||||||
10
Pods/AeroGearOAuth2/AeroGearOAuth2/Config.swift
generated
10
Pods/AeroGearOAuth2/AeroGearOAuth2/Config.swift
generated
@ -103,7 +103,15 @@ public class Config {
|
|||||||
*/
|
*/
|
||||||
public var isWebView: Bool = false
|
public var isWebView: Bool = false
|
||||||
|
|
||||||
public init(base: String, authzEndpoint: String, redirectURL: String, accessTokenEndpoint: String, clientId: String, refreshTokenEndpoint: String? = nil, revokeTokenEndpoint: String? = nil, isOpenIDConnect:Bool = false, userInfoEndpoint: String? = nil, scopes: [String] = [], clientSecret: String? = nil, accountId: String? = nil, isWebView: Bool = false) {
|
/**
|
||||||
|
A handler to allow the webview to be pushed onto the navigation controller
|
||||||
|
*/
|
||||||
|
public var webViewHandler: ((OAuth2WebViewController, completionHandler: (AnyObject?, NSError?) -> Void) -> ()) = {
|
||||||
|
(webView, completionHandler) in
|
||||||
|
UIApplication.sharedApplication().keyWindow?.rootViewController?.presentViewController(webView, animated: true, completion: nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
public init(base: String, authzEndpoint: String, redirectURL: String, accessTokenEndpoint: String, clientId: String, refreshTokenEndpoint: String? = nil, revokeTokenEndpoint: String? = nil, isOpenIDConnect: Bool = false, userInfoEndpoint: String? = nil, scopes: [String] = [], clientSecret: String? = nil, accountId: String? = nil, isWebView: Bool = false) {
|
||||||
self.baseURL = base
|
self.baseURL = base
|
||||||
self.authzEndpoint = authzEndpoint
|
self.authzEndpoint = authzEndpoint
|
||||||
self.redirectURL = redirectURL
|
self.redirectURL = redirectURL
|
||||||
|
|||||||
@ -20,8 +20,7 @@ import Foundation
|
|||||||
/**
|
/**
|
||||||
Handy extensions to NSDate
|
Handy extensions to NSDate
|
||||||
*/
|
*/
|
||||||
extension NSDate
|
extension NSDate {
|
||||||
{
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Initialize a date object using the given string.
|
Initialize a date object using the given string.
|
||||||
@ -30,7 +29,7 @@ extension NSDate
|
|||||||
|
|
||||||
:returns: the NSDate object.
|
:returns: the NSDate object.
|
||||||
*/
|
*/
|
||||||
public convenience init(dateString:String) {
|
public convenience init(dateString: String) {
|
||||||
let dateStringFormatter = NSDateFormatter()
|
let dateStringFormatter = NSDateFormatter()
|
||||||
dateStringFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss a"
|
dateStringFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss a"
|
||||||
let d = dateStringFormatter.dateFromString(dateString)
|
let d = dateStringFormatter.dateFromString(dateString)
|
||||||
|
|||||||
@ -78,9 +78,9 @@ public class FacebookOAuth2Module: OAuth2Module {
|
|||||||
override public func revokeAccess(completionHandler: (AnyObject?, NSError?) -> Void) {
|
override public func revokeAccess(completionHandler: (AnyObject?, NSError?) -> Void) {
|
||||||
// return if not yet initialized
|
// return if not yet initialized
|
||||||
if (self.oauth2Session.accessToken == nil) {
|
if (self.oauth2Session.accessToken == nil) {
|
||||||
return;
|
return
|
||||||
}
|
}
|
||||||
let paramDict:[String:String] = ["access_token":self.oauth2Session.accessToken!]
|
let paramDict: [String:String] = ["access_token":self.oauth2Session.accessToken!]
|
||||||
|
|
||||||
http.request(.DELETE, path: config.revokeTokenEndpoint!, parameters: paramDict, completionHandler: { (response, error) in
|
http.request(.DELETE, path: config.revokeTokenEndpoint!, parameters: paramDict, completionHandler: { (response, error) in
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ public class FacebookOAuth2Module: OAuth2Module {
|
|||||||
:param: completionHandler A block object to be executed when the request operation finishes.
|
:param: completionHandler A block object to be executed when the request operation finishes.
|
||||||
*/
|
*/
|
||||||
override public func login(completionHandler: (AnyObject?, OpenIDClaim?, NSError?) -> Void) {
|
override public func login(completionHandler: (AnyObject?, OpenIDClaim?, NSError?) -> Void) {
|
||||||
self.requestAccess { (response:AnyObject?, error:NSError?) -> Void in
|
self.requestAccess { (response: AnyObject?, error: NSError?) -> Void in
|
||||||
if (error != nil) {
|
if (error != nil) {
|
||||||
completionHandler(nil, nil, error)
|
completionHandler(nil, nil, error)
|
||||||
return
|
return
|
||||||
|
|||||||
@ -25,9 +25,9 @@ public class KeycloakOAuth2Module: OAuth2Module {
|
|||||||
public override func revokeAccess(completionHandler: (AnyObject?, NSError?) -> Void) {
|
public override func revokeAccess(completionHandler: (AnyObject?, NSError?) -> Void) {
|
||||||
// return if not yet initialized
|
// return if not yet initialized
|
||||||
if (self.oauth2Session.accessToken == nil) {
|
if (self.oauth2Session.accessToken == nil) {
|
||||||
return;
|
return
|
||||||
}
|
}
|
||||||
let paramDict:[String:String] = [ "client_id": config.clientId, "refresh_token": self.oauth2Session.refreshToken!]
|
let paramDict: [String:String] = [ "client_id": config.clientId, "refresh_token": self.oauth2Session.refreshToken!]
|
||||||
http.request(.POST, path: config.revokeTokenEndpoint!, parameters: paramDict, completionHandler: { (response, error) in
|
http.request(.POST, path: config.revokeTokenEndpoint!, parameters: paramDict, completionHandler: { (response, error) in
|
||||||
if (error != nil) {
|
if (error != nil) {
|
||||||
completionHandler(nil, error)
|
completionHandler(nil, error)
|
||||||
@ -91,7 +91,7 @@ public class KeycloakOAuth2Module: OAuth2Module {
|
|||||||
|
|
||||||
// in Keycloak refresh token get refreshed every time you use them
|
// in Keycloak refresh token get refreshed every time you use them
|
||||||
self.oauth2Session.saveAccessToken(accessToken, refreshToken: refreshToken, accessTokenExpiration: exp, refreshTokenExpiration: expRefresh)
|
self.oauth2Session.saveAccessToken(accessToken, refreshToken: refreshToken, accessTokenExpiration: exp, refreshTokenExpiration: expRefresh)
|
||||||
completionHandler(accessToken, nil);
|
completionHandler(accessToken, nil)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@ -50,7 +50,8 @@ public class OAuth2Module: AuthzModule {
|
|||||||
var applicationLaunchNotificationObserver: NSObjectProtocol?
|
var applicationLaunchNotificationObserver: NSObjectProtocol?
|
||||||
var applicationDidBecomeActiveNotificationObserver: NSObjectProtocol?
|
var applicationDidBecomeActiveNotificationObserver: NSObjectProtocol?
|
||||||
var state: AuthorizationState
|
var state: AuthorizationState
|
||||||
var webView: OAuth2WebViewController?
|
public var webView: OAuth2WebViewController?
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Initialize an OAuth2 module.
|
Initialize an OAuth2 module.
|
||||||
|
|
||||||
@ -107,7 +108,7 @@ public class OAuth2Module: AuthzModule {
|
|||||||
// unregister
|
// unregister
|
||||||
self.stopObserving()
|
self.stopObserving()
|
||||||
// ..and update state
|
// ..and update state
|
||||||
self.state = .AuthorizationStateUnknown;
|
self.state = .AuthorizationStateUnknown
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -121,11 +122,17 @@ public class OAuth2Module: AuthzModule {
|
|||||||
completionHandler(nil, error)
|
completionHandler(nil, error)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
let url = NSURL(string:computedUrl.absoluteString + params)
|
#if swift(>=2.3)
|
||||||
|
// this compiles on Xcode 8 / Swift 2.3 / iOS 10
|
||||||
|
let url = NSURL(string:computedUrl.absoluteString! + params)
|
||||||
|
#else
|
||||||
|
// this compiles on Xcode 7 / Swift 2.2 / iOS 9
|
||||||
|
let url = NSURL(string:computedUrl.absoluteString + params)
|
||||||
|
#endif
|
||||||
if let url = url {
|
if let url = url {
|
||||||
if self.webView != nil {
|
if self.webView != nil {
|
||||||
self.webView!.targetURL = url
|
self.webView!.targetURL = url
|
||||||
UIApplication.sharedApplication().keyWindow?.rootViewController?.presentViewController(self.webView!, animated: true, completion: nil)
|
config.webViewHandler(self.webView!, completionHandler: completionHandler)
|
||||||
} else {
|
} else {
|
||||||
UIApplication.sharedApplication().openURL(url)
|
UIApplication.sharedApplication().openURL(url)
|
||||||
}
|
}
|
||||||
@ -154,8 +161,12 @@ public class OAuth2Module: AuthzModule {
|
|||||||
let accessToken: String = unwrappedResponse["access_token"] as! String
|
let accessToken: String = unwrappedResponse["access_token"] as! String
|
||||||
let expiration = unwrappedResponse["expires_in"] as! NSNumber
|
let expiration = unwrappedResponse["expires_in"] as! NSNumber
|
||||||
let exp: String = expiration.stringValue
|
let exp: String = expiration.stringValue
|
||||||
|
var refreshToken = unwrappedRefreshToken
|
||||||
|
if let newRefreshToken = unwrappedResponse["refresh_token"] as? String {
|
||||||
|
refreshToken = newRefreshToken
|
||||||
|
}
|
||||||
|
|
||||||
self.oauth2Session.saveAccessToken(accessToken, refreshToken: unwrappedRefreshToken, accessTokenExpiration: exp, refreshTokenExpiration: nil)
|
self.oauth2Session.saveAccessToken(accessToken, refreshToken: refreshToken, accessTokenExpiration: exp, refreshTokenExpiration: nil)
|
||||||
|
|
||||||
completionHandler(unwrappedResponse["access_token"], nil);
|
completionHandler(unwrappedResponse["access_token"], nil);
|
||||||
}
|
}
|
||||||
@ -205,7 +216,7 @@ public class OAuth2Module: AuthzModule {
|
|||||||
public func requestAccess(completionHandler: (AnyObject?, NSError?) -> Void) {
|
public func requestAccess(completionHandler: (AnyObject?, NSError?) -> Void) {
|
||||||
if (self.oauth2Session.accessToken != nil && self.oauth2Session.tokenIsNotExpired()) {
|
if (self.oauth2Session.accessToken != nil && self.oauth2Session.tokenIsNotExpired()) {
|
||||||
// we already have a valid access token, nothing more to be done
|
// we already have a valid access token, nothing more to be done
|
||||||
completionHandler(self.oauth2Session.accessToken!, nil);
|
completionHandler(self.oauth2Session.accessToken!, nil)
|
||||||
} else if (self.oauth2Session.refreshToken != nil && self.oauth2Session.refreshTokenIsNotExpired()) {
|
} else if (self.oauth2Session.refreshToken != nil && self.oauth2Session.refreshTokenIsNotExpired()) {
|
||||||
// need to refresh token
|
// need to refresh token
|
||||||
self.refreshAccessToken(completionHandler)
|
self.refreshAccessToken(completionHandler)
|
||||||
@ -262,9 +273,9 @@ public class OAuth2Module: AuthzModule {
|
|||||||
public func revokeAccess(completionHandler: (AnyObject?, NSError?) -> Void) {
|
public func revokeAccess(completionHandler: (AnyObject?, NSError?) -> Void) {
|
||||||
// return if not yet initialized
|
// return if not yet initialized
|
||||||
if (self.oauth2Session.accessToken == nil) {
|
if (self.oauth2Session.accessToken == nil) {
|
||||||
return;
|
return
|
||||||
}
|
}
|
||||||
let paramDict:[String:String] = ["token":self.oauth2Session.accessToken!]
|
let paramDict: [String:String] = ["token":self.oauth2Session.accessToken!]
|
||||||
|
|
||||||
http.request(.POST, path: config.revokeTokenEndpoint!, parameters: paramDict, completionHandler: { (response, error) in
|
http.request(.POST, path: config.revokeTokenEndpoint!, parameters: paramDict, completionHandler: { (response, error) in
|
||||||
if (error != nil) {
|
if (error != nil) {
|
||||||
@ -324,11 +335,11 @@ public class OAuth2Module: AuthzModule {
|
|||||||
var parameters = [String: String]()
|
var parameters = [String: String]()
|
||||||
if (queryString != nil) {
|
if (queryString != nil) {
|
||||||
let parameterScanner: NSScanner = NSScanner(string: queryString!)
|
let parameterScanner: NSScanner = NSScanner(string: queryString!)
|
||||||
var name:NSString? = nil
|
var name: NSString? = nil
|
||||||
var value:NSString? = nil
|
var value: NSString? = nil
|
||||||
|
|
||||||
while (parameterScanner.atEnd != true) {
|
while (parameterScanner.atEnd != true) {
|
||||||
name = nil;
|
name = nil
|
||||||
parameterScanner.scanUpToString("=", intoString: &name)
|
parameterScanner.scanUpToString("=", intoString: &name)
|
||||||
parameterScanner.scanString("=", intoString:nil)
|
parameterScanner.scanString("=", intoString:nil)
|
||||||
|
|
||||||
@ -342,7 +353,7 @@ public class OAuth2Module: AuthzModule {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return parameters;
|
return parameters
|
||||||
}
|
}
|
||||||
|
|
||||||
deinit {
|
deinit {
|
||||||
@ -353,7 +364,7 @@ public class OAuth2Module: AuthzModule {
|
|||||||
// clear all observers
|
// clear all observers
|
||||||
if (applicationLaunchNotificationObserver != nil) {
|
if (applicationLaunchNotificationObserver != nil) {
|
||||||
NSNotificationCenter.defaultCenter().removeObserver(applicationLaunchNotificationObserver!)
|
NSNotificationCenter.defaultCenter().removeObserver(applicationLaunchNotificationObserver!)
|
||||||
self.applicationLaunchNotificationObserver = nil;
|
self.applicationLaunchNotificationObserver = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if (applicationDidBecomeActiveNotificationObserver != nil) {
|
if (applicationDidBecomeActiveNotificationObserver != nil) {
|
||||||
|
|||||||
@ -22,14 +22,14 @@ import UIKit
|
|||||||
OAuth2WebViewController is a UIViewController to be used when the Oauth2 flow used an embedded view controller
|
OAuth2WebViewController is a UIViewController to be used when the Oauth2 flow used an embedded view controller
|
||||||
rather than an external browser approach.
|
rather than an external browser approach.
|
||||||
*/
|
*/
|
||||||
class OAuth2WebViewController: UIViewController, UIWebViewDelegate {
|
public class OAuth2WebViewController: UIViewController, UIWebViewDelegate {
|
||||||
/// Login URL for OAuth.
|
/// Login URL for OAuth.
|
||||||
var targetURL : NSURL = NSURL()
|
var targetURL: NSURL = NSURL()
|
||||||
/// WebView intance used to load login page.
|
/// WebView intance used to load login page.
|
||||||
var webView : UIWebView = UIWebView()
|
var webView: UIWebView = UIWebView()
|
||||||
|
|
||||||
/// Overrride of viewDidLoad to load the login page.
|
/// Override of viewDidLoad to load the login page.
|
||||||
override internal func viewDidLoad() {
|
override public func viewDidLoad() {
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
webView.frame = UIScreen.mainScreen().applicationFrame
|
webView.frame = UIScreen.mainScreen().applicationFrame
|
||||||
webView.delegate = self
|
webView.delegate = self
|
||||||
@ -37,12 +37,12 @@ class OAuth2WebViewController: UIViewController, UIWebViewDelegate {
|
|||||||
loadAddressURL()
|
loadAddressURL()
|
||||||
}
|
}
|
||||||
|
|
||||||
override func viewDidLayoutSubviews() {
|
override public func viewDidLayoutSubviews() {
|
||||||
super.viewDidLayoutSubviews()
|
super.viewDidLayoutSubviews()
|
||||||
self.webView.frame = self.view.bounds
|
self.webView.frame = self.view.bounds
|
||||||
}
|
}
|
||||||
|
|
||||||
override internal func didReceiveMemoryWarning() {
|
override public func didReceiveMemoryWarning() {
|
||||||
super.didReceiveMemoryWarning()
|
super.didReceiveMemoryWarning()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -72,7 +72,7 @@ public class OpenIDClaim: CustomStringConvertible {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Initialize an OpenIDClaim from a dictionary. all information not available are optional values set to .None.
|
/// Initialize an OpenIDClaim from a dictionary. all information not available are optional values set to .None.
|
||||||
public init(fromDict:[String: AnyObject]) {
|
public init(fromDict: [String: AnyObject]) {
|
||||||
sub = fromDict["sub"] as? String
|
sub = fromDict["sub"] as? String
|
||||||
name = fromDict["name"] as? String
|
name = fromDict["name"] as? String
|
||||||
givenName = fromDict["given_name"] as? String
|
givenName = fromDict["given_name"] as? String
|
||||||
@ -98,12 +98,10 @@ public class OpenIDClaim: CustomStringConvertible {
|
|||||||
/// Facebook specific claims.
|
/// Facebook specific claims.
|
||||||
public class FacebookOpenIDClaim: OpenIDClaim {
|
public class FacebookOpenIDClaim: OpenIDClaim {
|
||||||
|
|
||||||
override init(fromDict:[String: AnyObject]) {
|
override init(fromDict: [String: AnyObject]) {
|
||||||
super.init(fromDict: fromDict)
|
super.init(fromDict: fromDict)
|
||||||
givenName = fromDict["first_name"] as? String
|
givenName = fromDict["first_name"] as? String
|
||||||
familyName = fromDict["last_name"] as? String
|
familyName = fromDict["last_name"] as? String
|
||||||
zoneinfo = fromDict["timezone"] as? String
|
zoneinfo = fromDict["timezone"] as? String
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -85,7 +85,7 @@ public class KeychainWrap {
|
|||||||
keychainQuery[kSecClass as String] = kSecClassGenericPassword
|
keychainQuery[kSecClass as String] = kSecClassGenericPassword
|
||||||
keychainQuery[kSecAttrService as String] = self.serviceIdentifier
|
keychainQuery[kSecAttrService as String] = self.serviceIdentifier
|
||||||
keychainQuery[kSecAttrAccount as String] = key + "_" + tokenType.rawValue
|
keychainQuery[kSecAttrAccount as String] = key + "_" + tokenType.rawValue
|
||||||
keychainQuery[kSecAttrAccessible as String] = kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly
|
keychainQuery[kSecAttrAccessible as String] = kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly
|
||||||
|
|
||||||
// Search for the keychain items
|
// Search for the keychain items
|
||||||
let statusSearch: OSStatus = SecItemCopyMatching(keychainQuery, nil)
|
let statusSearch: OSStatus = SecItemCopyMatching(keychainQuery, nil)
|
||||||
@ -118,6 +118,27 @@ public class KeychainWrap {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Delete a specific token in Keychain.
|
||||||
|
|
||||||
|
:param: key usually use accountId for oauth2 module, any unique string.
|
||||||
|
:param: tokenType type of token.
|
||||||
|
*/
|
||||||
|
public func delete(key: String, tokenType: TokenType) -> Bool {
|
||||||
|
let keychainQuery = NSMutableDictionary()
|
||||||
|
if let groupId = self.groupId {
|
||||||
|
keychainQuery[kSecAttrAccessGroup as String] = groupId
|
||||||
|
}
|
||||||
|
keychainQuery[kSecClass as String] = kSecClassGenericPassword
|
||||||
|
keychainQuery[kSecAttrService as String] = self.serviceIdentifier
|
||||||
|
keychainQuery[kSecAttrAccount as String] = key + "_" + tokenType.rawValue
|
||||||
|
keychainQuery[kSecAttrAccessible as String] = kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly
|
||||||
|
|
||||||
|
let statusDelete: OSStatus = SecItemDelete(keychainQuery)
|
||||||
|
|
||||||
|
return statusDelete == noErr
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Read tokens information in Keychain. If the entry is not found return nil.
|
Read tokens information in Keychain. If the entry is not found return nil.
|
||||||
|
|
||||||
@ -133,8 +154,7 @@ public class KeychainWrap {
|
|||||||
keychainQuery[kSecAttrService as String] = self.serviceIdentifier
|
keychainQuery[kSecAttrService as String] = self.serviceIdentifier
|
||||||
keychainQuery[kSecAttrAccount as String] = userAccount + "_" + tokenType.rawValue
|
keychainQuery[kSecAttrAccount as String] = userAccount + "_" + tokenType.rawValue
|
||||||
keychainQuery[kSecReturnData as String] = true
|
keychainQuery[kSecReturnData as String] = true
|
||||||
keychainQuery[kSecAttrAccessible as String] = kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly
|
keychainQuery[kSecAttrAccessible as String] = kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly
|
||||||
|
|
||||||
|
|
||||||
var dataTypeRef: Unmanaged<AnyObject>?
|
var dataTypeRef: Unmanaged<AnyObject>?
|
||||||
// Search for the keychain items
|
// Search for the keychain items
|
||||||
@ -176,7 +196,7 @@ public class KeychainWrap {
|
|||||||
func deleteAllKeysForSecClass(secClass: CFTypeRef) -> Bool {
|
func deleteAllKeysForSecClass(secClass: CFTypeRef) -> Bool {
|
||||||
let keychainQuery = NSMutableDictionary()
|
let keychainQuery = NSMutableDictionary()
|
||||||
keychainQuery[kSecClass as String] = secClass
|
keychainQuery[kSecClass as String] = secClass
|
||||||
let result:OSStatus = SecItemDelete(keychainQuery)
|
let result: OSStatus = SecItemDelete(keychainQuery)
|
||||||
if (result == errSecSuccess) {
|
if (result == errSecSuccess) {
|
||||||
return true
|
return true
|
||||||
} else {
|
} else {
|
||||||
@ -201,7 +221,7 @@ public class TrustedPersistantOAuth2Session: OAuth2Session {
|
|||||||
public var accessTokenExpirationDate: NSDate? {
|
public var accessTokenExpirationDate: NSDate? {
|
||||||
get {
|
get {
|
||||||
let dateAsString = self.keychain.read(self.accountId, tokenType: .ExpirationDate)
|
let dateAsString = self.keychain.read(self.accountId, tokenType: .ExpirationDate)
|
||||||
if let unwrappedDate:String = dateAsString {
|
if let unwrappedDate: String = dateAsString {
|
||||||
return NSDate(dateString: unwrappedDate)
|
return NSDate(dateString: unwrappedDate)
|
||||||
} else {
|
} else {
|
||||||
return nil
|
return nil
|
||||||
@ -210,6 +230,8 @@ public class TrustedPersistantOAuth2Session: OAuth2Session {
|
|||||||
set(value) {
|
set(value) {
|
||||||
if let unwrappedValue = value {
|
if let unwrappedValue = value {
|
||||||
self.keychain.save(self.accountId, tokenType: .ExpirationDate, value: unwrappedValue.toString())
|
self.keychain.save(self.accountId, tokenType: .ExpirationDate, value: unwrappedValue.toString())
|
||||||
|
} else {
|
||||||
|
self.keychain.delete(self.accountId, tokenType: .ExpirationDate)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -224,6 +246,8 @@ public class TrustedPersistantOAuth2Session: OAuth2Session {
|
|||||||
set(value) {
|
set(value) {
|
||||||
if let unwrappedValue = value {
|
if let unwrappedValue = value {
|
||||||
self.keychain.save(self.accountId, tokenType: .AccessToken, value: unwrappedValue)
|
self.keychain.save(self.accountId, tokenType: .AccessToken, value: unwrappedValue)
|
||||||
|
} else {
|
||||||
|
self.keychain.delete(self.accountId, tokenType: .AccessToken)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -238,6 +262,8 @@ public class TrustedPersistantOAuth2Session: OAuth2Session {
|
|||||||
set(value) {
|
set(value) {
|
||||||
if let unwrappedValue = value {
|
if let unwrappedValue = value {
|
||||||
self.keychain.save(self.accountId, tokenType: .RefreshToken, value: unwrappedValue)
|
self.keychain.save(self.accountId, tokenType: .RefreshToken, value: unwrappedValue)
|
||||||
|
} else {
|
||||||
|
self.keychain.delete(self.accountId, tokenType: .RefreshToken)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -248,7 +274,7 @@ public class TrustedPersistantOAuth2Session: OAuth2Session {
|
|||||||
public var refreshTokenExpirationDate: NSDate? {
|
public var refreshTokenExpirationDate: NSDate? {
|
||||||
get {
|
get {
|
||||||
let dateAsString = self.keychain.read(self.accountId, tokenType: .RefreshExpirationDate)
|
let dateAsString = self.keychain.read(self.accountId, tokenType: .RefreshExpirationDate)
|
||||||
if let unwrappedDate:String = dateAsString {
|
if let unwrappedDate: String = dateAsString {
|
||||||
return NSDate(dateString: unwrappedDate)
|
return NSDate(dateString: unwrappedDate)
|
||||||
} else {
|
} else {
|
||||||
return nil
|
return nil
|
||||||
@ -257,6 +283,8 @@ public class TrustedPersistantOAuth2Session: OAuth2Session {
|
|||||||
set(value) {
|
set(value) {
|
||||||
if let unwrappedValue = value {
|
if let unwrappedValue = value {
|
||||||
_ = self.keychain.save(self.accountId, tokenType: .RefreshExpirationDate, value: unwrappedValue.toString())
|
_ = self.keychain.save(self.accountId, tokenType: .RefreshExpirationDate, value: unwrappedValue.toString())
|
||||||
|
} else {
|
||||||
|
self.keychain.delete(self.accountId, tokenType: .RefreshExpirationDate)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -319,15 +347,27 @@ public class TrustedPersistantOAuth2Session: OAuth2Session {
|
|||||||
accessTokenExpirationDate: NSDate? = nil,
|
accessTokenExpirationDate: NSDate? = nil,
|
||||||
refreshToken: String? = nil,
|
refreshToken: String? = nil,
|
||||||
refreshTokenExpirationDate: NSDate? = nil) {
|
refreshTokenExpirationDate: NSDate? = nil) {
|
||||||
self.accountId = accountId
|
self.accountId = accountId
|
||||||
if groupId != nil {
|
if groupId != nil {
|
||||||
self.keychain = KeychainWrap(serviceId: groupId, groupId: groupId)
|
self.keychain = KeychainWrap(serviceId: groupId, groupId: groupId)
|
||||||
} else {
|
} else {
|
||||||
self.keychain = KeychainWrap()
|
self.keychain = KeychainWrap()
|
||||||
}
|
}
|
||||||
self.accessToken = accessToken
|
|
||||||
self.refreshToken = refreshToken
|
if accessToken != nil {
|
||||||
self.accessTokenExpirationDate = accessTokenExpirationDate
|
self.accessToken = accessToken
|
||||||
self.refreshTokenExpirationDate = refreshTokenExpirationDate
|
}
|
||||||
|
|
||||||
|
if refreshToken != nil {
|
||||||
|
self.refreshToken = refreshToken
|
||||||
|
}
|
||||||
|
|
||||||
|
if accessTokenExpirationDate != nil {
|
||||||
|
self.accessTokenExpirationDate = accessTokenExpirationDate
|
||||||
|
}
|
||||||
|
|
||||||
|
if refreshToken != nil {
|
||||||
|
self.refreshTokenExpirationDate = refreshTokenExpirationDate
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
12
Pods/AeroGearOAuth2/README.md
generated
12
Pods/AeroGearOAuth2/README.md
generated
@ -1,6 +1,6 @@
|
|||||||
# aerogear-ios-oauth2 [](https://travis-ci.org/aerogear/aerogear-ios-oauth2)
|
# aerogear-ios-oauth2 [](https://travis-ci.org/aerogear/aerogear-ios-oauth2)
|
||||||
|
|
||||||
> This module currently build with Xcode 7 and supports iOS8, iOS9.
|
> This module currently build with Xcode 7 / Xcode 8 and supports iOS8, iOS9, iOS10.
|
||||||
|
|
||||||
OAuth2 Client based on [aerogear-ios-http](https://github.com/aerogear/aerogear-ios-http).
|
OAuth2 Client based on [aerogear-ios-http](https://github.com/aerogear/aerogear-ios-http).
|
||||||
Taking care of:
|
Taking care of:
|
||||||
@ -11,7 +11,7 @@ Taking care of:
|
|||||||
* (implicit or explicit) refresh tokens,
|
* (implicit or explicit) refresh tokens,
|
||||||
* revoke tokens,
|
* revoke tokens,
|
||||||
* permanent secure storage,
|
* permanent secure storage,
|
||||||
* adaptable to OAuth2 specific providers. Existing extensions: Google, Facebook, [Keycloak 1.5.0.Final](http://keycloak.jboss.org/) etc...
|
* adaptable to OAuth2 specific providers. Existing extensions: Google, Facebook, [Keycloak 1.9.3.Final](http://keycloak.jboss.org/) etc...
|
||||||
* openID Connect login
|
* openID Connect login
|
||||||
|
|
||||||
100% Swift 2.0.
|
100% Swift 2.0.
|
||||||
@ -29,12 +29,12 @@ Taking care of:
|
|||||||
|
|
||||||
#### OAuth2 grant for GET with a predefined config like Facebook
|
#### OAuth2 grant for GET with a predefined config like Facebook
|
||||||
```swift
|
```swift
|
||||||
var Http = Http() // [1]
|
let http = Http() // [1]
|
||||||
let facebookConfig = FacebookConfig( // [2]
|
let facebookConfig = FacebookConfig( // [2]
|
||||||
clientId: "YYY",
|
clientId: "YYY",
|
||||||
clientSecret: "XXX",
|
clientSecret: "XXX",
|
||||||
scopes:["photo_upload, publish_actions"])
|
scopes:["photo_upload, publish_actions"])
|
||||||
var oauth2Module = AccountManager.addFacebookAccount(facebookConfig) // [3]
|
let oauth2Module = AccountManager.addFacebookAccount(facebookConfig) // [3]
|
||||||
http.authzModule = oauth2Module // [4]
|
http.authzModule = oauth2Module // [4]
|
||||||
http.request(.GET, path: "/get", completionHandler: {(response, error) in // [5]
|
http.request(.GET, path: "/get", completionHandler: {(response, error) in // [5]
|
||||||
// handle response
|
// handle response
|
||||||
@ -52,13 +52,13 @@ See full description in [aerogear.org](https://aerogear.org/docs/guides/aerogear
|
|||||||
|
|
||||||
#### OpenID Connect with Keycloak
|
#### OpenID Connect with Keycloak
|
||||||
```swift
|
```swift
|
||||||
var Http = Http()
|
let http = Http()
|
||||||
let keycloakConfig = KeycloakConfig(
|
let keycloakConfig = KeycloakConfig(
|
||||||
clientId: "sharedshoot-third-party",
|
clientId: "sharedshoot-third-party",
|
||||||
host: "http://localhost:8080",
|
host: "http://localhost:8080",
|
||||||
realm: "shoot-realm",
|
realm: "shoot-realm",
|
||||||
isOpenIDConnect: true)
|
isOpenIDConnect: true)
|
||||||
var oauth2Module = AccountManager.addKeycloakAccount(keycloakConfig)
|
let oauth2Module = AccountManager.addKeycloakAccount(keycloakConfig)
|
||||||
http.authzModule = oauth2Module
|
http.authzModule = oauth2Module
|
||||||
oauth2Module.login {(accessToken: AnyObject?, claims: OpenIDClaim?, error: NSError?) in // [1]
|
oauth2Module.login {(accessToken: AnyObject?, claims: OpenIDClaim?, error: NSError?) in // [1]
|
||||||
// Do your own stuff here
|
// Do your own stuff here
|
||||||
|
|||||||
@ -52,7 +52,6 @@ static NSString *const FBSDKAppLinkInboundEvent = @"fb_al_inbound";
|
|||||||
FBSDKBridgeAPIRequest *_pendingRequest;
|
FBSDKBridgeAPIRequest *_pendingRequest;
|
||||||
FBSDKBridgeAPICallbackBlock _pendingRequestCompletionBlock;
|
FBSDKBridgeAPICallbackBlock _pendingRequestCompletionBlock;
|
||||||
id<FBSDKURLOpening> _pendingURLOpen;
|
id<FBSDKURLOpening> _pendingURLOpen;
|
||||||
FBSDKDeferredAppInviteHandler _organicDeeplinkHandler;
|
|
||||||
#endif
|
#endif
|
||||||
BOOL _expectingBackground;
|
BOOL _expectingBackground;
|
||||||
UIViewController *_safariViewController;
|
UIViewController *_safariViewController;
|
||||||
@ -153,10 +152,12 @@ static NSString *const FBSDKAppLinkInboundEvent = @"fb_al_inbound";
|
|||||||
queryParameters:sanitizedParams
|
queryParameters:sanitizedParams
|
||||||
error:nil];
|
error:nil];
|
||||||
}
|
}
|
||||||
|
// copy the _organicDeeplinkHandler here because it can get cleared in FBSDKOrganicDeeplinkHelper
|
||||||
|
// so that we avoid bad_exc_access in the dispatch_async below.
|
||||||
|
FBSDKDeferredAppInviteHandler appInviteHandler = [_organicDeeplinkHandler copy];
|
||||||
|
_organicDeeplinkHandler = nil;
|
||||||
dispatch_async(dispatch_get_main_queue(), ^{
|
dispatch_async(dispatch_get_main_queue(), ^{
|
||||||
// Callback handler for organic deeplinking.
|
appInviteHandler(sanitizedUrl);
|
||||||
_organicDeeplinkHandler(sanitizedUrl);
|
|
||||||
_organicDeeplinkHandler = nil;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return YES;
|
return YES;
|
||||||
|
|||||||
@ -44,5 +44,5 @@
|
|||||||
#import <FBSDKCoreKit/FBSDKDeviceViewControllerBase.h>
|
#import <FBSDKCoreKit/FBSDKDeviceViewControllerBase.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define FBSDK_VERSION_STRING @"4.14.0"
|
#define FBSDK_VERSION_STRING @"4.15.0"
|
||||||
#define FBSDK_TARGET_PLATFORM_VERSION @"v2.7"
|
#define FBSDK_TARGET_PLATFORM_VERSION @"v2.7"
|
||||||
|
|||||||
@ -31,7 +31,7 @@
|
|||||||
#import "FBSDKInternalUtility.h"
|
#import "FBSDKInternalUtility.h"
|
||||||
#import "FBSDKLogger.h"
|
#import "FBSDKLogger.h"
|
||||||
#import "FBSDKSettings+Internal.h"
|
#import "FBSDKSettings+Internal.h"
|
||||||
#import "FBSDKURLConnection.h"
|
#import "FBSDKURLSessionTask.h"
|
||||||
|
|
||||||
NSString *const FBSDKNonJSONResponseProperty = @"FACEBOOK_NON_JSON_RESULT";
|
NSString *const FBSDKNonJSONResponseProperty = @"FACEBOOK_NON_JSON_RESULT";
|
||||||
|
|
||||||
@ -76,17 +76,18 @@ typedef NS_ENUM(NSUInteger, FBSDKGraphRequestConnectionState)
|
|||||||
// Private properties and methods
|
// Private properties and methods
|
||||||
|
|
||||||
@interface FBSDKGraphRequestConnection () <
|
@interface FBSDKGraphRequestConnection () <
|
||||||
FBSDKURLConnectionDelegate
|
NSURLSessionDataDelegate
|
||||||
#if !TARGET_OS_TV
|
#if !TARGET_OS_TV
|
||||||
, FBSDKGraphErrorRecoveryProcessorDelegate
|
, FBSDKGraphErrorRecoveryProcessorDelegate
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
|
|
||||||
@property (nonatomic, retain) FBSDKURLConnection *connection;
|
@property (nonatomic, strong) NSURLSession *session;
|
||||||
|
@property (nonatomic, strong) FBSDKURLSessionTask *task;
|
||||||
@property (nonatomic, retain) NSMutableArray *requests;
|
@property (nonatomic, retain) NSMutableArray *requests;
|
||||||
@property (nonatomic) FBSDKGraphRequestConnectionState state;
|
@property (nonatomic, assign) FBSDKGraphRequestConnectionState state;
|
||||||
@property (nonatomic, retain) FBSDKLogger *logger;
|
@property (nonatomic, strong) FBSDKLogger *logger;
|
||||||
@property (nonatomic) unsigned long requestStartTime;
|
@property (nonatomic, assign) unsigned long requestStartTime;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@ -117,8 +118,7 @@ FBSDKURLConnectionDelegate
|
|||||||
|
|
||||||
- (void)dealloc
|
- (void)dealloc
|
||||||
{
|
{
|
||||||
_connection.delegate = nil;
|
[_session invalidateAndCancel];
|
||||||
[_connection cancel];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - Public
|
#pragma mark - Public
|
||||||
@ -163,8 +163,8 @@ FBSDKURLConnectionDelegate
|
|||||||
- (void)cancel
|
- (void)cancel
|
||||||
{
|
{
|
||||||
self.state = kStateCancelled;
|
self.state = kStateCancelled;
|
||||||
[self.connection cancel];
|
[self.task cancel];
|
||||||
self.connection = nil;
|
[self cleanUpSession];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)overrideVersionPartWith:(NSString *)version
|
- (void)overrideVersionPartWith:(NSString *)version
|
||||||
@ -196,24 +196,22 @@ FBSDKURLConnectionDelegate
|
|||||||
[self logRequest:request bodyLength:0 bodyLogger:nil attachmentLogger:nil];
|
[self logRequest:request bodyLength:0 bodyLogger:nil attachmentLogger:nil];
|
||||||
_requestStartTime = [FBSDKInternalUtility currentTimeInMilliseconds];
|
_requestStartTime = [FBSDKInternalUtility currentTimeInMilliseconds];
|
||||||
|
|
||||||
FBSDKURLConnectionHandler handler =
|
FBSDKURLSessionTaskHandler handler = ^(NSError *error,
|
||||||
^(FBSDKURLConnection *connection,
|
NSURLResponse *response,
|
||||||
NSError *error,
|
NSData *responseData) {
|
||||||
NSURLResponse *response,
|
[self completeFBSDKURLSessionWithResponse:response
|
||||||
NSData *responseData) {
|
data:responseData
|
||||||
[self completeFBSDKURLConnectionWithResponse:response
|
networkError:error];
|
||||||
data:responseData
|
|
||||||
networkError:error];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
FBSDKURLConnection *connection = [[FBSDKURLConnection alloc] initWithRequest:request
|
if (!self.session) {
|
||||||
completionHandler:handler];
|
self.session = [self defaultSession];
|
||||||
if (_delegateQueue) {
|
|
||||||
[connection setDelegateQueue:_delegateQueue];
|
|
||||||
}
|
}
|
||||||
connection.delegate = self;
|
|
||||||
self.connection = connection;
|
self.task = [[FBSDKURLSessionTask alloc] initWithRequest:request
|
||||||
[connection start];
|
fromSession:self.session
|
||||||
|
completionHandler:handler];
|
||||||
|
[self.task start];
|
||||||
|
|
||||||
id<FBSDKGraphRequestConnectionDelegate> delegate = self.delegate;
|
id<FBSDKGraphRequestConnectionDelegate> delegate = self.delegate;
|
||||||
if ([delegate respondsToSelector:@selector(requestConnectionWillBeginLoading:)]) {
|
if ([delegate respondsToSelector:@selector(requestConnectionWillBeginLoading:)]) {
|
||||||
@ -503,9 +501,9 @@ FBSDKURLConnectionDelegate
|
|||||||
|
|
||||||
#pragma mark - Private methods (response parsing)
|
#pragma mark - Private methods (response parsing)
|
||||||
|
|
||||||
- (void)completeFBSDKURLConnectionWithResponse:(NSURLResponse *)response
|
- (void)completeFBSDKURLSessionWithResponse:(NSURLResponse *)response
|
||||||
data:(NSData *)data
|
data:(NSData *)data
|
||||||
networkError:(NSError *)error
|
networkError:(NSError *)error
|
||||||
{
|
{
|
||||||
if (self.state != kStateCancelled) {
|
if (self.state != kStateCancelled) {
|
||||||
NSAssert(self.state == kStateStarted,
|
NSAssert(self.state == kStateStarted,
|
||||||
@ -526,7 +524,7 @@ FBSDKURLConnectionDelegate
|
|||||||
if (!error && [response.MIMEType hasPrefix:@"image"]) {
|
if (!error && [response.MIMEType hasPrefix:@"image"]) {
|
||||||
error = [FBSDKError errorWithCode:FBSDKGraphRequestNonTextMimeTypeReturnedErrorCode
|
error = [FBSDKError errorWithCode:FBSDKGraphRequestNonTextMimeTypeReturnedErrorCode
|
||||||
message:@"Response is a non-text MIME type; endpoints that return images and other "
|
message:@"Response is a non-text MIME type; endpoints that return images and other "
|
||||||
@"binary data should be fetched using NSURLRequest and NSURLConnection"];
|
@"binary data should be fetched using NSURLRequest and NSURLSession"];
|
||||||
} else {
|
} else {
|
||||||
results = [self parseJSONResponse:data
|
results = [self parseJSONResponse:data
|
||||||
error:&error
|
error:&error
|
||||||
@ -560,7 +558,7 @@ FBSDKURLConnectionDelegate
|
|||||||
|
|
||||||
[self completeWithResults:results networkError:error];
|
[self completeWithResults:results networkError:error];
|
||||||
|
|
||||||
self.connection = nil;
|
[self cleanUpSession];
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -611,7 +609,7 @@ FBSDKURLConnectionDelegate
|
|||||||
[results addObject:@{
|
[results addObject:@{
|
||||||
@"code":@(statusCode),
|
@"code":@(statusCode),
|
||||||
@"body":response
|
@"body":response
|
||||||
}];
|
}];
|
||||||
} else if ([response isKindOfClass:[NSArray class]]) {
|
} else if ([response isKindOfClass:[NSArray class]]) {
|
||||||
// response is the array of responses, but the body element of each needs
|
// response is the array of responses, but the body element of each needs
|
||||||
// to be decoded from JSON.
|
// to be decoded from JSON.
|
||||||
@ -640,7 +638,7 @@ FBSDKURLConnectionDelegate
|
|||||||
NSDictionary *result = @{
|
NSDictionary *result = @{
|
||||||
@"code":@(statusCode),
|
@"code":@(statusCode),
|
||||||
@"body":response
|
@"body":response
|
||||||
};
|
};
|
||||||
|
|
||||||
for (NSUInteger resultIndex = 0, resultCount = self.requests.count; resultIndex < resultCount; ++resultIndex) {
|
for (NSUInteger resultIndex = 0, resultCount = self.requests.count; resultIndex < resultCount; ++resultIndex) {
|
||||||
[results addObject:result];
|
[results addObject:result];
|
||||||
@ -788,7 +786,7 @@ FBSDKURLConnectionDelegate
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
// this is already on the queue since we are currently in the NSURLConnection callback.
|
// this is already on the queue since we are currently in the NSURLSession callback.
|
||||||
finishAndInvokeCompletionHandler();
|
finishAndInvokeCompletionHandler();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -954,27 +952,35 @@ FBSDKURLConnectionDelegate
|
|||||||
return agent;
|
return agent;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)setConnection:(FBSDKURLConnection *)connection
|
- (NSURLSession *)defaultSession
|
||||||
{
|
{
|
||||||
if (_connection != connection) {
|
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
|
||||||
_connection.delegate = nil;
|
return [NSURLSession sessionWithConfiguration:config
|
||||||
_connection = connection;
|
delegate:self
|
||||||
}
|
delegateQueue:_delegateQueue];
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - FBSDKURLConnectionDelegate
|
- (void)cleanUpSession
|
||||||
|
{
|
||||||
|
[self.session invalidateAndCancel];
|
||||||
|
self.session = nil;
|
||||||
|
}
|
||||||
|
|
||||||
- (void)facebookURLConnection:(FBSDKURLConnection *)connection
|
#pragma mark - NSURLSessionDataDelegate
|
||||||
didSendBodyData:(NSInteger)bytesWritten
|
|
||||||
totalBytesWritten:(NSInteger)totalBytesWritten
|
- (void)URLSession:(NSURLSession *)session
|
||||||
totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite {
|
task:(NSURLSessionTask *)task
|
||||||
id<FBSDKGraphRequestConnectionDelegate> delegate = [self delegate];
|
didSendBodyData:(int64_t)bytesSent
|
||||||
|
totalBytesSent:(int64_t)totalBytesSent
|
||||||
|
totalBytesExpectedToSend:(int64_t)totalBytesExpectedToSend
|
||||||
|
{
|
||||||
|
id<FBSDKGraphRequestConnectionDelegate> delegate = self.delegate;
|
||||||
|
|
||||||
if ([delegate respondsToSelector:@selector(requestConnection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:)]) {
|
if ([delegate respondsToSelector:@selector(requestConnection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:)]) {
|
||||||
[delegate requestConnection:self
|
[delegate requestConnection:self
|
||||||
didSendBodyData:bytesWritten
|
didSendBodyData:(NSUInteger)bytesSent
|
||||||
totalBytesWritten:totalBytesWritten
|
totalBytesWritten:(NSUInteger)totalBytesSent
|
||||||
totalBytesExpectedToWrite:totalBytesExpectedToWrite];
|
totalBytesExpectedToWrite:(NSUInteger)totalBytesExpectedToSend];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -51,13 +51,6 @@ SFSafariViewControllerDelegate
|
|||||||
return NO;
|
return NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
_safariWindow = [[UIWindow alloc] initWithFrame:[[[[UIApplication sharedApplication] delegate] window] bounds]];
|
|
||||||
|
|
||||||
_safariWindow.windowLevel = UIWindowLevelNormal - 1;
|
|
||||||
|
|
||||||
_safariWindow.rootViewController = [[UIViewController alloc] init];;
|
|
||||||
[_safariWindow setHidden:NO];
|
|
||||||
_safariViewController = [[SFSafariViewControllerClass alloc] initWithURL: [self constructDeeplinkRetrievalUrl]];
|
|
||||||
dispatch_async(dispatch_get_main_queue(), ^{
|
dispatch_async(dispatch_get_main_queue(), ^{
|
||||||
[FBSDKApplicationDelegate sharedInstance].organicDeeplinkHandler = handler;
|
[FBSDKApplicationDelegate sharedInstance].organicDeeplinkHandler = handler;
|
||||||
[self presentSafariViewController];
|
[self presentSafariViewController];
|
||||||
@ -69,7 +62,6 @@ SFSafariViewControllerDelegate
|
|||||||
[self cleanUpSafariViewController];
|
[self cleanUpSafariViewController];
|
||||||
[FBSDKApplicationDelegate sharedInstance].organicDeeplinkHandler = nil;
|
[FBSDKApplicationDelegate sharedInstance].organicDeeplinkHandler = nil;
|
||||||
_handler(nil);
|
_handler(nil);
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -79,29 +71,27 @@ SFSafariViewControllerDelegate
|
|||||||
|
|
||||||
- (void)presentSafariViewController
|
- (void)presentSafariViewController
|
||||||
{
|
{
|
||||||
|
Class SFSafariViewControllerClass = fbsdkdfl_SFSafariViewControllerClass();
|
||||||
|
_safariViewController = [[SFSafariViewControllerClass alloc] initWithURL: [self constructDeeplinkRetrievalUrl]];
|
||||||
_safariViewController.view.userInteractionEnabled = NO;
|
_safariViewController.view.userInteractionEnabled = NO;
|
||||||
_safariViewController.view.alpha = 0;
|
|
||||||
[_safariWindow.rootViewController addChildViewController:_safariViewController];
|
|
||||||
[_safariWindow.rootViewController.view addSubview:_safariViewController.view];
|
|
||||||
[_safariViewController performSelector:@selector(setDelegate:) withObject:self];
|
[_safariViewController performSelector:@selector(setDelegate:) withObject:self];
|
||||||
[_safariViewController didMoveToParentViewController:_safariWindow.rootViewController];
|
|
||||||
_safariViewController.view.frame = CGRectZero;
|
_safariWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, 1, 1)];
|
||||||
return;
|
_safariWindow.windowLevel -= 1000;
|
||||||
|
_safariWindow.rootViewController = _safariViewController;
|
||||||
|
_safariWindow.hidden = NO;
|
||||||
|
[_safariWindow makeKeyAndVisible];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)cleanUpSafariViewController
|
- (void)cleanUpSafariViewController
|
||||||
{
|
{
|
||||||
if(_safariViewController)
|
if (_safariViewController)
|
||||||
{
|
{
|
||||||
[_safariViewController performSelector:@selector(setDelegate:) withObject:nil];
|
[_safariViewController performSelector:@selector(setDelegate:) withObject:nil];
|
||||||
[_safariViewController willMoveToParentViewController:nil];
|
|
||||||
[_safariViewController.view removeFromSuperview];
|
|
||||||
[_safariViewController removeFromParentViewController];
|
|
||||||
_safariViewController = nil;
|
_safariViewController = nil;
|
||||||
_safariWindow.rootViewController = nil;
|
_safariWindow.rootViewController = nil;
|
||||||
_safariWindow = nil;
|
_safariWindow = nil;
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSURL*)constructDeeplinkRetrievalUrl
|
- (NSURL*)constructDeeplinkRetrievalUrl
|
||||||
|
|||||||
@ -92,8 +92,9 @@ typedef NS_ENUM(NSUInteger, FBSDKInternalUtilityVersionShift)
|
|||||||
static NSBundle *bundle;
|
static NSBundle *bundle;
|
||||||
static dispatch_once_t onceToken;
|
static dispatch_once_t onceToken;
|
||||||
dispatch_once(&onceToken, ^{
|
dispatch_once(&onceToken, ^{
|
||||||
NSString *stringsBundlePath = [[NSBundle mainBundle] pathForResource:@"FacebookSDKStrings"
|
NSString *stringsBundlePath = [[NSBundle bundleForClass:[FBSDKApplicationDelegate class]]
|
||||||
ofType:@"bundle"];
|
pathForResource:@"FacebookSDKStrings"
|
||||||
|
ofType:@"bundle"];
|
||||||
bundle = [NSBundle bundleWithPath:stringsBundlePath] ?: [NSBundle mainBundle];
|
bundle = [NSBundle bundleWithPath:stringsBundlePath] ?: [NSBundle mainBundle];
|
||||||
});
|
});
|
||||||
return bundle;
|
return bundle;
|
||||||
|
|||||||
@ -201,6 +201,8 @@
|
|||||||
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title
|
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title
|
||||||
message:nil
|
message:nil
|
||||||
preferredStyle:UIAlertControllerStyleActionSheet];
|
preferredStyle:UIAlertControllerStyleActionSheet];
|
||||||
|
alertController.popoverPresentationController.sourceView = self;
|
||||||
|
alertController.popoverPresentationController.sourceRect = self.bounds;
|
||||||
UIAlertAction *cancel = [UIAlertAction actionWithTitle:cancelTitle
|
UIAlertAction *cancel = [UIAlertAction actionWithTitle:cancelTitle
|
||||||
style:UIAlertActionStyleCancel
|
style:UIAlertActionStyleCancel
|
||||||
handler:nil];
|
handler:nil];
|
||||||
|
|||||||
@ -741,7 +741,7 @@ static NSString *const FBSDKExpectedChallengeKey = @"expected_login_challenge";
|
|||||||
[FBSDKInternalUtility bundleForStrings],
|
[FBSDKInternalUtility bundleForStrings],
|
||||||
@"Log In",
|
@"Log In",
|
||||||
@"Title of the web dialog that prompts the user to log in to Facebook.");
|
@"Title of the web dialog that prompts the user to log in to Facebook.");
|
||||||
[FBSDKWebDialog showWithName:@"oauth" parameters:loginParams delegate:self];
|
[FBSDKWebDialog showWithName:@"oauth" parameters:parameters delegate:self];
|
||||||
|
|
||||||
if (handler) {
|
if (handler) {
|
||||||
handler(YES, nil);
|
handler(YES, nil);
|
||||||
|
|||||||
@ -23,79 +23,63 @@
|
|||||||
@protocol FBSDKAppGroupAddDialogDelegate;
|
@protocol FBSDKAppGroupAddDialogDelegate;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract A dialog for creating app groups.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
*/
|
*/
|
||||||
|
__attribute__ ((deprecated))
|
||||||
@interface FBSDKAppGroupAddDialog : NSObject
|
@interface FBSDKAppGroupAddDialog : NSObject
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract Convenience method to build up an app group dialog with content and a delegate.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
@param content The content for the app group.
|
|
||||||
@param delegate The receiver's delegate.
|
|
||||||
*/
|
*/
|
||||||
+ (instancetype)showWithContent:(FBSDKAppGroupContent *)content
|
+ (instancetype)showWithContent:(FBSDKAppGroupContent *)content
|
||||||
delegate:(id<FBSDKAppGroupAddDialogDelegate>)delegate;
|
delegate:(id<FBSDKAppGroupAddDialogDelegate>)delegate __attribute__ ((deprecated));
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract The receiver's delegate or nil if it doesn't have a delegate.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
*/
|
*/
|
||||||
@property (nonatomic, weak) id<FBSDKAppGroupAddDialogDelegate> delegate;
|
@property (nonatomic, weak) id<FBSDKAppGroupAddDialogDelegate> delegate __attribute__ ((deprecated));
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract The content for app group.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
*/
|
*/
|
||||||
@property (nonatomic, copy) FBSDKAppGroupContent *content;
|
@property (nonatomic, copy) FBSDKAppGroupContent *content __attribute__ ((deprecated));
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract A Boolean value that indicates whether the receiver can initiate an app group dialog.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
@discussion May return NO if the appropriate Facebook app is not installed and is required or an access token is
|
|
||||||
required but not available. This method does not validate the content on the receiver, so this can be checked before
|
|
||||||
building up the content.
|
|
||||||
@see validateWithError:
|
|
||||||
@result YES if the receiver can share, otherwise NO.
|
|
||||||
*/
|
*/
|
||||||
- (BOOL)canShow;
|
- (BOOL)canShow __attribute__ ((deprecated));
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract Begins the app group dialog from the receiver.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
@result YES if the receiver was able to show the dialog, otherwise NO.
|
|
||||||
*/
|
*/
|
||||||
- (BOOL)show;
|
- (BOOL)show __attribute__ ((deprecated));
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract Validates the content on the receiver.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
@param errorRef If an error occurs, upon return contains an NSError object that describes the problem.
|
|
||||||
@return YES if the content is valid, otherwise NO.
|
|
||||||
*/
|
*/
|
||||||
- (BOOL)validateWithError:(NSError *__autoreleasing *)errorRef;
|
- (BOOL)validateWithError:(NSError *__autoreleasing *)errorRef __attribute__ ((deprecated));
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract A delegate for FBSDKAppGroupAddDialog.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
@discussion The delegate is notified with the results of the app group request as long as the application has
|
|
||||||
permissions to receive the information. For example, if the person is not signed into the containing app, the shower
|
|
||||||
may not be able to distinguish between completion of an app group request and cancellation.
|
|
||||||
*/
|
*/
|
||||||
|
__attribute__ ((deprecated))
|
||||||
@protocol FBSDKAppGroupAddDialogDelegate <NSObject>
|
@protocol FBSDKAppGroupAddDialogDelegate <NSObject>
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract Sent to the delegate when the app group request completes without error.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
@param appGroupAddDialog The FBSDKAppGroupAddDialog that completed.
|
|
||||||
@param results The results from the dialog. This may be nil or empty.
|
|
||||||
*/
|
*/
|
||||||
- (void)appGroupAddDialog:(FBSDKAppGroupAddDialog *)appGroupAddDialog didCompleteWithResults:(NSDictionary *)results;
|
- (void)appGroupAddDialog:(FBSDKAppGroupAddDialog *)appGroupAddDialog didCompleteWithResults:(NSDictionary *)results __attribute__ ((deprecated));
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract Sent to the delegate when the app group request encounters an error.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
@param appGroupAddDialog The FBSDKAppGroupAddDialog that completed.
|
|
||||||
@param error The error.
|
|
||||||
*/
|
*/
|
||||||
- (void)appGroupAddDialog:(FBSDKAppGroupAddDialog *)appGroupAddDialog didFailWithError:(NSError *)error;
|
- (void)appGroupAddDialog:(FBSDKAppGroupAddDialog *)appGroupAddDialog didFailWithError:(NSError *)error __attribute__ ((deprecated));
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract Sent to the delegate when the app group dialog is cancelled.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
@param appGroupAddDialog The FBSDKAppGroupAddDialog that completed.
|
|
||||||
*/
|
*/
|
||||||
- (void)appGroupAddDialogDidCancel:(FBSDKAppGroupAddDialog *)appGroupAddDialog;
|
- (void)appGroupAddDialogDidCancel:(FBSDKAppGroupAddDialog *)appGroupAddDialog __attribute__ ((deprecated));
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@ -21,79 +21,61 @@
|
|||||||
@protocol FBSDKAppGroupJoinDialogDelegate;
|
@protocol FBSDKAppGroupJoinDialogDelegate;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract A dialog for joining app groups.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
*/
|
*/
|
||||||
|
__attribute__ ((deprecated))
|
||||||
@interface FBSDKAppGroupJoinDialog : NSObject
|
@interface FBSDKAppGroupJoinDialog : NSObject
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract Convenience method to build up an app group dialog with content and a delegate.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
@param groupID The ID for the group.
|
|
||||||
@param delegate The receiver's delegate.
|
|
||||||
*/
|
*/
|
||||||
+ (instancetype)showWithGroupID:(NSString *)groupID
|
+ (instancetype)showWithGroupID:(NSString *)groupID
|
||||||
delegate:(id<FBSDKAppGroupJoinDialogDelegate>)delegate;
|
delegate:(id<FBSDKAppGroupJoinDialogDelegate>)delegate __attribute__ ((deprecated));
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract The receiver's delegate or nil if it doesn't have a delegate.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */
|
||||||
*/
|
@property (nonatomic, weak) id<FBSDKAppGroupJoinDialogDelegate> delegate __attribute__ ((deprecated));
|
||||||
@property (nonatomic, weak) id<FBSDKAppGroupJoinDialogDelegate> delegate;
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract The ID for group.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */
|
||||||
*/
|
@property (nonatomic, copy) NSString *groupID __attribute__ ((deprecated));
|
||||||
@property (nonatomic, copy) NSString *groupID;
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract A Boolean value that indicates whether the receiver can initiate an app group dialog.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
@discussion May return NO if the appropriate Facebook app is not installed and is required or an access token is
|
|
||||||
required but not available. This method does not validate the content on the receiver, so this can be checked before
|
|
||||||
building up the content.
|
|
||||||
@see validateWithError:
|
|
||||||
@result YES if the receiver can share, otherwise NO.
|
|
||||||
*/
|
*/
|
||||||
- (BOOL)canShow;
|
- (BOOL)canShow __attribute__ ((deprecated));
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract Begins the app group dialog from the receiver.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
@result YES if the receiver was able to show the dialog, otherwise NO.
|
|
||||||
*/
|
*/
|
||||||
- (BOOL)show;
|
- (BOOL)show __attribute__ ((deprecated));
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract Validates the content on the receiver.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
@param errorRef If an error occurs, upon return contains an NSError object that describes the problem.
|
|
||||||
@return YES if the content is valid, otherwise NO.
|
|
||||||
*/
|
*/
|
||||||
- (BOOL)validateWithError:(NSError *__autoreleasing *)errorRef;
|
- (BOOL)validateWithError:(NSError *__autoreleasing *)errorRef __attribute__ ((deprecated));
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract A delegate for FBSDKAppGroupJoinDialog.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
@discussion The delegate is notified with the results of the app group request as long as the application has
|
|
||||||
permissions to receive the information. For example, if the person is not signed into the containing app, the shower
|
|
||||||
may not be able to distinguish between completion of an app group request and cancellation.
|
|
||||||
*/
|
*/
|
||||||
|
__attribute__ ((deprecated))
|
||||||
@protocol FBSDKAppGroupJoinDialogDelegate <NSObject>
|
@protocol FBSDKAppGroupJoinDialogDelegate <NSObject>
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract Sent to the delegate when the app group request completes without error.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
@param appGroupJoinDialog The FBSDKAppGroupJoinDialog that completed.
|
|
||||||
@param results The results from the dialog. This may be nil or empty.
|
|
||||||
*/
|
*/
|
||||||
- (void)appGroupJoinDialog:(FBSDKAppGroupJoinDialog *)appGroupJoinDialog didCompleteWithResults:(NSDictionary *)results;
|
- (void)appGroupJoinDialog:(FBSDKAppGroupJoinDialog *)appGroupJoinDialog didCompleteWithResults:(NSDictionary *)results __attribute__ ((deprecated));
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract Sent to the delegate when the app group request encounters an error.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
@param appGroupJoinDialog The FBSDKAppGroupJoinDialog that completed.
|
|
||||||
@param error The error.
|
|
||||||
*/
|
*/
|
||||||
- (void)appGroupJoinDialog:(FBSDKAppGroupJoinDialog *)appGroupJoinDialog didFailWithError:(NSError *)error;
|
- (void)appGroupJoinDialog:(FBSDKAppGroupJoinDialog *)appGroupJoinDialog didFailWithError:(NSError *)error __attribute__ ((deprecated));
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@abstract Sent to the delegate when the app group dialog is cancelled.
|
@deprecated App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information.
|
||||||
@param appGroupJoinDialog The FBSDKAppGroupJoinDialog that completed.
|
|
||||||
*/
|
*/
|
||||||
- (void)appGroupJoinDialogDidCancel:(FBSDKAppGroupJoinDialog *)appGroupJoinDialog;
|
- (void)appGroupJoinDialogDidCancel:(FBSDKAppGroupJoinDialog *)appGroupJoinDialog __attribute__ ((deprecated));
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@ -368,6 +368,7 @@ static NSMutableArray *g_pendingFBSDKShareAPI;
|
|||||||
if ([errors count]) {
|
if ([errors count]) {
|
||||||
[_delegate sharer:self didFailWithError:errors[0]];
|
[_delegate sharer:self didFailWithError:errors[0]];
|
||||||
} else if ([results count]) {
|
} else if ([results count]) {
|
||||||
|
NSArray *individualPhotoIDs = [results valueForKeyPath:@"id"];
|
||||||
// each photo upload will be merged into the same post, so grab the post_id from the first and use that
|
// each photo upload will be merged into the same post, so grab the post_id from the first and use that
|
||||||
NSMutableDictionary *shareResults = [[NSMutableDictionary alloc] init];
|
NSMutableDictionary *shareResults = [[NSMutableDictionary alloc] init];
|
||||||
[FBSDKInternalUtility dictionary:shareResults setObject:FBSDK_SHARE_RESULT_COMPLETION_GESTURE_VALUE_POST
|
[FBSDKInternalUtility dictionary:shareResults setObject:FBSDK_SHARE_RESULT_COMPLETION_GESTURE_VALUE_POST
|
||||||
@ -375,6 +376,7 @@ static NSMutableArray *g_pendingFBSDKShareAPI;
|
|||||||
NSDictionary *firstResult = [FBSDKTypeUtility dictionaryValue:results[0]];
|
NSDictionary *firstResult = [FBSDKTypeUtility dictionaryValue:results[0]];
|
||||||
[FBSDKInternalUtility dictionary:shareResults setObject:[FBSDKTypeUtility stringValue:firstResult[@"post_id"]]
|
[FBSDKInternalUtility dictionary:shareResults setObject:[FBSDKTypeUtility stringValue:firstResult[@"post_id"]]
|
||||||
forKey:FBSDK_SHARE_RESULT_POST_ID_KEY];
|
forKey:FBSDK_SHARE_RESULT_POST_ID_KEY];
|
||||||
|
[FBSDKInternalUtility dictionary:shareResults setObject:individualPhotoIDs forKey:FBSDK_SHARE_RESULT_PHOTO_IDS_KEY];
|
||||||
[_delegate sharer:self didCompleteWithResults:shareResults];
|
[_delegate sharer:self didCompleteWithResults:shareResults];
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -188,6 +188,14 @@ FBSDK_STATIC_INLINE void FBSDKShareDialogValidateShareExtensionSchemeRegisteredF
|
|||||||
NSInteger errorCode = [results[@"error_code"] integerValue];
|
NSInteger errorCode = [results[@"error_code"] integerValue];
|
||||||
if (errorCode == 4201) {
|
if (errorCode == 4201) {
|
||||||
[self _invokeDelegateDidCancel];
|
[self _invokeDelegateDidCancel];
|
||||||
|
} else if (errorCode != 0) {
|
||||||
|
NSError *error = [FBSDKShareError errorWithCode:FBSDKShareUnknownErrorCode
|
||||||
|
userInfo:@{
|
||||||
|
FBSDKGraphRequestErrorGraphErrorCode : @(errorCode)
|
||||||
|
}
|
||||||
|
message:results[@"error_message"]
|
||||||
|
underlyingError:nil];
|
||||||
|
[self _handleWebResponseParameters:nil error:error];
|
||||||
} else {
|
} else {
|
||||||
// not all web dialogs report cancellation, so assume that the share has completed with no additional information
|
// not all web dialogs report cancellation, so assume that the share has completed with no additional information
|
||||||
[self _handleWebResponseParameters:results error:nil];
|
[self _handleWebResponseParameters:results error:nil];
|
||||||
|
|||||||
@ -25,6 +25,7 @@
|
|||||||
#define FBSDK_SHARE_RESULT_COMPLETION_GESTURE_VALUE_CANCEL @"cancel"
|
#define FBSDK_SHARE_RESULT_COMPLETION_GESTURE_VALUE_CANCEL @"cancel"
|
||||||
#define FBSDK_SHARE_RESULT_COMPLETION_GESTURE_VALUE_POST @"post"
|
#define FBSDK_SHARE_RESULT_COMPLETION_GESTURE_VALUE_POST @"post"
|
||||||
#define FBSDK_SHARE_RESULT_DID_COMPLETE_KEY @"didComplete"
|
#define FBSDK_SHARE_RESULT_DID_COMPLETE_KEY @"didComplete"
|
||||||
|
#define FBSDK_SHARE_RESULT_PHOTO_IDS_KEY @"photo_ids"
|
||||||
#define FBSDK_SHARE_RESULT_POST_ID_KEY @"postId"
|
#define FBSDK_SHARE_RESULT_POST_ID_KEY @"postId"
|
||||||
#define FBSDK_SHARE_VIDEO_END_OFFSET @"end_offset"
|
#define FBSDK_SHARE_VIDEO_END_OFFSET @"end_offset"
|
||||||
#define FBSDK_SHARE_VIDEO_FILE_CHUNK @"video_file_chunk"
|
#define FBSDK_SHARE_VIDEO_FILE_CHUNK @"video_file_chunk"
|
||||||
|
|||||||
@ -213,6 +213,7 @@
|
|||||||
[FBSDKInternalUtility dictionary:parameters setObject:linkContent.contentDescription forKey:@"description"];
|
[FBSDKInternalUtility dictionary:parameters setObject:linkContent.contentDescription forKey:@"description"];
|
||||||
[FBSDKInternalUtility dictionary:parameters setObject:linkContent.contentURL forKey:@"link"];
|
[FBSDKInternalUtility dictionary:parameters setObject:linkContent.contentURL forKey:@"link"];
|
||||||
[FBSDKInternalUtility dictionary:parameters setObject:linkContent.quote forKey:@"quote"];
|
[FBSDKInternalUtility dictionary:parameters setObject:linkContent.quote forKey:@"quote"];
|
||||||
|
[FBSDKInternalUtility dictionary:parameters setObject:[self hashtagStringFromHashtag:linkContent.hashtag] forKey:@"hashtag"];
|
||||||
[FBSDKInternalUtility dictionary:parameters setObject:linkContent.contentTitle forKey:@"name"];
|
[FBSDKInternalUtility dictionary:parameters setObject:linkContent.contentTitle forKey:@"name"];
|
||||||
[FBSDKInternalUtility dictionary:parameters setObject:linkContent.imageURL forKey:@"picture"];
|
[FBSDKInternalUtility dictionary:parameters setObject:linkContent.imageURL forKey:@"picture"];
|
||||||
[FBSDKInternalUtility dictionary:parameters setObject:linkContent.ref forKey:@"ref"];
|
[FBSDKInternalUtility dictionary:parameters setObject:linkContent.ref forKey:@"ref"];
|
||||||
|
|||||||
3
Pods/Firebase/CHANGELOG.md
generated
3
Pods/Firebase/CHANGELOG.md
generated
@ -1,3 +1,6 @@
|
|||||||
|
# 3.5.0
|
||||||
|
* Updates for Firebase/Analytics, Firebase/AppIndexing, Firebase/Auth, Firebase/DynamicLinks, Firebase/Invites, Firebase/Storage.
|
||||||
|
|
||||||
# 3.4.0
|
# 3.4.0
|
||||||
* Updates for Firebase/AdMob, Firebase/Analytics, Firebase/AppIndexing, Firebase/Auth, Firebase/Crash, Firebase/DynamicLinks, Firebase/Invites, Firebase/Messaging, Firebase/RemoteConfig.
|
* Updates for Firebase/AdMob, Firebase/Analytics, Firebase/AppIndexing, Firebase/Auth, Firebase/Crash, Firebase/DynamicLinks, Firebase/Invites, Firebase/Messaging, Firebase/RemoteConfig.
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@ -1,100 +0,0 @@
|
|||||||
// clang-format off
|
|
||||||
/** @file FIRStorage.h
|
|
||||||
@brief Firebase SDK
|
|
||||||
@copyright Copyright 2016 Google Inc.
|
|
||||||
@remarks Use of this SDK is subject to the Google APIs Terms of Service:
|
|
||||||
https://developers.google.com/terms/
|
|
||||||
*/
|
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
|
||||||
|
|
||||||
#import "FIRStorageConstants.h"
|
|
||||||
|
|
||||||
@class FIRApp;
|
|
||||||
@class FIRStorageReference;
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FirebaseStorage is a service that supports uploading and downloading binary objects,
|
|
||||||
* such as images, videos, and other files to Google Cloud Storage.
|
|
||||||
*
|
|
||||||
* If you call [FIRStorage storage], the instance will initialize with the default FIRApp,
|
|
||||||
* [FIRApp defaultApp], and the storage location will come from the provided
|
|
||||||
* GoogleService-Info.plist.
|
|
||||||
*
|
|
||||||
* If you call [FIRStorage storageForApp:] and provide a custom instance of FIRApp,
|
|
||||||
* the storage location will be specified via the FIROptions#storageBucket property.
|
|
||||||
*/
|
|
||||||
@interface FIRStorage : NSObject
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an instance of FIRStorage, configured with the default FIRApp.
|
|
||||||
* @return the FIRStorage instance, initialized with the default FIRApp.
|
|
||||||
*/
|
|
||||||
+ (instancetype)storage NS_SWIFT_NAME(storage());
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an instance of FIRStorage, configured with the custom FIRApp @a app.
|
|
||||||
* @param app The custom FIRApp used for initialization.
|
|
||||||
* @return the FIRStorage instance, initialized with the custom FIRApp.
|
|
||||||
*/
|
|
||||||
+ (instancetype)storageForApp:(FIRApp *)app NS_SWIFT_NAME(storage(app:));
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The Firebase App associated with this Firebase Storage instance.
|
|
||||||
*/
|
|
||||||
@property(strong, nonatomic, readonly) FIRApp *app;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Maximum time in seconds to retry an upload if a failure occurs.
|
|
||||||
* Defaults to 10 minutes (600 seconds).
|
|
||||||
*/
|
|
||||||
@property NSTimeInterval maxUploadRetryTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Maximum time in seconds to retry a download if a failure occurs.
|
|
||||||
* Defaults to 10 minutes (600 seconds).
|
|
||||||
*/
|
|
||||||
@property NSTimeInterval maxDownloadRetryTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Maximum time in seconds to retry operations other than upload and download if a failure occurs.
|
|
||||||
* Defaults to 2 minutes (120 seconds).
|
|
||||||
*/
|
|
||||||
@property NSTimeInterval maxOperationRetryTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Queue that all developer callbacks are fired on. Defaults to the main queue.
|
|
||||||
*/
|
|
||||||
@property(strong, nonatomic) dispatch_queue_t callbackQueue;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a FIRStorageReference initialized at the root Firebase Storage location.
|
|
||||||
* @return An instance of FIRStorageReference initialized at the root.
|
|
||||||
*/
|
|
||||||
- (FIRStorageReference *)reference;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a FIRStorageReference given a gs:// or https:// URL pointing to a Firebase Storage
|
|
||||||
* location. For example, you can pass in an https:// download URL retrieved from
|
|
||||||
* [FIRStorageReference getDownloadURL] or the gs:// URI from [FIRStorageReference description].
|
|
||||||
* @param string A gs:// or https:// URL to initialize the reference with.
|
|
||||||
* @return An instance of FIRStorageReference at the given child path.
|
|
||||||
* @throws Throws an exception if passed in URL is not associated with the FIRApp used to initialize
|
|
||||||
* this FIRStorage.
|
|
||||||
*/
|
|
||||||
- (FIRStorageReference *)referenceForURL:(NSString *)string;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a FIRStorageReference initialized at a child Firebase Storage location.
|
|
||||||
* @param string A relative path from the root to initialize the reference with,
|
|
||||||
* for instance @"path/to/object".
|
|
||||||
* @return An instance of FIRStorageReference at the given child path.
|
|
||||||
*/
|
|
||||||
- (FIRStorageReference *)referenceWithPath:(NSString *)string;
|
|
||||||
|
|
||||||
@end
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
|
||||||
@ -1,123 +0,0 @@
|
|||||||
// clang-format off
|
|
||||||
/** @file FIRStorageConstants.h
|
|
||||||
@brief Firebase SDK
|
|
||||||
@copyright Copyright 2016 Google Inc.
|
|
||||||
@remarks Use of this SDK is subject to the Google APIs Terms of Service:
|
|
||||||
https://developers.google.com/terms/
|
|
||||||
*/
|
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
|
||||||
|
|
||||||
@class FIRStorageDownloadTask;
|
|
||||||
@class FIRStorageMetadata;
|
|
||||||
@class FIRStorageTaskSnapshot;
|
|
||||||
@class FIRStorageUploadTask;
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
|
||||||
|
|
||||||
/**
|
|
||||||
* NSString typedef representing a task listener handle.
|
|
||||||
*/
|
|
||||||
typedef NSString *FIRStorageHandle;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Block typedef typically used when downloading data.
|
|
||||||
* @param data The data returned by the download, or nil if no data available or download failed.
|
|
||||||
* @param error The error describing failure, if one occurred.
|
|
||||||
*/
|
|
||||||
typedef void (^FIRStorageVoidDataError)(NSData *_Nullable data, NSError *_Nullable error);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Block typedef typically used when performing "binary" async operations such as delete,
|
|
||||||
* where the operation either succeeds without an error or fails with an error.
|
|
||||||
* @param error The error describing failure, if one occurred.
|
|
||||||
*/
|
|
||||||
typedef void (^FIRStorageVoidError)(NSError *_Nullable error);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Block typedef typically used when retrieving metadata.
|
|
||||||
* @param metadata The metadata returned by the operation, if metadata exists.
|
|
||||||
*/
|
|
||||||
typedef void (^FIRStorageVoidMetadata)(FIRStorageMetadata *_Nullable metadata);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Block typedef typically used when retrieving metadata with the possibility of an error.
|
|
||||||
* @param metadata The metadata returned by the operation, if metadata exists.
|
|
||||||
* @param error The error describing failure, if one occurred.
|
|
||||||
*/
|
|
||||||
typedef void (^FIRStorageVoidMetadataError)(FIRStorageMetadata *_Nullable metadata,
|
|
||||||
NSError *_Nullable error);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Block typedef typically used when getting or updating metadata with the possibility of an error.
|
|
||||||
* @param metadata The metadata returned by the operation, if metadata exists.
|
|
||||||
* @param error The error describing failure, if one occurred.
|
|
||||||
*/
|
|
||||||
typedef void (^FIRStorageVoidSnapshot)(FIRStorageTaskSnapshot *snapshot);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Block typedef typically used when retrieving a download URL.
|
|
||||||
* @param URL The download URL associated with the operation.
|
|
||||||
* @param error The error describing failure, if one occurred.
|
|
||||||
*/
|
|
||||||
typedef void (^FIRStorageVoidURLError)(NSURL *_Nullable URL, NSError *_Nullable error);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enum representing the upload and download task status.
|
|
||||||
*/
|
|
||||||
typedef NS_ENUM(NSInteger, FIRStorageTaskStatus) {
|
|
||||||
/**
|
|
||||||
* Unknown task status.
|
|
||||||
*/
|
|
||||||
FIRStorageTaskStatusUnknown,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Task is being resumed.
|
|
||||||
*/
|
|
||||||
FIRStorageTaskStatusResume,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Task reported a progress event.
|
|
||||||
*/
|
|
||||||
FIRStorageTaskStatusProgress,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Task is paused.
|
|
||||||
*/
|
|
||||||
FIRStorageTaskStatusPause,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Task has completed successfully.
|
|
||||||
*/
|
|
||||||
FIRStorageTaskStatusSuccess,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Task has failed and is unrecoverable.
|
|
||||||
*/
|
|
||||||
FIRStorageTaskStatusFailure
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Firebase Storage error domain.
|
|
||||||
*/
|
|
||||||
FOUNDATION_EXPORT NSString *const FIRStorageErrorDomain;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enum representing the errors raised by Firebase Storage.
|
|
||||||
*/
|
|
||||||
typedef NS_ENUM(NSInteger, FIRStorageErrorCode) {
|
|
||||||
FIRStorageErrorCodeUnknown = -13000,
|
|
||||||
FIRStorageErrorCodeObjectNotFound = -13010,
|
|
||||||
FIRStorageErrorCodeBucketNotFound = -13011,
|
|
||||||
FIRStorageErrorCodeProjectNotFound = -13012,
|
|
||||||
FIRStorageErrorCodeQuotaExceeded = -13013,
|
|
||||||
FIRStorageErrorCodeUnauthenticated = -13020,
|
|
||||||
FIRStorageErrorCodeUnauthorized = -13021,
|
|
||||||
FIRStorageErrorCodeRetryLimitExceeded = -13030,
|
|
||||||
FIRStorageErrorCodeNonMatchingChecksum = -13031,
|
|
||||||
FIRStorageErrorCodeDownloadSizeExceeded = -13032,
|
|
||||||
FIRStorageErrorCodeCancelled = -13040
|
|
||||||
};
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
|
||||||
@ -1,30 +0,0 @@
|
|||||||
// clang-format off
|
|
||||||
/** @file FIRStorageDownloadTask.h
|
|
||||||
@brief Firebase SDK
|
|
||||||
@copyright Copyright 2016 Google Inc.
|
|
||||||
@remarks Use of this SDK is subject to the Google APIs Terms of Service:
|
|
||||||
https://developers.google.com/terms/
|
|
||||||
*/
|
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
|
||||||
|
|
||||||
#import "FIRStorageObservableTask.h"
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FIRStorageDownloadTask implements resumable downloads from an object in Firebase Storage.
|
|
||||||
* Downloads can be returned on completion with a completion handler, and can be monitored
|
|
||||||
* by attaching observers, or controlled by calling FIRStorageTask#pause, FIRStorageTask#resume,
|
|
||||||
* or FIRStorageTask#cancel.
|
|
||||||
* Downloads can currently be returned as NSData in memory, or as an NSURL to a file on disk.
|
|
||||||
* Downloads are performed on a background queue, and callbacks are raised on the developer
|
|
||||||
* specified callbackQueue in FIRStorage, or the main queue if left unspecified.
|
|
||||||
* Currently all uploads must be initiated and managed on the main queue.
|
|
||||||
*/
|
|
||||||
@interface FIRStorageDownloadTask : FIRStorageObservableTask<FIRStorageTaskManagement>
|
|
||||||
|
|
||||||
@end
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
|
||||||
@ -1,138 +0,0 @@
|
|||||||
// clang-format off
|
|
||||||
/** @file FIRStorageMetadata.h
|
|
||||||
@brief Firebase SDK
|
|
||||||
@copyright Copyright 2016 Google Inc.
|
|
||||||
@remarks Use of this SDK is subject to the Google APIs Terms of Service:
|
|
||||||
https://developers.google.com/terms/
|
|
||||||
*/
|
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
|
||||||
|
|
||||||
@class FIRStorageReference;
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class which represents the metadata on an object in Firebase Storage. This metadata is
|
|
||||||
* returned on successful operations, and can be used to retrieve download URLs, content types,
|
|
||||||
* and a FIRStorage reference to the object in question. Full documentation can be found at the GCS
|
|
||||||
* Objects#resource docs.
|
|
||||||
* @see https://cloud.google.com/storage/docs/json_api/v1/objects#resource
|
|
||||||
*/
|
|
||||||
@interface FIRStorageMetadata : NSObject<NSCopying>
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The name of the bucket containing this object.
|
|
||||||
*/
|
|
||||||
@property(copy, nonatomic, readonly) NSString *bucket;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Cache-Control directive for the object data.
|
|
||||||
*/
|
|
||||||
@property(copy, nonatomic, nullable) NSString *cacheControl;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Content-Disposition of the object data.
|
|
||||||
*/
|
|
||||||
@property(copy, nonatomic, nullable) NSString *contentDisposition;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Content-Encoding of the object data.
|
|
||||||
*/
|
|
||||||
@property(copy, nonatomic, nullable) NSString *contentEncoding;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Content-Language of the object data.
|
|
||||||
*/
|
|
||||||
@property(copy, nonatomic, nullable) NSString *contentLanguage;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Content-Type of the object data.
|
|
||||||
*/
|
|
||||||
@property(copy, nonatomic, nullable) NSString *contentType;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The content generation of this object. Used for object versioning.
|
|
||||||
*/
|
|
||||||
@property(readonly) int64_t generation;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* User-provided metadata, in key/value pairs.
|
|
||||||
*/
|
|
||||||
@property(copy, nonatomic, nullable) NSDictionary<NSString *, NSString *> *customMetadata;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The version of the metadata for this object at this generation. Used
|
|
||||||
* for preconditions and for detecting changes in metadata. A metageneration number is only
|
|
||||||
* meaningful in the context of a particular generation of a particular object.
|
|
||||||
*/
|
|
||||||
@property(readonly) int64_t metageneration;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The name of this object, in gs://bucket/path/to/object.txt, this is object.txt.
|
|
||||||
*/
|
|
||||||
@property(copy, nonatomic, readonly, nullable) NSString *name;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The full path of this object, in gs://bucket/path/to/object.txt, this is path/to/object.txt.
|
|
||||||
*/
|
|
||||||
@property(copy, nonatomic, readonly, nullable) NSString *path;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Content-Length of the data in bytes.
|
|
||||||
*/
|
|
||||||
@property(readonly) int64_t size;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The creation time of the object in RFC 3339 format.
|
|
||||||
*/
|
|
||||||
@property(copy, nonatomic, readonly, nullable) NSDate *timeCreated;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The modification time of the object metadata in RFC 3339 format.
|
|
||||||
*/
|
|
||||||
@property(copy, nonatomic, readonly, nullable) NSDate *updated;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A reference to the object in Firebase Storage.
|
|
||||||
*/
|
|
||||||
@property(strong, nonatomic, readonly, nullable) FIRStorageReference *storageReference;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An array containing all download URLs available for the object.
|
|
||||||
*/
|
|
||||||
@property(strong, nonatomic, readonly, nullable) NSArray<NSURL *> *downloadURLs;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an instanece of FIRStorageMetadata from the contents of a dictionary.
|
|
||||||
* @return An instance of FIRStorageMetadata that represents the contents of a dictionary.
|
|
||||||
*/
|
|
||||||
- (nullable instancetype)initWithDictionary:(NSDictionary *)dictionary NS_DESIGNATED_INITIALIZER;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an NSDictionary from the contents of the metadata.
|
|
||||||
* @return An NSDictionary that represents the contents of the metadata.
|
|
||||||
*/
|
|
||||||
- (NSDictionary *)dictionaryRepresentation;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determines if the current metadata represents a "file".
|
|
||||||
*/
|
|
||||||
@property(readonly, getter=isFile) BOOL file;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determines if the current metadata represents a "folder".
|
|
||||||
*/
|
|
||||||
@property(readonly, getter=isFolder) BOOL folder;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Retrieves a download URL for the given object, or nil if none exist.
|
|
||||||
* Note that if there are many valid download tokens, this will always return the first
|
|
||||||
* valid token created.
|
|
||||||
*/
|
|
||||||
- (nullable NSURL *)downloadURL;
|
|
||||||
|
|
||||||
@end
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
|
||||||
@ -1,54 +0,0 @@
|
|||||||
// clang-format off
|
|
||||||
/** @file FIRStorageObservableTask.h
|
|
||||||
@brief Firebase SDK
|
|
||||||
@copyright Copyright 2016 Google Inc.
|
|
||||||
@remarks Use of this SDK is subject to the Google APIs Terms of Service:
|
|
||||||
https://developers.google.com/terms/
|
|
||||||
*/
|
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
#import "FIRStorageTask.h"
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
|
||||||
|
|
||||||
@class FIRStorageReference;
|
|
||||||
@class FIRStorageTaskSnapshot;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extends FIRStorageTask to provide observable semantics such as adding and removing observers.
|
|
||||||
* Observers produce a FIRStorageHandle, which is used to keep track of and remove specific
|
|
||||||
* observers at a later date.
|
|
||||||
* This class is currently not thread safe and can only be called on the main thread.
|
|
||||||
*/
|
|
||||||
@interface FIRStorageObservableTask : FIRStorageTask
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Observes changes in the upload status: Resume, Pause, Progress, Success, and Failure.
|
|
||||||
* @param status The FIRStorageTaskStatus change to observe.
|
|
||||||
* @param handler A callback that fires every time the status event occurs,
|
|
||||||
* returns a FIRStorageTaskSnapshot containing the state of the task.
|
|
||||||
* @return A task handle that can be used to remove the observer at a later date.
|
|
||||||
*/
|
|
||||||
- (FIRStorageHandle)observeStatus:(FIRStorageTaskStatus)status
|
|
||||||
handler:(void (^)(FIRStorageTaskSnapshot *snapshot))handler;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Removes the single observer with the provided handle.
|
|
||||||
* @param handle The handle of the task to remove.
|
|
||||||
*/
|
|
||||||
- (void)removeObserverWithHandle:(FIRStorageHandle)handle;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Removes all observers for a single status.
|
|
||||||
* @param status A FIRStorageTaskStatus to remove listeners for.
|
|
||||||
*/
|
|
||||||
- (void)removeAllObserversForStatus:(FIRStorageTaskStatus)status;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Removes all observers.
|
|
||||||
*/
|
|
||||||
- (void)removeAllObservers;
|
|
||||||
|
|
||||||
@end
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
|
||||||
@ -1,228 +0,0 @@
|
|||||||
// clang-format off
|
|
||||||
/** @file FIRStorageReference.h
|
|
||||||
@brief Firebase SDK
|
|
||||||
@copyright Copyright 2016 Google Inc.
|
|
||||||
@remarks Use of this SDK is subject to the Google APIs Terms of Service:
|
|
||||||
https://developers.google.com/terms/
|
|
||||||
*/
|
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
|
||||||
|
|
||||||
#import "FIRStorage.h"
|
|
||||||
#import "FIRStorageConstants.h"
|
|
||||||
#import "FIRStorageDownloadTask.h"
|
|
||||||
#import "FIRStorageMetadata.h"
|
|
||||||
#import "FIRStorageTask.h"
|
|
||||||
#import "FIRStorageUploadTask.h"
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FIRStorageReference represents a reference to a Google Cloud Storage object. Developers can
|
|
||||||
* upload and download objects, as well as get/set object metadata, and delete an object at the
|
|
||||||
* path.
|
|
||||||
* @see https://cloud.google.com/storage/
|
|
||||||
*/
|
|
||||||
@interface FIRStorageReference : NSObject
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The FIRStorage service object which created this reference.
|
|
||||||
*/
|
|
||||||
@property(nonatomic, readonly) FIRStorage *storage;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The name of the Google Cloud Storage bucket associated with this reference,
|
|
||||||
* in gs://bucket/path/to/object.txt, the bucket would be: 'bucket'
|
|
||||||
*/
|
|
||||||
@property(nonatomic, readonly) NSString *bucket;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The full path to this object, not including the Google Cloud Storage bucket.
|
|
||||||
* In gs://bucket/path/to/object.txt, the full path would be: 'path/to/object.txt'
|
|
||||||
*/
|
|
||||||
@property(nonatomic, readonly) NSString *fullPath;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The short name of the object associated with this reference,
|
|
||||||
* in gs://bucket/path/to/object.txt, the name of the object would be: 'object.txt'
|
|
||||||
*/
|
|
||||||
@property(nonatomic, readonly) NSString *name;
|
|
||||||
|
|
||||||
#pragma mark - Path Operations
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a new FIRStorageReference pointing to the root object.
|
|
||||||
* @return A new FIRStorageReference pointing to the root object.
|
|
||||||
*/
|
|
||||||
- (FIRStorageReference *)root;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a new FIRStorageReference pointing to the parent of the current reference
|
|
||||||
* or nil if this instance references the root location.
|
|
||||||
* For example:
|
|
||||||
* path = foo/bar/baz parent = foo/bar
|
|
||||||
* path = foo parent = (root)
|
|
||||||
* path = (root) parent = nil
|
|
||||||
* @return A new FIRStorageReference pointing to the parent of the current reference.
|
|
||||||
*/
|
|
||||||
- (nullable FIRStorageReference *)parent;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a new FIRStorageReference pointing to a child object of the current reference.
|
|
||||||
* path = foo child = bar newPath = foo/bar
|
|
||||||
* path = foo/bar child = baz newPath = foo/bar/baz
|
|
||||||
* All leading and trailing slashes will be removed, and consecutive slashes will be
|
|
||||||
* compressed to single slashes. For example:
|
|
||||||
* child = /foo/bar newPath = foo/bar
|
|
||||||
* child = foo/bar/ newPath = foo/bar
|
|
||||||
* child = foo///bar newPath = foo/bar
|
|
||||||
* @param path Path to append to the current path.
|
|
||||||
* @return A new FIRStorageReference pointing to a child location of the current reference.
|
|
||||||
*/
|
|
||||||
- (FIRStorageReference *)child:(NSString *)path;
|
|
||||||
|
|
||||||
#pragma mark - Uploads
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Asynchronously uploads data to the currently specified FIRStorageReference,
|
|
||||||
* without additional metadata.
|
|
||||||
* This is not recommended for large files, and one should instead upload a file from disk.
|
|
||||||
* @param uploadData The NSData to upload.
|
|
||||||
* @return An instance of FIRStorageUploadTask, which can be used to monitor or manage the upload.
|
|
||||||
*/
|
|
||||||
- (FIRStorageUploadTask *)putData:(NSData *)uploadData;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Asynchronously uploads data to the currently specified FIRStorageReference.
|
|
||||||
* This is not recommended for large files, and one should instead upload a file from disk.
|
|
||||||
* @param uploadData The NSData to upload.
|
|
||||||
* @param metadata FIRStorageMetadata containing additional information (MIME type, etc.)
|
|
||||||
* about the object being uploaded.
|
|
||||||
* @return An instance of FIRStorageUploadTask, which can be used to monitor or manage the upload.
|
|
||||||
*/
|
|
||||||
- (FIRStorageUploadTask *)putData:(NSData *)uploadData
|
|
||||||
metadata:(nullable FIRStorageMetadata *)metadata;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Asynchronously uploads data to the currently specified FIRStorageReference.
|
|
||||||
* This is not recommended for large files, and one should instead upload a file from disk.
|
|
||||||
* @param uploadData The NSData to upload.
|
|
||||||
* @param metadata FIRStorageMetadata containing additional information (MIME type, etc.)
|
|
||||||
* about the object being uploaded.
|
|
||||||
* @param completion A completion block that either returns the object metadata on success,
|
|
||||||
* or an error on failure.
|
|
||||||
* @return An instance of FIRStorageUploadTask, which can be used to monitor or manage the upload.
|
|
||||||
*/
|
|
||||||
- (FIRStorageUploadTask *)putData:(NSData *)uploadData
|
|
||||||
metadata:(nullable FIRStorageMetadata *)metadata
|
|
||||||
completion:(nullable void (^)(FIRStorageMetadata *_Nullable metadata,
|
|
||||||
NSError *_Nullable error))completion;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Asynchronously uploads a file to the currently specified FIRStorageReference,
|
|
||||||
* without additional metadata.
|
|
||||||
* @param fileURL A URL representing the system file path of the object to be uploaded.
|
|
||||||
* @return An instance of FIRStorageUploadTask, which can be used to monitor or manage the upload.
|
|
||||||
*/
|
|
||||||
- (FIRStorageUploadTask *)putFile:(NSURL *)fileURL;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Asynchronously uploads a file to the currently specified FIRStorageReference.
|
|
||||||
* @param fileURL A URL representing the system file path of the object to be uploaded.
|
|
||||||
* @param metadata FIRStorageMetadata containing additional information (MIME type, etc.)
|
|
||||||
* about the object being uploaded.
|
|
||||||
* @return An instance of FIRStorageUploadTask, which can be used to monitor or manage the upload.
|
|
||||||
*/
|
|
||||||
- (FIRStorageUploadTask *)putFile:(NSURL *)fileURL metadata:(nullable FIRStorageMetadata *)metadata;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Asynchronously uploads a file to the currently specified FIRStorageReference.
|
|
||||||
* @param fileURL A URL representing the system file path of the object to be uploaded.
|
|
||||||
* @param metadata FIRStorageMetadata containing additional information (MIME type, etc.)
|
|
||||||
* about the object being uploaded.
|
|
||||||
* @param completion A completion block that either returns the object metadata on success,
|
|
||||||
* or an error on failure.
|
|
||||||
* @return An instance of FIRStorageUploadTask, which can be used to monitor or manage the upload.
|
|
||||||
*/
|
|
||||||
- (FIRStorageUploadTask *)putFile:(NSURL *)fileURL
|
|
||||||
metadata:(nullable FIRStorageMetadata *)metadata
|
|
||||||
completion:(nullable void (^)(FIRStorageMetadata *_Nullable metadata,
|
|
||||||
NSError *_Nullable error))completion;
|
|
||||||
|
|
||||||
#pragma mark - Downloads
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Asynchronously downloads the object at the FIRStorageReference to an NSData object in memory.
|
|
||||||
* An NSData of the provided max size will be allocated, so ensure that the device has enough free
|
|
||||||
* memory to complete the download. For downloading large files, writeToFile may be a better option.
|
|
||||||
* @param size The maximum size in bytes to download. If the download exceeds this size
|
|
||||||
* the task will be cancelled and an error will be returned.
|
|
||||||
* @param completion A completion block that either returns the object data on success,
|
|
||||||
* or an error on failure.
|
|
||||||
* @return An FIRStorageDownloadTask that can be used to monitor or manage the download.
|
|
||||||
*/
|
|
||||||
- (FIRStorageDownloadTask *)dataWithMaxSize:(int64_t)size
|
|
||||||
completion:(void (^)(NSData *_Nullable data,
|
|
||||||
NSError *_Nullable error))completion;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Asynchronously retrieves a long lived download URL with a revokable token.
|
|
||||||
* This can be used to share the file with others, but can be revoked by a developer
|
|
||||||
* in the Firebase Console if desired.
|
|
||||||
* @param completion A completion block that either returns the URL on success,
|
|
||||||
* or an error on failure.
|
|
||||||
*/
|
|
||||||
- (void)downloadURLWithCompletion:(void (^)(NSURL *_Nullable URL,
|
|
||||||
NSError *_Nullable error))completion;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Asynchronously downloads the object at the current path to a specified system filepath.
|
|
||||||
* @param fileURL A file system URL representing the path the object should be downloaded to.
|
|
||||||
* @return An FIRStorageDownloadTask that can be used to monitor or manage the download.
|
|
||||||
*/
|
|
||||||
- (FIRStorageDownloadTask *)writeToFile:(NSURL *)fileURL;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Asynchronously downloads the object at the current path to a specified system filepath.
|
|
||||||
* @param fileURL A file system URL representing the path the object should be downloaded to.
|
|
||||||
* @param completion A completion block that fires when the file download completes.
|
|
||||||
* Returns an NSURL pointing to the file path of the downloaded file on success,
|
|
||||||
* or an error on failure.
|
|
||||||
* @return An FIRStorageDownloadTask that can be used to monitor or manage the download.
|
|
||||||
*/
|
|
||||||
- (FIRStorageDownloadTask *)writeToFile:(NSURL *)fileURL
|
|
||||||
completion:(nullable void (^)(NSURL *_Nullable URL,
|
|
||||||
NSError *_Nullable error))completion;
|
|
||||||
|
|
||||||
#pragma mark - Metadata Operations
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Retrieves metadata associated with an object at the current path.
|
|
||||||
* @param completion A completion block which returns the object metadata on success,
|
|
||||||
* or an error on failure.
|
|
||||||
*/
|
|
||||||
- (void)metadataWithCompletion:(void (^)(FIRStorageMetadata *_Nullable metadata,
|
|
||||||
NSError *_Nullable error))completion;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Updates the metadata associated with an object at the current path.
|
|
||||||
* @param metadata An FIRStorageMetadata object with the metadata to update.
|
|
||||||
* @param completion A completion block which returns the FIRStorageMetadata on success,
|
|
||||||
* or an error on failure.
|
|
||||||
*/
|
|
||||||
- (void)updateMetadata:(FIRStorageMetadata *)metadata
|
|
||||||
completion:(nullable void (^)(FIRStorageMetadata *_Nullable metadata,
|
|
||||||
NSError *_Nullable error))completion;
|
|
||||||
|
|
||||||
#pragma mark - Delete
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Deletes the object at the current path.
|
|
||||||
* @param completion A completion block which returns nil on success, or an error on failure.
|
|
||||||
*/
|
|
||||||
- (void)deleteWithCompletion:(nullable void (^)(NSError *_Nullable error))completion;
|
|
||||||
|
|
||||||
@end
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
|
||||||
@ -1,66 +0,0 @@
|
|||||||
// clang-format off
|
|
||||||
/** @file FIRStorageTask.h
|
|
||||||
@brief Firebase SDK
|
|
||||||
@copyright Copyright 2016 Google Inc.
|
|
||||||
@remarks Use of this SDK is subject to the Google APIs Terms of Service:
|
|
||||||
https://developers.google.com/terms/
|
|
||||||
*/
|
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
|
||||||
|
|
||||||
#import "FIRStorageConstants.h"
|
|
||||||
#import "FIRStorageMetadata.h"
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A superclass to all FIRStorage*Tasks, including FIRStorageUploadTask
|
|
||||||
* and FIRStorageDownloadTask, to provide state transitions, event raising, and common storage
|
|
||||||
* or metadata and errors.
|
|
||||||
* Callbacks are always fired on the developer specified callback queue.
|
|
||||||
* If no queue is specified by the developer, it defaults to the main queue.
|
|
||||||
* Currently not thread safe, so only call methods on the main thread.
|
|
||||||
*/
|
|
||||||
@interface FIRStorageTask : NSObject
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An immutable view of the task and associated metadata, progress, error, etc.
|
|
||||||
*/
|
|
||||||
@property(strong, readonly, nonatomic, nonnull) FIRStorageTaskSnapshot *snapshot;
|
|
||||||
|
|
||||||
@end
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Defines task operations such as pause, resume, cancel, and enqueue for all tasks.
|
|
||||||
* All tasks are required to implement enqueue, which begins the task, and may optionally
|
|
||||||
* implement pause, resume, and cancel, which operate on the task to pause, resume, and cancel
|
|
||||||
* operations.
|
|
||||||
*/
|
|
||||||
@protocol FIRStorageTaskManagement<NSObject>
|
|
||||||
|
|
||||||
@required
|
|
||||||
/**
|
|
||||||
* Prepares a task and begins execution.
|
|
||||||
*/
|
|
||||||
- (void)enqueue;
|
|
||||||
|
|
||||||
@optional
|
|
||||||
/**
|
|
||||||
* Pauses a task currently in progress.
|
|
||||||
*/
|
|
||||||
- (void)pause;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Cancels a task currently in progress.
|
|
||||||
*/
|
|
||||||
- (void)cancel;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Resumes a task that is paused.
|
|
||||||
*/
|
|
||||||
- (void)resume;
|
|
||||||
|
|
||||||
@end
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
|
||||||
@ -1,59 +0,0 @@
|
|||||||
// clang-format off
|
|
||||||
/** @file FIRStorageTaskSnapshot.h
|
|
||||||
@brief Firebase SDK
|
|
||||||
@copyright Copyright 2016 Google Inc.
|
|
||||||
@remarks Use of this SDK is subject to the Google APIs Terms of Service:
|
|
||||||
https://developers.google.com/terms/
|
|
||||||
*/
|
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
|
||||||
|
|
||||||
#import "FIRStorageConstants.h"
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
|
||||||
|
|
||||||
@class FIRStorageMetadata;
|
|
||||||
@class FIRStorageReference;
|
|
||||||
@class FIRStorageTask;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FIRStorageTaskSnapshot represents an immutable view of a task.
|
|
||||||
* A Snapshot contains a task, storage reference, metadata (if it exists),
|
|
||||||
* progress, and an error (if one occurred).
|
|
||||||
*/
|
|
||||||
@interface FIRStorageTaskSnapshot : NSObject
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Subclass of FIRStorageTask this snapshot represents.
|
|
||||||
*/
|
|
||||||
@property(readonly, copy, nonatomic) __kindof FIRStorageTask *task;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Metadata returned by the task, or nil if no metadata returned.
|
|
||||||
*/
|
|
||||||
@property(readonly, copy, nonatomic, nullable) FIRStorageMetadata *metadata;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FIRStorageReference this task is operates on.
|
|
||||||
*/
|
|
||||||
@property(readonly, copy, nonatomic) FIRStorageReference *reference;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* NSProgress object which tracks the progess of an upload or download.
|
|
||||||
*/
|
|
||||||
@property(readonly, strong, nonatomic, nullable) NSProgress *progress;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Error during task execution, or nil if no error occurred.
|
|
||||||
*/
|
|
||||||
@property(readonly, copy, nonatomic, nullable) NSError *error;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Status of the task.
|
|
||||||
*/
|
|
||||||
@property(readonly, nonatomic) FIRStorageTaskStatus status;
|
|
||||||
|
|
||||||
@end
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
|
||||||
@ -1,30 +0,0 @@
|
|||||||
// clang-format off
|
|
||||||
/** @file FIRStorageUploadTask.h
|
|
||||||
@brief Firebase SDK
|
|
||||||
@copyright Copyright 2016 Google Inc.
|
|
||||||
@remarks Use of this SDK is subject to the Google APIs Terms of Service:
|
|
||||||
https://developers.google.com/terms/
|
|
||||||
*/
|
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
|
||||||
|
|
||||||
#import "FIRStorageObservableTask.h"
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FIRStorageUploadTask implements resumable uploads to a file in Firebase Storage.
|
|
||||||
* Uploads can be returned on completion with a completion callback, and can be monitored
|
|
||||||
* by attaching observers, or controlled by calling FIRStorageTask#pause, FIRStorageTask#resume,
|
|
||||||
* or FIRStorageTask#cancel.
|
|
||||||
* Uploads can take NSData in memory, or an NSURL to a file on disk.
|
|
||||||
* Uploads are performed on a background queue, and callbacks are raised on the developer
|
|
||||||
* specified callbackQueue in FIRStorage, or the main queue if left unspecified.
|
|
||||||
* Currently all uploads must be initiated and managed on the main queue.
|
|
||||||
*/
|
|
||||||
@interface FIRStorageUploadTask : FIRStorageObservableTask<FIRStorageTaskManagement>
|
|
||||||
|
|
||||||
@end
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
|
||||||
@ -1,21 +0,0 @@
|
|||||||
// clang-format off
|
|
||||||
/** @file FirebaseStorage.m
|
|
||||||
@brief Firebase SDK
|
|
||||||
@copyright Copyright 2016 Google Inc.
|
|
||||||
@remarks Use of this SDK is subject to the Google APIs Terms of Service:
|
|
||||||
https://developers.google.com/terms/
|
|
||||||
*/
|
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
#import "FIRStorage.h"
|
|
||||||
#import "FIRStorageConstants.h"
|
|
||||||
#import "FIRStorageDownloadTask.h"
|
|
||||||
#import "FIRStorageMetadata.h"
|
|
||||||
#import "FIRStorageObservableTask.h"
|
|
||||||
#import "FIRStorageReference.h"
|
|
||||||
#import "FIRStorageTask.h"
|
|
||||||
#import "FIRStorageTaskSnapshot.h"
|
|
||||||
#import "FIRStorageUploadTask.h"
|
|
||||||
|
|
||||||
//! Project version string for FirebaseStorage.
|
|
||||||
FOUNDATION_EXPORT const unsigned char *const FirebaseStorageVersionString;
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
framework module FirebaseStorage {
|
|
||||||
|
|
||||||
export *
|
|
||||||
|
|
||||||
umbrella header "FirebaseStorage.h"
|
|
||||||
|
|
||||||
header "FIRStorage.h"
|
|
||||||
header "FIRStorageConstants.h"
|
|
||||||
header "FIRStorageDownloadTask.h"
|
|
||||||
header "FIRStorageMetadata.h"
|
|
||||||
header "FIRStorageObservableTask.h"
|
|
||||||
header "FIRStorageReference.h"
|
|
||||||
header "FIRStorageTask.h"
|
|
||||||
header "FIRStorageTaskSnapshot.h"
|
|
||||||
header "FIRStorageUploadTask.h"
|
|
||||||
|
|
||||||
link framework "MobileCoreServices"
|
|
||||||
}
|
|
||||||
52
Pods/Manifest.lock
generated
52
Pods/Manifest.lock
generated
@ -1,7 +1,7 @@
|
|||||||
PODS:
|
PODS:
|
||||||
- AeroGearHttp (0.6.0)
|
- AeroGearHttp (0.7.0)
|
||||||
- AeroGearOAuth2 (0.5.1):
|
- AeroGearOAuth2 (0.7.0):
|
||||||
- AeroGearHttp
|
- AeroGearHttp (= 0.7.0)
|
||||||
- AFNetworking (2.6.3):
|
- AFNetworking (2.6.3):
|
||||||
- AFNetworking/NSURLConnection (= 2.6.3)
|
- AFNetworking/NSURLConnection (= 2.6.3)
|
||||||
- AFNetworking/NSURLSession (= 2.6.3)
|
- AFNetworking/NSURLSession (= 2.6.3)
|
||||||
@ -37,25 +37,25 @@ PODS:
|
|||||||
- BSImagePicker (2.3.0):
|
- BSImagePicker (2.3.0):
|
||||||
- BSGridCollectionViewLayout (~> 1.1)
|
- BSGridCollectionViewLayout (~> 1.1)
|
||||||
- UIImageViewModeScaleAspect (~> 1.3)
|
- UIImageViewModeScaleAspect (~> 1.3)
|
||||||
- FBSDKCoreKit (4.14.0):
|
- FBSDKCoreKit (4.15.0):
|
||||||
- Bolts (~> 1.7)
|
- Bolts (~> 1.7)
|
||||||
- FBSDKLoginKit (4.14.0):
|
- FBSDKLoginKit (4.15.0):
|
||||||
- FBSDKCoreKit
|
- FBSDKCoreKit
|
||||||
- FBSDKShareKit (4.14.0):
|
- FBSDKShareKit (4.15.0):
|
||||||
- FBSDKCoreKit
|
- FBSDKCoreKit
|
||||||
- Firebase (3.4.0):
|
- Firebase (3.5.2):
|
||||||
- Firebase/Core (= 3.4.0)
|
- Firebase/Core (= 3.5.2)
|
||||||
- Firebase/Analytics (3.4.0):
|
- Firebase/Analytics (3.5.2):
|
||||||
- FirebaseAnalytics (~> 3.3)
|
- FirebaseAnalytics (~> 3.3)
|
||||||
- Firebase/Core (3.4.0):
|
- Firebase/Core (3.5.2):
|
||||||
- Firebase/Analytics
|
- Firebase/Analytics
|
||||||
- Firebase/Database (3.4.0):
|
- Firebase/Database (3.5.2):
|
||||||
- Firebase/Analytics
|
- Firebase/Analytics
|
||||||
- FirebaseDatabase (= 3.0.2)
|
- FirebaseDatabase (= 3.0.2)
|
||||||
- Firebase/Storage (3.4.0):
|
- Firebase/Storage (3.5.2):
|
||||||
- Firebase/Analytics
|
- Firebase/Analytics
|
||||||
- FirebaseStorage (= 1.0.2)
|
- FirebaseStorage (= 1.0.3)
|
||||||
- FirebaseAnalytics (3.3.0):
|
- FirebaseAnalytics (3.3.1):
|
||||||
- FirebaseInstanceID (~> 1.0)
|
- FirebaseInstanceID (~> 1.0)
|
||||||
- GoogleInterchangeUtilities (~> 1.2)
|
- GoogleInterchangeUtilities (~> 1.2)
|
||||||
- GoogleSymbolUtilities (~> 1.1)
|
- GoogleSymbolUtilities (~> 1.1)
|
||||||
@ -68,8 +68,8 @@ PODS:
|
|||||||
- FirebaseDatabase (3.0.2):
|
- FirebaseDatabase (3.0.2):
|
||||||
- FirebaseAnalytics (~> 3.2)
|
- FirebaseAnalytics (~> 3.2)
|
||||||
- FirebaseInstanceID (1.0.8)
|
- FirebaseInstanceID (1.0.8)
|
||||||
- FirebaseStorage (1.0.2):
|
- FirebaseStorage (1.0.3):
|
||||||
- FirebaseAnalytics (~> 3.2)
|
- FirebaseAnalytics (~> 3.3)
|
||||||
- GoogleNetworkingUtilities (~> 1.2)
|
- GoogleNetworkingUtilities (~> 1.2)
|
||||||
- GDataXML-HTML (1.3.0)
|
- GDataXML-HTML (1.3.0)
|
||||||
- GoogleInterchangeUtilities (1.2.1):
|
- GoogleInterchangeUtilities (1.2.1):
|
||||||
@ -121,23 +121,23 @@ DEPENDENCIES:
|
|||||||
- TYMActivityIndicatorView
|
- TYMActivityIndicatorView
|
||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
AeroGearHttp: e958f301cc2d1c7fbfd4b61af187ea3490040a48
|
AeroGearHttp: 4660c8bf5b56cd00a3b75d7c5ecf94774469df5c
|
||||||
AeroGearOAuth2: 6f29d3fac8b78a0ff6d51b04c4ba1a02baed2e52
|
AeroGearOAuth2: de4218f60a6228d6cdcf1761277fe8af1115600a
|
||||||
AFNetworking: cb8d14a848e831097108418f5d49217339d4eb60
|
AFNetworking: cb8d14a848e831097108418f5d49217339d4eb60
|
||||||
Alamofire: 01a82e2f6c0f860ade35534c8dd88be61bdef40c
|
Alamofire: 01a82e2f6c0f860ade35534c8dd88be61bdef40c
|
||||||
Alamofire-SwiftyJSON: 5812bb37accc36897cc2f2dabb070d8ebcd7ac98
|
Alamofire-SwiftyJSON: 5812bb37accc36897cc2f2dabb070d8ebcd7ac98
|
||||||
Bolts: 8a7995239dbe724f9cba2248b766d48b7ebdd322
|
Bolts: 8a7995239dbe724f9cba2248b766d48b7ebdd322
|
||||||
BSGridCollectionViewLayout: d7304dcb35c6b3b4420c527e9f9b77ff322250f3
|
BSGridCollectionViewLayout: d7304dcb35c6b3b4420c527e9f9b77ff322250f3
|
||||||
BSImagePicker: 591b28ce4994c44cbc4ac896717c1db9f9fadd18
|
BSImagePicker: 591b28ce4994c44cbc4ac896717c1db9f9fadd18
|
||||||
FBSDKCoreKit: 6e020b5db0b5bd1e01f5fb0902131befd129a502
|
FBSDKCoreKit: 6680cbd33a4243d80700f182d0af36b3fa7f3118
|
||||||
FBSDKLoginKit: da563567a108050ef83739c8c8c001ee9e25fa13
|
FBSDKLoginKit: 96d9b70b5784490f02ab86119e542a1f182017a8
|
||||||
FBSDKShareKit: e8e5d4ccef69b41132fe33acda26db1e33143e33
|
FBSDKShareKit: 06ef20cb2f16828ca4b20055333313dd445de362
|
||||||
Firebase: 754562547af419cc2f4b15247fee419081924bc2
|
Firebase: 94e63112efcad75226c0356a8f3032397b8547c9
|
||||||
FirebaseAnalytics: 228be2991cb28efb96cdafc4d62f64680e615c69
|
FirebaseAnalytics: d968d4d5f6aeb795cd64144337bcd233e530efc6
|
||||||
FirebaseAuth: 26fd291c3b552fc9658420b867520d5ae080421c
|
FirebaseAuth: 26fd291c3b552fc9658420b867520d5ae080421c
|
||||||
FirebaseDatabase: 59bea2e7dfd81b3b8b2f8e396caf1a52c2ced6f7
|
FirebaseDatabase: 59bea2e7dfd81b3b8b2f8e396caf1a52c2ced6f7
|
||||||
FirebaseInstanceID: ba1e640935235e5fac39dfa816fe7660e72e1a8a
|
FirebaseInstanceID: ba1e640935235e5fac39dfa816fe7660e72e1a8a
|
||||||
FirebaseStorage: fa2a87dee81f682f553af6839daa37a750e65f6a
|
FirebaseStorage: 3992817bf405f5c1a4f8349678d22724cd0ef509
|
||||||
GDataXML-HTML: 7adc03668cab35c288f1dbb8929a179f0fece898
|
GDataXML-HTML: 7adc03668cab35c288f1dbb8929a179f0fece898
|
||||||
GoogleInterchangeUtilities: def8415a862effc67d549d5b5b0b9c7a2f97d4de
|
GoogleInterchangeUtilities: def8415a862effc67d549d5b5b0b9c7a2f97d4de
|
||||||
GoogleNetworkingUtilities: 3e83269048cfb498dc7ec83ab36813360965c74f
|
GoogleNetworkingUtilities: 3e83269048cfb498dc7ec83ab36813360965c74f
|
||||||
@ -152,6 +152,6 @@ SPEC CHECKSUMS:
|
|||||||
TYMActivityIndicatorView: ad816387ebd5952c376af129218722733044148b
|
TYMActivityIndicatorView: ad816387ebd5952c376af129218722733044148b
|
||||||
UIImageViewModeScaleAspect: 11a790a0b9d248a13dc63e3a78991f1463b6d84e
|
UIImageViewModeScaleAspect: 11a790a0b9d248a13dc63e3a78991f1463b6d84e
|
||||||
|
|
||||||
PODFILE CHECKSUM: 3b36a7c734809ee54f4ecf0055d9910a9279d555
|
PODFILE CHECKSUM: d5879f9153df4c398c04aed34c686baebf1eeafb
|
||||||
|
|
||||||
COCOAPODS: 1.0.0
|
COCOAPODS: 1.0.1
|
||||||
|
|||||||
5650
Pods/Pods.xcodeproj/project.pbxproj
generated
5650
Pods/Pods.xcodeproj/project.pbxproj
generated
File diff suppressed because it is too large
Load Diff
@ -15,7 +15,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>FMWK</string>
|
<string>FMWK</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>0.6.0</string>
|
<string>0.7.0</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
|
|||||||
@ -15,7 +15,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>FMWK</string>
|
<string>FMWK</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>0.5.1</string>
|
<string>0.7.0</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
|
|||||||
@ -15,7 +15,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>FMWK</string>
|
<string>FMWK</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>4.14.0</string>
|
<string>4.15.0</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
|
|||||||
@ -15,7 +15,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>FMWK</string>
|
<string>FMWK</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>4.14.0</string>
|
<string>4.15.0</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
|
|||||||
@ -15,7 +15,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>FMWK</string>
|
<string>FMWK</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>4.14.0</string>
|
<string>4.15.0</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
|
|||||||
@ -646,7 +646,7 @@ Copyright 2016 Google
|
|||||||
|
|
||||||
## FirebaseStorage
|
## FirebaseStorage
|
||||||
|
|
||||||
Copyright 2016 Google Inc.
|
Copyright 2016 Google
|
||||||
|
|
||||||
## GDataXML-HTML
|
## GDataXML-HTML
|
||||||
|
|
||||||
|
|||||||
@ -721,7 +721,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||||||
</dict>
|
</dict>
|
||||||
<dict>
|
<dict>
|
||||||
<key>FooterText</key>
|
<key>FooterText</key>
|
||||||
<string>Copyright 2016 Google Inc.</string>
|
<string>Copyright 2016 Google</string>
|
||||||
<key>Title</key>
|
<key>Title</key>
|
||||||
<string>FirebaseStorage</string>
|
<string>FirebaseStorage</string>
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
|
|||||||
@ -48,8 +48,8 @@ EOM
|
|||||||
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
||||||
;;
|
;;
|
||||||
*.xib)
|
*.xib)
|
||||||
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT}"
|
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}"
|
||||||
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}"
|
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
||||||
;;
|
;;
|
||||||
*.framework)
|
*.framework)
|
||||||
echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks/frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
|
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
|
||||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks/frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
|
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
|
||||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||||
|
|||||||
@ -646,7 +646,7 @@ Copyright 2016 Google
|
|||||||
|
|
||||||
## FirebaseStorage
|
## FirebaseStorage
|
||||||
|
|
||||||
Copyright 2016 Google Inc.
|
Copyright 2016 Google
|
||||||
|
|
||||||
## GDataXML-HTML
|
## GDataXML-HTML
|
||||||
|
|
||||||
|
|||||||
@ -721,7 +721,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||||||
</dict>
|
</dict>
|
||||||
<dict>
|
<dict>
|
||||||
<key>FooterText</key>
|
<key>FooterText</key>
|
||||||
<string>Copyright 2016 Google Inc.</string>
|
<string>Copyright 2016 Google</string>
|
||||||
<key>Title</key>
|
<key>Title</key>
|
||||||
<string>FirebaseStorage</string>
|
<string>FirebaseStorage</string>
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
|
|||||||
@ -48,8 +48,8 @@ EOM
|
|||||||
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
||||||
;;
|
;;
|
||||||
*.xib)
|
*.xib)
|
||||||
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT}"
|
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}"
|
||||||
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}"
|
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
||||||
;;
|
;;
|
||||||
*.framework)
|
*.framework)
|
||||||
echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks/frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
|
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
|
||||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks/frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
|
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
|
||||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||||
|
|||||||
@ -646,7 +646,7 @@ Copyright 2016 Google
|
|||||||
|
|
||||||
## FirebaseStorage
|
## FirebaseStorage
|
||||||
|
|
||||||
Copyright 2016 Google Inc.
|
Copyright 2016 Google
|
||||||
|
|
||||||
## GDataXML-HTML
|
## GDataXML-HTML
|
||||||
|
|
||||||
|
|||||||
@ -721,7 +721,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||||||
</dict>
|
</dict>
|
||||||
<dict>
|
<dict>
|
||||||
<key>FooterText</key>
|
<key>FooterText</key>
|
||||||
<string>Copyright 2016 Google Inc.</string>
|
<string>Copyright 2016 Google</string>
|
||||||
<key>Title</key>
|
<key>Title</key>
|
||||||
<string>FirebaseStorage</string>
|
<string>FirebaseStorage</string>
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
|
|||||||
@ -48,8 +48,8 @@ EOM
|
|||||||
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
||||||
;;
|
;;
|
||||||
*.xib)
|
*.xib)
|
||||||
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT}"
|
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}"
|
||||||
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}"
|
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
||||||
;;
|
;;
|
||||||
*.framework)
|
*.framework)
|
||||||
echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks/frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
|
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
|
||||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks"
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearHttp" "$PODS_CONFIGURATION_BUILD_DIR/AeroGearOAuth2" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" "$PODS_CONFIGURATION_BUILD_DIR/Alamofire-SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/BSGridCollectionViewLayout" "$PODS_CONFIGURATION_BUILD_DIR/BSImagePicker" "$PODS_CONFIGURATION_BUILD_DIR/Bolts" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKCoreKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKLoginKit" "$PODS_CONFIGURATION_BUILD_DIR/FBSDKShareKit" "$PODS_CONFIGURATION_BUILD_DIR/GDataXML-HTML" "$PODS_CONFIGURATION_BUILD_DIR/Locksmith" "$PODS_CONFIGURATION_BUILD_DIR/OAuthSwift" "$PODS_CONFIGURATION_BUILD_DIR/PicoKit" "$PODS_CONFIGURATION_BUILD_DIR/SWRevealViewController" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" "$PODS_CONFIGURATION_BUILD_DIR/TYMActivityIndicatorView" "$PODS_CONFIGURATION_BUILD_DIR/UIImageViewModeScaleAspect" "${PODS_ROOT}/FirebaseAnalytics/Frameworks/frameworks" "${PODS_ROOT}/FirebaseAuth/Frameworks/frameworks" "${PODS_ROOT}/FirebaseDatabase/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks/frameworks" "${PODS_ROOT}/FirebaseStorage/Frameworks/frameworks" "${PODS_ROOT}/GoogleInterchangeUtilities/Frameworks" "${PODS_ROOT}/GoogleNetworkingUtilities/Frameworks" "${PODS_ROOT}/GoogleParsingUtilities/Frameworks" "${PODS_ROOT}/GoogleSymbolUtilities/Frameworks" "${PODS_ROOT}/GoogleUtilities/Frameworks"
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
|
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Firebase/Analytics/Sources $(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/GDataXML-HTML/libxml $(SDKROOT)/usr/include/libxml2 $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseAnalytics" "${PODS_ROOT}/Headers/Public/FirebaseAuth" "${PODS_ROOT}/Headers/Public/FirebaseDatabase" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/FirebaseStorage" "${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities" "${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities" "${PODS_ROOT}/Headers/Public/GoogleParsingUtilities" "${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities" "${PODS_ROOT}/Headers/Public/GoogleUtilities"
|
||||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||||
|
|||||||
@ -45,6 +45,7 @@
|
|||||||
A87525ED0EE7D42D9A7708D8 /* Pods_Vendoo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 23ECC3C8465826BD6AC74A02 /* Pods_Vendoo.framework */; };
|
A87525ED0EE7D42D9A7708D8 /* Pods_Vendoo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 23ECC3C8465826BD6AC74A02 /* Pods_Vendoo.framework */; };
|
||||||
B6FD38131D70EB27008FB41E /* AmazonWebServiceManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6FD38121D70EB27008FB41E /* AmazonWebServiceManager.swift */; };
|
B6FD38131D70EB27008FB41E /* AmazonWebServiceManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6FD38121D70EB27008FB41E /* AmazonWebServiceManager.swift */; };
|
||||||
B6FD38151D71CF3E008FB41E /* FeedType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6FD38141D71CF3E008FB41E /* FeedType.swift */; };
|
B6FD38151D71CF3E008FB41E /* FeedType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6FD38141D71CF3E008FB41E /* FeedType.swift */; };
|
||||||
|
B6FD38171D720540008FB41E /* QuerySigner.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6FD38161D720540008FB41E /* QuerySigner.swift */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXContainerItemProxy section */
|
/* Begin PBXContainerItemProxy section */
|
||||||
@ -112,6 +113,7 @@
|
|||||||
A44ED233D6B5454EF92FEB08 /* Pods-Vendoo-VendooUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Vendoo-VendooUITests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Vendoo-VendooUITests/Pods-Vendoo-VendooUITests.debug.xcconfig"; sourceTree = "<group>"; };
|
A44ED233D6B5454EF92FEB08 /* Pods-Vendoo-VendooUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Vendoo-VendooUITests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Vendoo-VendooUITests/Pods-Vendoo-VendooUITests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
B6FD38121D70EB27008FB41E /* AmazonWebServiceManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AmazonWebServiceManager.swift; sourceTree = "<group>"; };
|
B6FD38121D70EB27008FB41E /* AmazonWebServiceManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AmazonWebServiceManager.swift; sourceTree = "<group>"; };
|
||||||
B6FD38141D71CF3E008FB41E /* FeedType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedType.swift; sourceTree = "<group>"; };
|
B6FD38141D71CF3E008FB41E /* FeedType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedType.swift; sourceTree = "<group>"; };
|
||||||
|
B6FD38161D720540008FB41E /* QuerySigner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QuerySigner.swift; sourceTree = "<group>"; };
|
||||||
B876489113F498AF1D2FD7E9 /* Pods_Vendoo_VendooTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Vendoo_VendooTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
B876489113F498AF1D2FD7E9 /* Pods_Vendoo_VendooTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Vendoo_VendooTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
E16BF843456476262BD075A1 /* Pods-Vendoo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Vendoo.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Vendoo/Pods-Vendoo.debug.xcconfig"; sourceTree = "<group>"; };
|
E16BF843456476262BD075A1 /* Pods-Vendoo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Vendoo.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Vendoo/Pods-Vendoo.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
E25BEE3F146F38C121B72346 /* Pods-Vendoo-VendooTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Vendoo-VendooTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Vendoo-VendooTests/Pods-Vendoo-VendooTests.debug.xcconfig"; sourceTree = "<group>"; };
|
E25BEE3F146F38C121B72346 /* Pods-Vendoo-VendooTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Vendoo-VendooTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Vendoo-VendooTests/Pods-Vendoo-VendooTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
@ -342,6 +344,7 @@
|
|||||||
children = (
|
children = (
|
||||||
B6FD38121D70EB27008FB41E /* AmazonWebServiceManager.swift */,
|
B6FD38121D70EB27008FB41E /* AmazonWebServiceManager.swift */,
|
||||||
B6FD38141D71CF3E008FB41E /* FeedType.swift */,
|
B6FD38141D71CF3E008FB41E /* FeedType.swift */,
|
||||||
|
B6FD38161D720540008FB41E /* QuerySigner.swift */,
|
||||||
);
|
);
|
||||||
name = AmazonServices;
|
name = AmazonServices;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -366,7 +369,7 @@
|
|||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 3E6CC37D1CF2A94B00E00A70 /* Build configuration list for PBXNativeTarget "Vendoo" */;
|
buildConfigurationList = 3E6CC37D1CF2A94B00E00A70 /* Build configuration list for PBXNativeTarget "Vendoo" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
8D532FDF55F208776F1284EF /* 📦 Check Pods Manifest.lock */,
|
8D532FDF55F208776F1284EF /* [CP] Check Pods Manifest.lock */,
|
||||||
F467CC8AF77423C2B3AAB223 /* [CP] Check Pods Manifest.lock */,
|
F467CC8AF77423C2B3AAB223 /* [CP] Check Pods Manifest.lock */,
|
||||||
3E6CC34F1CF2A94B00E00A70 /* Sources */,
|
3E6CC34F1CF2A94B00E00A70 /* Sources */,
|
||||||
3E6CC3501CF2A94B00E00A70 /* Frameworks */,
|
3E6CC3501CF2A94B00E00A70 /* Frameworks */,
|
||||||
@ -389,7 +392,7 @@
|
|||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 3E6CC3801CF2A94B00E00A70 /* Build configuration list for PBXNativeTarget "VendooTests" */;
|
buildConfigurationList = 3E6CC3801CF2A94B00E00A70 /* Build configuration list for PBXNativeTarget "VendooTests" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
2A9BA63E4CE4638416B6A19E /* 📦 Check Pods Manifest.lock */,
|
2A9BA63E4CE4638416B6A19E /* [CP] Check Pods Manifest.lock */,
|
||||||
9F58E69456F56F20E6643056 /* [CP] Check Pods Manifest.lock */,
|
9F58E69456F56F20E6643056 /* [CP] Check Pods Manifest.lock */,
|
||||||
3E6CC3651CF2A94B00E00A70 /* Sources */,
|
3E6CC3651CF2A94B00E00A70 /* Sources */,
|
||||||
3E6CC3661CF2A94B00E00A70 /* Frameworks */,
|
3E6CC3661CF2A94B00E00A70 /* Frameworks */,
|
||||||
@ -413,7 +416,7 @@
|
|||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 3E6CC3831CF2A94B00E00A70 /* Build configuration list for PBXNativeTarget "VendooUITests" */;
|
buildConfigurationList = 3E6CC3831CF2A94B00E00A70 /* Build configuration list for PBXNativeTarget "VendooUITests" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
BCA592620202EE5EBFCD3DCA /* 📦 Check Pods Manifest.lock */,
|
BCA592620202EE5EBFCD3DCA /* [CP] Check Pods Manifest.lock */,
|
||||||
99EF583910BFA3B053CE8591 /* [CP] Check Pods Manifest.lock */,
|
99EF583910BFA3B053CE8591 /* [CP] Check Pods Manifest.lock */,
|
||||||
3E6CC3701CF2A94B00E00A70 /* Sources */,
|
3E6CC3701CF2A94B00E00A70 /* Sources */,
|
||||||
3E6CC3711CF2A94B00E00A70 /* Frameworks */,
|
3E6CC3711CF2A94B00E00A70 /* Frameworks */,
|
||||||
@ -535,14 +538,14 @@
|
|||||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Vendoo/Pods-Vendoo-resources.sh\"\n";
|
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Vendoo/Pods-Vendoo-resources.sh\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
2A9BA63E4CE4638416B6A19E /* 📦 Check Pods Manifest.lock */ = {
|
2A9BA63E4CE4638416B6A19E /* [CP] Check Pods Manifest.lock */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
);
|
);
|
||||||
name = "📦 Check Pods Manifest.lock";
|
name = "[CP] Check Pods Manifest.lock";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
@ -577,7 +580,7 @@
|
|||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-VendooTests/Pods-VendooTests-resources.sh\"\n";
|
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Vendoo-VendooTests/Pods-Vendoo-VendooTests-resources.sh\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
7A9D276114F95F89DAFE1AF3 /* 📦 Embed Pods Frameworks */ = {
|
7A9D276114F95F89DAFE1AF3 /* 📦 Embed Pods Frameworks */ = {
|
||||||
@ -610,14 +613,14 @@
|
|||||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Vendoo-VendooUITests/Pods-Vendoo-VendooUITests-resources.sh\"\n";
|
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Vendoo-VendooUITests/Pods-Vendoo-VendooUITests-resources.sh\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
8D532FDF55F208776F1284EF /* 📦 Check Pods Manifest.lock */ = {
|
8D532FDF55F208776F1284EF /* [CP] Check Pods Manifest.lock */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
);
|
);
|
||||||
name = "📦 Check Pods Manifest.lock";
|
name = "[CP] Check Pods Manifest.lock";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
@ -697,17 +700,17 @@
|
|||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-VendooTests/Pods-VendooTests-frameworks.sh\"\n";
|
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Vendoo-VendooTests/Pods-Vendoo-VendooTests-frameworks.sh\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
BCA592620202EE5EBFCD3DCA /* 📦 Check Pods Manifest.lock */ = {
|
BCA592620202EE5EBFCD3DCA /* [CP] Check Pods Manifest.lock */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
);
|
);
|
||||||
name = "📦 Check Pods Manifest.lock";
|
name = "[CP] Check Pods Manifest.lock";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
@ -727,7 +730,7 @@
|
|||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-VendooUITests/Pods-VendooUITests-resources.sh\"\n";
|
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Vendoo-VendooUITests/Pods-Vendoo-VendooUITests-resources.sh\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
F467CC8AF77423C2B3AAB223 /* [CP] Check Pods Manifest.lock */ = {
|
F467CC8AF77423C2B3AAB223 /* [CP] Check Pods Manifest.lock */ = {
|
||||||
@ -758,6 +761,7 @@
|
|||||||
3E1AA4351D0DD173005FCCBB /* SettingsViewController.swift in Sources */,
|
3E1AA4351D0DD173005FCCBB /* SettingsViewController.swift in Sources */,
|
||||||
3E0F76FC1D01B2D7004A0159 /* Listing.swift in Sources */,
|
3E0F76FC1D01B2D7004A0159 /* Listing.swift in Sources */,
|
||||||
3E6CC3571CF2A94B00E00A70 /* AppDelegate.swift in Sources */,
|
3E6CC3571CF2A94B00E00A70 /* AppDelegate.swift in Sources */,
|
||||||
|
B6FD38171D720540008FB41E /* QuerySigner.swift in Sources */,
|
||||||
3EC3251E1CF734C100626C48 /* NetworksTableViewController.swift in Sources */,
|
3EC3251E1CF734C100626C48 /* NetworksTableViewController.swift in Sources */,
|
||||||
3EC325201CF7C3AB00626C48 /* NetworkTableViewCell.swift in Sources */,
|
3EC325201CF7C3AB00626C48 /* NetworkTableViewCell.swift in Sources */,
|
||||||
3EC325261CF7E90000626C48 /* FacebookGraphAPIManager.swift in Sources */,
|
3EC325261CF7E90000626C48 /* FacebookGraphAPIManager.swift in Sources */,
|
||||||
@ -924,9 +928,27 @@
|
|||||||
buildSettings = {
|
buildSettings = {
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
|
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
|
||||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
|
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
|
||||||
|
HEADER_SEARCH_PATHS = (
|
||||||
|
"${PODS_ROOT}/Firebase/Analytics/Sources",
|
||||||
|
"$(SDKROOT)/usr/include/libxml2",
|
||||||
|
"$(PODS_ROOT)/GDataXML-HTML/libxml",
|
||||||
|
"$(SDKROOT)/usr/include/libxml2",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/Firebase\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/FirebaseAnalytics\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/FirebaseAuth\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/FirebaseDatabase\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/FirebaseInstanceID\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/FirebaseStorage\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/GoogleParsingUtilities\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/GoogleUtilities\"",
|
||||||
|
);
|
||||||
INCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "\"Vendoo/**\" \"Pods/**\"";
|
INCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "\"Vendoo/**\" \"Pods/**\"";
|
||||||
INFOPLIST_FILE = Vendoo/Info.plist;
|
INFOPLIST_FILE = Vendoo/Info.plist;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||||
@ -1010,7 +1032,9 @@
|
|||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE = "";
|
PROVISIONING_PROFILE = "";
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
|
SWIFT_DISABLE_SAFETY_CHECKS = NO;
|
||||||
SWIFT_INCLUDE_PATHS = "";
|
SWIFT_INCLUDE_PATHS = "";
|
||||||
|
"SWIFT_INCLUDE_PATHS[arch=*]" = "";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Vendoo/Vendoo-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Vendoo/Vendoo-Bridging-Header.h";
|
||||||
USER_HEADER_SEARCH_PATHS = "\"Vendoo/**\" \"Pods/**\"";
|
USER_HEADER_SEARCH_PATHS = "\"Vendoo/**\" \"Pods/**\"";
|
||||||
VALID_ARCHS = "arm64 armv7 armv7s";
|
VALID_ARCHS = "arm64 armv7 armv7s";
|
||||||
@ -1023,9 +1047,27 @@
|
|||||||
buildSettings = {
|
buildSettings = {
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
|
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
|
||||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
|
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
|
||||||
|
HEADER_SEARCH_PATHS = (
|
||||||
|
"${PODS_ROOT}/Firebase/Analytics/Sources",
|
||||||
|
"$(SDKROOT)/usr/include/libxml2",
|
||||||
|
"$(PODS_ROOT)/GDataXML-HTML/libxml",
|
||||||
|
"$(SDKROOT)/usr/include/libxml2",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/Firebase\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/FirebaseAnalytics\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/FirebaseAuth\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/FirebaseDatabase\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/FirebaseInstanceID\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/FirebaseStorage\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/GoogleInterchangeUtilities\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/GoogleParsingUtilities\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/GoogleUtilities\"",
|
||||||
|
);
|
||||||
INCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "\"Vendoo/**\" \"Pods/**\"";
|
INCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "\"Vendoo/**\" \"Pods/**\"";
|
||||||
INFOPLIST_FILE = Vendoo/Info.plist;
|
INFOPLIST_FILE = Vendoo/Info.plist;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||||
@ -1109,6 +1151,7 @@
|
|||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE = "";
|
PROVISIONING_PROFILE = "";
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
|
SWIFT_DISABLE_SAFETY_CHECKS = NO;
|
||||||
SWIFT_INCLUDE_PATHS = "";
|
SWIFT_INCLUDE_PATHS = "";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Vendoo/Vendoo-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Vendoo/Vendoo-Bridging-Header.h";
|
||||||
USER_HEADER_SEARCH_PATHS = "\"Vendoo/**\" \"Pods/**\"";
|
USER_HEADER_SEARCH_PATHS = "\"Vendoo/**\" \"Pods/**\"";
|
||||||
|
|||||||
19
Vendoo/QuerySigner.swift
Normal file
19
Vendoo/QuerySigner.swift
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
//
|
||||||
|
// QuerySigner.swift
|
||||||
|
// Vendoo
|
||||||
|
//
|
||||||
|
// Created by cole alban on 8/27/16.
|
||||||
|
// Copyright © 2016 Okechi Onyeje. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
/*
|
||||||
|
This class will be used to sign the HTTP query with a HmacSHA256
|
||||||
|
string that will then be encoded in base64 for transmission.
|
||||||
|
This 'signature' is required by the Amazon MWS Api to verify
|
||||||
|
that requests are not corrupted in transit.
|
||||||
|
*/
|
||||||
|
class QuerySigner{
|
||||||
|
|
||||||
|
}
|
||||||
@ -10,9 +10,8 @@
|
|||||||
#define Vendoo_Bridging_Header_h
|
#define Vendoo_Bridging_Header_h
|
||||||
|
|
||||||
|
|
||||||
|
#import <CommonCrypto/CommonHMAC.h>
|
||||||
|
|
||||||
//#import "EBayTradingServiceClient.h"
|
//#import "EBayTradingServiceClient.h"
|
||||||
|
|
||||||
|
|
||||||
#endif /* Vendoo_Bridging_Header_h */
|
#endif /* Vendoo_Bridging_Header_h */
|
||||||
Loading…
x
Reference in New Issue
Block a user