あなたが競合したバージョンの配列を返す独自のバージョンで+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 ] ;
公開方法がないようです。私は今、レーダーを提出しました:[rdar:// 12196293](http://openradar.appspot.com/12196293)。どんな*ハックの提案も*まだ評価されるでしょう。 –