+unresolvedConflictVersionsOfItemAtURL
競合するバージョンの配列を返す独自のバージョンでパッチを適用できます。
#import <objc/runtime.h>
static IMP __originalUnresolvedConflictVersionIMP = NULL ;
static NSArray * MyNSFileVersionUnresolvedConflictVersions( id self, SEL _cmd, NSURL * url )
{
// this code just calls the original implementation...
// You can return an array of conflicting NSFileVersion objects instead...
NSLog(@"%s called\n", __PRETTY_FUNCTION__ ) ;
return (*__originalUnresolvedConflictVersionIMP)( self, _cmd, url ) ;
}
@implementation NSFileVersion (Test)
+(void)load
{
__originalUnresolvedConflictVersionIMP = class_replaceMethod( objc_getMetaClass( "NSFileVersion") , @selector( unresolvedConflictVersionsOfItemAtURL: ), (IMP)MyNSFileVersionUnresolvedConflictVersions, "@@:@" ) ;
}
@end
それは続けるのに十分ですか?私は最初に私の代わりの「方法」でこれを試すかもしれません:
return [ [ self otherVersionsOfItemAtURL:url ] lastObject ] ;