Fixed importing with a different key and entity access after MOC changes.
[FIXED] Importing stored content when not logged in with the same key. [FIXED] Holding entities is a bad idea when MOCs can change. Holding ObjectIDs instead now.
This commit is contained in:
parent
d429044f64
commit
479d357bd1
Binary file not shown.
@ -26,9 +26,9 @@
|
|||||||
*
|
*
|
||||||
**/
|
**/
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
#define CLS_LOG(__FORMAT__, ...) CLSNSLog((@"%s line %d $ " __FORMAT__), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
|
#define CLS_LOG(__FORMAT__, ...) CLSNSLog((@"%s line %d $ " __FORMAT__), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
|
||||||
#else
|
#else
|
||||||
#define CLS_LOG(__FORMAT__, ...) CLSLog((@"%s line %d $ " __FORMAT__), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
|
#define CLS_LOG(__FORMAT__, ...) CLSLog((@"%s line %d $ " __FORMAT__), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -37,15 +37,15 @@
|
|||||||
* and will only be visible in your Crashlytics dashboard.
|
* and will only be visible in your Crashlytics dashboard.
|
||||||
*
|
*
|
||||||
**/
|
**/
|
||||||
void CLSLog(NSString *format, ...);
|
OBJC_EXTERN void CLSLog(NSString *format, ...);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Add logging that will be sent with your crash data. This logging will show up in the system.log
|
* Add logging that will be sent with your crash data. This logging will show up in the system.log
|
||||||
* and your Crashlytics dashboard. It is not reccomended for Release builds.
|
* and your Crashlytics dashboard. It is not recommended for Release builds.
|
||||||
*
|
*
|
||||||
**/
|
**/
|
||||||
void CLSNSLog(NSString *format, ...);
|
OBJC_EXTERN void CLSNSLog(NSString *format, ...);
|
||||||
|
|
||||||
@protocol CrashlyticsDelegate;
|
@protocol CrashlyticsDelegate;
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>FMWK</string>
|
<string>FMWK</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>1.1.5</string>
|
<string>1.1.7</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleSupportedPlatforms</key>
|
<key>CFBundleSupportedPlatforms</key>
|
||||||
@ -25,7 +25,7 @@
|
|||||||
<string>iPhoneOS</string>
|
<string>iPhoneOS</string>
|
||||||
</array>
|
</array>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>0101.05.00</string>
|
<string>0101.07.00</string>
|
||||||
<key>CrashlyticsAPIKey</key>
|
<key>CrashlyticsAPIKey</key>
|
||||||
<string>0d10c90776f5ef5acd01ddbeaca9a6cba4814560</string>
|
<string>0d10c90776f5ef5acd01ddbeaca9a6cba4814560</string>
|
||||||
<key>DTCompiler</key>
|
<key>DTCompiler</key>
|
||||||
|
@ -7,12 +7,16 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import "MPAppDelegate_Shared.h"
|
#import "MPAppDelegate_Shared.h"
|
||||||
|
#import "MPAppDelegate_Store.h"
|
||||||
|
|
||||||
|
@interface MPAppDelegate_Shared ()
|
||||||
|
|
||||||
|
@property (strong) NSManagedObjectID *activeUserID;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
@implementation MPAppDelegate_Shared
|
@implementation MPAppDelegate_Shared
|
||||||
|
|
||||||
@synthesize key;
|
|
||||||
@synthesize activeUser;
|
|
||||||
|
|
||||||
+ (MPAppDelegate_Shared *)get {
|
+ (MPAppDelegate_Shared *)get {
|
||||||
|
|
||||||
#if TARGET_OS_IPHONE
|
#if TARGET_OS_IPHONE
|
||||||
@ -41,4 +45,14 @@
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (MPUserEntity *)activeUser {
|
||||||
|
|
||||||
|
return (MPUserEntity *)[self.managedObjectContextIfReady objectWithID:self.activeUserID];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setActiveUser:(MPUserEntity *)activeUser {
|
||||||
|
|
||||||
|
self.activeUserID = activeUser.objectID;
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
@ -185,6 +185,7 @@
|
|||||||
if (!key)
|
if (!key)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
assert([key.keyID isEqualToData:self.user.keyID]);
|
||||||
[self setContent:content usingKey:key];
|
[self setContent:content usingKey:key];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -209,7 +210,7 @@
|
|||||||
- (void)setContent:(id)content usingKey:(MPKey *)key {
|
- (void)setContent:(id)content usingKey:(MPKey *)key {
|
||||||
|
|
||||||
assert(self.type & MPElementTypeClassStored);
|
assert(self.type & MPElementTypeClassStored);
|
||||||
assert([key.keyID isEqualToData:self.user.keyID]);
|
assert(key);
|
||||||
|
|
||||||
NSData *encryptedContent = [[content description] encryptWithSymmetricKey:[key subKeyOfLength:PearlCryptKeySize].keyData padding:YES];
|
NSData *encryptedContent = [[content description] encryptWithSymmetricKey:[key subKeyOfLength:PearlCryptKeySize].keyData padding:YES];
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user