- Fix PNInstallation

This commit is contained in:
Giuseppe Nucifora 2016-04-05 15:46:06 +02:00
parent 1df32f64a7
commit 7752bf3e18
51 changed files with 14486 additions and 12301 deletions

View File

@ -22,6 +22,8 @@ PODS:
- Bolts/Tasks (1.7.0) - Bolts/Tasks (1.7.0)
- CocoaSecurity (1.2.4) - CocoaSecurity (1.2.4)
- CodFis-Helper (0.1.3) - CodFis-Helper (0.1.3)
- DJLocalization (1.2.0):
- JRSwizzle
- Expecta (1.0.5) - Expecta (1.0.5)
- Expecta+Snapshots (3.0.0): - Expecta+Snapshots (3.0.0):
- Expecta (~> 1.0) - Expecta (~> 1.0)
@ -38,6 +40,7 @@ PODS:
- FBSnapshotTestCase/Core (2.1.0) - FBSnapshotTestCase/Core (2.1.0)
- FBSnapshotTestCase/SwiftSupport (2.1.0): - FBSnapshotTestCase/SwiftSupport (2.1.0):
- FBSnapshotTestCase/Core - FBSnapshotTestCase/Core
- JRSwizzle (1.0)
- NACrypto (1.0.6) - NACrypto (1.0.6)
- NSDate_Utils (0.1.3) - NSDate_Utils (0.1.3)
- NSString-Helper (1.0.4) - NSString-Helper (1.0.4)
@ -45,9 +48,10 @@ PODS:
- CocoaSecurity (~> 1.2.2) - CocoaSecurity (~> 1.2.2)
- nv-ios-http-status (0.0.1) - nv-ios-http-status (0.0.1)
- PEAR-FileManager-iOS (1.3.1) - PEAR-FileManager-iOS (1.3.1)
- PNObject (0.5.1): - PNObject (0.5.3):
- AFNetworking - AFNetworking
- CodFis-Helper - CodFis-Helper
- DJLocalization
- FBSDKCoreKit - FBSDKCoreKit
- FBSDKLoginKit - FBSDKLoginKit
- FBSDKShareKit - FBSDKShareKit
@ -92,19 +96,21 @@ SPEC CHECKSUMS:
Bolts: a0058fa3b331c5a1e4402d534f2dae36dbff31e4 Bolts: a0058fa3b331c5a1e4402d534f2dae36dbff31e4
CocoaSecurity: d288a6f87e0f363823d2cb83e753814a6944f71a CocoaSecurity: d288a6f87e0f363823d2cb83e753814a6944f71a
CodFis-Helper: 28be4c74d7202542459d72354f59b1215871de87 CodFis-Helper: 28be4c74d7202542459d72354f59b1215871de87
DJLocalization: 55ab1d1ee4ac2eb3ec4e3a8a93145fd9d10ae6eb
Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe
Expecta+Snapshots: c343f410c7a6392f3e22e78f94c44b6c0749a516 Expecta+Snapshots: c343f410c7a6392f3e22e78f94c44b6c0749a516
FBSDKCoreKit: d2aaed5e9ab7d8d6301c533376a1fbff1cf3deb5 FBSDKCoreKit: d2aaed5e9ab7d8d6301c533376a1fbff1cf3deb5
FBSDKLoginKit: 699ff169080e3072de4b9b0faca90bf23dc36deb FBSDKLoginKit: 699ff169080e3072de4b9b0faca90bf23dc36deb
FBSDKShareKit: 2fd887cce0056bdda91f99b2021d724a4fed8e88 FBSDKShareKit: 2fd887cce0056bdda91f99b2021d724a4fed8e88
FBSnapshotTestCase: 366ecd378511d7716c79991cd8067d1eed23578d FBSnapshotTestCase: 366ecd378511d7716c79991cd8067d1eed23578d
JRSwizzle: dd5ead5d913a0f29e7f558200165849f006bb1e3
NACrypto: ce3900f1775f1b0cc27ce7c4953b94c598a74149 NACrypto: ce3900f1775f1b0cc27ce7c4953b94c598a74149
NSDate_Utils: 68669d2c81f310ee13026c791f4f0ed227b94c65 NSDate_Utils: 68669d2c81f310ee13026c791f4f0ed227b94c65
NSString-Helper: b4183f73f0a00c6fcd607edebb6c35a7a461376d NSString-Helper: b4183f73f0a00c6fcd607edebb6c35a7a461376d
NSUserDefaults-AESEncryptor: da02cfef056f1e18ebe2748767915f08b274c9c5 NSUserDefaults-AESEncryptor: da02cfef056f1e18ebe2748767915f08b274c9c5
nv-ios-http-status: b6c2b5fc8656cc19e0d3000dadce2080b99d0e2f nv-ios-http-status: b6c2b5fc8656cc19e0d3000dadce2080b99d0e2f
PEAR-FileManager-iOS: 3bc403f68a53483f5629aa822f4649e40275c4d3 PEAR-FileManager-iOS: 3bc403f68a53483f5629aa822f4649e40275c4d3
PNObject: cb0875debb47695fa6bf9942352c5be359c677b6 PNObject: 15473d09103b41094279caeddc8a979aaa43fe95
PureLayout: f35f5384c9c4e4479df041dbe33ad7577b71ddfb PureLayout: f35f5384c9c4e4479df041dbe33ad7577b71ddfb
Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2 Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2
StrongestPasswordValidator: 921e42615bdf353513c6f925bffd4fc29865dbd7 StrongestPasswordValidator: 921e42615bdf353513c6f925bffd4fc29865dbd7

View File

@ -0,0 +1,16 @@
//
// DJLocalizableString.h
// DJLocalization
//
// Created by David Jennes on 15/02/15.
// Copyright (c) 2015. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface DJLocalizableString : NSString
- (NSUInteger)length;
- (unichar)characterAtIndex:(NSUInteger)index;
@end

View File

@ -0,0 +1,59 @@
//
// DJLocalizableString.m
// DJLocalization
//
// Created by David Jennes on 15/02/15.
// Copyright (c) 2015. All rights reserved.
//
#import "DJLocalizableString.h"
#import "DJLocalizationSystem+Private.h"
static NSString * const kDJLocalizableString = @"NSLocalizableString";
@interface DJLocalizableString ()
@property (nonatomic, strong) NSString *developmentLanguageString;
@property (nonatomic, strong) NSString *stringsFileKey;
@end
@implementation DJLocalizableString
+ (void)load {
@autoreleasepool {
[NSKeyedUnarchiver setClass: DJLocalizableString.class forClassName: kDJLocalizableString];
}
}
#pragma mark - NSCoding
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super init];
if (self) {
self.stringsFileKey = [aDecoder decodeObjectForKey: @"NSKey"];
self.developmentLanguageString = [aDecoder decodeObjectForKey: @"NSDev"];
}
return self;
}
#pragma mark - NSObject
- (id)awakeAfterUsingCoder:(NSCoder *)aDecoder {
return [DJLocalizationSystem.shared localizedStoryboardStringForKey: self.stringsFileKey
value: self.developmentLanguageString];
}
#pragma mark - NSString
- (NSUInteger)length {
return self.developmentLanguageString.length;
}
- (unichar)characterAtIndex:(NSUInteger)index {
return [self.developmentLanguageString characterAtIndex: index];
}
@end

View File

@ -0,0 +1,15 @@
//
// DJLocalization.h
// DJLocalization
//
// Created by David Jennes on 04/03/15.
// Copyright (c) 2015. All rights reserved.
//
#ifndef DJLocalization_h
#define DJLocalization_h
#import "DJLocalizationSystem.h"
#import "UIStoryboard+DJLocalization.h"
#endif

View File

