Это меня озадачивает. Я использовал методы класса на NSURLConnection
без проблем, но я застрял с +[NSURLSession sessionWithConfiguration:delegate:delegateQueue:]
.Can hook + [NSURLSession sessionWithConfiguration: delegate: delegateQueue:], но вызов% orig дает «непризнанный селектор»
Я даже пытался войти все методы класса с class_copyMethodList (object_getClass([NSURLSession class]), &count);
и методами класса на самом деле есть: sessionWithConfiguration:delegate:delegateQueue: initialize
И странная вещь крюк делает дозвонился, так что я думаю, что мы получили это право. Вызов %orig()
и просто передавая параметры вниз выходов:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NSURLSession sessionWithConfiguration:delegate:delegateQueue:]: unrecognized selector sent to class 0x1919932b8'
Вот крюк:
+ (NSURLSession *)sessionWithConfiguration:(NSURLSessionConfiguration *)configuration
delegate:(id<NSURLSessionDelegate>)delegate
delegateQueue:(NSOperationQueue *)queue
{
NSURLSession *origResult = %orig(configuration, delegate, queue);
return origResult;
}
Могу ли я что-нибудь не хватает?
Детали установки: rpetrich's Theos Mac OS X 10.9.5 IPad Air 1 IOS 7.1.2
Проблемы: 1. В случае использования 'SessionWithConfiguration'' DelegateQueue' это не скомпилируется, потому что этот метод не находится нигде или он должен находиться в другом заголовке? 2. Если вы имели в виду 'sessionWithConfiguration'' delegateQueue'. Это будет вызвано вызовом, который навсегда рекурсивно, потому что он просто называет себя. 3. Самостоятельно не может использоваться в методе класса, только в методе экземпляра. – radj
просто перейдите по этой ссылке http://qiita.com/aKentaKoyama/items/96a979ab3a140e7b39ec – vishnu