├── .gitmodules ├── FacebookSDK.framework ├── FacebookSDK ├── Headers ├── Resources └── Versions │ ├── A │ ├── DeprecatedHeaders │ │ ├── FBAccessTokenData.h │ │ ├── FBCacheDescriptor.h │ │ ├── FBConnect.h │ │ ├── FBDialog.h │ │ ├── FBError.h │ │ ├── FBFrictionlessRequestSettings.h │ │ ├── FBFriendPickerViewController.h │ │ ├── FBGraphLocation.h │ │ ├── FBGraphObject.h │ │ ├── FBGraphPlace.h │ │ ├── FBGraphUser.h │ │ ├── FBInsights.h │ │ ├── FBLoginDialog.h │ │ ├── FBLoginView.h │ │ ├── FBNativeDialogs.h │ │ ├── FBOpenGraphAction.h │ │ ├── FBPlacePickerViewController.h │ │ ├── FBProfilePictureView.h │ │ ├── FBRequest.h │ │ ├── FBRequestConnection.h │ │ ├── FBSBJSON.h │ │ ├── FBSBJsonBase.h │ │ ├── FBSBJsonParser.h │ │ ├── FBSBJsonWriter.h │ │ ├── FBSession.h │ │ ├── FBSessionManualTokenCachingStrategy.h │ │ ├── FBSessionTokenCachingStrategy.h │ │ ├── FBSettings.h │ │ ├── FBTestSession.h │ │ ├── FBUserSettingsViewController.h │ │ ├── FBViewController.h │ │ ├── FBWebDialogs.h │ │ ├── Facebook.h │ │ ├── FacebookSDK.h │ │ └── NSError+FBError.h │ ├── FacebookSDK │ ├── Headers │ │ ├── FBAccessTokenData.h │ │ ├── FBCacheDescriptor.h │ │ ├── FBError.h │ │ ├── FBFriendPickerViewController.h │ │ ├── FBGraphLocation.h │ │ ├── FBGraphObject.h │ │ ├── FBGraphPlace.h │ │ ├── FBGraphUser.h │ │ ├── FBInsights.h │ │ ├── FBLoginView.h │ │ ├── FBNativeDialogs.h │ │ ├── FBOpenGraphAction.h │ │ ├── FBPlacePickerViewController.h │ │ ├── FBProfilePictureView.h │ │ ├── FBRequest.h │ │ ├── FBRequestConnection.h │ │ ├── FBSession.h │ │ ├── FBSessionTokenCachingStrategy.h │ │ ├── FBSettings.h │ │ ├── FBTestSession.h │ │ ├── FBUserSettingsViewController.h │ │ ├── FBViewController.h │ │ ├── FBWebDialogs.h │ │ ├── FacebookSDK.h │ │ └── NSError+FBError.h │ └── Resources │ │ ├── FBUserSettingsViewResources.bundle │ │ ├── Contents │ │ │ └── Resources │ │ │ │ ├── en.lproj │ │ │ │ └── Localizable.strings │ │ │ │ └── he.lproj │ │ │ │ └── Localizable.strings │ │ └── images │ │ │ ├── facebook-logo.png │ │ │ ├── facebook-logo@2x.png │ │ │ ├── loginBackgroundIPadLandscape.jpg │ │ │ ├── loginBackgroundIPadLandscape@2x.jpg │ │ │ ├── loginBackgroundIPadPortrait.jpg │ │ │ ├── loginBackgroundIPadPortrait@2x.jpg │ │ │ ├── loginBackgroundIPhonePortrait.jpg │ │ │ ├── loginBackgroundIPhonePortrait@2x.jpg │ │ │ ├── silver-button-normal.png │ │ │ ├── silver-button-normal@2x.png │ │ │ ├── silver-button-pressed.png │ │ │ └── silver-button-pressed@2x.png │ │ ├── FacebookSDKResources.bundle │ │ ├── Contents │ │ │ └── Resources │ │ │ │ ├── en.lproj │ │ │ │ └── Localizable.strings │ │ │ │ └── he.lproj │ │ │ │ └── Localizable.strings │ │ ├── FBDialog │ │ │ └── images │ │ │ │ ├── close.png │ │ │ │ ├── close@2x.png │ │ │ │ └── fbicon.png │ │ ├── FBFriendPickerView │ │ │ └── images │ │ │ │ └── default.png │ │ ├── FBLoginView │ │ │ └── images │ │ │ │ ├── bluetint.png │ │ │ │ ├── f_logo.png │ │ │ │ ├── facebook.png │ │ │ │ ├── login-button-small-pressed.png │ │ │ │ ├── login-button-small-pressed@2x.png │ │ │ │ ├── login-button-small.png │ │ │ │ └── login-button-small@2x.png │ │ ├── FBPlacePickerView │ │ │ └── images │ │ │ │ └── fb_generic_place.png │ │ └── FBProfilePictureView │ │ │ └── images │ │ │ ├── fb_blank_profile_portrait.png │ │ │ └── fb_blank_profile_square.png │ │ └── Info.plist │ └── Current ├── ICParseCMS.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcuserdata │ │ └── florent.xcuserdatad │ │ ├── UserInterfaceState.xcuserstate │ │ └── WorkspaceSettings.xcsettings └── xcuserdata │ └── florent.xcuserdatad │ └── xcschemes │ ├── Framework.xcscheme │ ├── ICParseCMSResources.xcscheme │ ├── iOSParseCMS.xcscheme │ └── xcschememanagement.plist ├── ICParseCMS ├── ICBundle.h ├── ICBundle.m ├── ICCustomQueryTableViewController.h ├── ICCustomQueryTableViewController.m ├── ICEditPointerViewController.h ├── ICEditPointerViewController.m ├── ICEditRelationViewController.h ├── ICEditRelationViewController.m ├── ICEditableCell.h ├── ICEditableCell.m ├── ICEditableCell.xib ├── ICInputAccessoryView.h ├── ICInputAccessoryView.m ├── ICMenuViewController.h ├── ICMenuViewController.m ├── ICObjectKeysCache.h ├── ICObjectKeysCache.m ├── ICObjectTableViewController.h ├── ICObjectTableViewController.m ├── ICPFFileUploadViewController.h ├── ICPFFileUploadViewController.m ├── ICParseCMS-Prefix.pch ├── ICParseCMS.h ├── ICParseCMS.m ├── ICParseCMSViewController.h ├── ICParseCMSViewController.m ├── ICParseCMSViewController.xib ├── ICQueryTableViewController.h ├── ICQueryTableViewController.m ├── NSBooleanCell.h ├── NSBooleanCell.m ├── NSBooleanCell.xib ├── NSDateCell.h ├── NSDateCell.m ├── NSDateCell.xib ├── NSDictionaryCell.h ├── NSDictionaryCell.m ├── NSDictionaryCell.xib ├── PFACLCell.h ├── PFACLCell.m ├── PFFileCell.h ├── PFFileCell.m ├── PFObjectCell.h ├── PFObjectCell.m ├── PFObjectCell.xib ├── PFObjectHelper.h ├── PFObjectHelper.m ├── PFRelationCell.h ├── PFRelationCell.m └── PFRelationCell.xib ├── ICParseCMSResources ├── ICParseCMSResources-Info.plist ├── ICParseCMSResources-Prefix.pch ├── PFFileCell.xib ├── PFRelationCell.xib └── en.lproj │ └── InfoPlist.strings ├── Parse.framework ├── Headers ├── Parse ├── Resources ├── Versions │ ├── 1.2.9 │ │ ├── Headers │ │ │ ├── PFACL.h │ │ │ ├── PFAnalytics.h │ │ │ ├── PFAnonymousUtils.h │ │ │ ├── PFCloud.h │ │ │ ├── PFConstants.h │ │ │ ├── PFFacebookUtils.h │ │ │ ├── PFFile.h │ │ │ ├── PFGeoPoint.h │ │ │ ├── PFImageView.h │ │ │ ├── PFInstallation.h │ │ │ ├── PFLogInView.h │ │ │ ├── PFLogInViewController.h │ │ │ ├── PFObject+Subclass.h │ │ │ ├── PFObject.h │ │ │ ├── PFProduct.h │ │ │ ├── PFProductTableViewController.h │ │ │ ├── PFPurchase.h │ │ │ ├── PFPurchaseTableViewCell.h │ │ │ ├── PFPush.h │ │ │ ├── PFQuery.h │ │ │ ├── PFQueryTableViewController.h │ │ │ ├── PFRelation.h │ │ │ ├── PFRole.h │ │ │ ├── PFSignUpView.h │ │ │ ├── PFSignUpViewController.h │ │ │ ├── PFSubclassing.h │ │ │ ├── PFTableViewCell.h │ │ │ ├── PFTwitterUtils.h │ │ │ ├── PFUser.h │ │ │ ├── PF_EGORefreshTableHeaderView.h │ │ │ ├── PF_MBProgressHUD.h │ │ │ ├── PF_Twitter.h │ │ │ └── Parse.h │ │ ├── Parse │ │ └── Resources │ │ │ ├── Info.plist │ │ │ └── Localizable.strings │ └── Current └── third_party_licenses.txt └── README.md /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "FPPopover"] 2 | path = FPPopover 3 | url = https://github.com/50pixels/FPPopover.git 4 | [submodule "ViewDeck"] 5 | path = ViewDeck 6 | url = https://github.com/Inferis/ViewDeck.git 7 | [submodule "SDWebImage"] 8 | path = SDWebImage 9 | url = git@github.com:vfloz/SDWebImage.git 10 | -------------------------------------------------------------------------------- /FacebookSDK.framework/FacebookSDK: -------------------------------------------------------------------------------- 1 | ./Versions/A/FacebookSDK -------------------------------------------------------------------------------- /FacebookSDK.framework/Headers: -------------------------------------------------------------------------------- 1 | ./Versions/A/Headers -------------------------------------------------------------------------------- /FacebookSDK.framework/Resources: -------------------------------------------------------------------------------- 1 | ./Versions/A/Resources -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBAccessTokenData.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | #import "FBSession.h" 19 | 20 | /*! 21 | @class FBAccessTokenData 22 | 23 | @abstract Represents an access token used for the Facebook login flow 24 | and includes associated metadata such as expiration date and permissions. 25 | You should use factory methods (createToken...) to construct instances 26 | and should be treated as immutable. 27 | 28 | @discussion For more information, see 29 | https://developers.facebook.com/docs/concepts/login/access-tokens-and-types/. 30 | */ 31 | @interface FBAccessTokenData : NSObject 32 | 33 | /*! 34 | @method 35 | 36 | @abstract Creates an FBAccessTokenData from an App Link provided by the Facebook application 37 | or nil if the url is not valid. 38 | 39 | @param url The url provided. 40 | @param appID needed in order to verify URL format. 41 | @param urlSchemeSuffix needed in order to verify URL format. 42 | 43 | */ 44 | + (FBAccessTokenData *) createTokenFromFacebookURL:(NSURL *)url appID:(NSString *)appID urlSchemeSuffix:(NSString *)urlSchemeSuffix; 45 | 46 | /*! 47 | @method 48 | 49 | @abstract Creates an FBAccessTokenData from a dictionary or returns nil if required data is missing. 50 | @param dictionary the dictionary with FBSessionTokenCachingStrategy keys. 51 | */ 52 | + (FBAccessTokenData *) createTokenFromDictionary:(NSDictionary *)dictionary; 53 | 54 | /*! 55 | @method 56 | 57 | @abstract Creates an FBAccessTokenData from existing information or returns nil if required data is missing. 58 | 59 | @param accessToken The token string. If nil or empty, this method will return nil. 60 | @param permissions The permissions set. A value of nil indicates basic permissions. 61 | @param expirationDate The expiration date. A value of nil defaults to `[NSDate distantFuture]`. 62 | @param loginType The login source of the token. 63 | @param refreshDate The date that token was last refreshed. A value of nil defaults to `[NSDate date]`. 64 | */ 65 | + (FBAccessTokenData *) createTokenFromString:(NSString *)accessToken 66 | permissions:(NSArray *)permissions 67 | expirationDate:(NSDate *)expirationDate 68 | loginType:(FBSessionLoginType)loginType 69 | refreshDate:(NSDate *)refreshDate; 70 | 71 | /*! 72 | @method 73 | 74 | @abstract Returns a dictionary representation of this instance. 75 | 76 | @discussion This is provided for backwards compatibility with previous 77 | access token related APIs that used a NSDictionary (see `FBSessionTokenCachingStrategy`). 78 | */ 79 | - (NSMutableDictionary *) dictionary; 80 | 81 | /*! 82 | @method 83 | 84 | @abstract Returns a Boolean value that indicates whether a given object is an FBAccessTokenData object and exactly equal the receiver. 85 | 86 | @param accessTokenData the data to compare to the receiver. 87 | */ 88 | - (BOOL) isEqualToAccessTokenData:(FBAccessTokenData *)accessTokenData; 89 | 90 | /*! 91 | @abstract returns the access token NSString. 92 | */ 93 | @property (readonly, nonatomic, copy) NSString *accessToken; 94 | 95 | /*! 96 | @abstract returns the permissions associated with the access token. 97 | */ 98 | @property (readonly, nonatomic, copy) NSArray *permissions; 99 | 100 | /*! 101 | @abstract returns the expiration date of the access token. 102 | */ 103 | @property (readonly, nonatomic, copy) NSDate *expirationDate; 104 | 105 | /*! 106 | @abstract returns the login type associated with the token. 107 | */ 108 | @property (readonly, nonatomic) FBSessionLoginType loginType; 109 | 110 | /*! 111 | @abstract returns the date the token was last refreshed. 112 | */ 113 | @property (readonly, nonatomic, copy) NSDate *refreshDate; 114 | 115 | @end 116 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBCacheDescriptor.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | #import "FBSession.h" 19 | 20 | /*! 21 | @class 22 | 23 | @abstract 24 | Base class from which CacheDescriptors derive, provides a method to fetch data for later use 25 | 26 | @discussion 27 | Cache descriptors allow your application to specify the arguments that will be 28 | later used with another object, such as the FBFriendPickerViewController. By using a cache descriptor 29 | instance, an application can choose to fetch data ahead of the point in time where the data is needed. 30 | */ 31 | @interface FBCacheDescriptor : NSObject 32 | 33 | /*! 34 | @method 35 | @abstract 36 | Fetches and caches the data described by the cache descriptor instance, for the given session. 37 | 38 | @param session the to use for fetching data 39 | */ 40 | - (void)prefetchAndCacheForSession:(FBSession*)session; 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBConnect.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2010 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | #include "Facebook.h" 19 | #include "FBDialog.h" 20 | #include "FBLoginDialog.h" 21 | #include "FBRequest.h" 22 | #include "FBSBJSON.h" -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBFrictionlessRequestSettings.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | 19 | @class Facebook; 20 | 21 | /** 22 | * Do not use this interface directly, instead, use methods in Facebook.h 23 | * 24 | * Handles frictionless interaction and recipient-caching by the SDK, 25 | * see https://developers.facebook.com/docs/reference/dialogs/requests/ 26 | */ 27 | @interface FBFrictionlessRequestSettings : NSObject { 28 | @private 29 | NSArray* _allowedRecipients; 30 | FBRequest* _activeRequest; 31 | BOOL _enabled; 32 | } 33 | 34 | /** 35 | * BOOL indicating whether frictionless request sending has been enabled 36 | */ 37 | @property(nonatomic, readonly) BOOL enabled; 38 | 39 | /** 40 | * Enable frictionless request sending by the sdk; this means: 41 | * 1. query and cache the current set of frictionless recipients 42 | * 2. flag other facets of the sdk to behave in a frictionless way 43 | */ 44 | - (void)enableWithFacebook:(Facebook*)facebook; 45 | 46 | /** 47 | * Reload recipient cache; called by the sdk to keep the cache fresh; 48 | * method makes graph request: me/apprequestformerrecipients 49 | */ 50 | - (void)reloadRecipientCacheWithFacebook:(Facebook*)facebook; 51 | 52 | /** 53 | * Update the recipient cache; called by the sdk to keep the cache fresh; 54 | */ 55 | - (void)updateRecipientCacheWithRecipients:(NSArray*)ids; 56 | 57 | /** 58 | * Given an fbID for a user, indicates whether user is enabled for 59 | * frictionless calls 60 | */ 61 | - (BOOL)isFrictionlessEnabledForRecipient:(id)fbid; 62 | 63 | /** 64 | * Given an array of user fbIDs, indicates whether they are enabled for 65 | * frictionless calls 66 | */ 67 | - (BOOL)isFrictionlessEnabledForRecipients:(NSArray*)fbids; 68 | 69 | /** 70 | * init the frictionless cache object 71 | */ 72 | - (id)init; 73 | 74 | @end 75 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBGraphLocation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | #import "FBGraphObject.h" 19 | 20 | /*! 21 | @protocol 22 | 23 | @abstract 24 | The `FBGraphLocation` protocol enables typed access to the `location` property 25 | of a Facebook place object. 26 | 27 | 28 | @discussion 29 | The `FBGraphLocation` protocol represents the most commonly used properties of a 30 | location object. It may be used to access an `NSDictionary` object that has 31 | been wrapped with an facade. 32 | */ 33 | @protocol FBGraphLocation 34 | 35 | /*! 36 | @property 37 | @abstract Typed access to a location's street. 38 | */ 39 | @property (retain, nonatomic) NSString *street; 40 | 41 | /*! 42 | @property 43 | @abstract Typed access to a location's city. 44 | */ 45 | @property (retain, nonatomic) NSString *city; 46 | 47 | /*! 48 | @property 49 | @abstract Typed access to a location's state. 50 | */ 51 | @property (retain, nonatomic) NSString *state; 52 | 53 | /*! 54 | @property 55 | @abstract Typed access to a location's country. 56 | */ 57 | @property (retain, nonatomic) NSString *country; 58 | 59 | /*! 60 | @property 61 | @abstract Typed access to a location's zip code. 62 | */ 63 | @property (retain, nonatomic) NSString *zip; 64 | 65 | /*! 66 | @property 67 | @abstract Typed access to a location's latitude. 68 | */ 69 | @property (retain, nonatomic) NSNumber *latitude; 70 | 71 | /*! 72 | @property 73 | @abstract Typed access to a location's longitude. 74 | */ 75 | @property (retain, nonatomic) NSNumber *longitude; 76 | 77 | @end -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBGraphPlace.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | #import "FBGraphLocation.h" 19 | #import "FBGraphObject.h" 20 | 21 | /*! 22 | @protocol 23 | 24 | @abstract 25 | The `FBGraphPlace` protocol enables typed access to a place object 26 | as represented in the Graph API. 27 | 28 | 29 | @discussion 30 | The `FBGraphPlace` protocol represents the most commonly used properties of a 31 | Facebook place object. It may be used to access an `NSDictionary` object that has 32 | been wrapped with an facade. 33 | */ 34 | @protocol FBGraphPlace 35 | 36 | /*! 37 | @property 38 | @abstract Typed access to the place ID. 39 | */ 40 | @property (retain, nonatomic) NSString *id; 41 | 42 | /*! 43 | @property 44 | @abstract Typed access to the place name. 45 | */ 46 | @property (retain, nonatomic) NSString *name; 47 | 48 | /*! 49 | @property 50 | @abstract Typed access to the place category. 51 | */ 52 | @property (retain, nonatomic) NSString *category; 53 | 54 | /*! 55 | @property 56 | @abstract Typed access to the place location. 57 | */ 58 | @property (retain, nonatomic) id location; 59 | 60 | @end -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBGraphUser.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | #import "FBGraphPlace.h" 19 | #import "FBGraphObject.h" 20 | 21 | /*! 22 | @protocol 23 | 24 | @abstract 25 | The `FBGraphUser` protocol enables typed access to a user object 26 | as represented in the Graph API. 27 | 28 | 29 | @discussion 30 | The `FBGraphUser` protocol represents the most commonly used properties of a 31 | Facebook user object. It may be used to access an `NSDictionary` object that has 32 | been wrapped with an facade. 33 | */ 34 | @protocol FBGraphUser 35 | 36 | /*! 37 | @property 38 | @abstract Typed access to the user's ID. 39 | */ 40 | @property (retain, nonatomic) NSString *id; 41 | 42 | /*! 43 | @property 44 | @abstract Typed access to the user's name. 45 | */ 46 | @property (retain, nonatomic) NSString *name; 47 | 48 | /*! 49 | @property 50 | @abstract Typed access to the user's first name. 51 | */ 52 | @property (retain, nonatomic) NSString *first_name; 53 | 54 | /*! 55 | @property 56 | @abstract Typed access to the user's middle name. 57 | */ 58 | @property (retain, nonatomic) NSString *middle_name; 59 | 60 | /*! 61 | @property 62 | @abstract Typed access to the user's last name. 63 | */ 64 | @property (retain, nonatomic) NSString *last_name; 65 | 66 | /*! 67 | @property 68 | @abstract Typed access to the user's profile URL. 69 | */ 70 | @property (retain, nonatomic) NSString *link; 71 | 72 | /*! 73 | @property 74 | @abstract Typed access to the user's username. 75 | */ 76 | @property (retain, nonatomic) NSString *username; 77 | 78 | /*! 79 | @property 80 | @abstract Typed access to the user's birthday. 81 | */ 82 | @property (retain, nonatomic) NSString *birthday; 83 | 84 | /*! 85 | @property 86 | @abstract Typed access to the user's current city. 87 | */ 88 | @property (retain, nonatomic) id location; 89 | 90 | @end -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBLoginDialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2010 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | #import "FBDialog.h" 19 | 20 | @protocol FBLoginDialogDelegate; 21 | 22 | /** 23 | * Do not use this interface directly, instead, use authorize in Facebook.h 24 | * 25 | * Facebook Login Dialog interface for start the facebook webView login dialog. 26 | * It start pop-ups prompting for credentials and permissions. 27 | */ 28 | 29 | @interface FBLoginDialog : FBDialog { 30 | id _loginDelegate; 31 | } 32 | 33 | -(id) initWithURL:(NSString *) loginURL 34 | loginParams:(NSMutableDictionary *) params 35 | delegate:(id ) delegate; 36 | @end 37 | 38 | /////////////////////////////////////////////////////////////////////////////////////////////////// 39 | 40 | @protocol FBLoginDialogDelegate 41 | 42 | - (void)fbDialogLogin:(NSString*)token expirationDate:(NSDate*)expirationDate; 43 | 44 | - (void)fbDialogNotLogin:(BOOL)cancelled; 45 | 46 | @end 47 | 48 | 49 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBOpenGraphAction.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/xlicenses/LICENSE-2.0 9 | 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | #import "FBGraphObject.h" 19 | 20 | @protocol FBGraphPlace; 21 | @protocol FBGraphUser; 22 | 23 | /*! 24 | @protocol 25 | 26 | @abstract 27 | The `FBOpenGraphAction` protocol is the base protocol for use in posting and retrieving Open Graph actions. 28 | It inherits from the `FBGraphObject` protocol; you may derive custome protocols from `FBOpenGraphAction` in order 29 | implement typed access to your application's custom actions. 30 | 31 | @discussion 32 | Represents an Open Graph custom action, to be used directly, or from which to 33 | derive custom action protocols with custom properties. 34 | */ 35 | @protocol FBOpenGraphAction 36 | 37 | /*! 38 | @property 39 | @abstract Typed access to action's id 40 | */ 41 | @property (retain, nonatomic) NSString *id; 42 | 43 | /*! 44 | @property 45 | @abstract Typed access to action's start time 46 | */ 47 | @property (retain, nonatomic) NSString *start_time; 48 | 49 | /*! 50 | @property 51 | @abstract Typed access to action's end time 52 | */ 53 | @property (retain, nonatomic) NSString *end_time; 54 | 55 | /*! 56 | @property 57 | @abstract Typed access to action's publication time 58 | */ 59 | @property (retain, nonatomic) NSString *publish_time; 60 | 61 | /*! 62 | @property 63 | @abstract Typed access to action's creation time 64 | */ 65 | @property (retain, nonatomic) NSString *created_time; 66 | 67 | /*! 68 | @property 69 | @abstract Typed access to action's expiration time 70 | */ 71 | @property (retain, nonatomic) NSString *expires_time; 72 | 73 | /*! 74 | @property 75 | @abstract Typed access to action's ref 76 | */ 77 | @property (retain, nonatomic) NSString *ref; 78 | 79 | /*! 80 | @property 81 | @abstract Typed access to action's user message 82 | */ 83 | @property (retain, nonatomic) NSString *message; 84 | 85 | /*! 86 | @property 87 | @abstract Typed access to action's place 88 | */ 89 | @property (retain, nonatomic) id place; 90 | 91 | /*! 92 | @property 93 | @abstract Typed access to action's tags 94 | */ 95 | @property (retain, nonatomic) NSArray *tags; 96 | 97 | /*! 98 | @property 99 | @abstract Typed access to action's images 100 | */ 101 | @property (retain, nonatomic) NSArray *image; 102 | 103 | /*! 104 | @property 105 | @abstract Typed access to action's from-user 106 | */ 107 | @property (retain, nonatomic) id from; 108 | 109 | /*! 110 | @property 111 | @abstract Typed access to action's likes 112 | */ 113 | @property (retain, nonatomic) NSArray *likes; 114 | 115 | /*! 116 | @property 117 | @abstract Typed access to action's application 118 | */ 119 | @property (retain, nonatomic) id application; 120 | 121 | /*! 122 | @property 123 | @abstract Typed access to action's comments 124 | */ 125 | @property (retain, nonatomic) NSArray *comments; 126 | 127 | @end -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBProfilePictureView.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2010 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | 19 | /*! 20 | @typedef FBProfilePictureCropping enum 21 | 22 | @abstract 23 | Type used to specify the cropping treatment of the profile picture. 24 | 25 | @discussion 26 | */ 27 | typedef enum { 28 | 29 | /*! Square (default) - the square version that the Facebook user defined. */ 30 | FBProfilePictureCroppingSquare = 0, 31 | 32 | /*! Original - the original profile picture, as uploaded. */ 33 | FBProfilePictureCroppingOriginal = 1 34 | 35 | } FBProfilePictureCropping; 36 | 37 | /*! 38 | @class 39 | @abstract 40 | An instance of `FBProfilePictureView` is used to display a profile picture. 41 | 42 | The default behavior of this control is to center the profile picture 43 | in the view and shrinks it, if necessary, to the view's bounds, preserving the aspect ratio. The smallest 44 | possible image is downloaded to ensure that scaling up never happens. Resizing the view may result in 45 | a different size of the image being loaded. Canonical image sizes are documented in the "Pictures" section 46 | of https://developers.facebook.com/docs/reference/api. 47 | */ 48 | @interface FBProfilePictureView : UIView 49 | 50 | /*! 51 | @abstract 52 | The Facebook ID of the user, place or object for which a picture should be fetched and displayed. 53 | */ 54 | @property (copy, nonatomic) NSString* profileID; 55 | 56 | /*! 57 | @abstract 58 | The cropping to use for the profile picture. 59 | */ 60 | @property (nonatomic) FBProfilePictureCropping pictureCropping; 61 | 62 | /*! 63 | @abstract 64 | Initializes and returns a profile view object. 65 | */ 66 | - (id)init; 67 | 68 | 69 | /*! 70 | @abstract 71 | Initializes and returns a profile view object for the given Facebook ID and cropping. 72 | 73 | @param profileID The Facebook ID of the user, place or object for which a picture should be fetched and displayed. 74 | @param pictureCropping The cropping to use for the profile picture. 75 | */ 76 | - (id)initWithProfileID:(NSString*)profileID 77 | pictureCropping:(FBProfilePictureCropping)pictureCropping; 78 | 79 | 80 | @end 81 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBSBJSON.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2007-2009 Stig Brautaset. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | * Neither the name of the author nor the names of its contributors may be used 15 | to endorse or promote products derived from this software without specific 16 | prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE 22 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 24 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 26 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | 30 | #import 31 | #import "FBSBJsonParser.h" 32 | #import "FBSBJsonWriter.h" 33 | 34 | /** 35 | @brief Facade for SBJsonWriter/SBJsonParser. 36 | 37 | Requests are forwarded to instances of SBJsonWriter and SBJsonParser. 38 | */ 39 | @interface FBSBJSON : FBSBJsonBase { 40 | 41 | @private 42 | FBSBJsonParser *jsonParser; 43 | FBSBJsonWriter *jsonWriter; 44 | } 45 | 46 | 47 | /// Return the fragment represented by the given string 48 | - (id)fragmentWithString:(NSString*)jsonrep 49 | error:(NSError**)error; 50 | 51 | /// Return the object represented by the given string 52 | - (id)objectWithString:(NSString*)jsonrep 53 | error:(NSError**)error; 54 | 55 | /// Parse the string and return the represented object (or scalar) 56 | - (id)objectWithString:(id)value 57 | allowScalar:(BOOL)x 58 | error:(NSError**)error; 59 | 60 | 61 | /// Return JSON representation of an array or dictionary 62 | - (NSString*)stringWithObject:(id)value 63 | error:(NSError**)error; 64 | 65 | /// Return JSON representation of any legal JSON value 66 | - (NSString*)stringWithFragment:(id)value 67 | error:(NSError**)error; 68 | 69 | /// Return JSON representation (or fragment) for the given object 70 | - (NSString*)stringWithObject:(id)value 71 | allowScalar:(BOOL)x 72 | error:(NSError**)error; 73 | 74 | 75 | @end 76 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBSBJsonBase.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2009 Stig Brautaset. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | * Neither the name of the author nor the names of its contributors may be used 15 | to endorse or promote products derived from this software without specific 16 | prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE 22 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 24 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 26 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | 30 | #import 31 | 32 | extern NSString * FBSBJSONErrorDomain; 33 | 34 | 35 | enum { 36 | EUNSUPPORTED = 1, 37 | EPARSENUM, 38 | EPARSE, 39 | EFRAGMENT, 40 | ECTRL, 41 | EUNICODE, 42 | EDEPTH, 43 | EESCAPE, 44 | ETRAILCOMMA, 45 | ETRAILGARBAGE, 46 | EEOF, 47 | EINPUT 48 | }; 49 | 50 | /** 51 | @brief Common base class for parsing & writing. 52 | 53 | This class contains the common error-handling code and option between the parser/writer. 54 | */ 55 | @interface FBSBJsonBase : NSObject { 56 | NSMutableArray *errorTrace; 57 | 58 | @protected 59 | NSUInteger depth, maxDepth; 60 | } 61 | 62 | /** 63 | @brief The maximum recursing depth. 64 | 65 | Defaults to 512. If the input is nested deeper than this the input will be deemed to be 66 | malicious and the parser returns nil, signalling an error. ("Nested too deep".) You can 67 | turn off this security feature by setting the maxDepth value to 0. 68 | */ 69 | @property NSUInteger maxDepth; 70 | 71 | /** 72 | @brief Return an error trace, or nil if there was no errors. 73 | 74 | Note that this method returns the trace of the last method that failed. 75 | You need to check the return value of the call you're making to figure out 76 | if the call actually failed, before you know call this method. 77 | */ 78 | @property(copy,readonly) NSArray* errorTrace; 79 | 80 | /// @internal for use in subclasses to add errors to the stack trace 81 | - (void)addErrorWithCode:(NSUInteger)code description:(NSString*)str; 82 | 83 | /// @internal for use in subclasess to clear the error before a new parsing attempt 84 | - (void)clearErrorTrace; 85 | 86 | @end 87 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBSBJsonParser.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2009 Stig Brautaset. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | * Neither the name of the author nor the names of its contributors may be used 15 | to endorse or promote products derived from this software without specific 16 | prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE 22 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 24 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 26 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | 30 | #import 31 | #import "FBSBJsonBase.h" 32 | 33 | /** 34 | @brief Options for the parser class. 35 | 36 | This exists so the SBJSON facade can implement the options in the parser without having to re-declare them. 37 | */ 38 | @protocol FBSBJsonParser 39 | 40 | /** 41 | @brief Return the object represented by the given string. 42 | 43 | Returns the object represented by the passed-in string or nil on error. The returned object can be 44 | a string, number, boolean, null, array or dictionary. 45 | 46 | @param repr the json string to parse 47 | */ 48 | - (id)objectWithString:(NSString *)repr; 49 | 50 | @end 51 | 52 | 53 | /** 54 | @brief The JSON parser class. 55 | 56 | JSON is mapped to Objective-C types in the following way: 57 | 58 | @li Null -> NSNull 59 | @li String -> NSMutableString 60 | @li Array -> NSMutableArray 61 | @li Object -> NSMutableDictionary 62 | @li Boolean -> NSNumber (initialised with -initWithBool:) 63 | @li Number -> NSDecimalNumber 64 | 65 | Since Objective-C doesn't have a dedicated class for boolean values, these turns into NSNumber 66 | instances. These are initialised with the -initWithBool: method, and 67 | round-trip back to JSON properly. (They won't silently suddenly become 0 or 1; they'll be 68 | represented as 'true' and 'false' again.) 69 | 70 | JSON numbers turn into NSDecimalNumber instances, 71 | as we can thus avoid any loss of precision. (JSON allows ridiculously large numbers.) 72 | 73 | */ 74 | @interface FBSBJsonParser : FBSBJsonBase { 75 | 76 | @private 77 | const char *c; 78 | } 79 | 80 | @end 81 | 82 | // don't use - exists for backwards compatibility with 2.1.x only. Will be removed in 2.3. 83 | @interface FBSBJsonParser (Private) 84 | - (id)fragmentWithString:(id)repr; 85 | @end 86 | 87 | 88 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBSessionManualTokenCachingStrategy.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import "FBSessionTokenCachingStrategy.h" 18 | 19 | // FBSessionManualTokenCachingStrategy 20 | // 21 | // Summary: 22 | // Internal use only, this class enables migration logic for the Facebook class, by providing 23 | // a means to directly provide the access token to a FBSession object 24 | // 25 | @interface FBSessionManualTokenCachingStrategy : FBSessionTokenCachingStrategy 26 | 27 | // set the properties before instantiating the FBSession object in order to seed a token 28 | @property (readwrite, copy) NSString* accessToken; 29 | @property (readwrite, copy) NSDate* expirationDate; 30 | 31 | @end 32 | 33 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2010 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | 19 | @class FBViewController; 20 | 21 | /*! 22 | @typedef FBModalCompletionHandler 23 | 24 | @abstract 25 | A block that is passed to [FBViewController presentModallyInViewController:animated:handler:] 26 | and called when the view controller is dismissed via either Done or Cancel. 27 | 28 | @param sender The that is being dismissed. 29 | 30 | @param donePressed If YES, Done was pressed. If NO, Cancel was pressed. 31 | */ 32 | typedef void (^FBModalCompletionHandler)(FBViewController *sender, BOOL donePressed); 33 | 34 | /*! 35 | @protocol 36 | 37 | @abstract 38 | The `FBViewControllerDelegate` protocol defines the methods called when the Cancel or Done 39 | buttons are pressed in a . 40 | */ 41 | @protocol FBViewControllerDelegate 42 | 43 | @optional 44 | 45 | /*! 46 | @abstract 47 | Called when the Cancel button is pressed on a modally-presented . 48 | 49 | @param sender The view controller sending the message. 50 | */ 51 | - (void)facebookViewControllerCancelWasPressed:(id)sender; 52 | 53 | /*! 54 | @abstract 55 | Called when the Done button is pressed on a modally-presented . 56 | 57 | @param sender The view controller sending the message. 58 | */ 59 | - (void)facebookViewControllerDoneWasPressed:(id)sender; 60 | 61 | @end 62 | 63 | 64 | /*! 65 | @class FBViewController 66 | 67 | @abstract 68 | The `FBViewController` class is a base class encapsulating functionality common to several 69 | other view controller classes. Specifically, it provides UI when a view controller is presented 70 | modally, in the form of optional Cancel and Done buttons. 71 | */ 72 | @interface FBViewController : UIViewController 73 | 74 | /*! 75 | @abstract 76 | The Cancel button to display when presented modally. If nil, no Cancel button is displayed. 77 | If this button is provided, its target and action will be redirected to internal handlers, replacing 78 | any previous target that may have been set. 79 | */ 80 | @property (nonatomic, retain) IBOutlet UIBarButtonItem *cancelButton; 81 | 82 | /*! 83 | @abstract 84 | The Done button to display when presented modally. If nil, no Done button is displayed. 85 | If this button is provided, its target and action will be redirected to internal handlers, replacing 86 | any previous target that may have been set. 87 | */ 88 | @property (nonatomic, retain) IBOutlet UIBarButtonItem *doneButton; 89 | 90 | /*! 91 | @abstract 92 | The delegate that will be called when Cancel or Done is pressed. Derived classes may specify 93 | derived types for their delegates that provide additional functionality. 94 | */ 95 | @property (nonatomic, assign) IBOutlet id delegate; 96 | 97 | /*! 98 | @abstract 99 | The view into which derived classes should put their subviews. This view will be resized correctly 100 | depending on whether or not a toolbar is displayed. 101 | */ 102 | @property (nonatomic, readonly, retain) UIView *canvasView; 103 | 104 | /*! 105 | @abstract 106 | Provides a wrapper that presents the view controller modally and automatically dismisses it 107 | when either the Done or Cancel button is pressed. 108 | 109 | @param viewController The view controller that is presenting this view controller. 110 | @param animated If YES, presenting and dismissing the view controller is animated. 111 | @param handler The block called when the Done or Cancel button is pressed. 112 | */ 113 | - (void)presentModallyFromViewController:(UIViewController*)viewController 114 | animated:(BOOL)animated 115 | handler:(FBModalCompletionHandler)handler; 116 | 117 | @end 118 | 119 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/DeprecatedHeaders/FBWebDialogs.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | 19 | @class FBSession; 20 | 21 | /*! 22 | @typedef FBWebDialogResult enum 23 | 24 | @abstract 25 | Passed to a handler to indicate the result of a dialog being displayed to the user. 26 | */ 27 | typedef enum { 28 | /*! Indicates that the dialog action completed successfully. Note, that cancel operations represent completed dialog operations. 29 | The url argument may be used to distinguish between success and user-cancelled cases */ 30 | FBWebDialogResultDialogCompleted, 31 | /*! Indicates that the dialog operation was not completed. This occurs in cases such as the closure of the web-view using the X in the upper left corner. */ 32 | FBWebDialogResultDialogNotCompleted 33 | } FBWebDialogResult; 34 | 35 | /*! 36 | @typedef 37 | 38 | @abstract Defines a handler that will be called in response to the web dialog 39 | being dismissed 40 | */ 41 | typedef void (^FBWebDialogHandler)( 42 | FBWebDialogResult result, 43 | NSURL *resultURL, 44 | NSError *error); 45 | 46 | /*! 47 | @class FBWebDialogs 48 | 49 | @abstract 50 | Provides methods to display web based dialogs to the user. 51 | */ 52 | @interface FBWebDialogs : NSObject 53 | 54 | /*! 55 | @abstract 56 | Presents a Facebook web dialog (https://developers.facebook.com/docs/reference/dialogs/) 57 | such as feed or apprequest. 58 | 59 | @param session Represents the session to use for the dialog. May be nil, which uses 60 | the active session if present, or returns NO, if not. 61 | 62 | @param dialog Represents the dialog or method name, such as @"feed" 63 | 64 | @param parameters A dictionary of parameters to be passed to the dialog 65 | 66 | @param handler An optional handler that will be called when the dialog is dismissed. Note, 67 | that if the method returns NO, the handler is not called. May be nil. 68 | */ 69 | + (void)presentDialogModallyWithSession:(FBSession *)session 70 | dialog:(NSString *)dialog 71 | parameters:(NSDictionary *)parameters 72 | handler:(FBWebDialogHandler)handler; 73 | 74 | /*! 75 | @abstract 76 | Presents a Facebook apprequest dialog. 77 | 78 | @param session Represents the session to use for the dialog. May be nil, which uses 79 | the active session if present. 80 | 81 | @param message The required message for the dialog. 82 | 83 | @param title An optional title for the dialog. 84 | 85 | @param parameters A dictionary of additional parameters to be passed to the dialog. May be nil 86 | 87 | @param handler An optional handler that will be called when the dialog is dismissed. May be nil. 88 | */ 89 | + (void)presentRequestsDialogModallyWithSession:(FBSession *)session 90 | message:(NSString *)message 91 | title:(NSString *)title 92 | parameters:(NSDictionary *)parameters 93 | handler:(FBWebDialogHandler)handler; 94 | 95 | /*! 96 | @abstract 97 | Presents a Facebook feed dialog. 98 | 99 | @param session Represents the session to use for the dialog. May be nil, which uses 100 | the active session if present. 101 | 102 | @param parameters A dictionary of additional parameters to be passed to the dialog. May be nil 103 | 104 | @param handler An optional handler that will be called when the dialog is dismissed. May be nil. 105 | */ 106 | + (void)presentFeedDialogModallyWithSession:(FBSession *)session 107 | parameters:(NSDictionary *)parameters 108 | handler:(FBWebDialogHandler)handler; 109 | 110 | @end 111 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/DeprecatedHeaders/NSError+FBError.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import "FBError.h" 18 | 19 | /*! 20 | @category NSError(FBError) 21 | 22 | @abstract 23 | Adds additional properties to NSError to provide more information for Facebook related errors. 24 | */ 25 | @interface NSError (FBError) 26 | 27 | /*! 28 | @abstract 29 | Categorizes the error, if it is Facebook related, to simplify application mitigation behavior 30 | 31 | @discussion 32 | In general, in response to an error connecting to Facebook, an application should, retry the 33 | operation, request permissions, reconnect the application, or prompt the user to take an action. 34 | The error category can be used to understand the class of error received from Facebook. For more infomation on this 35 | see https://developers.facebook.com/docs/reference/api/errors/ 36 | */ 37 | @property (readonly) FBErrorCategory fberrorCategory; 38 | 39 | /*! 40 | @abstract 41 | If YES indicates that a user action is required in order to successfully continue with the facebook operation 42 | 43 | @discussion 44 | In general if fberrorShouldNotifyUser is NO, then the application has a straightforward mitigation, such as 45 | retry the operation or request permissions from the user, etc. In some cases it is necessary for the user to 46 | take an action before the application continues to attempt a Facebook connection. For more infomation on this 47 | see https://developers.facebook.com/docs/reference/api/errors/ 48 | */ 49 | @property (readonly) BOOL fberrorShouldNotifyUser; 50 | 51 | /*! 52 | @abstract 53 | A message suitable for display to the user, describing a user action necessary to enable Facebook functionality. 54 | Not all Facebook errors yield a message suitable for user display; however in all cases where 55 | fberrorShouldNotifyUser is YES, this property returns a localizable message suitable for display. 56 | */ 57 | @property (readonly, copy) NSString *fberrorUserMessage; 58 | 59 | @end 60 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/FacebookSDK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/FacebookSDK -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Headers/FBAccessTokenData.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | #import "FBSession.h" 19 | 20 | /*! 21 | @class FBAccessTokenData 22 | 23 | @abstract Represents an access token used for the Facebook login flow 24 | and includes associated metadata such as expiration date and permissions. 25 | You should use factory methods (createToken...) to construct instances 26 | and should be treated as immutable. 27 | 28 | @discussion For more information, see 29 | https://developers.facebook.com/docs/concepts/login/access-tokens-and-types/. 30 | */ 31 | @interface FBAccessTokenData : NSObject 32 | 33 | /*! 34 | @method 35 | 36 | @abstract Creates an FBAccessTokenData from an App Link provided by the Facebook application 37 | or nil if the url is not valid. 38 | 39 | @param url The url provided. 40 | @param appID needed in order to verify URL format. 41 | @param urlSchemeSuffix needed in order to verify URL format. 42 | 43 | */ 44 | + (FBAccessTokenData *) createTokenFromFacebookURL:(NSURL *)url appID:(NSString *)appID urlSchemeSuffix:(NSString *)urlSchemeSuffix; 45 | 46 | /*! 47 | @method 48 | 49 | @abstract Creates an FBAccessTokenData from a dictionary or returns nil if required data is missing. 50 | @param dictionary the dictionary with FBSessionTokenCachingStrategy keys. 51 | */ 52 | + (FBAccessTokenData *) createTokenFromDictionary:(NSDictionary *)dictionary; 53 | 54 | /*! 55 | @method 56 | 57 | @abstract Creates an FBAccessTokenData from existing information or returns nil if required data is missing. 58 | 59 | @param accessToken The token string. If nil or empty, this method will return nil. 60 | @param permissions The permissions set. A value of nil indicates basic permissions. 61 | @param expirationDate The expiration date. A value of nil defaults to `[NSDate distantFuture]`. 62 | @param loginType The login source of the token. 63 | @param refreshDate The date that token was last refreshed. A value of nil defaults to `[NSDate date]`. 64 | */ 65 | + (FBAccessTokenData *) createTokenFromString:(NSString *)accessToken 66 | permissions:(NSArray *)permissions 67 | expirationDate:(NSDate *)expirationDate 68 | loginType:(FBSessionLoginType)loginType 69 | refreshDate:(NSDate *)refreshDate; 70 | 71 | /*! 72 | @method 73 | 74 | @abstract Returns a dictionary representation of this instance. 75 | 76 | @discussion This is provided for backwards compatibility with previous 77 | access token related APIs that used a NSDictionary (see `FBSessionTokenCachingStrategy`). 78 | */ 79 | - (NSMutableDictionary *) dictionary; 80 | 81 | /*! 82 | @method 83 | 84 | @abstract Returns a Boolean value that indicates whether a given object is an FBAccessTokenData object and exactly equal the receiver. 85 | 86 | @param accessTokenData the data to compare to the receiver. 87 | */ 88 | - (BOOL) isEqualToAccessTokenData:(FBAccessTokenData *)accessTokenData; 89 | 90 | /*! 91 | @abstract returns the access token NSString. 92 | */ 93 | @property (readonly, nonatomic, copy) NSString *accessToken; 94 | 95 | /*! 96 | @abstract returns the permissions associated with the access token. 97 | */ 98 | @property (readonly, nonatomic, copy) NSArray *permissions; 99 | 100 | /*! 101 | @abstract returns the expiration date of the access token. 102 | */ 103 | @property (readonly, nonatomic, copy) NSDate *expirationDate; 104 | 105 | /*! 106 | @abstract returns the login type associated with the token. 107 | */ 108 | @property (readonly, nonatomic) FBSessionLoginType loginType; 109 | 110 | /*! 111 | @abstract returns the date the token was last refreshed. 112 | */ 113 | @property (readonly, nonatomic, copy) NSDate *refreshDate; 114 | 115 | @end 116 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Headers/FBCacheDescriptor.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | #import "FBSession.h" 19 | 20 | /*! 21 | @class 22 | 23 | @abstract 24 | Base class from which CacheDescriptors derive, provides a method to fetch data for later use 25 | 26 | @discussion 27 | Cache descriptors allow your application to specify the arguments that will be 28 | later used with another object, such as the FBFriendPickerViewController. By using a cache descriptor 29 | instance, an application can choose to fetch data ahead of the point in time where the data is needed. 30 | */ 31 | @interface FBCacheDescriptor : NSObject 32 | 33 | /*! 34 | @method 35 | @abstract 36 | Fetches and caches the data described by the cache descriptor instance, for the given session. 37 | 38 | @param session the to use for fetching data 39 | */ 40 | - (void)prefetchAndCacheForSession:(FBSession*)session; 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Headers/FBGraphLocation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | #import "FBGraphObject.h" 19 | 20 | /*! 21 | @protocol 22 | 23 | @abstract 24 | The `FBGraphLocation` protocol enables typed access to the `location` property 25 | of a Facebook place object. 26 | 27 | 28 | @discussion 29 | The `FBGraphLocation` protocol represents the most commonly used properties of a 30 | location object. It may be used to access an `NSDictionary` object that has 31 | been wrapped with an facade. 32 | */ 33 | @protocol FBGraphLocation 34 | 35 | /*! 36 | @property 37 | @abstract Typed access to a location's street. 38 | */ 39 | @property (retain, nonatomic) NSString *street; 40 | 41 | /*! 42 | @property 43 | @abstract Typed access to a location's city. 44 | */ 45 | @property (retain, nonatomic) NSString *city; 46 | 47 | /*! 48 | @property 49 | @abstract Typed access to a location's state. 50 | */ 51 | @property (retain, nonatomic) NSString *state; 52 | 53 | /*! 54 | @property 55 | @abstract Typed access to a location's country. 56 | */ 57 | @property (retain, nonatomic) NSString *country; 58 | 59 | /*! 60 | @property 61 | @abstract Typed access to a location's zip code. 62 | */ 63 | @property (retain, nonatomic) NSString *zip; 64 | 65 | /*! 66 | @property 67 | @abstract Typed access to a location's latitude. 68 | */ 69 | @property (retain, nonatomic) NSNumber *latitude; 70 | 71 | /*! 72 | @property 73 | @abstract Typed access to a location's longitude. 74 | */ 75 | @property (retain, nonatomic) NSNumber *longitude; 76 | 77 | @end -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Headers/FBGraphPlace.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | #import "FBGraphLocation.h" 19 | #import "FBGraphObject.h" 20 | 21 | /*! 22 | @protocol 23 | 24 | @abstract 25 | The `FBGraphPlace` protocol enables typed access to a place object 26 | as represented in the Graph API. 27 | 28 | 29 | @discussion 30 | The `FBGraphPlace` protocol represents the most commonly used properties of a 31 | Facebook place object. It may be used to access an `NSDictionary` object that has 32 | been wrapped with an facade. 33 | */ 34 | @protocol FBGraphPlace 35 | 36 | /*! 37 | @property 38 | @abstract Typed access to the place ID. 39 | */ 40 | @property (retain, nonatomic) NSString *id; 41 | 42 | /*! 43 | @property 44 | @abstract Typed access to the place name. 45 | */ 46 | @property (retain, nonatomic) NSString *name; 47 | 48 | /*! 49 | @property 50 | @abstract Typed access to the place category. 51 | */ 52 | @property (retain, nonatomic) NSString *category; 53 | 54 | /*! 55 | @property 56 | @abstract Typed access to the place location. 57 | */ 58 | @property (retain, nonatomic) id location; 59 | 60 | @end -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Headers/FBGraphUser.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | #import "FBGraphPlace.h" 19 | #import "FBGraphObject.h" 20 | 21 | /*! 22 | @protocol 23 | 24 | @abstract 25 | The `FBGraphUser` protocol enables typed access to a user object 26 | as represented in the Graph API. 27 | 28 | 29 | @discussion 30 | The `FBGraphUser` protocol represents the most commonly used properties of a 31 | Facebook user object. It may be used to access an `NSDictionary` object that has 32 | been wrapped with an facade. 33 | */ 34 | @protocol FBGraphUser 35 | 36 | /*! 37 | @property 38 | @abstract Typed access to the user's ID. 39 | */ 40 | @property (retain, nonatomic) NSString *id; 41 | 42 | /*! 43 | @property 44 | @abstract Typed access to the user's name. 45 | */ 46 | @property (retain, nonatomic) NSString *name; 47 | 48 | /*! 49 | @property 50 | @abstract Typed access to the user's first name. 51 | */ 52 | @property (retain, nonatomic) NSString *first_name; 53 | 54 | /*! 55 | @property 56 | @abstract Typed access to the user's middle name. 57 | */ 58 | @property (retain, nonatomic) NSString *middle_name; 59 | 60 | /*! 61 | @property 62 | @abstract Typed access to the user's last name. 63 | */ 64 | @property (retain, nonatomic) NSString *last_name; 65 | 66 | /*! 67 | @property 68 | @abstract Typed access to the user's profile URL. 69 | */ 70 | @property (retain, nonatomic) NSString *link; 71 | 72 | /*! 73 | @property 74 | @abstract Typed access to the user's username. 75 | */ 76 | @property (retain, nonatomic) NSString *username; 77 | 78 | /*! 79 | @property 80 | @abstract Typed access to the user's birthday. 81 | */ 82 | @property (retain, nonatomic) NSString *birthday; 83 | 84 | /*! 85 | @property 86 | @abstract Typed access to the user's current city. 87 | */ 88 | @property (retain, nonatomic) id location; 89 | 90 | @end -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Headers/FBOpenGraphAction.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/xlicenses/LICENSE-2.0 9 | 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | #import "FBGraphObject.h" 19 | 20 | @protocol FBGraphPlace; 21 | @protocol FBGraphUser; 22 | 23 | /*! 24 | @protocol 25 | 26 | @abstract 27 | The `FBOpenGraphAction` protocol is the base protocol for use in posting and retrieving Open Graph actions. 28 | It inherits from the `FBGraphObject` protocol; you may derive custome protocols from `FBOpenGraphAction` in order 29 | implement typed access to your application's custom actions. 30 | 31 | @discussion 32 | Represents an Open Graph custom action, to be used directly, or from which to 33 | derive custom action protocols with custom properties. 34 | */ 35 | @protocol FBOpenGraphAction 36 | 37 | /*! 38 | @property 39 | @abstract Typed access to action's id 40 | */ 41 | @property (retain, nonatomic) NSString *id; 42 | 43 | /*! 44 | @property 45 | @abstract Typed access to action's start time 46 | */ 47 | @property (retain, nonatomic) NSString *start_time; 48 | 49 | /*! 50 | @property 51 | @abstract Typed access to action's end time 52 | */ 53 | @property (retain, nonatomic) NSString *end_time; 54 | 55 | /*! 56 | @property 57 | @abstract Typed access to action's publication time 58 | */ 59 | @property (retain, nonatomic) NSString *publish_time; 60 | 61 | /*! 62 | @property 63 | @abstract Typed access to action's creation time 64 | */ 65 | @property (retain, nonatomic) NSString *created_time; 66 | 67 | /*! 68 | @property 69 | @abstract Typed access to action's expiration time 70 | */ 71 | @property (retain, nonatomic) NSString *expires_time; 72 | 73 | /*! 74 | @property 75 | @abstract Typed access to action's ref 76 | */ 77 | @property (retain, nonatomic) NSString *ref; 78 | 79 | /*! 80 | @property 81 | @abstract Typed access to action's user message 82 | */ 83 | @property (retain, nonatomic) NSString *message; 84 | 85 | /*! 86 | @property 87 | @abstract Typed access to action's place 88 | */ 89 | @property (retain, nonatomic) id place; 90 | 91 | /*! 92 | @property 93 | @abstract Typed access to action's tags 94 | */ 95 | @property (retain, nonatomic) NSArray *tags; 96 | 97 | /*! 98 | @property 99 | @abstract Typed access to action's images 100 | */ 101 | @property (retain, nonatomic) NSArray *image; 102 | 103 | /*! 104 | @property 105 | @abstract Typed access to action's from-user 106 | */ 107 | @property (retain, nonatomic) id from; 108 | 109 | /*! 110 | @property 111 | @abstract Typed access to action's likes 112 | */ 113 | @property (retain, nonatomic) NSArray *likes; 114 | 115 | /*! 116 | @property 117 | @abstract Typed access to action's application 118 | */ 119 | @property (retain, nonatomic) id application; 120 | 121 | /*! 122 | @property 123 | @abstract Typed access to action's comments 124 | */ 125 | @property (retain, nonatomic) NSArray *comments; 126 | 127 | @end -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Headers/FBProfilePictureView.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2010 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | 19 | /*! 20 | @typedef FBProfilePictureCropping enum 21 | 22 | @abstract 23 | Type used to specify the cropping treatment of the profile picture. 24 | 25 | @discussion 26 | */ 27 | typedef enum { 28 | 29 | /*! Square (default) - the square version that the Facebook user defined. */ 30 | FBProfilePictureCroppingSquare = 0, 31 | 32 | /*! Original - the original profile picture, as uploaded. */ 33 | FBProfilePictureCroppingOriginal = 1 34 | 35 | } FBProfilePictureCropping; 36 | 37 | /*! 38 | @class 39 | @abstract 40 | An instance of `FBProfilePictureView` is used to display a profile picture. 41 | 42 | The default behavior of this control is to center the profile picture 43 | in the view and shrinks it, if necessary, to the view's bounds, preserving the aspect ratio. The smallest 44 | possible image is downloaded to ensure that scaling up never happens. Resizing the view may result in 45 | a different size of the image being loaded. Canonical image sizes are documented in the "Pictures" section 46 | of https://developers.facebook.com/docs/reference/api. 47 | */ 48 | @interface FBProfilePictureView : UIView 49 | 50 | /*! 51 | @abstract 52 | The Facebook ID of the user, place or object for which a picture should be fetched and displayed. 53 | */ 54 | @property (copy, nonatomic) NSString* profileID; 55 | 56 | /*! 57 | @abstract 58 | The cropping to use for the profile picture. 59 | */ 60 | @property (nonatomic) FBProfilePictureCropping pictureCropping; 61 | 62 | /*! 63 | @abstract 64 | Initializes and returns a profile view object. 65 | */ 66 | - (id)init; 67 | 68 | 69 | /*! 70 | @abstract 71 | Initializes and returns a profile view object for the given Facebook ID and cropping. 72 | 73 | @param profileID The Facebook ID of the user, place or object for which a picture should be fetched and displayed. 74 | @param pictureCropping The cropping to use for the profile picture. 75 | */ 76 | - (id)initWithProfileID:(NSString*)profileID 77 | pictureCropping:(FBProfilePictureCropping)pictureCropping; 78 | 79 | 80 | @end 81 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Headers/FBUserSettingsViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2010 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | #import "FBSession.h" 19 | #import "FBViewController.h" 20 | 21 | /*! 22 | @protocol 23 | 24 | @abstract 25 | The `FBUserSettingsDelegate` protocol defines the methods called by a . 26 | */ 27 | @protocol FBUserSettingsDelegate 28 | 29 | @optional 30 | 31 | /*! 32 | @abstract 33 | Called when the view controller will log the user out in response to a button press. 34 | 35 | @param sender The view controller sending the message. 36 | */ 37 | - (void)loginViewControllerWillLogUserOut:(id)sender; 38 | 39 | /*! 40 | @abstract 41 | Called after the view controller logged the user out in response to a button press. 42 | 43 | @param sender The view controller sending the message. 44 | */ 45 | - (void)loginViewControllerDidLogUserOut:(id)sender; 46 | 47 | /*! 48 | @abstract 49 | Called when the view controller will log the user in in response to a button press. 50 | Note that logging in can fail for a number of reasons, so there is no guarantee that this 51 | will be followed by a call to loginViewControllerDidLogUserIn:. Callers wanting more granular 52 | notification of the session state changes can use KVO or the NSNotificationCenter to observe them. 53 | 54 | @param sender The view controller sending the message. 55 | */ 56 | - (void)loginViewControllerWillAttemptToLogUserIn:(id)sender; 57 | 58 | /*! 59 | @abstract 60 | Called after the view controller successfully logged the user in in response to a button press. 61 | 62 | @param sender The view controller sending the message. 63 | */ 64 | - (void)loginViewControllerDidLogUserIn:(id)sender; 65 | 66 | /*! 67 | @abstract 68 | Called if the view controller encounters an error while trying to log a user in. 69 | 70 | @param sender The view controller sending the message. 71 | @param error The error encountered. 72 | @discussion See https://developers.facebook.com/docs/technical-guides/iossdk/errors/ 73 | for error handling best practices. 74 | */ 75 | - (void)loginViewController:(id)sender receivedError:(NSError *)error; 76 | 77 | @end 78 | 79 | 80 | /*! 81 | @class FBUserSettingsViewController 82 | 83 | @abstract 84 | The `FBUserSettingsViewController` class provides a user interface exposing a user's 85 | Facebook-related settings. Currently, this is limited to whether they are logged in or out 86 | of Facebook. 87 | 88 | Because of the size of some graphics used in this view, its resources are packaged as a separate 89 | bundle. In order to use `FBUserSettingsViewController`, drag the `FBUserSettingsViewResources.bundle` 90 | from the SDK directory into your Xcode project. 91 | */ 92 | @interface FBUserSettingsViewController : FBViewController 93 | 94 | /*! 95 | @abstract 96 | The permissions to request if the user logs in via this view. 97 | */ 98 | @property (nonatomic, copy) NSArray *permissions __attribute__((deprecated)); 99 | 100 | /*! 101 | @abstract 102 | The read permissions to request if the user logs in via this view. 103 | 104 | @discussion 105 | Note, that if read permissions are specified, then publish permissions should not be specified. 106 | */ 107 | @property (nonatomic, copy) NSArray *readPermissions; 108 | 109 | /*! 110 | @abstract 111 | The publish permissions to request if the user logs in via this view. 112 | 113 | @discussion 114 | Note, that a defaultAudience value of FBSessionDefaultAudienceOnlyMe, FBSessionDefaultAudienceEveryone, or 115 | FBSessionDefaultAudienceFriends should be set if publish permissions are specified. Additionally, when publish 116 | permissions are specified, then read should not be specified. 117 | */ 118 | @property (nonatomic, copy) NSArray *publishPermissions; 119 | 120 | /*! 121 | @abstract 122 | The default audience to use, if publish permissions are requested at login time. 123 | */ 124 | @property (nonatomic, assign) FBSessionDefaultAudience defaultAudience; 125 | 126 | @end 127 | 128 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Headers/FBViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2010 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | 19 | @class FBViewController; 20 | 21 | /*! 22 | @typedef FBModalCompletionHandler 23 | 24 | @abstract 25 | A block that is passed to [FBViewController presentModallyInViewController:animated:handler:] 26 | and called when the view controller is dismissed via either Done or Cancel. 27 | 28 | @param sender The that is being dismissed. 29 | 30 | @param donePressed If YES, Done was pressed. If NO, Cancel was pressed. 31 | */ 32 | typedef void (^FBModalCompletionHandler)(FBViewController *sender, BOOL donePressed); 33 | 34 | /*! 35 | @protocol 36 | 37 | @abstract 38 | The `FBViewControllerDelegate` protocol defines the methods called when the Cancel or Done 39 | buttons are pressed in a . 40 | */ 41 | @protocol FBViewControllerDelegate 42 | 43 | @optional 44 | 45 | /*! 46 | @abstract 47 | Called when the Cancel button is pressed on a modally-presented . 48 | 49 | @param sender The view controller sending the message. 50 | */ 51 | - (void)facebookViewControllerCancelWasPressed:(id)sender; 52 | 53 | /*! 54 | @abstract 55 | Called when the Done button is pressed on a modally-presented . 56 | 57 | @param sender The view controller sending the message. 58 | */ 59 | - (void)facebookViewControllerDoneWasPressed:(id)sender; 60 | 61 | @end 62 | 63 | 64 | /*! 65 | @class FBViewController 66 | 67 | @abstract 68 | The `FBViewController` class is a base class encapsulating functionality common to several 69 | other view controller classes. Specifically, it provides UI when a view controller is presented 70 | modally, in the form of optional Cancel and Done buttons. 71 | */ 72 | @interface FBViewController : UIViewController 73 | 74 | /*! 75 | @abstract 76 | The Cancel button to display when presented modally. If nil, no Cancel button is displayed. 77 | If this button is provided, its target and action will be redirected to internal handlers, replacing 78 | any previous target that may have been set. 79 | */ 80 | @property (nonatomic, retain) IBOutlet UIBarButtonItem *cancelButton; 81 | 82 | /*! 83 | @abstract 84 | The Done button to display when presented modally. If nil, no Done button is displayed. 85 | If this button is provided, its target and action will be redirected to internal handlers, replacing 86 | any previous target that may have been set. 87 | */ 88 | @property (nonatomic, retain) IBOutlet UIBarButtonItem *doneButton; 89 | 90 | /*! 91 | @abstract 92 | The delegate that will be called when Cancel or Done is pressed. Derived classes may specify 93 | derived types for their delegates that provide additional functionality. 94 | */ 95 | @property (nonatomic, assign) IBOutlet id delegate; 96 | 97 | /*! 98 | @abstract 99 | The view into which derived classes should put their subviews. This view will be resized correctly 100 | depending on whether or not a toolbar is displayed. 101 | */ 102 | @property (nonatomic, readonly, retain) UIView *canvasView; 103 | 104 | /*! 105 | @abstract 106 | Provides a wrapper that presents the view controller modally and automatically dismisses it 107 | when either the Done or Cancel button is pressed. 108 | 109 | @param viewController The view controller that is presenting this view controller. 110 | @param animated If YES, presenting and dismissing the view controller is animated. 111 | @param handler The block called when the Done or Cancel button is pressed. 112 | */ 113 | - (void)presentModallyFromViewController:(UIViewController*)viewController 114 | animated:(BOOL)animated 115 | handler:(FBModalCompletionHandler)handler; 116 | 117 | @end 118 | 119 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Headers/FBWebDialogs.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import 18 | 19 | @class FBSession; 20 | 21 | /*! 22 | @typedef FBWebDialogResult enum 23 | 24 | @abstract 25 | Passed to a handler to indicate the result of a dialog being displayed to the user. 26 | */ 27 | typedef enum { 28 | /*! Indicates that the dialog action completed successfully. Note, that cancel operations represent completed dialog operations. 29 | The url argument may be used to distinguish between success and user-cancelled cases */ 30 | FBWebDialogResultDialogCompleted, 31 | /*! Indicates that the dialog operation was not completed. This occurs in cases such as the closure of the web-view using the X in the upper left corner. */ 32 | FBWebDialogResultDialogNotCompleted 33 | } FBWebDialogResult; 34 | 35 | /*! 36 | @typedef 37 | 38 | @abstract Defines a handler that will be called in response to the web dialog 39 | being dismissed 40 | */ 41 | typedef void (^FBWebDialogHandler)( 42 | FBWebDialogResult result, 43 | NSURL *resultURL, 44 | NSError *error); 45 | 46 | /*! 47 | @class FBWebDialogs 48 | 49 | @abstract 50 | Provides methods to display web based dialogs to the user. 51 | */ 52 | @interface FBWebDialogs : NSObject 53 | 54 | /*! 55 | @abstract 56 | Presents a Facebook web dialog (https://developers.facebook.com/docs/reference/dialogs/) 57 | such as feed or apprequest. 58 | 59 | @param session Represents the session to use for the dialog. May be nil, which uses 60 | the active session if present, or returns NO, if not. 61 | 62 | @param dialog Represents the dialog or method name, such as @"feed" 63 | 64 | @param parameters A dictionary of parameters to be passed to the dialog 65 | 66 | @param handler An optional handler that will be called when the dialog is dismissed. Note, 67 | that if the method returns NO, the handler is not called. May be nil. 68 | */ 69 | + (void)presentDialogModallyWithSession:(FBSession *)session 70 | dialog:(NSString *)dialog 71 | parameters:(NSDictionary *)parameters 72 | handler:(FBWebDialogHandler)handler; 73 | 74 | /*! 75 | @abstract 76 | Presents a Facebook apprequest dialog. 77 | 78 | @param session Represents the session to use for the dialog. May be nil, which uses 79 | the active session if present. 80 | 81 | @param message The required message for the dialog. 82 | 83 | @param title An optional title for the dialog. 84 | 85 | @param parameters A dictionary of additional parameters to be passed to the dialog. May be nil 86 | 87 | @param handler An optional handler that will be called when the dialog is dismissed. May be nil. 88 | */ 89 | + (void)presentRequestsDialogModallyWithSession:(FBSession *)session 90 | message:(NSString *)message 91 | title:(NSString *)title 92 | parameters:(NSDictionary *)parameters 93 | handler:(FBWebDialogHandler)handler; 94 | 95 | /*! 96 | @abstract 97 | Presents a Facebook feed dialog. 98 | 99 | @param session Represents the session to use for the dialog. May be nil, which uses 100 | the active session if present. 101 | 102 | @param parameters A dictionary of additional parameters to be passed to the dialog. May be nil 103 | 104 | @param handler An optional handler that will be called when the dialog is dismissed. May be nil. 105 | */ 106 | + (void)presentFeedDialogModallyWithSession:(FBSession *)session 107 | parameters:(NSDictionary *)parameters 108 | handler:(FBWebDialogHandler)handler; 109 | 110 | @end 111 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Headers/NSError+FBError.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 Facebook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #import "FBError.h" 18 | 19 | /*! 20 | @category NSError(FBError) 21 | 22 | @abstract 23 | Adds additional properties to NSError to provide more information for Facebook related errors. 24 | */ 25 | @interface NSError (FBError) 26 | 27 | /*! 28 | @abstract 29 | Categorizes the error, if it is Facebook related, to simplify application mitigation behavior 30 | 31 | @discussion 32 | In general, in response to an error connecting to Facebook, an application should, retry the 33 | operation, request permissions, reconnect the application, or prompt the user to take an action. 34 | The error category can be used to understand the class of error received from Facebook. For more infomation on this 35 | see https://developers.facebook.com/docs/reference/api/errors/ 36 | */ 37 | @property (readonly) FBErrorCategory fberrorCategory; 38 | 39 | /*! 40 | @abstract 41 | If YES indicates that a user action is required in order to successfully continue with the facebook operation 42 | 43 | @discussion 44 | In general if fberrorShouldNotifyUser is NO, then the application has a straightforward mitigation, such as 45 | retry the operation or request permissions from the user, etc. In some cases it is necessary for the user to 46 | take an action before the application continues to attempt a Facebook connection. For more infomation on this 47 | see https://developers.facebook.com/docs/reference/api/errors/ 48 | */ 49 | @property (readonly) BOOL fberrorShouldNotifyUser; 50 | 51 | /*! 52 | @abstract 53 | A message suitable for display to the user, describing a user action necessary to enable Facebook functionality. 54 | Not all Facebook errors yield a message suitable for user display; however in all cases where 55 | fberrorShouldNotifyUser is YES, this property returns a localizable message suitable for display. 56 | */ 57 | @property (readonly, copy) NSString *fberrorUserMessage; 58 | 59 | @end 60 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/Contents/Resources/en.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/Contents/Resources/en.lproj/Localizable.strings -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/Contents/Resources/he.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/Contents/Resources/he.lproj/Localizable.strings -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/facebook-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/facebook-logo.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/facebook-logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/facebook-logo@2x.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadLandscape.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadLandscape.jpg -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadLandscape@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadLandscape@2x.jpg -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadPortrait.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadPortrait.jpg -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadPortrait@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPadPortrait@2x.jpg -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPhonePortrait.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPhonePortrait.jpg -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPhonePortrait@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/loginBackgroundIPhonePortrait@2x.jpg -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/silver-button-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/silver-button-normal.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/silver-button-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/silver-button-normal@2x.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/silver-button-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/silver-button-pressed.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/silver-button-pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FBUserSettingsViewResources.bundle/images/silver-button-pressed@2x.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/Contents/Resources/en.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/Contents/Resources/en.lproj/Localizable.strings -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/Contents/Resources/he.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/Contents/Resources/he.lproj/Localizable.strings -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBDialog/images/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBDialog/images/close.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBDialog/images/close@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBDialog/images/close@2x.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBDialog/images/fbicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBDialog/images/fbicon.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBFriendPickerView/images/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBFriendPickerView/images/default.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/bluetint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/bluetint.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/f_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/f_logo.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/facebook.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small-pressed.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small-pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small-pressed@2x.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBLoginView/images/login-button-small@2x.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBPlacePickerView/images/fb_generic_place.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBPlacePickerView/images/fb_generic_place.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBProfilePictureView/images/fb_blank_profile_portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBProfilePictureView/images/fb_blank_profile_portrait.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBProfilePictureView/images/fb_blank_profile_square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle/FBProfilePictureView/images/fb_blank_profile_square.png -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/A/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | FacebookSDK 9 | CFBundleIdentifier 10 | com.facebook.sdk 11 | CFBundleInfoDictionaryVersion 12 | 1.0 13 | CFBundlePackageType 14 | FMWK 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | 20 | 21 | -------------------------------------------------------------------------------- /FacebookSDK.framework/Versions/Current: -------------------------------------------------------------------------------- 1 | ./A -------------------------------------------------------------------------------- /ICParseCMS.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ICParseCMS.xcodeproj/project.xcworkspace/xcuserdata/florent.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/ICParseCMS.xcodeproj/project.xcworkspace/xcuserdata/florent.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ICParseCMS.xcodeproj/project.xcworkspace/xcuserdata/florent.xcuserdatad/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges 6 | 7 | SnapshotAutomaticallyBeforeSignificantChanges 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ICParseCMS.xcodeproj/xcuserdata/florent.xcuserdatad/xcschemes/Framework.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 42 | 43 | 44 | 45 | 51 | 52 | 54 | 55 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /ICParseCMS.xcodeproj/xcuserdata/florent.xcuserdatad/xcschemes/ICParseCMSResources.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 42 | 43 | 44 | 45 | 51 | 52 | 54 | 55 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /ICParseCMS.xcodeproj/xcuserdata/florent.xcuserdatad/xcschemes/iOSParseCMS.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 42 | 43 | 44 | 45 | 51 | 52 | 54 | 55 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /ICParseCMS.xcodeproj/xcuserdata/florent.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Framework.xcscheme 8 | 9 | orderHint 10 | 3 11 | 12 | ICParseCMSResources.xcscheme 13 | 14 | orderHint 15 | 2 16 | 17 | iOSParseCMS.xcscheme 18 | 19 | orderHint 20 | 1 21 | 22 | 23 | SuppressBuildableAutocreation 24 | 25 | 4A031D07178B06DE00168C29 26 | 27 | primary 28 | 29 | 30 | 4AAC7244178AFFF90078529B 31 | 32 | primary 33 | 34 | 35 | 4AAC72C2178B03340078529B 36 | 37 | primary 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /ICParseCMS/ICBundle.h: -------------------------------------------------------------------------------- 1 | // 2 | // ICBundle.h 3 | // ICParseCMS 4 | // 5 | // Created by Florent Vilmart on 2013-07-09. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ICBundle : NSBundle 12 | 13 | +(void) setParseInfoDictionary:(NSDictionary *) dictionary; 14 | +(NSDictionary *) parseInfoDictionary; 15 | +(NSBundle *) frameworkBundle; 16 | @end 17 | -------------------------------------------------------------------------------- /ICParseCMS/ICBundle.m: -------------------------------------------------------------------------------- 1 | // 2 | // ICBundle.m 3 | // ICParseCMS 4 | // 5 | // Created by Florent Vilmart on 2013-07-09. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICBundle.h" 10 | 11 | @implementation ICBundle 12 | static NSDictionary * _parseInfoDictionary = nil; 13 | 14 | 15 | +(void) setParseInfoDictionary:(NSDictionary *) dictionary{ 16 | if (dictionary) { 17 | _parseInfoDictionary = dictionary; 18 | } 19 | } 20 | 21 | +(NSDictionary *) parseInfoDictionary{ 22 | //static NSDictionary * parseInfoDict = nil; 23 | static dispatch_once_t predicate; 24 | if (!_parseInfoDictionary) { 25 | dispatch_once(&predicate, ^{ 26 | NSString *filePath = [[NSBundle mainBundle] pathForResource:@"parse" ofType:@"plist"]; 27 | _parseInfoDictionary = [[NSDictionary alloc] initWithContentsOfFile:filePath]; 28 | }); 29 | } 30 | 31 | return _parseInfoDictionary; 32 | } 33 | 34 | + (NSBundle *)frameworkBundle { 35 | static NSBundle* frameworkBundle = nil; 36 | static dispatch_once_t predicate; 37 | dispatch_once(&predicate, ^{ 38 | NSString* mainBundlePath = [[NSBundle mainBundle] resourcePath]; 39 | NSString* frameworkBundlePath = [mainBundlePath stringByAppendingPathComponent:@"ICParseCMSResources.bundle"]; 40 | frameworkBundle = [NSBundle bundleWithPath:frameworkBundlePath]; 41 | }); 42 | return frameworkBundle; 43 | } 44 | @end 45 | -------------------------------------------------------------------------------- /ICParseCMS/ICCustomQueryTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ICCustomQueryTableViewController.h 3 | // ICParseCMS 4 | // 5 | // Created by Florent Vilmart on 2013-07-08. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICQueryTableViewController.h" 10 | 11 | @interface ICCustomQueryTableViewController : ICQueryTableViewController 12 | 13 | @property PFQuery * query; 14 | @end 15 | -------------------------------------------------------------------------------- /ICParseCMS/ICCustomQueryTableViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ICCustomQueryTableViewController.m 3 | // ICParseCMS 4 | // 5 | // Created by Florent Vilmart on 2013-07-08. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICCustomQueryTableViewController.h" 10 | 11 | @interface ICCustomQueryTableViewController () 12 | 13 | @end 14 | 15 | @implementation ICCustomQueryTableViewController 16 | 17 | - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 18 | { 19 | self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 20 | if (self) { 21 | // Custom initialization 22 | } 23 | return self; 24 | } 25 | 26 | - (void)viewDidLoad 27 | { 28 | [super viewDidLoad]; 29 | // Do any additional setup after loading the view. 30 | } 31 | 32 | -(PFQuery *) queryForTable{ 33 | return self.query; 34 | } 35 | 36 | - (void)didReceiveMemoryWarning 37 | { 38 | [super didReceiveMemoryWarning]; 39 | // Dispose of any resources that can be recreated. 40 | } 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /ICParseCMS/ICEditPointerViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ICChangePointerViewController.h 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-05. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICQueryTableViewController.h" 10 | 11 | @interface ICEditPointerViewController : ICQueryTableViewController{ 12 | PFObject * _newPointer; 13 | NSIndexPath * _newPointerIndexPath; 14 | PFObject * _originalPointer; 15 | } 16 | 17 | @property PFObject * object; 18 | @property NSMutableDictionary * editedObject; 19 | @property NSString * editedKey; 20 | @end 21 | -------------------------------------------------------------------------------- /ICParseCMS/ICEditPointerViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ICChangePointerViewController.m 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-05. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICEditPointerViewController.h" 10 | 11 | @interface ICEditPointerViewController () 12 | 13 | @end 14 | 15 | @implementation ICEditPointerViewController 16 | 17 | - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 18 | { 19 | self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 20 | if (self) { 21 | // Custom initialization 22 | } 23 | return self; 24 | } 25 | 26 | - (void)viewDidLoad 27 | { 28 | [super viewDidLoad]; 29 | } 30 | 31 | -(void) viewWillAppear:(BOOL)animated{ 32 | [super viewWillAppear:animated]; 33 | _originalPointer = self.object[self.editedKey]; 34 | if ([_originalPointer isKindOfClass:[NSNull class]]) { 35 | _originalPointer = nil; 36 | } 37 | _newPointer = self.editedObject[self.editedKey]; 38 | } 39 | 40 | -(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 41 | UITableViewCell * cell = [super tableView:tableView cellForRowAtIndexPath:indexPath]; 42 | if (indexPath.row >= [self.objects count]) { 43 | return cell; 44 | } 45 | if ([[[self objectAtIndexPath:indexPath] objectId] isEqualToString:[_originalPointer objectId]]) { 46 | cell.textLabel.textColor = [UIColor grayColor]; 47 | }else{ 48 | cell.textLabel.textColor = [UIColor blackColor]; 49 | } 50 | if ([[self objectAtIndexPath:indexPath].objectId isEqualToString: _newPointer.objectId]) { 51 | if (_newPointerIndexPath == nil) { 52 | _newPointerIndexPath = indexPath; 53 | } 54 | [cell setAccessoryType:UITableViewCellAccessoryCheckmark]; 55 | }else{ 56 | [cell setAccessoryType:UITableViewCellAccessoryNone]; 57 | } 58 | return cell; 59 | } 60 | 61 | -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 62 | 63 | if (indexPath.row >= [self.objects count]) { 64 | return [super tableView:tableView didSelectRowAtIndexPath:indexPath]; 65 | } 66 | _newPointer = [self objectAtIndexPath:indexPath]; 67 | if (_newPointerIndexPath) { 68 | [self.tableView reloadRowsAtIndexPaths:@[_newPointerIndexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; 69 | } 70 | 71 | if (_newPointer) { 72 | self.editedObject[self.editedKey] = _newPointer; 73 | } 74 | 75 | _newPointerIndexPath = indexPath; 76 | [self.tableView reloadRowsAtIndexPaths:@[_newPointerIndexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; 77 | 78 | /*if (!self.selectionMode) { 79 | 80 | }else{ 81 | //tableView 82 | 83 | }*/ 84 | 85 | } 86 | 87 | -(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ 88 | NSLog(@"Index %d", buttonIndex); 89 | if(buttonIndex == 1 && _newPointer){ 90 | 91 | } 92 | 93 | [self.navigationController popViewControllerAnimated:YES]; 94 | 95 | } 96 | 97 | - (void)didReceiveMemoryWarning 98 | { 99 | [super didReceiveMemoryWarning]; 100 | // Dispose of any resources that can be recreated. 101 | } 102 | 103 | @end 104 | -------------------------------------------------------------------------------- /ICParseCMS/ICEditRelationViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ICEditRelationViewController.h 3 | // ICParseCMS 4 | // 5 | // Created by Florent Vilmart on 2013-07-08. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICEditPointerViewController.h" 10 | 11 | @interface ICEditRelationViewController : ICQueryTableViewController{ 12 | PFRelation * _relation; 13 | NSArray * _originalRelations; 14 | NSMutableArray * _editedRelations; 15 | NSMutableArray * _editedRelationsIndexPath; 16 | } 17 | @property PFObject * object; 18 | @property NSMutableDictionary * editedObject; 19 | @property NSString * editedKey; 20 | @end 21 | -------------------------------------------------------------------------------- /ICParseCMS/ICEditableCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // ICEditableCell.h 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-05. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface ICEditableCell : UITableViewCell{ 13 | __weak IBOutlet UILabel *_label; 14 | __weak IBOutlet UITextField *_textField; 15 | __weak IBOutlet UIView *_editingView; 16 | __weak IBOutlet UIView *_displayView; 17 | id _currentValue; 18 | id _newValue; 19 | 20 | } 21 | @property (weak) UIView * displayView; 22 | @property (weak) UIView * editingView; 23 | @property PFObject * object; 24 | @property NSString * editedKey; 25 | @property NSMutableDictionary * editedObject; 26 | @end 27 | -------------------------------------------------------------------------------- /ICParseCMS/ICEditableCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // ICEditableCell.m 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-05. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICEditableCell.h" 10 | #import "ICInputAccessoryView.h" 11 | #import "ICObjectKeysCache.h" 12 | #import "PFObjectHelper.h" 13 | @implementation ICEditableCell 14 | @synthesize editingView=_editingView, displayView=_displayView; 15 | - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 16 | { 17 | self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 18 | if (self) { 19 | // Initialization code 20 | } 21 | return self; 22 | } 23 | 24 | - (void)setSelected:(BOOL)selected animated:(BOOL)animated 25 | { 26 | [super setSelected:selected animated:animated]; 27 | 28 | // Configure the view for the selected state 29 | } 30 | 31 | -(void) setEditing:(BOOL)isEditing animated:(BOOL)animated{ 32 | [super setEditing:isEditing animated:animated]; 33 | _editingView.hidden = !isEditing; 34 | _displayView.hidden = isEditing; 35 | } 36 | 37 | -(void)setEditing:(BOOL)isEditing{ 38 | [super setEditing:isEditing]; 39 | _editingView.hidden = !isEditing; 40 | _displayView.hidden = isEditing; 41 | } 42 | 43 | -(void) layoutSubviews{ 44 | [super layoutSubviews]; 45 | _textField.inputAccessoryView = [ICInputAccessoryView accessoryViewForTextField:_textField]; 46 | 47 | id value = self.object[self.editedKey]; 48 | if (self.editedObject[self.editedKey]) { 49 | value = self.editedObject[self.editedKey]; 50 | } 51 | _textField.delegate = self; 52 | 53 | if ([value isKindOfClass:[PFObject class]]) { 54 | _textField.text = [PFObjectHelper preferedText:(PFObject *)value]; 55 | _label.text = [PFObjectHelper preferedText:(PFObject *)value]; 56 | }else{ 57 | _textField.text = [value description]; 58 | _label.text = [value description]; 59 | } 60 | 61 | 62 | if ([value isKindOfClass:[NSNumber class]]) { 63 | _textField.keyboardType = UIKeyboardTypeNumberPad; 64 | }else{ 65 | _textField.keyboardType = UIKeyboardTypeDefault; 66 | } 67 | } 68 | 69 | -(void) textFieldDidEndEditing:(UITextField *)textField{ 70 | id value = self.object[self.editedKey]; 71 | id finalValue; 72 | if ([value isKindOfClass:[NSNumber class]]) { 73 | NSNumberFormatter * f = [[NSNumberFormatter alloc] init]; 74 | [f setNumberStyle:NSNumberFormatterDecimalStyle]; 75 | finalValue = [f numberFromString:textField.text ]; 76 | }else{ 77 | finalValue = textField.text; 78 | } 79 | self.editedObject[self.editedKey] = finalValue; 80 | } 81 | 82 | -(BOOL) textFieldShouldReturn:(UITextField *)textField{ 83 | 84 | // [self.editedObject setObject:finalValue forKey:self.editedKey]; 85 | [textField resignFirstResponder]; 86 | return YES; 87 | } 88 | 89 | @end 90 | -------------------------------------------------------------------------------- /ICParseCMS/ICInputAccessoryView.h: -------------------------------------------------------------------------------- 1 | // 2 | // ICInputAccessoryView.h 3 | // ICParseCMS 4 | // 5 | // Created by Florent Vilmart on 2013-07-08. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ICInputAccessoryView : UIToolbar{ 12 | UITextField * _originalTextField; 13 | UITextView * _textView; 14 | } 15 | @property UITextField * originalTextField; 16 | @property UITextView * textView; 17 | +(UIView *) accessoryViewForTextField:(UITextField *) aTextField; 18 | @end 19 | -------------------------------------------------------------------------------- /ICParseCMS/ICInputAccessoryView.m: -------------------------------------------------------------------------------- 1 | // 2 | // ICInputAccessoryView.m 3 | // ICParseCMS 4 | // 5 | // Created by Florent Vilmart on 2013-07-08. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICInputAccessoryView.h" 10 | #import 11 | @implementation ICInputAccessoryView 12 | @synthesize originalTextField = _originalTextField, textView=_textView; 13 | - (id)initWithFrame:(CGRect)frame 14 | { 15 | self = [super initWithFrame:frame]; 16 | if (self) { 17 | UITextView * textView = [[UITextView alloc] initWithFrame:CGRectMake(8.f, 12.f, 242.f, 30.f)]; 18 | textView.autoresizingMask = UIViewAutoresizingFlexibleWidth |UIViewAutoresizingFlexibleHeight; 19 | textView.delegate = self; 20 | //[textView setContentInset:UIEdgeInsetsMake(2.f, 2.f, 2.f, 2.f)]; 21 | [textView.layer setBackgroundColor: [[UIColor whiteColor] CGColor]]; 22 | [textView.layer setBorderColor: [[UIColor grayColor] CGColor]]; 23 | [textView.layer setBorderWidth: 1.0]; 24 | [textView.layer setCornerRadius:4.0f]; 25 | [textView.layer setMasksToBounds:YES]; 26 | self.textView = textView; 27 | self.textView.inputAccessoryView = self; 28 | //[textView becomeFirstResponder]; 29 | UIBarButtonItem * item = [[UIBarButtonItem alloc] initWithCustomView:textView]; 30 | UIBarButtonItem * doneItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(endEditing:)]; 31 | 32 | [self setItems:@[item, [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil], doneItem]]; 33 | [self textViewDidChange:textView]; 34 | 35 | // Initialization code 36 | } 37 | return self; 38 | } 39 | +(UIView *) accessoryViewForTextField:(UITextField *) aTextField{ 40 | ICInputAccessoryView * toolbar = [[ICInputAccessoryView alloc] initWithFrame:CGRectMake(0.f, 0.f, 320.f, 44.f)]; 41 | toolbar.originalTextField = aTextField; 42 | toolbar.textView.text = aTextField.text; 43 | return toolbar; 44 | } 45 | 46 | -(void) textViewDidEndEditing:(UITextView *)textView{ 47 | NSLog(@"End editing"); 48 | _originalTextField.text = textView.text; 49 | } 50 | 51 | -(void) textViewDidChangeSelection:(UITextView *)textView{ 52 | [self textViewDidChange:textView]; 53 | } 54 | 55 | -(void) textViewDidChange:(UITextView *)textView{ 56 | //NSString * text = textView.text; 57 | CGSize size = [textView sizeThatFits:CGSizeMake(textView.frame.size.width, CGFLOAT_MAX)]; 58 | if (size.height < 170.f && size.height> 30.f) { 59 | CGRect frame = self.frame; 60 | frame.size.height = size.height+textView.font.pointSize; 61 | self.frame = frame; 62 | } 63 | _originalTextField.text = textView.text; 64 | //textView 65 | } 66 | 67 | -(void) endEditing:(id) sender{ 68 | [_textView resignFirstResponder]; 69 | [_originalTextField resignFirstResponder]; 70 | _originalTextField.userInteractionEnabled = YES; 71 | [_originalTextField.delegate textFieldDidEndEditing:_originalTextField]; 72 | } 73 | 74 | -(void) didMoveToSuperview{ 75 | NSLog(@"Did move! %@", [self superview]); 76 | } 77 | 78 | -(void) willMoveToSuperview:(UIView *)newSuperview{ 79 | NSLog(@"MOVE! %@", newSuperview); 80 | if(newSuperview){ 81 | double delayInSeconds = 0.f; 82 | // 83 | dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); 84 | dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ 85 | 86 | [_textView becomeFirstResponder]; 87 | _originalTextField.userInteractionEnabled = NO; 88 | }); 89 | } 90 | //[_originalTextField resignFirstResponder]; 91 | 92 | 93 | } 94 | /* 95 | // Only override drawRect: if you perform custom drawing. 96 | // An empty implementation adversely affects performance during animation. 97 | - (void)drawRect:(CGRect)rect 98 | { 99 | // Drawing code 100 | } 101 | */ 102 | 103 | @end 104 | -------------------------------------------------------------------------------- /ICParseCMS/ICMenuViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ICMenuViewController.h 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-05. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import 10 | @class ICParseCMSViewController; 11 | @interface ICMenuViewController : UITableViewController{ 12 | 13 | __weak IBOutlet ICParseCMSViewController *_mainViewController; 14 | } 15 | 16 | @property NSArray * classNames; 17 | @end 18 | -------------------------------------------------------------------------------- /ICParseCMS/ICMenuViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ICMenuViewController.m 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-05. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICMenuViewController.h" 10 | #import "ICParseCMSViewController.h" 11 | @interface ICMenuViewController () 12 | 13 | @end 14 | 15 | @implementation ICMenuViewController 16 | 17 | - (id)initWithStyle:(UITableViewStyle)style 18 | { 19 | self = [super initWithStyle:style]; 20 | if (self) { 21 | // Custom initialization 22 | } 23 | return self; 24 | } 25 | 26 | - (void)viewDidLoad 27 | { 28 | [super viewDidLoad]; 29 | // Uncomment the following line to preserve selection between presentations. 30 | // self.clearsSelectionOnViewWillAppear = NO; 31 | 32 | // Uncomment the following line to display an Edit button in the navigation bar for this view controller. 33 | // self.navigationItem.rightBarButtonItem = self.editButtonItem; 34 | } 35 | 36 | - (void)didReceiveMemoryWarning 37 | { 38 | [super didReceiveMemoryWarning]; 39 | // Dispose of any resources that can be recreated. 40 | } 41 | 42 | #pragma mark - Table view data source 43 | 44 | - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 45 | { 46 | // Return the number of sections. 47 | return 1; 48 | } 49 | 50 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 51 | { 52 | // Return the number of rows in the section. 53 | return [self.classNames count]; 54 | } 55 | 56 | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 57 | { 58 | static NSString *CellIdentifier = @"Cell"; 59 | UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 60 | cell.textLabel.text = self.classNames[indexPath.row]; 61 | // Configure the cell... 62 | 63 | return cell; 64 | } 65 | 66 | /* 67 | // Override to support conditional editing of the table view. 68 | - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath 69 | { 70 | // Return NO if you do not want the specified item to be editable. 71 | return YES; 72 | } 73 | */ 74 | 75 | /* 76 | // Override to support editing the table view. 77 | - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 78 | { 79 | if (editingStyle == UITableViewCellEditingStyleDelete) { 80 | // Delete the row from the data source 81 | [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade]; 82 | } 83 | else if (editingStyle == UITableViewCellEditingStyleInsert) { 84 | // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view 85 | } 86 | } 87 | */ 88 | 89 | /* 90 | // Override to support rearranging the table view. 91 | - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath 92 | { 93 | } 94 | */ 95 | 96 | /* 97 | // Override to support conditional rearranging of the table view. 98 | - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath 99 | { 100 | // Return NO if you do not want the item to be re-orderable. 101 | return YES; 102 | } 103 | */ 104 | 105 | #pragma mark - Table view delegate 106 | 107 | - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 108 | { 109 | [tableView deselectRowAtIndexPath:indexPath animated:YES]; 110 | NSString * className = self.classNames[indexPath.row]; 111 | 112 | [_mainViewController displayQueryControllerForClassName:className]; 113 | // Navigation logic may go here. Create and push another view controller. 114 | /* 115 | <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil]; 116 | // ... 117 | // Pass the selected object to the new view controller. 118 | [self.navigationController pushViewController:detailViewController animated:YES]; 119 | */ 120 | } 121 | 122 | @end 123 | -------------------------------------------------------------------------------- /ICParseCMS/ICObjectKeysCache.h: -------------------------------------------------------------------------------- 1 | // 2 | // ICObjectKeysCache.h 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-05. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | @interface ICObjectKeysCache : NSObject{ 12 | NSMutableDictionary * _cache; 13 | } 14 | +(ICObjectKeysCache *) cache; 15 | 16 | -(NSArray *) keysForClassName:(NSString *) className; 17 | 18 | -(void) setKeys:(NSArray *) keys forClassName:(NSString *) className; 19 | -(void) setClassName:(NSString *) class forKey:(NSString *) key inClassName:(NSString *) className; 20 | -(NSString *) classNameForKey:(NSString *) key inClassWithName:(NSString *) className; 21 | 22 | -(void) registerAll:(NSArray *) objects; 23 | -(void) registerObject:(PFObject *) object; 24 | -(PFObject *) objectWithClassName:(NSString *) className; 25 | -(id) objectForKey:(NSString *) key inClassName:(NSString *) className value:(NSString *) value; 26 | @end 27 | -------------------------------------------------------------------------------- /ICParseCMS/ICObjectTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ICObjectTableViewController.h 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-05. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface ICObjectTableViewController : UITableViewController< UIGestureRecognizerDelegate, UIAlertViewDelegate, PFLogInViewControllerDelegate, UIPopoverControllerDelegate>{ 13 | NSArray * _sortedKeys; 14 | NSIndexPath * _currentIndexPath; 15 | CGRect _originalPanFrame; 16 | UIPanGestureRecognizer * _panGestureRecognizer; 17 | NSMutableDictionary * _editedObject; 18 | UIPopoverController * _popOverController; 19 | UIButton * _deleteButton; 20 | NSDictionary * _customHandlers; 21 | } 22 | @property PFObject *object; 23 | 24 | -(void) updateKey:(NSString *) key value:(id) value; 25 | @end 26 | -------------------------------------------------------------------------------- /ICParseCMS/ICPFFileUploadViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ICPFFileUploadViewController.h 3 | // ICParseCMS 4 | // 5 | // Created by Florent Vilmart on 2013-07-09. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | @interface ICPFFileUploadViewController : UIImagePickerController 12 | 13 | @property UIPopoverController * popOverController; 14 | @property PFObject * object; 15 | @property NSMutableDictionary * editedObject; 16 | @property NSString * editedKey; 17 | @end 18 | -------------------------------------------------------------------------------- /ICParseCMS/ICPFFileUploadViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ICPFFileUploadViewController.m 3 | // ICParseCMS 4 | // 5 | // Created by Florent Vilmart on 2013-07-09. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICPFFileUploadViewController.h" 10 | #import "ICParseCMSViewController.h" 11 | @interface ICPFFileUploadViewController () 12 | 13 | @end 14 | 15 | @implementation ICPFFileUploadViewController 16 | 17 | - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 18 | { 19 | self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 20 | if (self) { 21 | // Custom initialization 22 | } 23 | return self; 24 | } 25 | 26 | - (void)viewDidLoad 27 | { 28 | [super viewDidLoad]; 29 | // Do any additional setup after loading the view. 30 | } 31 | 32 | -(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ 33 | NSLog(@"Media info %@", info); 34 | UIImage * original =info[UIImagePickerControllerOriginalImage]; 35 | //NSURL * mediaURL = info[UIImagePickerControllerReferenceURL]; 36 | NSData * data = UIImagePNGRepresentation(original); 37 | //NSData * data = [NSData da] 38 | PFFile * file = [PFFile fileWithData:data]; 39 | self.editedObject[self.editedKey] = file; 40 | 41 | [self dismiss]; 42 | } 43 | 44 | -(void) imagePickerControllerDidCancel:(UIImagePickerController *)picker{ 45 | [self dismiss]; 46 | } 47 | 48 | -(void) dismiss{ 49 | if([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad){ 50 | [self.popOverController dismissPopoverAnimated:YES]; 51 | }else{ 52 | [[ICParseCMSViewController viewController] dismissViewControllerAnimated:YES completion:nil]; 53 | } 54 | } 55 | 56 | - (void)didReceiveMemoryWarning 57 | { 58 | [super didReceiveMemoryWarning]; 59 | // Dispose of any resources that can be recreated. 60 | } 61 | 62 | @end 63 | -------------------------------------------------------------------------------- /ICParseCMS/ICParseCMS-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'iOSParseCMS' target in the 'iOSParseCMS' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /ICParseCMS/ICParseCMS.h: -------------------------------------------------------------------------------- 1 | // 2 | // iOSParseCMS.h 3 | // iOSParseCMS 4 | // 5 | // Created by Florent Vilmart on 2013-07-08. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | @interface ICParseCMS : NSObject 12 | /* 13 | Pass an info dictionary to initalize parse 14 | 15 | ParseApplicationId : NSString: Your parse ApplicationID 16 | ParseClientKey : NSString : Your parse client key 17 | ParseClassNames : NSArray: Class names you want to display 18 | 19 | // Optional 20 | ParseDefaultACL : NSDictionary: // Setup a default ACL for created objects 21 | { 22 | "public" : {"read": @BOOL, @"write": @BOOL}, 23 | // List of R=YES + W=YES roles 24 | "adminRoles" : [@"admin", @"superadmin"...] 25 | } 26 | 27 | // Optional 28 | ParsePreferedDisplayKey : NSDictionary // List of keys you want to display in a the list of object for a class: 29 | { 30 | "AClass" :"title", 31 | "BClass" : "name" 32 | } 33 | ... 34 | 35 | Pass nil will load parse.plist from the main bundle 36 | 37 | Parse will initialize with appId, clientId, 38 | The default ACL will be set 39 | 40 | */ 41 | +(void) initializeWithInfoDictionary:(NSDictionary *) dictionary; 42 | +(BOOL) handleOpenURL:(NSURL *) url; 43 | // Returns a CMS View Controller 44 | +(UIViewController *) CMSViewController; 45 | +(BOOL) openExternalEditorWithKey:(NSString *) key className:(NSString *) className; 46 | @end -------------------------------------------------------------------------------- /ICParseCMS/ICParseCMS.m: -------------------------------------------------------------------------------- 1 | // 2 | // iOSParseCMS.m 3 | // iOSParseCMS 4 | // 5 | // Created by Florent Vilmart on 2013-07-08. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICParseCMS.h" 10 | #import "ICBundle.h" 11 | #import 12 | @implementation ICParseCMS 13 | +(NSString *) encoded:(NSString *) str{ 14 | return (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes( 15 | NULL, 16 | (CFStringRef)str, 17 | NULL, 18 | CFSTR("!*'();:@&=+$,/?%#[]"), 19 | kCFStringEncodingUTF8)); 20 | } 21 | 22 | +(NSString *) decoded:(NSString *) str{ 23 | return [str stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 24 | } 25 | +(void) initializeWithInfoDictionary:(NSDictionary *) dictionary{ 26 | [ICBundle setParseInfoDictionary:dictionary]; 27 | NSDictionary * info = [ICBundle parseInfoDictionary]; 28 | if (!info) { 29 | @throw [NSException exceptionWithName:@"Missing Parse Info Dictionary" reason:@"Pass options here or use parse.plist file" userInfo:nil]; 30 | } 31 | [Parse setApplicationId:info[@"ParseApplicationId"] clientKey:info[@"ParseClientKey"]]; 32 | 33 | [Parse offlineMessagesEnabled:YES]; 34 | [Parse errorMessagesEnabled:YES]; 35 | NSDictionary * defaultACLDef = info[@"ParseDefaultACL"]; 36 | if (defaultACLDef) { 37 | PFACL * acl = [[PFACL alloc] init]; 38 | NSDictionary * public = defaultACLDef[@"public"]; 39 | 40 | if (public) { 41 | [acl setPublicReadAccess:[public[@"read"] boolValue]]; 42 | [acl setPublicWriteAccess:[public[@"write"] boolValue]]; 43 | } 44 | 45 | for (NSString * roleName in defaultACLDef[@"adminRoles"]) { 46 | [acl setReadAccess:YES forRoleWithName:roleName]; 47 | [acl setWriteAccess:YES forRoleWithName:roleName]; 48 | } 49 | NSLog(@"Default ACL %@", [acl valueForKey:@"permissionsById"]); 50 | [PFACL setDefaultACL:acl withAccessForCurrentUser:NO]; 51 | } 52 | 53 | } 54 | 55 | +(BOOL) handleOpenURL:(NSURL *) url{ 56 | return [[ICParseCMSViewController viewController] handleOpenURL:url]; 57 | } 58 | 59 | +(ICParseCMSViewController *) CMSViewController{ 60 | return [ICParseCMSViewController viewController]; 61 | } 62 | 63 | +(BOOL) openExternalEditorWithKey:(NSString *) key className:(NSString *) className{ 64 | NSDictionary * info = [ICBundle parseInfoDictionary]; 65 | NSDictionary * handlers = info[@"ParseCustomHandler"][className]; 66 | if (handlers[key]) { 67 | NSURL * url = [NSURL URLWithString:[NSString stringWithFormat: @"%@?key=%@&callback=%@", handlers[key], key, [ICParseCMS encoded:[NSString stringWithFormat:@"parse%@://update/", info[@"ParseApplicationId"]]]]]; 68 | [[UIApplication sharedApplication] openURL:url]; 69 | return YES; 70 | } 71 | return NO; 72 | } 73 | @end 74 | -------------------------------------------------------------------------------- /ICParseCMS/ICParseCMSViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ICViewController.h 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-05. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ICParseCMSViewController : UIViewController{ 12 | 13 | } 14 | 15 | -(BOOL) handleOpenURL:(NSURL *) url; 16 | +(ICParseCMSViewController *) viewController; 17 | -(UIViewController *) currentViewController; 18 | -(void) displayQueryControllerForClassName:(NSString *) className; 19 | @end 20 | -------------------------------------------------------------------------------- /ICParseCMS/ICQueryTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ICQueryTableViewController.h 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-05. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ICQueryTableViewController : PFQueryTableViewController{ 12 | NSString * _preferedKey; 13 | } 14 | 15 | @property PFQuery * query; 16 | @end 17 | -------------------------------------------------------------------------------- /ICParseCMS/ICQueryTableViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ICQueryTableViewController.m 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-05. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICQueryTableViewController.h" 10 | #import "ICObjectTableViewController.h" 11 | #import "ICObjectKeysCache.h" 12 | #import "PFObjectHelper.h" 13 | #import 14 | #import "ICBundle.h" 15 | @interface ICQueryTableViewController () 16 | 17 | @end 18 | 19 | @implementation ICQueryTableViewController 20 | 21 | - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 22 | { 23 | self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 24 | if (self) { 25 | 26 | // Custom initialization 27 | } 28 | return self; 29 | } 30 | 31 | - (void)viewDidLoad 32 | { 33 | [super viewDidLoad]; 34 | self.title = self.parseClassName; 35 | self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(createObject:)]; 36 | self.queryForTable.limit = 1000; 37 | // Do any additional setup after loading the view. 38 | } 39 | 40 | - (void)objectsWillLoad{ 41 | [super objectsWillLoad]; 42 | self.title = self.parseClassName; 43 | if ([ICBundle parseInfoDictionary][@"ParsePreferedDisplayKey"]) { 44 | _preferedKey = [ICBundle parseInfoDictionary][@"ParsePreferedDisplayKey"][self.parseClassName]; 45 | } 46 | 47 | } 48 | 49 | -(void) viewWillAppear:(BOOL)animated{ 50 | [super viewWillAppear:animated]; 51 | } 52 | 53 | -(void) objectsDidLoad:(NSError *)error{ 54 | [super objectsDidLoad:error]; 55 | [[ICObjectKeysCache cache] registerAll:self.objects]; 56 | } 57 | 58 | - (void)didReceiveMemoryWarning 59 | { 60 | [super didReceiveMemoryWarning]; 61 | // Dispose of any resources that can be recreated. 62 | } 63 | 64 | 65 | -(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 66 | UITableViewCell * cell = [super tableView:tableView cellForRowAtIndexPath:indexPath]; 67 | /*if (_preferedKey) { 68 | id property = [self objectAtIndexPath:indexPath][_preferedKey]; 69 | if (property && [property isKindOfClass:[NSDictionary class]]) { 70 | NSString * localized = property[@"en"]; 71 | if (localized) { 72 | cell.textLabel.text = localized; 73 | } 74 | } 75 | }*/ 76 | if(indexPath.row < [self.objects count]){ 77 | cell.textLabel.text = [PFObjectHelper preferedText:[self objectAtIndexPath:indexPath]]; 78 | } 79 | 80 | 81 | 82 | return cell; 83 | } 84 | 85 | -(void) createObject:(id) sender{ 86 | PFObject * object = [[ICObjectKeysCache cache] objectWithClassName:self.parseClassName]; 87 | [self displayObject:object]; 88 | 89 | 90 | } 91 | 92 | -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 93 | if(indexPath.row < [self.objects count]){ 94 | [self displayObject:[self objectAtIndexPath:indexPath]]; 95 | }else{ 96 | [super tableView:tableView didSelectRowAtIndexPath:indexPath]; 97 | } 98 | 99 | /*if (!self.selectionMode) { 100 | 101 | }else{ 102 | //tableView 103 | 104 | }*/ 105 | 106 | } 107 | 108 | -(void) displayObject:(PFObject *) object{ 109 | ICObjectTableViewController * tvc = [[ICObjectTableViewController alloc] initWithStyle:UITableViewStylePlain]; 110 | tvc.object = object; 111 | [self.navigationController pushViewController:tvc animated:YES]; 112 | } 113 | 114 | @end 115 | -------------------------------------------------------------------------------- /ICParseCMS/NSBooleanCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSBooleanCell.h 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-06. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICEditableCell.h" 10 | 11 | @interface NSBooleanCell : ICEditableCell{ 12 | 13 | __weak IBOutlet UISwitch *_editSwitch; 14 | __weak IBOutlet UISwitch *_displaySwitch; 15 | } 16 | - (IBAction)valueChanged:(id)sender; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /ICParseCMS/NSBooleanCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSBooleanCell.m 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-06. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "NSBooleanCell.h" 10 | 11 | @implementation NSBooleanCell 12 | 13 | - (id)initWithFrame:(CGRect)frame 14 | { 15 | self = [super initWithFrame:frame]; 16 | if (self) { 17 | // Initialization code 18 | } 19 | return self; 20 | } 21 | 22 | 23 | -(void) layoutSubviews{ 24 | [super layoutSubviews]; 25 | id value = self.object[self.editedKey]; 26 | if (self.editedObject[self.editedKey]) { 27 | value = self.editedObject[self.editedKey]; 28 | } 29 | [_editSwitch setOn:[value boolValue] animated:YES] ; 30 | [_displaySwitch setOn:[value boolValue] animated:YES] ; 31 | 32 | } 33 | /* 34 | // Only override drawRect: if you perform custom drawing. 35 | // An empty implementation adversely affects performance during animation. 36 | - (void)drawRect:(CGRect)rect 37 | { 38 | // Drawing code 39 | } 40 | */ 41 | 42 | - (IBAction)valueChanged:(id)sender { 43 | [self.editedObject setObject:[NSNumber numberWithBool:_editSwitch.isOn] forKey:self.editedKey]; 44 | } 45 | @end 46 | -------------------------------------------------------------------------------- /ICParseCMS/NSDateCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSDateCell.h 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-06. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICEditableCell.h" 10 | #import "FPPopoverController.h" 11 | @interface NSDateCell : ICEditableCell{ 12 | FPPopoverController * _popoverController; 13 | UIDatePicker * _datePicker; 14 | UIView * _popoverView; 15 | } 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /ICParseCMS/NSDictionaryCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSDictionaryCell.h 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-05. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICEditableCell.h" 10 | 11 | @interface NSDictionaryCell : ICEditableCell{ 12 | 13 | __weak IBOutlet UILabel *_keyLabel; 14 | 15 | __weak IBOutlet UILabel *_valueLabel; 16 | __weak IBOutlet UITextField *_keyTextField; 17 | __weak IBOutlet UITextField *_valueTextField; 18 | 19 | NSString *_previousDictionaryKey; 20 | } 21 | - (IBAction)deleteTouched:(id)sender; 22 | 23 | @property NSString * dictionaryKey; 24 | @end 25 | -------------------------------------------------------------------------------- /ICParseCMS/NSDictionaryCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSDictionaryCell.m 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-05. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "NSDictionaryCell.h" 10 | #import "ICInputAccessoryView.h" 11 | @implementation NSDictionaryCell 12 | 13 | - (id)initWithFrame:(CGRect)frame 14 | { 15 | self = [super initWithFrame:frame]; 16 | if (self) { 17 | // Initialization code 18 | } 19 | return self; 20 | } 21 | 22 | -(void)setEditing:(BOOL)editing animated:(BOOL)animated{ 23 | [super setEditing:editing animated:animated]; 24 | } 25 | 26 | -(void)layoutSubviews{ 27 | [super layoutSubviews]; 28 | id value; 29 | if (self.dictionaryKey) { 30 | value = self.object[self.editedKey][self.dictionaryKey]; 31 | if (self.editedObject[self.editedKey] && self.editedObject[self.editedKey][self.dictionaryKey]) { 32 | value = self.editedObject[self.editedKey][self.dictionaryKey]; 33 | } 34 | }else{ 35 | self.dictionaryKey = @""; 36 | value = @""; 37 | } 38 | 39 | _valueLabel.text = [value description]; 40 | _valueTextField.text = [value description]; 41 | _keyLabel.text = self.dictionaryKey; 42 | _keyTextField.text = self.dictionaryKey; 43 | _previousDictionaryKey = self.dictionaryKey; 44 | 45 | _valueTextField.inputAccessoryView = [ICInputAccessoryView accessoryViewForTextField:_valueTextField]; 46 | } 47 | 48 | -(BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ 49 | 50 | return YES; 51 | } 52 | 53 | -(void) textFieldDidEndEditing:(UITextField *)textField{ 54 | if (!self.editedObject[self.editedKey]) { 55 | if (self.object[self.editedKey]) { 56 | self.editedObject[self.editedKey] = [self.object[self.editedKey] mutableCopy]; 57 | }else{ 58 | self.editedObject[self.editedKey] = [NSMutableDictionary dictionary]; 59 | } 60 | } 61 | if (textField == _keyTextField) { 62 | if (![_keyTextField.text isEqualToString:_previousDictionaryKey]) { 63 | [self.editedObject[self.editedKey] removeObjectForKey:_previousDictionaryKey]; 64 | } 65 | _previousDictionaryKey = _keyTextField.text; 66 | self.dictionaryKey = _keyTextField.text; 67 | } 68 | id finalValue = _valueTextField.text; 69 | 70 | if (finalValue) { 71 | if ([self.dictionaryKey isEqualToString:@""]) { 72 | [self.editedObject[self.editedKey] removeObjectForKey:self.dictionaryKey]; 73 | }else{ 74 | self.editedObject[self.editedKey][self.dictionaryKey] = finalValue; 75 | } 76 | if(self.editedObject[self.editedKey][@""]){ 77 | [self.editedObject[self.editedKey] removeObjectForKey:@""]; 78 | } 79 | } 80 | 81 | } 82 | 83 | -(BOOL) textFieldShouldReturn:(UITextField *)textField{ 84 | 85 | //[self.editedObject[self.dictionaryKey] setObject:finalValue forKey:self.editedKey]; 86 | [textField resignFirstResponder]; 87 | return YES; 88 | } 89 | /* 90 | // Only override drawRect: if you perform custom drawing. 91 | // An empty implementation adversely affects performance during animation. 92 | - (void)drawRect:(CGRect)rect 93 | { 94 | // Drawing code 95 | } 96 | */ 97 | 98 | - (IBAction)deleteTouched:(id)sender { 99 | [[NSNotificationCenter defaultCenter] postNotificationName:@"kDeleteDictionaryKey" object:nil userInfo:@{@"dictionaryKey": self.dictionaryKey, @"editedKey": self.editedKey}]; 100 | } 101 | @end 102 | -------------------------------------------------------------------------------- /ICParseCMS/PFACLCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFACLCell.h 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-07. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICEditableCell.h" 10 | 11 | @interface PFACLCell : ICEditableCell{ 12 | NSDictionary * switches; 13 | } 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /ICParseCMS/PFACLCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // PFACLCell.m 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-07. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "PFACLCell.h" 10 | 11 | @implementation PFACLCell 12 | 13 | - (id)initWithFrame:(CGRect)frame 14 | { 15 | self = [super initWithFrame:frame]; 16 | if (self) { 17 | // Initialization code 18 | } 19 | return self; 20 | } 21 | 22 | -(void) setEditing:(BOOL)editing animated:(BOOL)animated{ 23 | [super setEditing:editing animated:animated]; 24 | _displayView.hidden = NO; 25 | _editingView.hidden = NO; 26 | } 27 | 28 | -(void) layoutSubviews{ 29 | while ([[_displayView subviews] count] >0) { 30 | [ [_displayView subviews][0] removeFromSuperview]; 31 | } 32 | PFACL * acl = self.object[self.editedKey]; 33 | if (self.editedObject[self.editedKey]) { 34 | acl = self.editedObject[self.editedKey]; 35 | } 36 | UIScrollView * scroll = [[UIScrollView alloc] initWithFrame:_displayView.bounds]; 37 | [_displayView addSubview:scroll]; 38 | NSDictionary * aclDef = [acl valueForKey:@"permissionsById"]; 39 | CGFloat x = 5.f; 40 | for (NSString * aclDefKey in [aclDef allKeys]) { 41 | UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(x, 0.f, 0.f, _displayView.frame.size.height)]; 42 | label.text = aclDefKey; 43 | 44 | } 45 | } 46 | 47 | /* 48 | // Only override drawRect: if you perform custom drawing. 49 | // An empty implementation adversely affects performance during animation. 50 | - (void)drawRect:(CGRect)rect 51 | { 52 | // Drawing code 53 | } 54 | */ 55 | 56 | @end 57 | -------------------------------------------------------------------------------- /ICParseCMS/PFFileCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFFileCell.h 3 | // ICParseCMS 4 | // 5 | // Created by Florent Vilmart on 2013-07-09. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICEditableCell.h" 10 | 11 | @interface PFFileCell : ICEditableCell 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /ICParseCMS/PFFileCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // PFFileCell.m 3 | // ICParseCMS 4 | // 5 | // Created by Florent Vilmart on 2013-07-09. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "PFFileCell.h" 10 | 11 | @implementation PFFileCell 12 | 13 | - (id)initWithFrame:(CGRect)frame 14 | { 15 | self = [super initWithFrame:frame]; 16 | if (self) { 17 | // Initialization code 18 | } 19 | return self; 20 | } 21 | 22 | -(void) setEditing:(BOOL)editing animated:(BOOL)animated{ 23 | [super setEditing:editing animated:animated]; 24 | _editingView.hidden = YES; 25 | _displayView.hidden = NO; 26 | } 27 | 28 | -(void)setEditing:(BOOL)isEditing{ 29 | [super setEditing:isEditing]; 30 | _editingView.hidden = YES; 31 | _displayView.hidden = NO; 32 | } 33 | 34 | -(void) layoutSubviews{ 35 | [super layoutSubviews]; 36 | _displayView.hidden = NO; 37 | _editingView.hidden = YES; 38 | 39 | PFFile * file = self.object[self.editedKey]; 40 | 41 | NSString * format = @"PFFile : %@"; 42 | if(self.editing){ 43 | if (self.editedObject[self.editedKey]) { 44 | file = self.editedObject[self.editedKey]; 45 | format = @"File changed"; 46 | }else{ 47 | format = @"Upload new file"; 48 | } 49 | } 50 | _label.text = [NSString stringWithFormat:format, file.url]; 51 | } 52 | 53 | /* 54 | // Only override drawRect: if you perform custom drawing. 55 | // An empty implementation adversely affects performance during animation. 56 | - (void)drawRect:(CGRect)rect 57 | { 58 | // Drawing code 59 | } 60 | */ 61 | 62 | @end 63 | -------------------------------------------------------------------------------- /ICParseCMS/PFObjectCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFObjectCell.h 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-07. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICEditableCell.h" 10 | 11 | @interface PFObjectCell : ICEditableCell 12 | 13 | @property NSString * parseClassName; 14 | @end 15 | -------------------------------------------------------------------------------- /ICParseCMS/PFObjectCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // PFObjectCell.m 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-07. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "PFObjectCell.h" 10 | #import "PFObjectHelper.h" 11 | @implementation PFObjectCell 12 | 13 | - (id)initWithFrame:(CGRect)frame 14 | { 15 | self = [super initWithFrame:frame]; 16 | if (self) { 17 | // Initialization code 18 | } 19 | return self; 20 | } 21 | 22 | 23 | -(void) setEditing:(BOOL)isEditing animated:(BOOL)animated{ 24 | [super setEditing:isEditing animated:animated]; 25 | _editingView.hidden = YES; 26 | _displayView.hidden = NO; 27 | } 28 | 29 | -(void)setEditing:(BOOL)isEditing{ 30 | [super setEditing:isEditing]; 31 | _editingView.hidden = YES; 32 | _displayView.hidden = NO; 33 | } 34 | 35 | -(void) layoutSubviews{ 36 | [super layoutSubviews]; 37 | if (self.editedObject[self.editedKey]) { 38 | _label.text = [PFObjectHelper preferedText:self.editedObject[self.editedKey]]; 39 | }else{ 40 | if (self.object[self.editedKey] != [NSNull null]) { 41 | _label.text = [PFObjectHelper preferedText:self.object[self.editedKey]]; 42 | }else{ 43 | NSString *format; 44 | if (self.isEditing) { 45 | format = @"Set a %@"; 46 | }else{ 47 | format = @"No %@ set"; 48 | } 49 | _label.text = [NSString stringWithFormat:format, self.parseClassName]; 50 | } 51 | } 52 | 53 | 54 | } 55 | /* 56 | // Only override drawRect: if you perform custom drawing. 57 | // An empty implementation adversely affects performance during animation. 58 | - (void)drawRect:(CGRect)rect 59 | { 60 | // Drawing code 61 | } 62 | */ 63 | 64 | @end 65 | -------------------------------------------------------------------------------- /ICParseCMS/PFObjectHelper.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFObject+additions.h 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-05. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface PFObjectHelper : NSObject 12 | 13 | +(NSString *) preferedText:(PFObject *) object; 14 | @end 15 | -------------------------------------------------------------------------------- /ICParseCMS/PFObjectHelper.m: -------------------------------------------------------------------------------- 1 | // 2 | // PFObject+additions.m 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-05. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "PFObjectHelper.h" 10 | #import 11 | #import "ICBundle.h" 12 | @implementation PFObjectHelper 13 | 14 | +(NSString *) preferedText:(PFObject *) object{ 15 | NSString * preferedKey; 16 | if ([ICBundle parseInfoDictionary][@"ParsePreferedDisplayKey"]) { 17 | preferedKey = [ICBundle parseInfoDictionary][@"ParsePreferedDisplayKey"][object.parseClassName]; 18 | } 19 | if ([object isDataAvailable]) { 20 | id property = object[preferedKey]; 21 | if (property && [property isKindOfClass:[NSDictionary class]]) { 22 | NSString * localized = property[@"en"]; 23 | if (localized) { 24 | return localized; 25 | } 26 | }else if (property) { 27 | return property; 28 | } 29 | } 30 | 31 | return [NSString stringWithFormat:@"%@ : %@", object.parseClassName, object.objectId]; 32 | } 33 | 34 | 35 | /*-(NSString *) description{ 36 | return [self preferedText]; 37 | }*/ 38 | @end 39 | -------------------------------------------------------------------------------- /ICParseCMS/PFRelationCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFObjectCell.h 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-07. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "ICEditableCell.h" 10 | 11 | @interface PFRelationCell : ICEditableCell 12 | 13 | @property NSString * parseClassName; 14 | @end 15 | -------------------------------------------------------------------------------- /ICParseCMS/PFRelationCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // PFObjectCell.m 3 | // icangowithoutcms 4 | // 5 | // Created by Florent Vilmart on 2013-07-07. 6 | // Copyright (c) 2013 Soevolved. All rights reserved. 7 | // 8 | 9 | #import "PFRelationCell.h" 10 | #import "PFObjectHelper.h" 11 | @implementation PFRelationCell 12 | 13 | - (id)initWithFrame:(CGRect)frame 14 | { 15 | self = [super initWithFrame:frame]; 16 | if (self) { 17 | // Initialization code 18 | } 19 | return self; 20 | } 21 | 22 | 23 | -(void) setEditing:(BOOL)isEditing animated:(BOOL)animated{ 24 | [super setEditing:isEditing animated:animated]; 25 | _editingView.hidden = YES; 26 | _displayView.hidden = NO; 27 | } 28 | 29 | -(void)setEditing:(BOOL)isEditing{ 30 | [super setEditing:isEditing]; 31 | _editingView.hidden = YES; 32 | _displayView.hidden = NO; 33 | } 34 | 35 | -(void) layoutSubviews{ 36 | [super layoutSubviews]; 37 | NSString *format; 38 | if (self.isEditing) { 39 | format = @"Edit Relation on %@"; 40 | }else{ 41 | format = @"Relation on %@"; 42 | } 43 | _label.text = [NSString stringWithFormat:format, self.parseClassName]; 44 | /*if (self.editedObject[self.editedKey]) { 45 | _label.text = [self.editedObject[self.editedKey] preferedText]; 46 | }else{ 47 | if (self.object[self.editedKey] != [NSNull null]) { 48 | _label.text = [self.object[self.editedKey] preferedText]; 49 | }else{ 50 | 51 | } 52 | }*/ 53 | 54 | 55 | } 56 | /* 57 | // Only override drawRect: if you perform custom drawing. 58 | // An empty implementation adversely affects performance during animation. 59 | - (void)drawRect:(CGRect)rect 60 | { 61 | // Drawing code 62 | } 63 | */ 64 | 65 | @end 66 | -------------------------------------------------------------------------------- /ICParseCMSResources/ICParseCMSResources-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.soevolved.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | BNDL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | CFPlugInDynamicRegisterFunction 26 | 27 | CFPlugInDynamicRegistration 28 | NO 29 | CFPlugInFactories 30 | 31 | 00000000-0000-0000-0000-000000000000 32 | MyFactoryFunction 33 | 34 | CFPlugInTypes 35 | 36 | 00000000-0000-0000-0000-000000000000 37 | 38 | 00000000-0000-0000-0000-000000000000 39 | 40 | 41 | CFPlugInUnloadFunction 42 | 43 | NSHumanReadableCopyright 44 | Copyright © 2013 Soevolved. All rights reserved. 45 | 46 | 47 | -------------------------------------------------------------------------------- /ICParseCMSResources/ICParseCMSResources-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'ICParseCMSResources' target in the 'ICParseCMSResources' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /ICParseCMSResources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Parse.framework/Headers: -------------------------------------------------------------------------------- 1 | Versions/Current/Headers -------------------------------------------------------------------------------- /Parse.framework/Parse: -------------------------------------------------------------------------------- 1 | Versions/Current/Parse -------------------------------------------------------------------------------- /Parse.framework/Resources: -------------------------------------------------------------------------------- 1 | Versions/Current/Resources -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFAnalytics.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFAnalytics.h 3 | // Parse 4 | // 5 | // Created by Christine Yen on 1/29/13. 6 | // Copyright (c) 2013 Parse Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | /*! 12 | PFAnalytics provides an interface to Parse's logging and analytics backend. 13 | 14 | Methods will return immediately and cache the request (+ timestamp) to be 15 | handled "eventually." That is, the request will be sent immediately if possible 16 | or the next time a network connection is available otherwise. 17 | */ 18 | @interface PFAnalytics : NSObject 19 | 20 | /*! 21 | Tracks this application being launched. If this happened as the result of the 22 | user opening a push notification, this method sends along information to 23 | correlate this open with that push. 24 | 25 | Pass in nil to track a standard "application opened" event. 26 | 27 | @param launchOptions The dictionary indicating the reason the application was 28 | launched, if any. This value can be found as a parameter to various 29 | UIApplicationDelegate methods, and can be empty or nil. 30 | */ 31 | + (void)trackAppOpenedWithLaunchOptions:(NSDictionary *)launchOptions; 32 | 33 | /*! 34 | Tracks this application being launched. If this happened as the result of the 35 | user opening a push notification, this method sends along information to 36 | correlate this open with that push. 37 | 38 | @param userInfo The Remote Notification payload, if any. This value can be 39 | found either under UIApplicationLaunchOptionsRemoteNotificationKey on 40 | launchOptions, or as a parameter to application:didReceiveRemoteNotification:. 41 | This can be empty or nil. 42 | */ 43 | + (void)trackAppOpenedWithRemoteNotificationPayload:(NSDictionary *)userInfo; 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFAnonymousUtils.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFAnonymousUtils.h 3 | // Parse 4 | // 5 | // Created by David Poll on 3/20/12. 6 | // Copyright (c) 2012 Parse, Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PFUser.h" 11 | #import "PFConstants.h" 12 | 13 | /*! 14 | Provides utility functions for working with Anonymously logged-in users. Anonymous users have some unique characteristics: 15 |
    16 |
  • Anonymous users don't need a user name or password.
  • 17 |
  • Once logged out, an anonymous user cannot be recovered.
  • 18 |
  • When the current user is anonymous, the following methods can be used to switch to a different user or convert the 19 | anonymous user into a regular one: 20 |
      21 |
    • signUp converts an anonymous user to a standard user with the given username and password. 22 | Data associated with the anonymous user is retained.
    • 23 |
    • logIn switches users without converting the anonymous user. Data associated with the anonymous user will be lost.
    • 24 |
    • Service logIn (e.g. Facebook, Twitter) will attempt to convert the anonymous user into a standard user by linking it to the service. 25 | If a user already exists that is linked to the service, it will instead switch to the existing user.
    • 26 |
    • Service linking (e.g. Facebook, Twitter) will convert the anonymous user into a standard user by linking it to the service.
    • 27 |
    28 |