@ -0,0 +1,24 @@
//
// DJLocalizationSystem+Private.h
// DJLocalization
//
// Created by David Jennes on 16/02/16.
// Copyright (c) 2015. All rights reserved.
//
#import "DJLocalizationSystem.h"
@interface DJLocalizationSystem (Private)
/*!
* Special version that tries to load a storyboard string from all the tables
* except Localizable and InfoPlist. Defaults to comment if not found.
*
* @param key The localization key
* @param comment The localization value
*
* @return The localized string
*/
- (NSString *)localizedStoryboardStringForKey:(NSString *)key value:(NSString *)comment;
@end

View File

@ -0,0 +1,64 @@
//
// DJLocalizationSystem.h
// DJLocalization
//
// Created by David Jennes on 15/02/15.
// Copyright (c) 2015. All rights reserved.
//
#import <Foundation/Foundation.h>
// replace Apple's macros with our own
#undef NSLocalizedString
#define NSLocalizedString(key, comment) \
[DJLocalizationSystem.shared localizedStringForKey:(key) value: @"" table: nil]
#undef NSLocalizedStringFromTable
#define NSLocalizedStringFromTable(key, tbl, comment) \
[DJLocalizationSystem.shared localizedStringForKey:(key) value:@"" table:(tbl)]
@interface DJLocalizationSystem : NSObject
/*!
* Get the system's global instance
*
* @return A localization system instance
*/
+ (instancetype)shared;
/*!
* Get the localized string for a given key/value
*
* @param key The localization key
* @param comment The localization value
* @param tableName The localization table name
* @return The localized string
*/
- (NSString *)localizedStringForKey:(NSString *)key value:(NSString *)comment table:(NSString *)tableName;
/*!
* Get the localized string for a given key/value in the specified bundle
*
* @param key The localization key
* @param comment The localization value
* @param bundle The bundle to search in
* @return The localized string
*/
- (NSString *)localizedStringForKey:(NSString *)key value:(NSString *)comment table:(NSString *)tableName bundle:(NSBundle *)bundle;
/*!
* Reset the localization to the system's default language
*/
- (void)resetLocalization;
/*!
* The bundle for the currently active language
*/
@property (nonatomic, readonly) NSBundle *bundle;
/*!
* The currently active language
*/
@property (nonatomic, strong) NSString *language;
@end

View File

@ -0,0 +1,136 @@
//
// DJLocalizationSystem.m
// DJLocalization
//
// Created by David Jennes on 15/02/15.
// Copyright (c) 2015. All rights reserved.
//
#import "DJLocalization.h"
#import "DJLocalizationSystem+Private.h"
@interface DJLocalizationSystem ()
@property (nonatomic, strong) NSBundle *bundle;
@property (nonatomic, strong) NSDictionary *storyboardStrings;
@property (nonatomic, strong) NSString *customLanguage;
@end
@implementation DJLocalizationSystem
+ (instancetype)shared {
__strong static DJLocalizationSystem *sharedSystem = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedSystem = [self new];
});
return sharedSystem;
}
- (instancetype)init {
self = [super init];
if (!self)
return nil;
[self resetLocalization];
return self;
}
- (NSString *)localizedStoryboardStringForKey:(NSString *)key value:(NSString *)comment {
NSString *result = self.storyboardStrings[key];
if (!result)
result = comment;
return result;
}
- (NSString *)localizedStringForKey:(NSString *)key value:(NSString *)value table:(NSString *)tableName {
return [self.bundle localizedStringForKey: key value: value table: tableName];
}
- (NSString *)localizedStringForKey:(NSString *)key value:(NSString *)value table:(NSString *)tableName bundle:(NSBundle *)bundle {
// if no custom language, just get the standard localized string
if (!self.customLanguage)
return [bundle localizedStringForKey: key value: value table: tableName];
// check if our custom language exists
NSString *path = [bundle pathForResource: self.customLanguage ofType: @"lproj"];
if (path)
return [[NSBundle bundleWithPath: path] localizedStringForKey: key value: value table: tableName];
// otherwise return the default
return [bundle localizedStringForKey: key value: value table: tableName];
}
- (void)resetLocalization {
self.language = NSBundle.mainBundle.preferredLocalizations.firstObject;
}
- (void)setLanguage:(NSString*)language {
if ([language isEqualToString: self.customLanguage ])
return;
NSDictionary *languageInfo = [NSLocale componentsFromLocaleIdentifier: language];
// find bundle
NSString *path = [NSBundle.mainBundle pathForResource: language ofType: @"lproj"];
if (path == nil)
path = [NSBundle.mainBundle pathForResource: languageInfo[NSLocaleLanguageCode] ofType: @"lproj"];
// set bundle
if (path) {
self.bundle = [NSBundle bundleWithPath: path];
[self loadTables];
// store language id
self.customLanguage = language;
} else {
NSLog(@"Localization error: no bundle found, resetting!");
self.bundle = NSBundle.mainBundle;
self.customLanguage = nil;
}
}
- (NSString*)language {
if (self.customLanguage)
return self.customLanguage;
else {
NSString *language = NSLocale.preferredLanguages.firstObject;
NSDictionary *languageInfo = [NSLocale componentsFromLocaleIdentifier: language];
return languageInfo[NSLocaleLanguageCode];
}
}
#pragma mark - Helper methods
- (void)loadTables {
NSMutableDictionary *strings = [NSMutableDictionary new];
// find strings files
NSFileManager *fileManager = NSFileManager.defaultManager;
NSURL *bundleURL = self.bundle.bundleURL;
NSArray *contents = [fileManager contentsOfDirectoryAtURL: bundleURL
includingPropertiesForKeys: @[]
options: NSDirectoryEnumerationSkipsHiddenFiles
error: nil];
// load them
NSPredicate *predicate = [NSPredicate predicateWithFormat: @"pathExtension == 'strings'"];
for (NSURL *fileURL in [contents filteredArrayUsingPredicate: predicate]) {
if ([fileURL.lastPathComponent isEqualToString: @"Localizable.strings"])
continue;
if ([fileURL.lastPathComponent isEqualToString: @"InfoPlist.strings"])
continue;
NSDictionary *table = [NSDictionary dictionaryWithContentsOfURL: fileURL];
[strings addEntriesFromDictionary: table];
}
self.storyboardStrings = strings;
}
@end

View File

@ -0,0 +1,21 @@
//
// UIStoryboard+DJLocalization.h
// DJLocalization
//
// Created by David Jennes on 15/02/15.
// Copyright (c) 2015. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface UIStoryboard (DJLocalization)
/*!
* Get the storyboard for the active language
*
* @param name The storyboard's name
* @return The desired storyboard
*/
+ (instancetype)dj_storyboardWithName:(NSString *)name;
@end

View File

@ -0,0 +1,19 @@
//
// UIStoryboard+DJLocalization.m
// DJLocalization
//
// Created by David Jennes on 15/02/15.
// Copyright (c) 2015. All rights reserved.
//
#import "UIStoryboard+DJLocalization.h"
#import "DJLocalizationSystem.h"
@implementation UIStoryboard (DJLocalization)
+ (instancetype)dj_storyboardWithName:(NSString *)name {
return [self storyboardWithName: name bundle: DJLocalizationSystem.shared.bundle];
}
@end

19
Example/Pods/DJLocalization/LICENSE generated Normal file
View File

@ -0,0 +1,19 @@
Copyright (c) 2015 David Jennes <david.jennes@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

64
Example/Pods/DJLocalization/README.md generated Normal file
View File

