小白求助hook私有api头文件的问题

我要去hook私有库StoryKitUI.framework的一个SKUIViewController对象,我一直不知道如何hook私有api,我的做法是把私有库的头文件放到theos的include目录下,然后在makefile的PRIVATE_FRAMEWORKS加上私有库名,但是SKUIViewController依赖很多头文件,特别的在SKUIViewController中#import “UIViewController.h”,这个时候就报错UIViewController.h找不到UIViewController是公有库UIKit.framework的,这个时候该怎么处理?我是又把UIKit的头文件放到theos的include目录下了,但是SKUIViewController中#import了很多delegate的头文件,可是这些delegate的头文件的名字和delegate不一样,这样就会抱SKUIViewController找不到xxxdelegate.h,然后我又把#import后面改称了delegate的头文件名,但是这里面又#import了objc的NSObject.h。。。。。反正是抱什么错我就去改什么添加什么头文件,结果后面错误越来越多,我越来越感觉这么做是不对的。。。。。。。小白是在不晓得咋弄了,请各位大神指点。。

单纯hook的话,是不需要做任何配置的,6行代码搞定:

%hook YourTargetClass
- (void)yourTargetMethod
{
    NSLog(@"hello world");
}
%end

可是我要访问hook对象的成员啊 而且是访问viewController的view上面的某个视图对象,还不是属性,单纯hook是可以,访问就报错。

#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>

%hook SKUIIPhoneProductPageViewController
- (void)viewDidLoad
{
   %orig;
   UIView *rootViewF=[self.view subviews][1];
   UIView *productTableView=[rootViewF subviews][0];
   UIView *productHeadView=[productTableView subviews][2];
   UIButton *buybtn=(UIButton *)[productHeadView subviews][5];
   NSLog(@"%@",buybtn);
}
%end


Making all for tweak HookAppStore...
 Preprocessing HookAppStoreTweak.xm...
 Compiling HookAppStoreTweak.xm...
HookAppStoreTweak.xm:8:27: error: member access into incomplete type
      'SKUIIPhoneProductPageViewController'
   UIView *rootViewF=[self.view subviews][1];
                                      ^
HookAppStoreTweak.xm:6:8: note: forward declaration of class here
@class SKUIIPhoneProductPageViewController; 
           ^
1 error generated.
make[2]: *** [obj/HookAppStoreTweak.xm.88c55b9c.o] Error 1
make[1]: *** [internal-library-all_] Error 2

那你的问题就不是hook私有API,而是访问私有类的对象,问题没有描述清楚啊!
另外,你的

[self.view subviews][1]

是什么语法?你要表达的是不是

[self.view subviews] objectAtIndex:1]

是这个意思 这个语法没问题 现在oc的数组可以用array来访问数组对象 呃 之后要hook私有api 这里还没有