Создание Dynamic Framework Xcode - PullRequest
       1

Создание Dynamic Framework Xcode

0 голосов
/ 05 октября 2019

Я пытаюсь создать динамический каркасный проект, который я могу использовать для внедрения кода и для целей обратного инжиниринга.

Мне удалось внедрить код с использованием файла Objective C "(.m)"файл.

#import <Foundation/Foundation.h>
#import "CodeInjection-Swift.h" // This line gives error.

@interface CodeInjection: NSObject
@end

@implementation CodeInjection

static void __attribute__((constructor)) initialize(void){
    NSLog(@"==== Code Injection in Action lolz====");
    [[CodeInjectionSwift shared] performTask];
}

@end

У меня также есть файл с именем "CodeInjectionSwift.swift"

import Foundation
import NetworkInterceptor

@objc class CodeInjectionSwift: NSObject {
    @objc public static let shared = CodeInjectionSwift()

    override private init(){}

    @objc func performTask(){
        let requestSniffers: [RequestSniffer] = [
            RequestSniffer(requestEvaluator: AnyHttpRequestEvaluator(), handlers: [
                SniffableRequestHandlerRegistrable.console(logginMode: .nslog).requestHandler()
                ])
        ]

        let requestRedirectors: [RequestRedirector] = [
            RequestRedirector(requestEvaluator: DomainHttpRequestEvaluator(domain: "www.antennahouse.com"), redirectableRequestHandler: AlternateUrlRequestRedirector(url: URL(string: "https://www.rhodeshouse.ox.ac.uk/media/1002/sample-pdf-file.pdf")!))
        ]

        let networkConfig = NetworkInterceptorConfig(requestSniffers: requestSniffers,
                                                     requestRedirectors: requestRedirectors)
        NetworkInterceptor.shared.setup(config: networkConfig)
        NetworkInterceptor.shared.startRecording()
    }
}

Если я избавлюсь от #import "CodeInjection-Swift.h" и строки [[CodeInjectionSwift shared] performTask];

NSLog печатает и может успешно строить. Мне сказали, что я должен импортировать файл -Swift.h, чтобы использовать классы swift в CondeInjection-swift.h

Сообщение об ошибке

"- Swift.h не найден"

enter image description here

Моя цель - создать среду и использовать функциональность CodeInjectionSwift, которая использует import NetworkInterceptor

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...