IBAction делает ошибки при компиляции theos

Я новичок в программировании на Objective-C и хочу сделать простую настройку VLC для iOS.app, но не могу скомпилировать. Вот мой код:

#import <UIKit/UIKit.h>

%hook VLCMovieViewController

-(IBAction)playPause
{
    if([_mediaPlayer isPlaying]) {
        UIAlertView *pause = [[UIAlertView alloc] initWithTitle:@"PAUSED" message:@"Your movie is paused" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK !", nil];
        [_listPlayer pause];
        [pause show];
        [pause release];
    }
    else
    {
        UIAlertView *play = [[UIAlertView alloc] initWithTitle:@"PLAYING" message:@"Your movie is playing" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK !", nil];
        [_listPlayer play];
        [play show];
        [play release];
    }
}

%end

Я не нахожу ошибок в своих кодах, но когда я пытаюсь скомпилировать, theos возвращает мне ошибку:

Preprocessing Tweak.xm...
Compiling Tweak.xm...
Tweak.xm:6:8: error: expected unqualified-id
static IBAction (*_logos_orig$_ungrouped$VLCMovieViewController$playPause)(VLCMovieViewController*, SEL); s...
       ^
<built-in :24:22: note: expanded from here
#define IBAction void)__attribute__((ibaction)
                     ^
1 error generated.
make[2]: *** [obj/Tweak.xm.708dff35.o] Error 1
make[1]: *** [internal-library-all_] Error 2
make: *** [VLCTweak.all.tweak.variables] Error 2

Есть ли у вас какие-либо подсказки, чтобы заставить его работать?

Спасибо заранее


person faku    schedule 26.01.2014    source источник


Ответы (1)


Вам не нужно использовать IBAction с Theos, так как вы не используете Interface Builder. IBAction — это всего лишь способ указать Xcode и Interface Builder связать элементы пользовательского интерфейса с вашим кодом. Замена -(IBAction)playPause на -(void)playPause должна работать

person Cl3ment    schedule 29.01.2014