29 | */ 30 | @interface PFAnonymousUtils : NSObject 31 | 32 | /*! @name Creating an Anonymous User */ 33 | 34 | /*! 35 | Creates an anonymous user. 36 | @param block The block to execute when anonymous user creation is complete. The block should have the following argument signature: 37 | (PFUser *user, NSError *error) 38 | */ 39 | + (void)logInWithBlock:(PFUserResultBlock)block; 40 | 41 | /*! 42 | Creates an anonymous user. The selector for the callback should look like: (PFUser *)user error:(NSError *)error 43 | @param target Target object for the selector. 44 | @param selector The selector that will be called when the asynchronous request is complete. 45 | */ 46 | + (void)logInWithTarget:(id)target selector:(SEL)selector; 47 | 48 | /*! @name Determining Whether a PFUser is Anonymous */ 49 | 50 | /*! 51 | Whether the user is logged in anonymously. 52 | @param user User to check for anonymity. The user must be logged in on this device. 53 | @result True if the user is anonymous. False if the user is not the current user or is not anonymous. 54 | */ 55 | + (BOOL)isLinkedWithUser:(PFUser *)user; 56 | 57 | @end 58 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFCloud.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFCloud.h 3 | // Parse 4 | // 5 | // Created by Shyam Jayaraman on 8/20/12. 6 | // Copyright (c) 2012 Parse Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PFConstants.h" 11 | 12 | @interface PFCloud : NSObject 13 | 14 | /*! 15 | Calls the given cloud function with the parameters passed in. 16 | @param function The function name to call. 17 | @param parameters The parameters to send to the function. 18 | @result The response from the cloud function. 19 | */ 20 | + (id)callFunction:(NSString *)function withParameters:(NSDictionary *)parameters; 21 | 22 | /*! 23 | Calls the given cloud function with the parameters passed in and sets the error if there is one. 24 | @param function The function name to call. 25 | @param parameters The parameters to send to the function. 26 | @param error Pointer to an NSError that will be set if necessary. 27 | @result The response from the cloud function. This result could be a NSDictionary, an NSArray, NSInteger or NSString. 28 | */ 29 | + (id)callFunction:(NSString *)function withParameters:(NSDictionary *)parameters error:(NSError **)error; 30 | 31 | /*! 32 | Calls the given cloud function with the parameters provided asynchronously and calls the given block when it is done. 33 | @param function The function name to call. 34 | @param parameters The parameters to send to the function. 35 | @param block The block to execute. The block should have the following argument signature:(id result, NSError *error). 36 | */ 37 | + (void)callFunctionInBackground:(NSString *)function withParameters:(NSDictionary *)parameters block:(PFIdResultBlock)block; 38 | 39 | /*! 40 | Calls the given cloud function with the parameters provided asynchronously and runs the callback when it is done. 41 | @param function The function name to call. 42 | @param parameters The parameters to send to the function. 43 | @param target The object to call the selector on. 44 | @param selector The selector to call. It should have the following signature: (void)callbackWithResult:(id) result error:(NSError *)error. result will be nil if error is set and vice versa. 45 | */ 46 | + (void)callFunctionInBackground:(NSString *)function withParameters:(NSDictionary *)parameters target:(id)target selector:(SEL)selector; 47 | @end 48 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFGeoPoint.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFGeoPoint.h 3 | // Parse 4 | // 5 | // Created by Henele Adams on 12/1/11. 6 | // Copyright (c) 2011 Parse, Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | /*! 13 | Object which may be used to embed a latitude / longitude point as the value for a key in a PFObject. 14 | PFObjects with a PFGeoPoint field may be queried in a geospatial manner using PFQuery's whereKey:nearGeoPoint:. 15 | 16 | This is also used as a point specifier for whereKey:nearGeoPoint: queries. 17 | 18 | Currently, object classes may only have one key associated with a GeoPoint type. 19 | */ 20 | 21 | @interface PFGeoPoint : NSObject 22 | 23 | /** @name Creating a PFGeoPoint */ 24 | /*! 25 | Create a PFGeoPoint object. Latitude and longitude are set to 0.0. 26 | @result Returns a new PFGeoPoint. 27 | */ 28 | + (PFGeoPoint *)geoPoint; 29 | 30 | /*! 31 | Creates a new PFGeoPoint object for the given CLLocation, set to the location's 32 | coordinates. 33 | @param location CLLocation object, with set latitude and longitude. 34 | @result Returns a new PFGeoPoint at specified location. 35 | */ 36 | + (PFGeoPoint *)geoPointWithLocation:(CLLocation *)location; 37 | 38 | /*! 39 | Creates a new PFGeoPoint object with the specified latitude and longitude. 40 | @param latitude Latitude of point in degrees. 41 | @param longitude Longitude of point in degrees. 42 | @result New point object with specified latitude and longitude. 43 | */ 44 | + (PFGeoPoint *)geoPointWithLatitude:(double)latitude longitude:(double)longitude; 45 | 46 | /*! 47 | Fetches the user's current location and returns a new PFGeoPoint object via the 48 | provided block. 49 | @param geoPointHandler A block which takes the newly created PFGeoPoint as an 50 | argument. 51 | */ 52 | + (void)geoPointForCurrentLocationInBackground:(void(^)(PFGeoPoint *geoPoint, NSError *error))geoPointHandler; 53 | 54 | /** @name Controlling Position */ 55 | 56 | /// Latitude of point in degrees. Valid range (-90.0, 90.0). 57 | @property (nonatomic) double latitude; 58 | /// Longitude of point in degrees. Valid range (-180.0, 180.0). 59 | @property (nonatomic) double longitude; 60 | 61 | /** @name Calculating Distance */ 62 | 63 | /*! 64 | Get distance in radians from this point to specified point. 65 | @param point PFGeoPoint location of other point. 66 | @result distance in radians 67 | */ 68 | - (double)distanceInRadiansTo:(PFGeoPoint*)point; 69 | 70 | /*! 71 | Get distance in miles from this point to specified point. 72 | @param point PFGeoPoint location of other point. 73 | @result distance in miles 74 | */ 75 | - (double)distanceInMilesTo:(PFGeoPoint*)point; 76 | 77 | /*! 78 | Get distance in kilometers from this point to specified point. 79 | @param point PFGeoPoint location of other point. 80 | @result distance in kilometers 81 | */ 82 | - (double)distanceInKilometersTo:(PFGeoPoint*)point; 83 | 84 | 85 | @end 86 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFImageView.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFImageView.h 3 | // Parse 4 | // 5 | // Created by Qian Wang on 5/16/12. 6 | // Copyright (c) 2012 Parse Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PFFile.h" 11 | 12 | /*! 13 | An image view that downloads and displays remote image stored on Parse's server. 14 | */ 15 | @interface PFImageView : UIImageView 16 | 17 | /// The remote file on Parse's server that stores the image. 18 | /// Note that the download does not start until loadInBackground: is called. 19 | @property (nonatomic, retain) PFFile *file; 20 | 21 | /*! 22 | Initiate downloading of the remote image. Once the download completes, the remote image will be displayed. 23 | */ 24 | - (void)loadInBackground; 25 | 26 | /*! 27 | Initiate downloading of the remote image. Once the download completes, the remote image will be displayed. 28 | @param completion the completion block. 29 | */ 30 | - (void)loadInBackground:(void (^)(UIImage *image, NSError *error))completion; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFInstallation.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFInstallation.h 3 | // Parse 4 | // 5 | // Created by Brian Jacokes on 6/4/12. 6 | // Copyright (c) 2012 Parse, Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PFObject.h" 11 | #import "PFSubclassing.h" 12 | 13 | /*! 14 | A Parse Framework Installation Object that is a local representation of an 15 | installation persisted to the Parse cloud. This class is a subclass of a 16 | PFObject, and retains the same functionality of a PFObject, but also extends 17 | it with installation-specific fields and related immutability and validity 18 | checks. 19 | 20 | A valid PFInstallation can only be instantiated via 21 | [PFInstallation currentInstallation] because the required identifier fields 22 | are readonly. The timeZone and badge fields are also readonly properties which 23 | are automatically updated to match the device's time zone and application badge 24 | when the PFInstallation is saved, thus these fields might not reflect the 25 | latest device state if the installation has not recently been saved. 26 | 27 | PFInstallation objects which have a valid deviceToken and are saved to 28 | the Parse cloud can be used to target push notifications. 29 | 30 | This class is currently for iOS only. There is no PFInstallation for Parse 31 | applications running on OS X, because they cannot receive push notifications. 32 | */ 33 | 34 | @interface PFInstallation : PFObject 35 | 36 | /*! The name of the Installation class in the REST API. This is a required 37 | * PFSubclassing method */ 38 | + (NSString *)parseClassName; 39 | 40 | /** @name Targeting Installations */ 41 | 42 | /*! 43 | Creates a query for PFInstallation objects. The resulting query can only 44 | be used for targeting a PFPush. Calling find methods on the resulting query 45 | will raise an exception. 46 | */ 47 | + (PFQuery *)query; 48 | 49 | /** @name Accessing the Current Installation */ 50 | 51 | /*! 52 | Gets the currently-running installation from disk and returns an instance of 53 | it. If this installation is not stored on disk, returns a PFInstallation 54 | with deviceType and installationId fields set to those of the 55 | current installation. 56 | @result Returns a PFInstallation that represents the currently-running 57 | installation. 58 | */ 59 | + (PFInstallation *)currentInstallation; 60 | 61 | /*! 62 | Sets the device token string property from an NSData-encoded token. 63 | */ 64 | - (void)setDeviceTokenFromData:(NSData *)deviceTokenData; 65 | 66 | /** @name Properties */ 67 | 68 | /// The device type for the PFInstallation. 69 | @property (nonatomic, readonly, retain) NSString *deviceType; 70 | 71 | /// The installationId for the PFInstallation. 72 | @property (nonatomic, readonly, retain) NSString *installationId; 73 | 74 | /// The device token for the PFInstallation. 75 | @property (nonatomic, retain) NSString *deviceToken; 76 | 77 | /// The badge for the PFInstallation. 78 | @property (nonatomic, assign) NSInteger badge; 79 | 80 | /// The timeZone for the PFInstallation. 81 | @property (nonatomic, readonly, retain) NSString *timeZone; 82 | 83 | /// The channels for the PFInstallation. 84 | @property (nonatomic, retain) NSArray *channels; 85 | 86 | @end 87 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFLogInView.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFLogInView.h 3 | // Parse 4 | // 5 | // Created by Qian Wang on 3/9/12. 6 | // Copyright (c) 2012. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | typedef enum { 12 | PFLogInFieldsNone = 0, 13 | PFLogInFieldsUsernameAndPassword = 1 << 0, 14 | PFLogInFieldsPasswordForgotten = 1 << 1, 15 | PFLogInFieldsLogInButton = 1 << 2, 16 | PFLogInFieldsFacebook = 1 << 3, 17 | PFLogInFieldsTwitter = 1 << 4, 18 | PFLogInFieldsSignUpButton = 1 << 5, 19 | PFLogInFieldsDismissButton = 1 << 6, 20 | 21 | PFLogInFieldsDefault = PFLogInFieldsUsernameAndPassword | PFLogInFieldsLogInButton | PFLogInFieldsSignUpButton | PFLogInFieldsPasswordForgotten | PFLogInFieldsDismissButton 22 | } PFLogInFields; 23 | 24 | /*! 25 | The class provides a standard log in interface for authenticating a PFUser. 26 | */ 27 | @interface PFLogInView : UIView 28 | 29 | /*! @name Creating Log In View */ 30 | /*! 31 | Initializes the view with the specified log in elements. 32 | @param fields A bitmask specifying the log in elements which are enabled in the view 33 | */ 34 | - (id)initWithFields:(PFLogInFields) fields; 35 | 36 | /*! @name Customizing the Logo */ 37 | 38 | /// The logo. By default, it is the Parse logo. 39 | @property (nonatomic, retain) UIView *logo; 40 | 41 | /*! @name Accessing Log In Elements */ 42 | 43 | /// The bitmask which specifies the enabled log in elements in the view 44 | @property (nonatomic, readonly, assign) PFLogInFields fields; 45 | 46 | /// The username text field. It is nil if the element is not enabled. 47 | @property (nonatomic, readonly, retain) UITextField *usernameField; 48 | 49 | /// The password text field. It is nil if the element is not enabled. 50 | @property (nonatomic, readonly, retain) UITextField *passwordField; 51 | 52 | /// The password forgotten button. It is nil if the element is not enabled. 53 | @property (nonatomic, readonly, retain) UIButton *passwordForgottenButton; 54 | 55 | /// The log in button. It is nil if the element is not enabled. 56 | @property (nonatomic, readonly, retain) UIButton *logInButton; 57 | 58 | /// The Facebook button. It is nil if the element is not enabled. 59 | @property (nonatomic, readonly, retain) UIButton *facebookButton; 60 | 61 | /// The Twitter button. It is nil if the element is not enabled. 62 | @property (nonatomic, readonly, retain) UIButton *twitterButton; 63 | 64 | /// The sign up button. It is nil if the element is not enabled. 65 | @property (nonatomic, readonly, retain) UIButton *signUpButton; 66 | 67 | /// The dismiss button. It is nil if the element is not enabled. 68 | @property (nonatomic, readonly, retain) UIButton *dismissButton; 69 | 70 | /// The facebook/twitter login label. It is only shown if the external login is enabled. 71 | @property (nonatomic, readonly, retain) UILabel *externalLogInLabel; 72 | 73 | /// The sign up label. It is only shown if sign up button is enabled. 74 | @property (nonatomic, readonly, retain) UILabel *signUpLabel; 75 | 76 | @end 77 | 78 | 79 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFLogInViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFLogInViewController.h 3 | // Parse 4 | // 5 | // Created by Andrew Wang on 3/8/12. 6 | // Copyright (c) 2012. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PFLogInView.h" 11 | #import "PFSignUpViewController.h" 12 | #import "PFUser.h" 13 | 14 | @protocol PFLogInViewControllerDelegate; 15 | 16 | /*! 17 | The class that presents and manages a standard authentication interface for logging in a PFUser. 18 | */ 19 | @interface PFLogInViewController : UIViewController 20 | 21 | /*! @name Configuring Log In Elements */ 22 | 23 | /*! 24 | A bitmask specifying the log in elements which are enabled in the view. 25 | enum { 26 | PFLogInFieldsNone = 0, 27 | PFLogInFieldsUsernameAndPassword = 1 << 0, 28 | PFLogInFieldsPasswordForgotten = 1 << 1, 29 | PFLogInFieldsLogInButton = 1 << 2, 30 | PFLogInFieldsFacebook = 1 << 3, 31 | PFLogInFieldsTwitter = 1 << 4, 32 | PFLogInFieldsSignUpButton = 1 << 5, 33 | PFLogInFieldsDismissButton = 1 << 6, 34 | PFLogInFieldsDefault = PFLogInFieldsUsernameAndPassword | PFLogInFieldsLogInButton | PFLogInFieldsSignUpButton | PFLogInFieldsPasswordForgotten | PFLogInFieldsDismissButton 35 | }; 36 | */ 37 | @property (nonatomic) PFLogInFields fields; 38 | 39 | /// The log in view. It contains all the enabled log in elements. 40 | @property (nonatomic, readonly, retain) PFLogInView *logInView; 41 | 42 | /*! @name Configuring Log In Behaviors */ 43 | /// The delegate that responds to the control events of PFLogInViewController. 44 | @property (nonatomic, assign) id delegate; 45 | 46 | /// The facebook permissions that Facebook log in requests for. 47 | /// If unspecified, the default is basic facebook permissions. 48 | @property (nonatomic, retain) NSArray *facebookPermissions; 49 | 50 | /// The sign up controller if sign up is enabled. 51 | /// Use this to configure the sign up view, and the transition animation to the sign up view. 52 | /// The default is a sign up view with a username, a password, a dismiss button and a sign up button. 53 | @property (nonatomic, retain) PFSignUpViewController *signUpController; 54 | 55 | @end 56 | 57 | /*! @name Notifications */ 58 | /// The notification is posted immediately after the log in succeeds. 59 | extern NSString *const PFLogInSuccessNotification; 60 | 61 | /// The notification is posted immediately after the log in fails. 62 | /// If the delegate prevents the log in from starting, the notification is not sent. 63 | extern NSString *const PFLogInFailureNotification; 64 | 65 | /// The notification is posted immediately after the log in is cancelled. 66 | extern NSString *const PFLogInCancelNotification; 67 | 68 | /*! 69 | The protocol defines methods a delegate of a PFLogInViewController should implement. 70 | All methods of the protocol are optional. 71 | */ 72 | @protocol PFLogInViewControllerDelegate 73 | @optional 74 | 75 | /*! @name Customizing Behavior */ 76 | 77 | /*! 78 | Sent to the delegate to determine whether the log in request should be submitted to the server. 79 | @param username the username the user tries to log in with. 80 | @param password the password the user tries to log in with. 81 | @result a boolean indicating whether the log in should proceed. 82 | */ 83 | - (BOOL)logInViewController:(PFLogInViewController *)logInController shouldBeginLogInWithUsername:(NSString *)username password:(NSString *)password; 84 | 85 | /*! @name Responding to Actions */ 86 | /// Sent to the delegate when a PFUser is logged in. 87 | - (void)logInViewController:(PFLogInViewController *)logInController didLogInUser:(PFUser *)user; 88 | 89 | /// Sent to the delegate when the log in attempt fails. 90 | - (void)logInViewController:(PFLogInViewController *)logInController didFailToLogInWithError:(NSError *)error; 91 | 92 | /// Sent to the delegate when the log in screen is dismissed. 93 | - (void)logInViewControllerDidCancelLogIn:(PFLogInViewController *)logInController; 94 | @end 95 | 96 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFObject+Subclass.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFObject+Subclass.h 3 | // Parse 4 | // 5 | // Created by Thomas Bouldin on 2/17/13. 6 | // Copyright (c) 2013 Parse Inc. All rights reserved. 7 | // 8 | 9 | #import "PFObject.h" 10 | 11 | @class PFQuery; 12 | 13 | /*! 14 |