@ -0,0 +1,64 @@
# DJLocalization
[![Version](https://img.shields.io/cocoapods/v/DJLocalization.svg?style=flat)](http://cocoadocs.org/docsets/DJLocalization)
[![License](https://img.shields.io/cocoapods/l/DJLocalization.svg?style=flat)](http://cocoadocs.org/docsets/DJLocalization)
[![Platform](https://img.shields.io/cocoapods/p/DJLocalization.svg?style=flat)](http://cocoadocs.org/docsets/DJLocalization)
Localization system that allows language switching at runtime. Supports both code strings (NSLocalizedString) and storyboards (base internationalization).
## Demo
To try the example project, just run the following command:
pod try DJLocalization
## Requirements
Requires iOS 6 or higher.
## Installation
### From CocoaPods
DJLocalization is available through [CocoaPods](http://cocoapods.org). To install
it, simply add the following line to your Podfile:
pod "DJLocalization"
### Manually
_**Important note if your project doesn't use ARC**: you must add the `-fobjc-arc` compiler flag to all 'DJLocalization' files in Target Settings > Build Phases > Compile Sources._
* Drag the `DJLocalization/DJlocalization` folder into your project.
## Usage
### Importing headers
Then simply add the following import to your prefix header, or any file where you use the NSLocalizedString macro (or variants).
#import <DJLocalization/DJLocalization.h>
#####*Important:*
You must import the header wherever you use the NSLocalizedString macro, as this header replaces the default NSLocalizedString macro with a custom one. If you don't, runtime switching of languages won't work.
### Switching languages
At runtime, you can switch the language at any time by setting the language property:
[DJLocalizationSystem shared].language = @"en";
Be careful to only use language codes (en, nl, fr, etc...) for localizations that exist in your project.
#####*Important:*
Views are translated on load. This means that if you switch the language at some point, only subsequently loaded views will have the correct language strings. Ideally, when you switch languages, you should pop your navigation controller to it's root view controller.
## Credits
DJLocalization is brought to you by [David Jennes](https://twitter.com/davidjennes). The code is inspired by [Rolandas Razma's](https://twitter.com/rolandas_razma) work with [RRBaseInternationalization](https://github.com/RolandasRazma/RRBaseInternationalization) (especially the way to load strings for storyboard/xib views).
Props to Rolandas Razma
## License
DJLocalization is available under the MIT license. See the LICENSE file for more info.

View File

@ -0,0 +1 @@
../../../DJLocalization/DJLocalization/DJLocalizableString.h

View File

@ -0,0 +1 @@
../../../DJLocalization/DJLocalization/DJLocalization.h

View File

@ -0,0 +1 @@
../../../DJLocalization/DJLocalization/DJLocalizationSystem+Private.h

View File

@ -0,0 +1 @@
../../../DJLocalization/DJLocalization/DJLocalizationSystem.h

View File

@ -0,0 +1 @@
../../../DJLocalization/DJLocalization/UIStoryboard+DJLocalization.h

View File

@ -0,0 +1 @@
../../../JRSwizzle/JRSwizzle.h

13
Example/Pods/JRSwizzle/JRSwizzle.h generated Normal file
View File

@ -0,0 +1,13 @@
// JRSwizzle.h semver:1.0
// Copyright (c) 2007-2011 Jonathan 'Wolf' Rentzsch: http://rentzsch.com
// Some rights reserved: http://opensource.org/licenses/MIT
// https://github.com/rentzsch/jrswizzle
#import <Foundation/Foundation.h>
@interface NSObject (JRSwizzle)
+ (BOOL)jr_swizzleMethod:(SEL)origSel_ withMethod:(SEL)altSel_ error:(NSError**)error_;
+ (BOOL)jr_swizzleClassMethod:(SEL)origSel_ withClassMethod:(SEL)altSel_ error:(NSError**)error_;
@end

134
Example/Pods/JRSwizzle/JRSwizzle.m generated Normal file
View File

@ -0,0 +1,134 @@
// JRSwizzle.m semver:1.0
// Copyright (c) 2007-2011 Jonathan 'Wolf' Rentzsch: http://rentzsch.com
// Some rights reserved: http://opensource.org/licenses/MIT
// https://github.com/rentzsch/jrswizzle
#import "JRSwizzle.h"
#if TARGET_OS_IPHONE
#import <objc/runtime.h>
#import <objc/message.h>
#else
#import <objc/objc-class.h>
#endif
#define SetNSErrorFor(FUNC, ERROR_VAR, FORMAT,...) \
if (ERROR_VAR) { \
NSString *errStr = [NSString stringWithFormat:@"%s: " FORMAT,FUNC,##__VA_ARGS__]; \
*ERROR_VAR = [NSError errorWithDomain:@"NSCocoaErrorDomain" \
code:-1 \
userInfo:[NSDictionary dictionaryWithObject:errStr forKey:NSLocalizedDescriptionKey]]; \
}
#define SetNSError(ERROR_VAR, FORMAT,...) SetNSErrorFor(__func__, ERROR_VAR, FORMAT, ##__VA_ARGS__)
#if OBJC_API_VERSION >= 2
#define GetClass(obj) object_getClass(obj)
#else
#define GetClass(obj) (obj ? obj->isa : Nil)
#endif
@implementation NSObject (JRSwizzle)
+ (BOOL)jr_swizzleMethod:(SEL)origSel_ withMethod:(SEL)altSel_ error:(NSError**)error_ {
#if OBJC_API_VERSION >= 2
Method origMethod = class_getInstanceMethod(self, origSel_);
if (!origMethod) {
#if TARGET_OS_IPHONE
SetNSError(error_, @"original method %@ not found for class %@", NSStringFromSelector(origSel_), [self class]);
#else
SetNSError(error_, @"original method %@ not found for class %@", NSStringFromSelector(origSel_), [self className]);
#endif
return NO;
}
Method altMethod = class_getInstanceMethod(self, altSel_);
if (!altMethod) {
#if TARGET_OS_IPHONE
SetNSError(error_, @"alternate method %@ not found for class %@", NSStringFromSelector(altSel_), [self class]);
#else
SetNSError(error_, @"alternate method %@ not found for class %@", NSStringFromSelector(altSel_), [self className]);
#endif
return NO;
}
class_addMethod(self,
origSel_,
class_getMethodImplementation(self, origSel_),
method_getTypeEncoding(origMethod));
class_addMethod(self,
altSel_,
class_getMethodImplementation(self, altSel_),
method_getTypeEncoding(altMethod));
method_exchangeImplementations(class_getInstanceMethod(self, origSel_), class_getInstanceMethod(self, altSel_));
return YES;
#else
// Scan for non-inherited methods.
Method directOriginalMethod = NULL, directAlternateMethod = NULL;
void *iterator = NULL;
struct objc_method_list *mlist = class_nextMethodList(self, &iterator);
while (mlist) {
int method_index = 0;
for (; method_index < mlist->method_count; method_index++) {
if (mlist->method_list[method_index].method_name == origSel_) {
assert(!directOriginalMethod);
directOriginalMethod = &mlist->method_list[method_index];
}
if (mlist->method_list[method_index].method_name == altSel_) {
assert(!directAlternateMethod);
directAlternateMethod = &mlist->method_list[method_index];
}
}
mlist = class_nextMethodList(self, &iterator);
}
// If either method is inherited, copy it up to the target class to make it non-inherited.
if (!directOriginalMethod || !directAlternateMethod) {
Method inheritedOriginalMethod = NULL, inheritedAlternateMethod = NULL;
if (!directOriginalMethod) {
inheritedOriginalMethod = class_getInstanceMethod(self, origSel_);
if (!inheritedOriginalMethod) {
SetNSError(error_, @"original method %@ not found for class %@", NSStringFromSelector(origSel_), [self className]);
return NO;
}
}
if (!directAlternateMethod) {
inheritedAlternateMethod = class_getInstanceMethod(self, altSel_);
if (!inheritedAlternateMethod) {
SetNSError(error_, @"alternate method %@ not found for class %@", NSStringFromSelector(altSel_), [self className]);
return NO;
}
}
int hoisted_method_count = !directOriginalMethod && !directAlternateMethod ? 2 : 1;
struct objc_method_list *hoisted_method_list = malloc(sizeof(struct objc_method_list) + (sizeof(struct objc_method)*(hoisted_method_count-1)));
hoisted_method_list->obsolete = NULL; // soothe valgrind - apparently ObjC runtime accesses this value and it shows as uninitialized in valgrind
hoisted_method_list->method_count = hoisted_method_count;
Method hoisted_method = hoisted_method_list->method_list;
if (!directOriginalMethod) {
bcopy(inheritedOriginalMethod, hoisted_method, sizeof(struct objc_method));
directOriginalMethod = hoisted_method++;
}
if (!directAlternateMethod) {
bcopy(inheritedAlternateMethod, hoisted_method, sizeof(struct objc_method));
directAlternateMethod = hoisted_method;
}
class_addMethods(self, hoisted_method_list);
}
// Swizzle.
IMP temp = directOriginalMethod->method_imp;
directOriginalMethod->method_imp = directAlternateMethod->method_imp;
directAlternateMethod->method_imp = temp;
return YES;
#endif
}
+ (BOOL)jr_swizzleClassMethod:(SEL)origSel_ withClassMethod:(SEL)altSel_ error:(NSError**)error_ {
return [GetClass((id)self) jr_swizzleMethod:origSel_ withMethod:altSel_ error:error_];
}
@end

151
Example/Pods/JRSwizzle/README.markdown generated Normal file
View File

@ -0,0 +1,151 @@
# JRSwizzle
## Description
JRSwizzle is source code package that offers a single, easy, correct+consistent interface for exchanging Objective-C method implementations ("method swizzling") across many versions of Mac OS X, iOS, Objective-C and runtime architectures.
More succinctly: *JRSwizzle wants to be your one-stop-shop for all your method swizzling needs.*
## Download
$ cd /path/to/top/of/your/project
$ git submodule add git://github.com/rentzsch/jrswizzle.git JRSwizzle
$ git submodule init && git submodule update
# OPTIONAL: Execute the following commands if you want to explicitly peg
# to a certain version. Otherwise `git submodule update` will keep you
# current with HEAD.
$ cd JRSwizzle
$ git checkout v1.0
## Reasons for Existence
* **Easy:** Just do this: `[SomeClass jr_swizzle:@selector(foo) withMethod:@selector(my_foo) error:&error];` Voila.
* **Correct:** There's a subtle interaction between method swizzling and method inheritance. Following in Kevin Ballard's footsteps, this package Does The Right Thing.
* **Compatible:** JRSwizzle should Just Work on any version of Mac OS X and iOS you care about. Here's the exhaustive compatibility list:
* Mac OS X v10.3/ppc (Ballard implementation)
* Mac OS X v10.4/ppc (Ballard implementation)
* Mac OS X v10.4/i386 (Ballard implementation)
* Mac OS X v10.5/ppc (method_exchangeImplementations+Ballard implementation)
* Mac OS X v10.5/i386 (method_exchangeImplementations+Ballard implementation)
* Mac OS X v10.5/ppc64 (method_exchangeImplementations+Ballard implementation)
* Mac OS X v10.5/x86_64 (method_exchangeImplementations+Ballard implementation)
* iOS 2.0+ (method_exchangeImplementations+Ballard implementation)
* **Robust:** All parameters are checked and JRSwizzle returns an optional `NSError` with high-quality diagnostics.
## Support
Please use [JRSwizzle's GitHub Issues tab](https://github.com/rentzsch/jrswizzle/issues) to [file bugs or feature requests](https://github.com/rentzsch/jrswizzle/issues/new).
To contribute, please fork this project, make+commit your changes and then send me a pull request.
## Comparison
There's at least four swizzling implementations floating around. Here's a comparison chart to help you make sense of how they relate to each other and why JRSwizzle exists.
<table>
<tr>
<th>Scenario</th>
<th>Swizzle Technology</th>
<th>Method Implementation</th>
<th>Correct Behavior</th>
<th>10.4</th>
<th>64-bit</th>
</tr>
<tr>
<td>1</td>
<td>Classic</td>
<td>Direct</td>
<td>YES</td>
<td>YES</td>
<td>NO</td>
</tr>
<tr>
<td>2</td>
<td>Classic</td>
<td>Inherited</td>
<td>NO</td>
<td>YES</td>
<td>NO</td>
</tr>
<tr>
<td>3</td>
<td>Ballard</td>
<td>Direct</td>
<td>YES</td>
<td>YES</td>
<td>NO</td>
</tr>
<tr>
<td>4</td>
<td>Ballard</td>
<td>Inherited</td>
<td>YES</td>
<td>YES</td>
<td>NO</td>
</tr>
<tr>
<td>5</td>
<td>Apple</td>
<td>Direct</td>
<td>YES</td>
<td>NO</td>
<td>YES</td>
</tr>
<tr>
<td>6</td>
<td>Apple</td>
<td>Inherited</td>
<td>NO</td>
<td>NO</td>
<td>YES</td>
</tr>
<tr>
<td>7</td>
<td>JRSwizzle</td>
<td>Direct</td>
<td>YES</td>
<td>YES</td>
<td>YES</td>
</tr>
<tr>
<td>8</td>
<td>JRSwizzle</td>
<td>Inherited</td>
<td>YES</td>
<td>YES</td>
<td>YES</td>
</tr>
</table>
* *Classic* is the canonical `MethodSwizzle()` implementation as described in [CocoaDev's MethodSwizzling page](http://www.cocoadev.com/index.pl?MethodSwizzling).
* *Ballard* is [Kevin Ballard's improved implementation](http://kevin.sb.org/2006/12/30/method-swizzling-reimplemented/) which solves the inherited method problem.
* *Apple* is 10.5's new `method_exchangeImplementations` API.
* *JRSwizzle* is this package.
## License
The source code is distributed under the nonviral [MIT License](http://opensource.org/licenses/mit-license.php). It's the simplest most permissive license available.
## Version History
* **v1.0:** Mar 2 2012
* [NEW] iOS Support. ([Anton Serebryakov](https://github.com/rentzsch/jrswizzle/commit/60ccb350a3577e55d00d3fdfee8b3c0390b8e852]))
* [NEW] Class method swizzling. ([outis](https://github.com/rentzsch/jrswizzle/pull/1))
* **v1.0d1:** May 31 2009
* [FIX] Soothe valgrind by nulling out `hoisted_method_list->obsolete`, which it apparently reads. ([Daniel Jalkut](http://github.com/rentzsch/jrswizzle/commit/2f677d063202b443ca7a1c46e8b67d67ea6fc88e))
* [FIX] Xcode 3.2 apparently now needs `ARCHS` set explicitly for 10.3 targets. ([rentzsch](http://github.com/rentzsch/jrswizzle/commit/4478faa40e4fdb322201da20f24d3996193ea48b))
* **v1.0d0:** Apr 09 2009
* Moved to github.
* **v1.0d0:** Dec 28 2007
* Under development.

View File

@ -1,6 +1,6 @@
{ {
"name": "PNObject", "name": "PNObject",
"version": "0.5.1", "version": "0.5.3",
"summary": "PNObject is a simple replica of the more complex ParseObject", "summary": "PNObject is a simple replica of the more complex ParseObject",
"homepage": "https://github.com/giuseppenucifora/PNObject", "homepage": "https://github.com/giuseppenucifora/PNObject",
"license": "MIT", "license": "MIT",
@ -9,7 +9,7 @@
}, },
"source": { "source": {
"git": "https://github.com/giuseppenucifora/PNObject.git", "git": "https://github.com/giuseppenucifora/PNObject.git",
"tag": "0.5.1" "tag": "0.5.3"
}, },
"platforms": { "platforms": {
"ios": "8.0" "ios": "8.0"
@ -55,6 +55,9 @@
], ],
"NSUserDefaults-AESEncryptor": [ "NSUserDefaults-AESEncryptor": [
],
"DJLocalization": [
] ]
} }
} }

View File

@ -22,6 +22,8 @@ PODS:
- Bolts/Tasks (1.7.0) - Bolts/Tasks (1.7.0)
- CocoaSecurity (1.2.4) - CocoaSecurity (1.2.4)
- CodFis-Helper (0.1.3) - CodFis-Helper (0.1.3)
- DJLocalization (1.2.0):
- JRSwizzle
- Expecta (1.0.5) - Expecta (1.0.5)
- Expecta+Snapshots (3.0.0): - Expecta+Snapshots (3.0.0):
- Expecta (~> 1.0) - Expecta (~> 1.0)
@ -38,6 +40,7 @@ PODS:
- FBSnapshotTestCase/Core (2.1.0) - FBSnapshotTestCase/Core (2.1.0)
- FBSnapshotTestCase/SwiftSupport (2.1.0): - FBSnapshotTestCase/SwiftSupport (2.1.0):
- FBSnapshotTestCase/Core - FBSnapshotTestCase/Core
- JRSwizzle (1.0)
- NACrypto (1.0.6) - NACrypto (1.0.6)
- NSDate_Utils (0.1.3) - NSDate_Utils (0.1.3)
- NSString-Helper (1.0.4) - NSString-Helper (1.0.4)
@ -45,9 +48,10 @@ PODS:
- CocoaSecurity (~> 1.2.2) - CocoaSecurity (~> 1.2.2)
- nv-ios-http-status (0.0.1) - nv-ios-http-status (0.0.1)
- PEAR-FileManager-iOS (1.3.1) - PEAR-FileManager-iOS (1.3.1)
- PNObject (0.5.1): - PNObject (0.5.3):
- AFNetworking - AFNetworking
- CodFis-Helper - CodFis-Helper
- DJLocalization
- FBSDKCoreKit - FBSDKCoreKit
- FBSDKLoginKit - FBSDKLoginKit
- FBSDKShareKit - FBSDKShareKit
@ -92,19 +96,21 @@ SPEC CHECKSUMS:
Bolts: a0058fa3b331c5a1e4402d534f2dae36dbff31e4 Bolts: a0058fa3b331c5a1e4402d534f2dae36dbff31e4
CocoaSecurity: d288a6f87e0f363823d2cb83e753814a6944f71a CocoaSecurity: d288a6f87e0f363823d2cb83e753814a6944f71a
CodFis-Helper: 28be4c74d7202542459d72354f59b1215871de87 CodFis-Helper: 28be4c74d7202542459d72354f59b1215871de87
DJLocalization: 55ab1d1ee4ac2eb3ec4e3a8a93145fd9d10ae6eb
Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe
Expecta+Snapshots: c343f410c7a6392f3e22e78f94c44b6c0749a516 Expecta+Snapshots: c343f410c7a6392f3e22e78f94c44b6c0749a516
FBSDKCoreKit: d2aaed5e9ab7d8d6301c533376a1fbff1cf3deb5 FBSDKCoreKit: d2aaed5e9ab7d8d6301c533376a1fbff1cf3deb5
FBSDKLoginKit: 699ff169080e3072de4b9b0faca90bf23dc36deb FBSDKLoginKit: 699ff169080e3072de4b9b0faca90bf23dc36deb
FBSDKShareKit: 2fd887cce0056bdda91f99b2021d724a4fed8e88 FBSDKShareKit: 2fd887cce0056bdda91f99b2021d724a4fed8e88
FBSnapshotTestCase: 366ecd378511d7716c79991cd8067d1eed23578d FBSnapshotTestCase: 366ecd378511d7716c79991cd8067d1eed23578d
JRSwizzle: dd5ead5d913a0f29e7f558200165849f006bb1e3
NACrypto: ce3900f1775f1b0cc27ce7c4953b94c598a74149 NACrypto: ce3900f1775f1b0cc27ce7c4953b94c598a74149
NSDate_Utils: 68669d2c81f310ee13026c791f4f0ed227b94c65 NSDate_Utils: 68669d2c81f310ee13026c791f4f0ed227b94c65
NSString-Helper: b4183f73f0a00c6fcd607edebb6c35a7a461376d NSString-Helper: b4183f73f0a00c6fcd607edebb6c35a7a461376d
NSUserDefaults-AESEncryptor: da02cfef056f1e18ebe2748767915f08b274c9c5 NSUserDefaults-AESEncryptor: da02cfef056f1e18ebe2748767915f08b274c9c5
nv-ios-http-status: b6c2b5fc8656cc19e0d3000dadce2080b99d0e2f nv-ios-http-status: b6c2b5fc8656cc19e0d3000dadce2080b99d0e2f
PEAR-FileManager-iOS: 3bc403f68a53483f5629aa822f4649e40275c4d3 PEAR-FileManager-iOS: 3bc403f68a53483f5629aa822f4649e40275c4d3
PNObject: cb0875debb47695fa6bf9942352c5be359c677b6 PNObject: 15473d09103b41094279caeddc8a979aaa43fe95
PureLayout: f35f5384c9c4e4479df041dbe33ad7577b71ddfb PureLayout: f35f5384c9c4e4479df041dbe33ad7577b71ddfb
Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2 Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2
StrongestPasswordValidator: 921e42615bdf353513c6f925bffd4fc29865dbd7 StrongestPasswordValidator: 921e42615bdf353513c6f925bffd4fc29865dbd7

File diff suppressed because it is too large Load Diff

View File

@ -14,7 +14,7 @@
buildForArchiving = "YES"> buildForArchiving = "YES">
<BuildableReference <BuildableReference
BuildableIdentifier = 'primary' BuildableIdentifier = 'primary'
BlueprintIdentifier = '7F99CA4406DBB07BA70EB343' BlueprintIdentifier = '7EF15A9AD68D5C94E1144CAF'
BlueprintName = 'PNObject' BlueprintName = 'PNObject'
ReferencedContainer = 'container:Pods.xcodeproj' ReferencedContainer = 'container:Pods.xcodeproj'
BuildableName = 'PNObject.framework'> BuildableName = 'PNObject.framework'>

View File

@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_DJLocalization : NSObject
@end
@implementation PodsDummy_DJLocalization
@end

View File

@ -0,0 +1,4 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#endif

View File

@ -0,0 +1,10 @@
#import <UIKit/UIKit.h>
#import "DJLocalizableString.h"
#import "DJLocalization.h"
#import "DJLocalizationSystem.h"
#import "UIStoryboard+DJLocalization.h"
FOUNDATION_EXPORT double DJLocalizationVersionNumber;
FOUNDATION_EXPORT const unsigned char DJLocalizationVersionString[];

View File

@ -0,0 +1,8 @@
framework module DJLocalization {
umbrella header "DJLocalization-umbrella.h"
export *
module * { export * }
private header "DJLocalizationSystem+Private.h"
}

View File

@ -0,0 +1,5 @@
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/DJLocalization" "${PODS_ROOT}/Headers/Public"
OTHER_LDFLAGS = -framework "Foundation" -framework "UIKit"
PODS_ROOT = ${SRCROOT}
SKIP_INSTALL = YES

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>org.cocoapods.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.2.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>org.cocoapods.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>

View File

@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_JRSwizzle : NSObject
@end
@implementation PodsDummy_JRSwizzle
@end

View File

@ -0,0 +1,4 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#endif

View File

@ -0,0 +1,7 @@
#import <UIKit/UIKit.h>
#import "JRSwizzle.h"
FOUNDATION_EXPORT double JRSwizzleVersionNumber;
FOUNDATION_EXPORT const unsigned char JRSwizzleVersionString[];

View File

@ -0,0 +1,6 @@
framework module JRSwizzle {
umbrella header "JRSwizzle-umbrella.h"
export *
module * { export * }
}

View File

@ -0,0 +1,5 @@
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/JRSwizzle" "${PODS_ROOT}/Headers/Public"
OTHER_LDFLAGS = -framework "Foundation"
PODS_ROOT = ${SRCROOT}
SKIP_INSTALL = YES

View File

@ -15,7 +15,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>FMWK</string> <string>FMWK</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>0.5.1</string> <string>0.5.3</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>

View File

@ -92,6 +92,29 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. THE SOFTWARE.
## DJLocalization
Copyright (c) 2015 David Jennes <david.jennes@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
## FBSDKCoreKit ## FBSDKCoreKit
Copyright (c) 2014-present, Facebook, Inc. All rights reserved. Copyright (c) 2014-present, Facebook, Inc. All rights reserved.

View File

@ -119,6 +119,33 @@ THE SOFTWARE.
<key>Type</key> <key>Type</key>
<string>PSGroupSpecifier</string> <string>PSGroupSpecifier</string>
</dict> </dict>
<dict>
<key>FooterText</key>
<string>Copyright (c) 2015 David Jennes &lt;david.jennes@gmail.com&gt;
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
</string>
<key>Title</key>
<string>DJLocalization</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict> <dict>
<key>FooterText</key> <key>FooterText</key>
<string>Copyright (c) 2014-present, Facebook, Inc. All rights reserved. <string>Copyright (c) 2014-present, Facebook, Inc. All rights reserved.

View File

@ -88,9 +88,11 @@ if [[ "$CONFIGURATION" == "Debug" ]]; then
install_framework "Pods-PNObject_Example/Bolts.framework" install_framework "Pods-PNObject_Example/Bolts.framework"
install_framework "Pods-PNObject_Example/CocoaSecurity.framework" install_framework "Pods-PNObject_Example/CocoaSecurity.framework"
install_framework "Pods-PNObject_Example/CodFis_Helper.framework" install_framework "Pods-PNObject_Example/CodFis_Helper.framework"
install_framework "Pods-PNObject_Example/DJLocalization.framework"
install_framework "Pods-PNObject_Example/FBSDKCoreKit.framework" install_framework "Pods-PNObject_Example/FBSDKCoreKit.framework"
install_framework "Pods-PNObject_Example/FBSDKLoginKit.framework" install_framework "Pods-PNObject_Example/FBSDKLoginKit.framework"
install_framework "Pods-PNObject_Example/FBSDKShareKit.framework" install_framework "Pods-PNObject_Example/FBSDKShareKit.framework"
install_framework "Pods-PNObject_Example/JRSwizzle.framework"
install_framework "Pods-PNObject_Example/NACrypto.framework" install_framework "Pods-PNObject_Example/NACrypto.framework"
install_framework "Pods-PNObject_Example/NSDate_Utils.framework" install_framework "Pods-PNObject_Example/NSDate_Utils.framework"
install_framework "Pods-PNObject_Example/NSString_Helper.framework" install_framework "Pods-PNObject_Example/NSString_Helper.framework"
@ -107,9 +109,11 @@ if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework "Pods-PNObject_Example/Bolts.framework" install_framework "Pods-PNObject_Example/Bolts.framework"
install_framework "Pods-PNObject_Example/CocoaSecurity.framework" install_framework "Pods-PNObject_Example/CocoaSecurity.framework"
install_framework "Pods-PNObject_Example/CodFis_Helper.framework" install_framework "Pods-PNObject_Example/CodFis_Helper.framework"
install_framework "Pods-PNObject_Example/DJLocalization.framework"
install_framework "Pods-PNObject_Example/FBSDKCoreKit.framework" install_framework "Pods-PNObject_Example/FBSDKCoreKit.framework"
install_framework "Pods-PNObject_Example/FBSDKLoginKit.framework" install_framework "Pods-PNObject_Example/FBSDKLoginKit.framework"
install_framework "Pods-PNObject_Example/FBSDKShareKit.framework" install_framework "Pods-PNObject_Example/FBSDKShareKit.framework"
install_framework "Pods-PNObject_Example/JRSwizzle.framework"
install_framework "Pods-PNObject_Example/NACrypto.framework" install_framework "Pods-PNObject_Example/NACrypto.framework"
install_framework "Pods-PNObject_Example/NSDate_Utils.framework" install_framework "Pods-PNObject_Example/NSDate_Utils.framework"
install_framework "Pods-PNObject_Example/NSString_Helper.framework" install_framework "Pods-PNObject_Example/NSString_Helper.framework"

View File

@ -1,6 +1,6 @@
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/AFNetworking.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Bolts.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/CocoaSecurity.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/CodFis_Helper.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKCoreKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKLoginKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKShareKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NACrypto.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSDate_Utils.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSString_Helper.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSUserDefaults_AESEncryptor.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PEAR_FileManager_iOS.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PNObject.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/StrongestPasswordValidator.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIDevice_Utils.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/nv_ios_http_status.framework/Headers" OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/AFNetworking.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Bolts.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/CocoaSecurity.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/CodFis_Helper.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/DJLocalization.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKCoreKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKLoginKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKShareKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/JRSwizzle.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NACrypto.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSDate_Utils.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSString_Helper.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSUserDefaults_AESEncryptor.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PEAR_FileManager_iOS.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PNObject.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/StrongestPasswordValidator.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIDevice_Utils.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/nv_ios_http_status.framework/Headers"
OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "Bolts" -framework "CocoaSecurity" -framework "CodFis_Helper" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "NACrypto" -framework "NSDate_Utils" -framework "NSString_Helper" -framework "NSUserDefaults_AESEncryptor" -framework "PEAR_FileManager_iOS" -framework "PNObject" -framework "PureLayout" -framework "StrongestPasswordValidator" -framework "UIDevice_Utils" -framework "nv_ios_http_status" OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "Bolts" -framework "CocoaSecurity" -framework "CodFis_Helper" -framework "DJLocalization" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "JRSwizzle" -framework "NACrypto" -framework "NSDate_Utils" -framework "NSString_Helper" -framework "NSUserDefaults_AESEncryptor" -framework "PEAR_FileManager_iOS" -framework "PNObject" -framework "PureLayout" -framework "StrongestPasswordValidator" -framework "UIDevice_Utils" -framework "nv_ios_http_status"
PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-PNObject_Example PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-PNObject_Example
PODS_ROOT = ${SRCROOT}/Pods PODS_ROOT = ${SRCROOT}/Pods

View File

@ -1,6 +1,6 @@
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/AFNetworking.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Bolts.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/CocoaSecurity.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/CodFis_Helper.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKCoreKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKLoginKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKShareKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NACrypto.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSDate_Utils.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSString_Helper.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSUserDefaults_AESEncryptor.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PEAR_FileManager_iOS.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PNObject.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/StrongestPasswordValidator.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIDevice_Utils.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/nv_ios_http_status.framework/Headers" OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/AFNetworking.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Bolts.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/CocoaSecurity.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/CodFis_Helper.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/DJLocalization.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKCoreKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKLoginKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKShareKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/JRSwizzle.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NACrypto.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSDate_Utils.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSString_Helper.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSUserDefaults_AESEncryptor.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PEAR_FileManager_iOS.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PNObject.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/StrongestPasswordValidator.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIDevice_Utils.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/nv_ios_http_status.framework/Headers"
OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "Bolts" -framework "CocoaSecurity" -framework "CodFis_Helper" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "NACrypto" -framework "NSDate_Utils" -framework "NSString_Helper" -framework "NSUserDefaults_AESEncryptor" -framework "PEAR_FileManager_iOS" -framework "PNObject" -framework "PureLayout" -framework "StrongestPasswordValidator" -framework "UIDevice_Utils" -framework "nv_ios_http_status" OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "Bolts" -framework "CocoaSecurity" -framework "CodFis_Helper" -framework "DJLocalization" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "JRSwizzle" -framework "NACrypto" -framework "NSDate_Utils" -framework "NSString_Helper" -framework "NSUserDefaults_AESEncryptor" -framework "PEAR_FileManager_iOS" -framework "PNObject" -framework "PureLayout" -framework "StrongestPasswordValidator" -framework "UIDevice_Utils" -framework "nv_ios_http_status"
PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-PNObject_Example PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-PNObject_Example
PODS_ROOT = ${SRCROOT}/Pods PODS_ROOT = ${SRCROOT}/Pods

View File

@ -92,6 +92,29 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. THE SOFTWARE.
## DJLocalization
Copyright (c) 2015 David Jennes <david.jennes@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
## FBSDKCoreKit ## FBSDKCoreKit
Copyright (c) 2014-present, Facebook, Inc. All rights reserved. Copyright (c) 2014-present, Facebook, Inc. All rights reserved.

View File

@ -119,6 +119,33 @@ THE SOFTWARE.
<key>Type</key> <key>Type</key>
<string>PSGroupSpecifier</string> <string>PSGroupSpecifier</string>
</dict> </dict>
<dict>
<key>FooterText</key>
<string>Copyright (c) 2015 David Jennes &lt;david.jennes@gmail.com&gt;
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
</string>
<key>Title</key>
<string>DJLocalization</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict> <dict>
<key>FooterText</key> <key>FooterText</key>
<string>Copyright (c) 2014-present, Facebook, Inc. All rights reserved. <string>Copyright (c) 2014-present, Facebook, Inc. All rights reserved.

View File

@ -88,9 +88,11 @@ if [[ "$CONFIGURATION" == "Debug" ]]; then
install_framework "Pods-PNObject_Tests/Bolts.framework" install_framework "Pods-PNObject_Tests/Bolts.framework"
install_framework "Pods-PNObject_Tests/CocoaSecurity.framework" install_framework "Pods-PNObject_Tests/CocoaSecurity.framework"
install_framework "Pods-PNObject_Tests/CodFis_Helper.framework" install_framework "Pods-PNObject_Tests/CodFis_Helper.framework"
install_framework "Pods-PNObject_Tests/DJLocalization.framework"
install_framework "Pods-PNObject_Tests/FBSDKCoreKit.framework" install_framework "Pods-PNObject_Tests/FBSDKCoreKit.framework"
install_framework "Pods-PNObject_Tests/FBSDKLoginKit.framework" install_framework "Pods-PNObject_Tests/FBSDKLoginKit.framework"
install_framework "Pods-PNObject_Tests/FBSDKShareKit.framework" install_framework "Pods-PNObject_Tests/FBSDKShareKit.framework"
install_framework "Pods-PNObject_Tests/JRSwizzle.framework"
install_framework "Pods-PNObject_Tests/NACrypto.framework" install_framework "Pods-PNObject_Tests/NACrypto.framework"
install_framework "Pods-PNObject_Tests/NSDate_Utils.framework" install_framework "Pods-PNObject_Tests/NSDate_Utils.framework"
install_framework "Pods-PNObject_Tests/NSString_Helper.framework" install_framework "Pods-PNObject_Tests/NSString_Helper.framework"
@ -110,9 +112,11 @@ if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework "Pods-PNObject_Tests/Bolts.framework" install_framework "Pods-PNObject_Tests/Bolts.framework"
install_framework "Pods-PNObject_Tests/CocoaSecurity.framework" install_framework "Pods-PNObject_Tests/CocoaSecurity.framework"
install_framework "Pods-PNObject_Tests/CodFis_Helper.framework" install_framework "Pods-PNObject_Tests/CodFis_Helper.framework"
install_framework "Pods-PNObject_Tests/DJLocalization.framework"
install_framework "Pods-PNObject_Tests/FBSDKCoreKit.framework" install_framework "Pods-PNObject_Tests/FBSDKCoreKit.framework"
install_framework "Pods-PNObject_Tests/FBSDKLoginKit.framework" install_framework "Pods-PNObject_Tests/FBSDKLoginKit.framework"
install_framework "Pods-PNObject_Tests/FBSDKShareKit.framework" install_framework "Pods-PNObject_Tests/FBSDKShareKit.framework"
install_framework "Pods-PNObject_Tests/JRSwizzle.framework"
install_framework "Pods-PNObject_Tests/NACrypto.framework" install_framework "Pods-PNObject_Tests/NACrypto.framework"
install_framework "Pods-PNObject_Tests/NSDate_Utils.framework" install_framework "Pods-PNObject_Tests/NSDate_Utils.framework"
install_framework "Pods-PNObject_Tests/NSString_Helper.framework" install_framework "Pods-PNObject_Tests/NSString_Helper.framework"

View File

@ -1,8 +1,8 @@
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/AFNetworking.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Bolts.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/CocoaSecurity.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/CodFis_Helper.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Expecta.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Expecta_Snapshots.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKCoreKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKLoginKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKShareKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSnapshotTestCase.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NACrypto.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSDate_Utils.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSString_Helper.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSUserDefaults_AESEncryptor.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PEAR_FileManager_iOS.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PNObject.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Specta.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/StrongestPasswordValidator.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIDevice_Utils.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/nv_ios_http_status.framework/Headers" OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/AFNetworking.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Bolts.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/CocoaSecurity.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/CodFis_Helper.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/DJLocalization.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Expecta.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Expecta_Snapshots.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKCoreKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKLoginKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKShareKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSnapshotTestCase.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/JRSwizzle.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NACrypto.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSDate_Utils.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSString_Helper.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSUserDefaults_AESEncryptor.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PEAR_FileManager_iOS.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PNObject.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Specta.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/StrongestPasswordValidator.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIDevice_Utils.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/nv_ios_http_status.framework/Headers"
OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "Bolts" -framework "CocoaSecurity" -framework "CodFis_Helper" -framework "Expecta" -framework "Expecta_Snapshots" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "FBSnapshotTestCase" -framework "NACrypto" -framework "NSDate_Utils" -framework "NSString_Helper" -framework "NSUserDefaults_AESEncryptor" -framework "PEAR_FileManager_iOS" -framework "PNObject" -framework "Specta" -framework "StrongestPasswordValidator" -framework "UIDevice_Utils" -framework "nv_ios_http_status" OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "Bolts" -framework "CocoaSecurity" -framework "CodFis_Helper" -framework "DJLocalization" -framework "Expecta" -framework "Expecta_Snapshots" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "FBSnapshotTestCase" -framework "JRSwizzle" -framework "NACrypto" -framework "NSDate_Utils" -framework "NSString_Helper" -framework "NSUserDefaults_AESEncryptor" -framework "PEAR_FileManager_iOS" -framework "PNObject" -framework "Specta" -framework "StrongestPasswordValidator" -framework "UIDevice_Utils" -framework "nv_ios_http_status"
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-PNObject_Tests PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-PNObject_Tests
PODS_ROOT = ${SRCROOT}/Pods PODS_ROOT = ${SRCROOT}/Pods

View File

@ -1,8 +1,8 @@
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/AFNetworking.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Bolts.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/CocoaSecurity.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/CodFis_Helper.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Expecta.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Expecta_Snapshots.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKCoreKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKLoginKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKShareKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSnapshotTestCase.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NACrypto.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSDate_Utils.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSString_Helper.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSUserDefaults_AESEncryptor.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PEAR_FileManager_iOS.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PNObject.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Specta.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/StrongestPasswordValidator.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIDevice_Utils.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/nv_ios_http_status.framework/Headers" OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/AFNetworking.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Bolts.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/CocoaSecurity.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/CodFis_Helper.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/DJLocalization.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Expecta.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Expecta_Snapshots.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKCoreKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKLoginKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSDKShareKit.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSnapshotTestCase.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/JRSwizzle.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NACrypto.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSDate_Utils.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSString_Helper.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/NSUserDefaults_AESEncryptor.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PEAR_FileManager_iOS.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/PNObject.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Specta.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/StrongestPasswordValidator.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIDevice_Utils.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/nv_ios_http_status.framework/Headers"
OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "Bolts" -framework "CocoaSecurity" -framework "CodFis_Helper" -framework "Expecta" -framework "Expecta_Snapshots" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "FBSnapshotTestCase" -framework "NACrypto" -framework "NSDate_Utils" -framework "NSString_Helper" -framework "NSUserDefaults_AESEncryptor" -framework "PEAR_FileManager_iOS" -framework "PNObject" -framework "Specta" -framework "StrongestPasswordValidator" -framework "UIDevice_Utils" -framework "nv_ios_http_status" OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "Bolts" -framework "CocoaSecurity" -framework "CodFis_Helper" -framework "DJLocalization" -framework "Expecta" -framework "Expecta_Snapshots" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "FBSDKShareKit" -framework "FBSnapshotTestCase" -framework "JRSwizzle" -framework "NACrypto" -framework "NSDate_Utils" -framework "NSString_Helper" -framework "NSUserDefaults_AESEncryptor" -framework "PEAR_FileManager_iOS" -framework "PNObject" -framework "Specta" -framework "StrongestPasswordValidator" -framework "UIDevice_Utils" -framework "nv_ios_http_status"
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-PNObject_Tests PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-PNObject_Tests
PODS_ROOT = ${SRCROOT}/Pods PODS_ROOT = ${SRCROOT}/Pods

View File

@ -8,7 +8,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "PNObject" s.name = "PNObject"
s.version = "0.5.1" s.version = "0.5.3"
s.summary = "PNObject is a simple replica of the more complex ParseObject" s.summary = "PNObject is a simple replica of the more complex ParseObject"
# This description is used to generate tags and improve search results. # This description is used to generate tags and improve search results.
@ -44,6 +44,7 @@ s.dependency 'FBSDKShareKit'
s.dependency 'FBSDKLoginKit' s.dependency 'FBSDKLoginKit'
s.dependency 'NACrypto' s.dependency 'NACrypto'
s.dependency 'NSUserDefaults-AESEncryptor' s.dependency 'NSUserDefaults-AESEncryptor'
s.dependency 'DJLocalization'
end end

View File

@ -21,7 +21,14 @@
*/ */
+ (instancetype _Nonnull)currentInstallation; + (instancetype _Nonnull)currentInstallation;
- (void)setDeviceTokenFromData:(nullable NSData *)deviceTokenData; /**
* <#Description#>
*
* @param deviceTokenData <#deviceTokenData description#>
*
* @return RETURN YES if token is not set o token changes, NO if token is the same of old token.
*/
- (BOOL) setDeviceTokenFromData:(nullable NSData *)deviceTokenData;
///-------------------------------------- ///--------------------------------------
#pragma mark - PNInstallation Properties #pragma mark - PNInstallation Properties
@ -51,6 +58,10 @@
* <#Description#> * <#Description#>
*/ */
@property (nonatomic, strong, readonly, nullable) NSString *deviceToken; @property (nonatomic, strong, readonly, nullable) NSString *deviceToken;
/**
* <#Description#>
*/
@property (nonatomic, strong, readonly, nullable) NSString *oldDeviceToken;
/** /**
* <#Description#> * <#Description#>
*/ */

View File

@ -7,6 +7,7 @@
// //
#import "PNInstallation.h" #import "PNInstallation.h"
#import "DJLocalization.h"
@interface PNInstallation() <PNObjectSubclassing> @interface PNInstallation() <PNObjectSubclassing>
@ -33,6 +34,7 @@ static bool isFirstAccess = YES;
@"deviceName":@"deviceName", @"deviceName":@"deviceName",
@"osVersion":@"osVersion", @"osVersion":@"osVersion",
@"deviceToken":@"deviceToken", @"deviceToken":@"deviceToken",
@"oldDeviceToken":@"oldDeviceToken",
@"badge":@"badge", @"badge":@"badge",
@"localeIdentifier":@"localeIdentifier", @"localeIdentifier":@"localeIdentifier",
}; };
@ -40,11 +42,11 @@ static bool isFirstAccess = YES;
} }
+ (NSString *)objectClassName { + (NSString *)objectClassName {
return @"Installation"; return @"PNInstallation";
} }
+ (NSString *)objectEndPoint { + (NSString *)objectEndPoint {
return @"Installation"; return @"PNInstallation";
} }
+ (BOOL) singleInstance { + (BOOL) singleInstance {
@ -61,13 +63,15 @@ static bool isFirstAccess = YES;
dispatch_once(&onceToken, ^{ dispatch_once(&onceToken, ^{
isFirstAccess = NO; isFirstAccess = NO;
INSTALLATION = [[super allocWithZone:NULL] init]; INSTALLATION = [[super allocWithZone:NULL] initForCurrentInstallation];
}); });
return INSTALLATION; return INSTALLATION;
} }
- (void)setDeviceTokenFromData:(NSData *)deviceTokenData { - (BOOL) setDeviceTokenFromData:(NSData *)deviceTokenData {
BOOL response = NO;
_deviceTokenData = deviceTokenData; _deviceTokenData = deviceTokenData;
@ -76,14 +80,22 @@ static bool isFirstAccess = YES;
stringByReplacingOccurrencesOfString:@">" withString:@""] stringByReplacingOccurrencesOfString:@">" withString:@""]
stringByReplacingOccurrencesOfString: @" " withString: @""]; stringByReplacingOccurrencesOfString: @" " withString: @""];
if (!_deviceToken || (_deviceToken && ![ptoken isEqualToString:_deviceToken])) {
response = YES;
}
_oldDeviceToken = _deviceToken;
_deviceToken = ptoken; _deviceToken = ptoken;
return response;
} }
#pragma mark - #pragma mark -
#pragma mark Private Methods #pragma mark Private Methods
- (id) init - (id) initForCurrentInstallation
{ {
if(INSTALLATION){ if(INSTALLATION){
return INSTALLATION; return INSTALLATION;
@ -95,7 +107,10 @@ static bool isFirstAccess = YES;
NSDictionary *savedInstallation = [[PNObjectModel sharedInstance] fetchObjectsWithClass:[self class]]; NSDictionary *savedInstallation = [[PNObjectModel sharedInstance] fetchObjectsWithClass:[self class]];
if (savedInstallation) { if (savedInstallation) {
self = [super initWithLocalJSON:savedInstallation];
Class objectClass = NSClassFromString([[self class] PNObjClassName]);
self = [[objectClass alloc] initWithLocalJSON:savedInstallation];
} }
else { else {
self = [super init]; self = [super init];
@ -107,9 +122,12 @@ static bool isFirstAccess = YES;
_deviceModel = [[UIDevice currentDevice] model]; _deviceModel = [[UIDevice currentDevice] model];
_osVersion = [[UIDevice currentDevice] systemVersion]; _osVersion = [[UIDevice currentDevice] systemVersion];
_deviceName = [[UIDevice currentDevice] name]; _deviceName = [[UIDevice currentDevice] name];
_localeIdentifier = [[DJLocalizationSystem shared] language];
INSTALLATION = self;
} }
return self; return INSTALLATION;
} }
#pragma mark - #pragma mark -

View File

@ -82,7 +82,7 @@ static bool isFirstAccess = YES;
if (USER) { if (USER) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
[self autoLogin]; [self autoLogin];
}); });
} }