美文网首页
在ipa功能包中加入授权

在ipa功能包中加入授权

作者: JoeTong | 来源:发表于2018-08-01 17:16 被阅读414次

用代码编译出包libqqKernel,还有一些其他的东西 codeObfuscationHead、commonHeader等

然后

//====授权相关

@class AuthInfo,AuthorSystem;

AuthorSystem*theAuthSystem;//授权系统的对象

//授权是否成功

BOOLAccessKey=NO;

char* rightAuth;

NSString* rightAuthStr;

//授权信息

NSString* ccAuthCode;

char* ccState;

char* ccTime;

staticvoidinitTheAuth()__attribute__((always_inline));

staticinlinevoidinitTheAuth() {

    NSLog(@"授权1");

    if(!theAuthSystem) {

        NSLog(@"授权2");

        dispatch_async ( dispatch_get_main_queue(), ^ {

            void(^authBlock)(NSString*auth,NSString*state,NSString*time,char* lastStr) = ^void(NSString*auth,NSString*state,NSString*time,char* lastStr) {

                NSLog(@"授权回调---打印--1");

                ccAuthCode = auth;//(char *)[auth cStringUsingEncoding:NSASCIIStringEncoding];

                rightAuth= lastStr;

                ccState = (char *)[state cStringUsingEncoding:NSASCIIStringEncoding];

                //ccTime = (char *)[time cStringUsingEncoding:NSASCIIStringEncoding];

                NSLog(@"授权回调---打印:%@;%s;time=%@,lastStr=%s",ccAuthCode,ccState,time,rightAuth);

                if(lastStr ==NULL) {

                    rightAuthStr=@"s";

                    NSLog(@"lastStr 是 null");

                }else{

                    //。。。。

                    rightAuthStr = [[NSString alloc] initWithCString:(const char*)lastStr encoding:NSASCIIStringEncoding];

                }

                //如果state=true

                BOOLbstate = [stateisEqualToString:[NSStringstringWithFormat:@"%s",(char[]){'t','r','u','e',0}]];

                if(bstate)

                {

                    NSLog(@"新授权---授权成功---111--2");

                    //授权成功

                    NSUserDefaults*appBox = [NSUserDefaultsstandardUserDefaults];

                    [appBoxsetValue:ccAuthCodeforKey:@"ccAuthCode"];

                    AccessKey=YES;

                    //theAuthSystem.canuse = YES;

                    // NSLog(@"新授权---授权成功---111--AccessKey = %d, 授权状态:%d" , AccessKey, theAuthSystem.canuse);

                }else{

                    NSUserDefaults*appBox = [NSUserDefaultsstandardUserDefaults];

                    [appBoxsetValue:@""forKey:@"ccAuthCode"];

                    //本地授权失效,删除

                    NSLog(@"授权失败,闪退");

                    //授权失败,闪退

                    dispatch_after (dispatch_time ( DISPATCH_TIME_NOW , 60 * NSEC_PER_SEC ), dispatch_get_main_queue () , ^ {

                        //NSLog(@"测试无授权---1");

                        NSMutableArray* tmp = [[NSMutableArrayalloc]init];

                        [tmpaddObject:@"z"];

                        [tmpaddObject:@"b"];

                        for(inti=0; i

                            //NSLog(@"测试无授权---1.1");

                            [tmpremoveObjectAtIndex:i];

                        }

                        UIWindow*window = [UIApplicationsharedApplication].delegate.window;

                        [UIViewanimateWithDuration:1.0fanimations:^{

                            window.alpha=0;

                            window.frame=CGRectMake(0, window.bounds.size.width,0,0);

                        }completion:^(BOOLfinished) {

                            exit(0);

                        }];

                        //NSLog(@"测试无授权---2");

                    });

                    //MHKKS7EC1BDCFEBBF65BCBEB4

                    //NSLog(@"测试无授权---3");

                }

                NSString*msg = bstate ?@"成功":@"失败";

                [AuthorSystemshowMessageWithFrameY:[NSStringstringWithFormat:@"授权认证%@", msg]];

            };

            NSLog(@"授权");

            theAuthSystem= [[AuthorSystemalloc]myOnlyInhuhahahahitWithBlock:authBlock];

            [theAuthSystemmyalertKeyView:@"请输入您的授权码"];

        });

    }

}

问题来了,编译dylib时,报错"_OBJC_CLASS_$_AuthorSystem", referenced from: 找不到这个对象。。。。未完待更

解决: 由于静态库工程中一行代码被注释了。。。。 在confuse中

相关文章

网友评论

      本文标题:在ipa功能包中加入授权

      本文链接:https://www.haomeiwen.com/subject/xaprvftx.html