Subclassing Notes

15 | 16 | Developers can subclass PFObject for a more native object-oriented class structure. Strongly-typed subclasses of PFObject must conform to the PFSubclassing protocol and must call registerSubclass to be returned by PFQuery and other PFObject factories. All methods in PFSubclassing except for [PFSubclassing parseClassName] are already implemented in the PFObject(Subclass) category. Inculding PFObject+Subclass.h in your implementation file provides these implementations automatically. 17 | 18 | Subclasses support simpler initializers, query syntax, and dynamic synthesizers. The following shows an example subclass: 19 | 20 | @interface MYGame : PFObject< PFSubclassing > 21 | // Accessing this property is the same as objectForKey:@"title" 22 | @property (retain) NSString *title; 23 | + (NSString *)parseClassName; 24 | @end 25 | 26 | @implementation MYGame 27 | @dynamic title; 28 | + (NSString *)parseClassName { 29 | return @"Game"; 30 | } 31 | @end 32 | 33 | MYGame *game = [[MYGame alloc] init]; 34 | game.title = @"Bughouse"; 35 | [game saveInBackground]; 36 | 37 | */ 38 | @interface PFObject(Subclass) 39 | 40 | /*! @name Methods for Subclasses */ 41 | 42 | /*! 43 | Designated initializer for subclasses. 44 | This method can only be called on subclasses which conform to PFSubclassing. 45 | This method should not be overridden. 46 | */ 47 | - (id)init; 48 | 49 | /*! 50 | Creates an instance of the registered subclass with this class's parseClassName. 51 | This helps a subclass ensure that it can be subclassed itself. For example, [PFUser object] will 52 | return a MyUser object if MyUser is a registered subclass of PFUser. For this reason, [MyClass object] is 53 | preferred to [[MyClass alloc] init]. 54 | This method can only be called on subclasses which conform to PFSubclassing. 55 | A default implementation is provided by PFObject which should always be sufficient. 56 | */ 57 | + (id)object; 58 | 59 | /*! 60 | Creates a reference to an existing PFObject for use in creating associations between PFObjects. Calling isDataAvailable on this 61 | object will return NO until fetchIfNeeded or refresh has been called. No network request will be made. 62 | This method can only be called on subclasses which conform to PFSubclassing. 63 | A default implementation is provided by PFObject which should always be sufficient. 64 | @param objectId The object id for the referenced object. 65 | @result A PFObject without data. 66 | */ 67 | + (id)objectWithoutDataWithObjectId:(NSString *)objectId; 68 | 69 | /*! 70 | Registers an Objective-C class for Parse to use for representing a given Parse class. 71 | Once this is called on a PFObject subclass, any PFObject Parse creates with a class 72 | name matching [self parseClassName] will be an instance of subclass. 73 | This method can only be called on subclasses which conform to PFSubclassing. 74 | A default implementation is provided by PFObject which should always be sufficient. 75 | */ 76 | + (void)registerSubclass; 77 | 78 | /*! 79 | Returns a query for objects of type +parseClassName. 80 | This method can only be called on subclasses which conform to PFSubclassing. 81 | A default implementation is provided by PFObject which should always be sufficient. 82 | */ 83 | + (PFQuery *)query; 84 | 85 | @end 86 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFProduct.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFProduct.h 3 | // Parse 4 | // 5 | // Created by Qian Wang on 6/7/12. 6 | // Copyright (c) 2012 Parse Inc. All rights reserved. 7 | // 8 | 9 | #import "PFObject.h" 10 | #import "PFSubclassing.h" 11 | #import "PFFile.h" 12 | 13 | /*! 14 | Represents an in-app purchase product on the Parse server. 15 | By default, products can only be created via the data browser; saving a PFProduct 16 | will result in error. However, the products' metadata information can be queried 17 | and viewed. 18 | 19 | This class is currently for iOS only. 20 | */ 21 | @interface PFProduct : PFObject 22 | 23 | /*! The name of the Product class in the REST API. This is a required 24 | * PFSubclassing method */ 25 | + (NSString *)parseClassName; 26 | 27 | /** @name Querying for Products */ 28 | /*! 29 | A query that fetches all product instances registered on Parse's server. 30 | */ 31 | + (PFQuery *)query; 32 | 33 | /** @name Accessing Product-specific Properties */ 34 | /*! 35 | The product identifier of the product. 36 | This should match the product identifier in iTunes Connect exactly. 37 | */ 38 | @property (nonatomic, retain) NSString *productIdentifier; 39 | 40 | /*! 41 | The icon of the product. 42 | */ 43 | @property (nonatomic, retain) PFFile *icon; 44 | 45 | /*! 46 | The title of the product. 47 | */ 48 | @property (nonatomic, retain) NSString *title; 49 | 50 | /*! 51 | The subtitle of the product. 52 | */ 53 | @property (nonatomic, retain) NSString *subtitle; 54 | 55 | /*! 56 | The order in which the product information is displayed in PFProductTableViewController. 57 | The product with a smaller order is displayed earlier in the PFProductTableViewController. 58 | */ 59 | @property (nonatomic, retain) NSNumber *order; 60 | 61 | /*! 62 | The name of the associated download. If there is no downloadable asset, it should be nil. 63 | */ 64 | @property (nonatomic, readonly) NSString *downloadName; 65 | 66 | 67 | @end 68 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFProductTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFProductsTableViewController.h 3 | // Parse 4 | // 5 | // Created by Qian Wang on 5/15/12. 6 | // Copyright (c) 2012 Parse Inc. All rights reserved. 7 | // 8 | 9 | #import "PFQueryTableViewController.h" 10 | 11 | /*! 12 | PFProductTableViewController displays in-app purchase products stored on Parse. 13 | In addition to setting up in-app purchases in iTunesConnect, the app developer needs 14 | to register product information on Parse, in the Product class. 15 | */ 16 | @interface PFProductTableViewController : PFQueryTableViewController 17 | 18 | /*! 19 | Initializes a product table view controller. 20 | */ 21 | - (id)init; 22 | @end 23 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFPurchase.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFPurchase.h 3 | // Parse 4 | // 5 | // Created by Qian Wang on 5/2/12. 6 | // Copyright (c) 2012 Parse Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import "PFConstants.h" 12 | 13 | /*! 14 | PFPurchase provides a set of APIs for working with in-app purchases. 15 | 16 | This class is currently for iOS only. 17 | */ 18 | @interface PFPurchase : NSObject 19 | 20 | /*! 21 | Use this method to add application logic block which is run when buying a product. 22 | This method should be called once for each product, and should be called before 23 | calling buyProduct:block. All invocations to addObserverForProduct:block: should happen within 24 | the same method, and on the main thread. It is recommended to place all invocations of this method 25 | in application:didFinishLaunchingWithOptions:. 26 | @param productIdentifier the product identifier 27 | @param completion the completion block 28 | */ 29 | + (void)addObserverForProduct:(NSString *)productIdentifier block:(void(^)(SKPaymentTransaction *transaction))block; 30 | 31 | /*! 32 | Asynchronously initiates the purchase for the product. 33 | @param productIdentifier the product identifier 34 | @param block the completion block. 35 | */ 36 | + (void)buyProduct:(NSString *)productIdentifier block:(void(^)(NSError *error))block; 37 | 38 | /*! 39 | Asynchronously download the purchased asset, which is stored on Parse's server. 40 | Parse verifies the receipt with Apple and delivers the content only if the receipt is valid. 41 | @param transaction the transaction, which contains the receipt. 42 | @param completion the completion block. 43 | */ 44 | + (void)downloadAssetForTransaction:(SKPaymentTransaction *)transaction completion:(void(^)(NSString *filePath, NSError *error))completion; 45 | 46 | /*! 47 | Asynchronously download the purchased asset, which is stored on Parse's server. 48 | Parse verifies the receipt with Apple and delivers the content only if the receipt is valid. 49 | @param transaction the transaction, which contains the receipt. 50 | @param completion the completion block. 51 | @param progress the progress block, which is called multiple times to reveal progress of the download. 52 | */ 53 | + (void)downloadAssetForTransaction:(SKPaymentTransaction *)transaction completion:(void(^)(NSString *filePath, NSError *error))completion progress:(PFProgressBlock)progress; 54 | 55 | /*! 56 | Asynchronously restore completed transactions for the current user. 57 | Note: This method is only important to developers who want to preserve purchase states across 58 | different installations of the same app. 59 | Only nonconsumable purchases are restored. If observers for the products have been added before 60 | calling this method, invoking the method reruns the application logic associated with the purchase. 61 | */ 62 | + (void)restore; 63 | @end 64 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFPurchaseTableViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFPurchaseTableViewCell.h 3 | // Parse 4 | // 5 | // Created by Qian Wang on 5/21/12. 6 | // Copyright (c) 2012 Parse Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PFTableViewCell.h" 11 | 12 | typedef enum { 13 | PFPurchaseTableViewCellStateNormal, 14 | PFPurchaseTableViewCellStateDownloading, 15 | PFPurchaseTableViewCellStateDownloaded 16 | } PFPurchaseTableViewCellState; 17 | 18 | @interface PFPurchaseTableViewCell : PFTableViewCell 19 | @property (nonatomic, assign) PFPurchaseTableViewCellState state; 20 | @property (nonatomic, retain, readonly) UILabel *priceLabel; 21 | @property (nonatomic, retain, readonly) UIProgressView *progressView; 22 | @end 23 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFRelation.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFRelation.h 3 | // Parse 4 | // 5 | // Created by Shyam Jayaraman on 5/11/12. 6 | // Copyright (c) 2012 Parse Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PFObject.h" 11 | #import "PFQuery.h" 12 | 13 | /*! 14 | A class that is used to access all of the children of a many-to-many relationship. Each instance 15 | of PFRelation is associated with a particular parent object and key. 16 | */ 17 | @interface PFRelation : NSObject 18 | 19 | @property (nonatomic, retain) NSString *targetClass; 20 | 21 | 22 | #pragma mark Accessing objects 23 | /*! 24 | @return A ParseQuery that can be used to get objects in this relation. 25 | */ 26 | - (PFQuery *)query; 27 | 28 | 29 | #pragma mark Modifying relations 30 | 31 | /*! 32 | Adds a relation to the passed in object. 33 | @param object ParseObject to add relation to. 34 | */ 35 | - (void)addObject:(PFObject *)object; 36 | 37 | /*! 38 | Removes a relation to the passed in object. 39 | @param object ParseObject to add relation to. 40 | */ 41 | - (void)removeObject:(PFObject *)object; 42 | @end 43 | 44 | 45 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFRole.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFRole.h 3 | // Parse 4 | // 5 | // Created by David Poll on 5/17/12. 6 | // Copyright (c) 2012 Parse Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "PFObject.h" 12 | #import "PFSubclassing.h" 13 | 14 | /*! 15 | Represents a Role on the Parse server. PFRoles represent groupings 16 | of PFUsers for the purposes of granting permissions (e.g. specifying a 17 | PFACL for a PFObject). Roles are specified by their sets of child users 18 | and child roles, all of which are granted any permissions that the 19 | parent role has.
20 |
21 | Roles must have a name (which cannot be changed after creation of the role), 22 | and must specify an ACL. 23 | */ 24 | @interface PFRole : PFObject 25 | 26 | #pragma mark Creating a New Role 27 | 28 | /** @name Creating a New Role */ 29 | 30 | /*! 31 | Constructs a new PFRole with the given name. If no default ACL has been 32 | specified, you must provide an ACL for the role. 33 | 34 | @param name The name of the Role to create. 35 | */ 36 | - (id)initWithName:(NSString *)name; 37 | 38 | /*! 39 | Constructs a new PFRole with the given name. 40 | 41 | @param name The name of the Role to create. 42 | @param acl The ACL for this role. Roles must have an ACL. 43 | */ 44 | - (id)initWithName:(NSString *)name acl:(PFACL *)acl; 45 | 46 | /*! 47 | Constructs a new PFRole with the given name. If no default ACL has been 48 | specified, you must provide an ACL for the role. 49 | 50 | @param name The name of the Role to create. 51 | */ 52 | + (PFRole *)roleWithName:(NSString *)name; 53 | 54 | /*! 55 | Constructs a new PFRole with the given name. 56 | 57 | @param name The name of the Role to create. 58 | @param acl The ACL for this role. Roles must have an ACL. 59 | */ 60 | + (PFRole *)roleWithName:(NSString *)name acl:(PFACL *)acl; 61 | 62 | #pragma mark - 63 | #pragma mark Role-specific Properties 64 | 65 | /** @name Role-specific Properties */ 66 | 67 | /*! 68 | Gets or sets the name for a role. This value must be set before the role 69 | has been saved to the server, and cannot be set once the role has been 70 | saved.
71 |
72 | A role's name can only contain alphanumeric characters, _, -, and spaces. 73 | */ 74 | @property (nonatomic, copy) NSString *name; 75 | 76 | /*! 77 | Gets the PFRelation for the PFUsers that are direct children of this role. 78 | These users are granted any privileges that this role has been granted 79 | (e.g. read or write access through ACLs). You can add or remove users from 80 | the role through this relation. 81 | */ 82 | @property (nonatomic, readonly, retain) PFRelation *users; 83 | 84 | /*! 85 | Gets the PFRelation for the PFRoles that are direct children of this role. 86 | These roles' users are granted any privileges that this role has been granted 87 | (e.g. read or write access through ACLs). You can add or remove child roles 88 | from this role through this relation. 89 | */ 90 | @property (nonatomic, readonly, retain) PFRelation *roles; 91 | 92 | #pragma mark - 93 | #pragma mark Querying for Roles 94 | 95 | /** @name Querying for Roles */ 96 | + (PFQuery *)query; 97 | 98 | @end 99 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFSignUpView.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFLogInView.h 3 | // Parse 4 | // 5 | // Created by Qian Wang on 3/9/12. 6 | // Copyright (c) 2012. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | typedef enum { 12 | PFSignUpFieldsUsernameAndPassword = 0, 13 | PFSignUpFieldsEmail = 1 << 0, 14 | PFSignUpFieldsAdditional = 1 << 1, // this field can be used for something else 15 | PFSignUpFieldsSignUpButton = 1 << 2, 16 | PFSignUpFieldsDismissButton = 1 << 3, 17 | PFSignUpFieldsDefault = PFSignUpFieldsUsernameAndPassword | PFSignUpFieldsEmail | PFSignUpFieldsSignUpButton | PFSignUpFieldsDismissButton 18 | } PFSignUpFields; 19 | 20 | /*! 21 | The class provides a standard sign up interface for authenticating a PFUser. 22 | */ 23 | @interface PFSignUpView : UIScrollView 24 | 25 | /*! @name Creating Sign Up View */ 26 | /*! 27 | Initializes the view with the specified sign up elements. 28 | @param fields A bitmask specifying the sign up elements which are enabled in the view 29 | */ 30 | - (id)initWithFields:(PFSignUpFields) fields; 31 | 32 | /*! @name Customizing the Logo */ 33 | 34 | /// The logo. By default, it is the Parse logo. 35 | @property (nonatomic, retain) UIView *logo; 36 | 37 | /*! @name Accessing Sign Up Elements */ 38 | 39 | /// The bitmask which specifies the enabled sign up elements in the view 40 | @property (nonatomic, readonly, assign) PFSignUpFields fields; 41 | 42 | /// The username text field. 43 | @property (nonatomic, readonly, retain) UITextField *usernameField; 44 | 45 | /// The password text field. 46 | @property (nonatomic, readonly, retain) UITextField *passwordField; 47 | 48 | /// The email text field. It is nil if the element is not enabled. 49 | @property (nonatomic, readonly, retain) UITextField *emailField; 50 | 51 | /// The additional text field. It is nil if the element is not enabled. 52 | /// This field is intended to be customized. 53 | @property (nonatomic, readonly, retain) UITextField *additionalField; 54 | 55 | /// The sign up button. It is nil if the element is not enabled. 56 | @property (nonatomic, readonly, retain) UIButton *signUpButton; 57 | 58 | /// The dismiss button. It is nil if the element is not enabled. 59 | @property (nonatomic, readonly, retain) UIButton *dismissButton; 60 | @end 61 | 62 | 63 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFSignUpViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFLogInViewController.h 3 | // Parse 4 | // 5 | // Created by Andrew Wang on 3/8/12. 6 | // Copyright (c) 2012. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PFSignUpView.h" 11 | #import "PFUser.h" 12 | 13 | @protocol PFSignUpViewControllerDelegate; 14 | 15 | /*! 16 | The class that presents and manages a standard authentication interface for signing up a PFUser. 17 | */ 18 | @interface PFSignUpViewController : UIViewController 19 | 20 | /*! @name Configuring Sign Up Elements */ 21 | 22 | /// 23 | /*! 24 | A bitmask specifying the log in elements which are enabled in the view. 25 | enum { 26 | PFSignUpFieldsUsernameAndPassword = 0, 27 | PFSignUpFieldsEmail = 1 << 0, 28 | PFSignUpFieldsAdditional = 1 << 1, // this field can be used for something else 29 | PFSignUpFieldsSignUpButton = 1 << 2, 30 | PFSignUpFieldsDismissButton = 1 << 3, 31 | PFSignUpFieldsDefault = PFSignUpFieldsUsernameAndPassword | PFSignUpFieldsEmail | PFSignUpFieldsSignUpButton | PFSignUpFieldsDismissButton 32 | }; 33 | */ 34 | @property (nonatomic) PFSignUpFields fields; 35 | 36 | /// The sign up view. It contains all the enabled log in elements. 37 | @property (nonatomic, readonly, retain) PFSignUpView *signUpView; 38 | 39 | /*! @name Configuring Sign Up Behaviors */ 40 | /// The delegate that responds to the control events of PFSignUpViewController. 41 | @property (nonatomic, assign) id delegate; 42 | 43 | @end 44 | 45 | /*! @name Notifications */ 46 | /// The notification is posted immediately after the sign up succeeds. 47 | extern NSString *const PFSignUpSuccessNotification; 48 | 49 | /// The notification is posted immediately after the sign up fails. 50 | /// If the delegate prevents the sign up to start, the notification is not sent. 51 | extern NSString *const PFSignUpFailureNotification; 52 | 53 | /// The notification is posted immediately after the user cancels sign up. 54 | extern NSString *const PFSignUpCancelNotification; 55 | 56 | /*! 57 | The protocol defines methods a delegate of a PFSignUpViewController should implement. 58 | All methods of the protocol are optional. 59 | */ 60 | @protocol PFSignUpViewControllerDelegate 61 | @optional 62 | 63 | /*! @name Customizing Behavior */ 64 | 65 | /*! 66 | Sent to the delegate to determine whether the sign up request should be submitted to the server. 67 | @param info a dictionary which contains all sign up information that the user entered. 68 | @result a boolean indicating whether the sign up should proceed. 69 | */ 70 | - (BOOL)signUpViewController:(PFSignUpViewController *)signUpController shouldBeginSignUp:(NSDictionary *)info; 71 | 72 | /// Sent to the delegate when a PFUser is signed up. 73 | - (void)signUpViewController:(PFSignUpViewController *)signUpController didSignUpUser:(PFUser *)user; 74 | 75 | /// Sent to the delegate when the sign up attempt fails. 76 | - (void)signUpViewController:(PFSignUpViewController *)signUpController didFailToSignUpWithError:(NSError *)error; 77 | 78 | /// Sent to the delegate when the sign up screen is dismissed. 79 | - (void)signUpViewControllerDidCancelSignUp:(PFSignUpViewController *)signUpController; 80 | @end 81 | 82 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFSubclassing.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFSubclassing.h 3 | // Parse 4 | // 5 | // Created by Thomas Bouldin on 3/11/13. 6 | // Copyright (c) 2013 Parse Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class PFQuery; 12 | 13 | /*! 14 | If a subclass of PFObject conforms to PFSubclassing and calls registerSubclass, Parse will be able to use that class as the native class for a Parse cloud object. 15 | 16 | Classes conforming to this protocol should subclass PFObject and include PFObject+Subclass.h in their implementation file. This ensures the methods in the Subclass category of PFObject are exposed in its subclasses only. 17 | */ 18 | @protocol PFSubclassing 19 | 20 | /*! 21 | Constructs an object of the most specific class known to implement parseClassName. 22 | This method takes care to help PFObject subclasses be subclassed themselves. 23 | For example, [PFUser object] returns a PFUser by default but will return an 24 | object of a registered subclass instead if one is known. 25 | A default implementation is provided by PFObject which should always be sufficient. 26 | @result Returns the object that is instantiated. 27 | */ 28 | + (id)object; 29 | 30 | /*! 31 | Creates a reference to an existing PFObject for use in creating associations between PFObjects. Calling isDataAvailable on this 32 | object will return NO until fetchIfNeeded or refresh has been called. No network request will be made. 33 | A default implementation is provided by PFObject which should always be sufficient. 34 | @param objectId The object id for the referenced object. 35 | @result A PFObject without data. 36 | */ 37 | + (id)objectWithoutDataWithObjectId:(NSString *)objectId; 38 | 39 | /*! The name of the class as seen in the REST API. */ 40 | + (NSString *)parseClassName; 41 | 42 | /*! 43 | Create a query which returns objects of this type. 44 | A default implementation is provided by PFObject which should always be sufficient. 45 | */ 46 | + (PFQuery *)query; 47 | 48 | /*! 49 | Lets Parse know this class should be used to instantiate all objects with class type parseClassName. 50 | This method must be called before [Parse setApplicationId:clientKey:] 51 | */ 52 | + (void)registerSubclass; 53 | 54 | @end 55 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PFTableViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // PFImageViewCell.h 3 | // Parse 4 | // 5 | // Created by Qian Wang on 5/16/12. 6 | // Copyright (c) 2012 Parse Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PFImageView.h" 11 | 12 | /*! 13 | The PFTableViewCell is a table view cell which can download and display remote images stored on Parse's server. When used in a PFQueryTableViewController, the downloading and displaying of the remote images are automatically managed by the PFQueryTableViewController. 14 | */ 15 | @interface PFTableViewCell : UITableViewCell 16 | 17 | /// The imageView of the table view cell. PFImageView supports remote image downloading. 18 | @property (nonatomic, readonly, retain) PFImageView *imageView; 19 | @end 20 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PF_EGORefreshTableHeaderView.h: -------------------------------------------------------------------------------- 1 | // 2 | // EGORefreshTableHeaderView.h 3 | // Demo 4 | // 5 | // Created by Devin Doty on 10/14/09October14. 6 | // Copyright 2009 enormego. All rights reserved. 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | // 26 | 27 | #import 28 | 29 | @protocol PF_EGORefreshTableHeaderDelegate; 30 | @interface PF_EGORefreshTableHeaderView : UIView 31 | 32 | @property (nonatomic,assign) id delegate; 33 | @property (nonatomic, retain, readonly) UILabel *lastUpdatedLabel; 34 | @property (nonatomic, retain, readonly) UILabel *statusLabel; 35 | @property (nonatomic, retain, readonly) UIActivityIndicatorView *activityView; 36 | 37 | - (void)refreshLastUpdatedDate; 38 | - (void)egoRefreshScrollViewDidScroll:(UIScrollView *)scrollView; 39 | - (void)egoRefreshScrollViewDidEndDragging:(UIScrollView *)scrollView; 40 | - (void)egoRefreshScrollViewDataSourceDidFinishedLoading:(UIScrollView *)scrollView; 41 | 42 | @end 43 | 44 | @protocol PF_EGORefreshTableHeaderDelegate 45 | - (void)egoRefreshTableHeaderDidTriggerRefresh:(PF_EGORefreshTableHeaderView*)view; 46 | - (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(PF_EGORefreshTableHeaderView*)view; 47 | @optional 48 | - (NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(PF_EGORefreshTableHeaderView*)view; 49 | @end 50 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/PF_Twitter.h: -------------------------------------------------------------------------------- 1 | // 2 | // PF_Twitter.h 3 | // Copyright (c) 2012 Parse, Inc. All rights reserved. 4 | // 5 | 6 | #import 7 | 8 | /*! 9 | A simple interface for interacting with the Twitter REST API, automating sign-in and OAuth signing of requests against the API. 10 | */ 11 | @interface PF_Twitter : NSObject { 12 | @private 13 | NSString *consumerKey; 14 | NSString *consumerSecret; 15 | NSString *authToken; 16 | NSString *authTokenSecret; 17 | NSString *userId; 18 | NSString *screenName; 19 | } 20 | 21 | @property (nonatomic, copy) NSString *consumerKey; 22 | @property (nonatomic, copy) NSString *consumerSecret; 23 | @property (nonatomic, copy) NSString *authToken; 24 | @property (nonatomic, copy) NSString *authTokenSecret; 25 | @property (nonatomic, copy) NSString *userId; 26 | @property (nonatomic, copy) NSString *screenName; 27 | 28 | /*! 29 | Displays an auth dialog and populates the authToken, authTokenSecret, userId, and screenName properties if the Twitter user 30 | grants permission to the application. 31 | @param success Invoked upon successful authorization. 32 | @param failure Invoked upon an error occurring in the authorization process. 33 | @param cancel Invoked when the user cancels authorization. 34 | */ 35 | - (void)authorizeWithSuccess:(void (^)(void))success failure:(void (^)(NSError *error))failure cancel:(void (^)(void))cancel; 36 | 37 | /*! 38 | Adds a 3-legged OAuth signature to an NSMutableURLRequest based upon the properties set for the Twitter object. Use this 39 | function to sign requests being made to the Twitter API. 40 | */ 41 | - (void)signRequest:(NSMutableURLRequest *)request; 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Headers/Parse.h: -------------------------------------------------------------------------------- 1 | // 2 | // Parse.h 3 | // Parse 4 | // 5 | // Created by Ilya Sukhar on 9/29/11. 6 | // Copyright 2011 Parse, Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PFACL.h" 11 | #import "PFAnalytics.h" 12 | #import "PFAnonymousUtils.h" 13 | #import "PFCloud.h" 14 | #import "PFConstants.h" 15 | #import "PFFile.h" 16 | #import "PFGeoPoint.h" 17 | #import "PFObject.h" 18 | #import "PFQuery.h" 19 | #import "PFRelation.h" 20 | #import "PFRole.h" 21 | #import "PFSubclassing.h" 22 | #import "PFUser.h" 23 | 24 | #if PARSE_IOS_ONLY 25 | #import "PFImageView.h" 26 | #import "PFInstallation.h" 27 | #import "PFLogInViewController.h" 28 | #import "PFProduct.h" 29 | #import "PFProductTableViewController.h" 30 | #import "PFPurchase.h" 31 | #import "PFPush.h" 32 | #import "PFQueryTableViewController.h" 33 | #import "PFSignUpViewController.h" 34 | #import "PFTableViewCell.h" 35 | #import "PFTwitterUtils.h" 36 | 37 | #if defined(__has_include) 38 | #if __has_include() 39 | #import 40 | #import "PFFacebookUtils.h" 41 | #else 42 | #define PFFacebookUtils Please_add_the_Facebook_SDK_to_your_project 43 | #endif 44 | #endif 45 | 46 | #endif 47 | 48 | @interface Parse : NSObject 49 | 50 | /** @name Connecting to Parse */ 51 | 52 | /*! 53 | Sets the applicationId and clientKey of your application. 54 | @param applicationId The application id for your Parse application. 55 | @param clientKey The client key for your Parse application. 56 | */ 57 | + (void)setApplicationId:(NSString *)applicationId clientKey:(NSString *)clientKey; 58 | + (NSString *)getApplicationId; 59 | + (NSString *)getClientKey; 60 | 61 | #if PARSE_IOS_ONLY 62 | /** @name Configuring UI Settings */ 63 | 64 | /*! 65 | Set whether to show offline messages when using a Parse view or view controller related classes. 66 | @param enabled Whether a UIAlert should be shown when the device is offline and network access is required 67 | from a view or view controller. 68 | */ 69 | + (void)offlineMessagesEnabled:(BOOL)enabled; 70 | 71 | /*! 72 | Set whether to show an error message when using a Parse view or view controller related classes 73 | and a Parse error was generated via a query. 74 | @param enabled Whether a UIAlert should be shown when a Parse error occurs. 75 | */ 76 | + (void)errorMessagesEnabled:(BOOL)enabled; 77 | #endif 78 | 79 | @end 80 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Parse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/Parse.framework/Versions/1.2.9/Parse -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | Parse 9 | CFBundleIdentifier 10 | com.parse.Parse 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | FMWK 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | 20 | 21 | -------------------------------------------------------------------------------- /Parse.framework/Versions/1.2.9/Resources/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flovilmart/parse-cms/30bf5e206fe195b6ddd9f5c37294b6cd7b208560/Parse.framework/Versions/1.2.9/Resources/Localizable.strings -------------------------------------------------------------------------------- /Parse.framework/Versions/Current: -------------------------------------------------------------------------------- 1 | 1.2.9 -------------------------------------------------------------------------------- /Parse.framework/third_party_licenses.txt: -------------------------------------------------------------------------------- 1 | THE FOLLOWING SETS FORTH ATTRIBUTION NOTICES FOR THIRD PARTY SOFTWARE THAT MAY BE CONTAINED IN PORTIONS OF THE PARSE PRODUCT. 2 | 3 | ----- 4 | 5 | The following software may be included in this product: AFNetworking. This software contains the following license and notice below: 6 | 7 | Copyright (c) 2011 Gowalla (http://gowalla.com/) 8 | 9 | Permission is hereby granted, free of charge, to any person obtaining a copy 10 | of this software and associated documentation files (the "Software"), to deal 11 | in the Software without restriction, including without limitation the rights 12 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | copies of the Software, and to permit persons to whom the Software is 14 | furnished to do so, subject to the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be included in 17 | all copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 25 | THE SOFTWARE. 26 | 27 | ----- 28 | 29 | The following software may be included in this product: EGOTableViewPullRefresh. This software contains the following license and notice below: 30 | 31 | // 32 | // EGORefreshTableHeaderView.h 33 | // Demo 34 | // 35 | // Created by Devin Doty on 10/14/09October14. 36 | // Copyright 2009 enormego. All rights reserved. 37 | // 38 | // Permission is hereby granted, free of charge, to any person obtaining a copy 39 | // of this software and associated documentation files (the "Software"), to deal 40 | // in the Software without restriction, including without limitation the rights 41 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 42 | // copies of the Software, and to permit persons to whom the Software is 43 | // furnished to do so, subject to the following conditions: 44 | // 45 | // The above copyright notice and this permission notice shall be included in 46 | // all copies or substantial portions of the Software. 47 | // 48 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 49 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 50 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 51 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 52 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 53 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 54 | // THE SOFTWARE. 55 | // 56 | 57 | ----- 58 | 59 | The following software may be included in this product: MBProgressHUD. This software contains the following license and notice below: 60 | 61 | Copyright (c) 2013 Matej Bukovinski 62 | 63 | Permission is hereby granted, free of charge, to any person obtaining a copy 64 | of this software and associated documentation files (the "Software"), to deal 65 | in the Software without restriction, including without limitation the rights 66 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 67 | copies of the Software, and to permit persons to whom the Software is 68 | furnished to do so, subject to the following conditions: 69 | 70 | The above copyright notice and this permission notice shall be included in 71 | all copies or substantial portions of the Software. 72 | 73 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 74 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 75 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 76 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 77 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 78 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 79 | THE SOFTWARE. --------------------------------------------------------------------------------