Сборка и ссылка на динамическую библиотеку iOS 6.1

Я пытаюсь создать динамическую библиотеку для iOS и загрузить ее во время выполнения. После взгляда наэтот вопрос а такжеэтот ответЯ делал это с помощью iOSOpenDev и развертывал все на моем iPhone. Проект xCode для dylib называется KDylibTwo, и я изменил следующие файлы:

KDylibTwo.h

#import 

@interface KDylibTwo : NSObject
-(void)run;
@end

KDylibTwo.m

#import "KDylibTwo.h"

@implementation KDylibTwo

-(id)init
{
    if ((self = [super init]))
    {
    }

    return self;
}

-(void)run{
    NSLog(@"KDylibTwo loadded.");
}

@end

Чтобы проверить, работает ли моя библиотека, после сборки ее для профилирования (способ, которым iOSOpenDev развертывает ее на iPhone), я могу найти ее на моем устройстве по адресу/usr/lib/libKDylibTwo.dylib и построил твик (снова используя iOSOpenDev), подключив SpringBoard следующим образом:

#include 

%hook SBApplicationIcon

-(void)launch{
    NSLog(@"\n\n\n\n\n\n\nSBHook For libKDylibTwo.dylib");

    void* dylibLink = dlopen("/usr/lib/libKDylibTwo.dylib", RTLD_NOW);

    if(dylibLink == NULL) {
        NSLog(@"Loading failed.");
    } else {
        NSLog(@"Dylib loaded.");

        void (*function)(void);
        *(void **)(&function) = dlsym(dylibLink, "run");
        if (function) {
            NSLog(@"Function found.");
            (*function)();
        } else {
            NSLog(@"Function NOT found");
        }
    }

    NSLog(@"End of code");
    %log;
    %orig;
}

%end

После установки твика на устройстве и нажатия на иконку (которая запустит перехваченный код) вывод консоли выглядит следующим образом:

Aug 28 13:03:35 Pudge SpringBoard[18254] : SBHook For libKDylibTwo.dylib
Aug 28 13:03:35 Pudge SpringBoard[18254] : Dylib loaded.
Aug 28 13:03:35 Pudge SpringBoard[18254] : Function NOT found
Aug 28 13:03:35 Pudge SpringBoard[18254] : End of code
Aug 28 13:03:35 Pudge SpringBoard[18254] : -[ launch]

Мой вопрос в том, что я делаю не так и в библиотеке »Функция s не вызывается и не выполняется! Я думаю, что я должен уточнить, что я говорю только о взломанных устройствах, а не о разработке App Store, поэтому, пожалуйста, нене публиковать, что это не может быть сделано!

Заранее спасибо,

Panagiotis.I»

Ответы на вопрос(2)

Ваш ответ на вопрос