Я создал проект настройки, используя теос rpetrich, и хотел перехватить методы NSURLSession, но перехватчики, похоже, не получают вызывается? Почему? Это мой код Tweak.xm:
%hook NSURLSession
- (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request
completionHandler:(void (^)(NSData *data, NSURLResponse *response, NSError *error))completionHandler
{
NSLog(@"testhook dataTaskWithRequest:completionHandler:");
return %orig(request, completionHandler);
}
- (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request
{
NSLog(@"testhook dataTaskWithRequest");
return %orig(request);
}
%end
%hook NSMutableURLRequest
+ (id)requestWithURL:(NSURL *)URL
{
NSLog(@"testhook NSMutableURLRequest");
return %orig(URL);
}
%end
Я добавил хук NSMutableURLRequest
, чтобы убедиться, что файл и весь твик загружаются. Я могу убедиться, что он перехватывает requestWithURL:
, но не любой из методов NSURLSession. Я тестирую код из NSURLSessionExample.
Чего здесь не хватает? Кто-нибудь успешно подключил NSURLSession?
{ Filter = { Bundles = ( "com.ravi.NSURLSessionExample" ); }; }
, который является идентификатором пакета тестового приложения. ХукNSMutableRequest
сработал, так что я правильно понял фильтр? Я добавил тегlogos
. Я все равно поставилtheos
, так какlogos
является подкомпонентомtheos
. - person radj   schedule 05.11.2014