How do I cause/create conflicting versions within a unit test?
这个基本原理归结为:如何在不通过iCloud手动完成冲突的情况下引发冲突?由于这仅用于测试目的,我不关心使用私有API或直接入侵系统 – 只要结果是NSFiLeversion的unresolvedConflictVersionsOfItemAtURL报告的冲突.任何建议都将受到高度赞赏!
马克斯
解决方法 您可以使用自己的版本修补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 ] ;@H_502_0@ 总结
以上是内存溢出为你收集整理的cocoa – 自动创建冲突的NSFileVersions全部内容,希望文章能够帮你解决cocoa – 自动创建冲突的NSFileVersions所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)