Описание тега method-swizzling
Замена метода - это процесс изменения реализации существующего метода.
0
ответов
Objective-c во время выполнения перечисляет все методы класса, включая Swizzled
Меня интересуют в основном изворотливые методы. Я пытался это Есть ли способ перечислить все методы Swizzled в приложении для iOS? но зависимость не работает. Есть ли способ грубой силы просто перечислить все классы и методы для сравнения?
27 фев '17 в 11:39
0
ответов
Идентификаторы класса Objective-C имеют префикс objc_class_ вместо _OBJC_CLASS_$_
Я пытаюсь использовать некоторые методы в приложении, созданном с помощью Objective-C. Я получаю эту ошибку: Symbol not found: _OBJC_CLASS_$_IASAvatarViewController После открытия исполняемого файла в Hopper, я вижу, что все классы имеют префикс obj…
10 янв '15 в 23:19
0
ответов
Как найти оригинальную реализацию метода, когда множественный метод метит
например, если источник IMP UIViewController - ViewDidLoad - Вопрос: В моем проекте может понравиться main Project + many other SDK(frameworks), если другой член команды борется с тем же методом, как UIViewController - ViewDidLoad, и я, как убедитьс…
29 окт '18 в 08:57
1
ответ
IOS Swizzle лучше понять
У меня есть UIViewController с этим кодом: - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; NSLog(@"CLASIC"); } А потом у меня есть фреймворк с категорией UIViewController, который делает свистлинг следующим образом: + (void)lo…
07 ноя '18 в 11:34
0
ответов
Метод Swizzling в ObjC SDK
Я работаю над написанием нового HTTP Library своего рода SDK. Для реализации сквозных задач мы планируем написать поддержку промежуточного программного обеспечения, похожую на C#, т.е. механизм обработки повторных попыток, перенаправления, ведения ж…
01 авг '18 в 07:21
2
ответа
Как прокрутить метод init класса NSURLConnection
Я хочу swizzle init init метод класса NSURLConnection, и я пробовал этот код, но он не работает для меня extension NSURLConnection{ public override class func initialize() { struct Static { static var token: dispatch_once_t = 0 } dispatch_once(&…
22 фев '16 в 08:10
0
ответов
Попытка обмануть программное обеспечение macOS для работы на High Sierra
Итак, у меня есть программное обеспечение, которое перестало работать после того, как я обновился до High Sierra. Не было выпущено никакой новой версии программного обеспечения, поэтому я не могу получить новую поддерживаемую версию. То, что я хочу …
30 апр '18 в 22:36
2
ответа
Использование dispatch_once в методе swizzling
В статье NSHipter о методе swizzling говорится, что "Swizzling всегда должен выполняться в dispatch_once". Почему это необходимо, так как + загрузка происходит только один раз на класс?
03 апр '15 в 16:13
1
ответ
Как правильно выпить с method_setImplementation()?
Я пытаюсь понять, как правильно пить, используя method_setImplementation(), До сих пор в Интернете я видел два преимущественно популярных метода метода Swizzle, один раз использующий method_setImplementation() в то время как другие levarages method_…
29 дек '15 в 07:46
0
ответов
Заменить (swizzle) весь класс (со всеми экземплярами и статическими методами) в Objective-C
Я новичок в методе Swizzling, и теперь я хотел бы сделать немного больше с этим на iOS: есть ли простой / элегантный способ в Objective-C перенаправить все вызовы существующего класса (ClassA) в другой класс (ClassB) при условии, что он имеет точно …
30 ноя '18 в 14:21
1
ответ
Цель C - В чем разница между IMP и указателем на функцию?
Я недавно запустил проект, в котором мне нужно заняться алкоголем. Пройдя много уроков, я получил вопрос: в чем разница между реализацией и указателем на функцию?
30 дек '15 в 04:50
1
ответ
Является ли метод извращением, а Иза - одним и тем же?
Является ли метод извращением, а Иза - одним и тем же? Если нет, то что такое свист?
10 авг '16 в 15:18
2
ответа
Метод swizzling для собственности в swift
Пока можно заменить setMyProperty: метод в obj-c, мне интересно, как это сделать в swift? Например я хочу заменить UIScrollView::setContentOffset:: let originalSelector: Selector = #selector(UIScrollView.setContentOffset) let replaceSelector: Select…
04 авг '16 в 22:17
1
ответ
Метод Swizzling в Swift 4
Swizzling в Swift 4 больше не работает. Method 'initialize()' defines Objective-C class method 'initialize', which is not permitted by Swift Это то, что я нашел решение, поэтому хотел оставить вопросы и ответить для других.
22 сен '17 в 09:15
1
ответ
Модульное тестирование синглтона: макет и пьянство
В настоящее время я пытаюсь протестировать некоторый код, который использует AVAudioSession и мои попытки издеваться над ним, потому что это единственный, оказались до сих пор трудными, и я провел небольшое исследование и натолкнулся на идею о том, …
17 апр '15 в 02:37
1
ответ
Есть ли способ перечислить все методы Swizzled в приложении для iOS?
По сути, я ищу способ определить, когда / какие сторонние библиотеки переполнены. Недавно я столкнулся с ситуацией, когда в рекламной библиотеке использовался странный форк AFNetworking. AFNetworking кружит NSURLSessionTask, и эти два кружка не игра…
20 июл '16 в 18:35
0
ответов
Заменить реализацию метода в Android с помощью отражения / загрузчика классов
В настоящее время я занимаюсь исследованием методов манипулирования во время выполнения в мобильных приложениях. На платформе iOS я легко могу выполнить метод перебора методов, вызывая функции библиотеки времени выполнения target-c, такие как class_…
24 окт '16 в 18:56
1
ответ
Почему этот метод UIViewController Swizzling не работает?
Я пытаюсь использовать пример кода NSHipster Fake Book для viewWillAppear: метод UIViewController. Но похоже, что это не работает ожидаемо, так как xxx_viewWillAppear: метод никогда не вызывался. Я просто не могу понять почему. Пожалуйста, помогите …
19 авг '18 в 16:53
3
ответа
Метод Swizzling, чтобы сохранить чистоту реализации класса
Я нахожусь в ситуации, когда один из viewControllers моего приложения становится довольно большим, особенно потому, что я добавил "Состояние учебника", которое добавляет другую реализацию для многих методов этого класса, которые я контролирую, прове…
12 июн '15 в 09:41
1
ответ
UIViewController метод Swizzling не работает
Я использую категорию на UIViewController, чтобы переключить viewWillAppear: метод через несколько ViewController. @implementation UIViewController (Tracking) +(void)load { static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ Class cla…
04 янв '17 в 21:14