Reveal

作者: 懒眉 | 来源:发表于2017-04-25 14:47 被阅读32次

    REVEAL:Version 1.5.1(4946)
    Xcode 8.3
    模拟器模拟:iPhone 6 - iOS 10.3(14E269)
    真机测试:iPhone6 plus / iOS 9.3.1


    模拟器###

    1.创建一个新的OC测试工程
    2.打开Reveal,点击工具栏Help->Show Reveal Library in Finder,将Reveal.framework静态库添加到工程中。
    模拟器 图1
    3.静态库引用设置。
    模拟器 图2
    4.添加系统依赖库。
    模拟器 图3
    5.打开Reveal并选择设备运行模拟器.
    模拟器 图4

    真机###

    1.获取libReveal.dylib库
    真机1
    2.将库添加到Reveal项目中:注意不要 Add to targets:Reveal.
    真机2 真机3
    3.添加系统依赖库:CFNetwork.framework,QuartzCore.framework,CoreGraphics.framework
    真机4
    4.添加Reveal运行脚本
    set -e
    
    if [ -n "${CODE_SIGN_IDENTITY}" ]; then
    codesign -fs "${CODE_SIGN_IDENTITY}" "${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME}/libReveal.dylib"
    fi
    
    真机5 真机6
    5.添加代码:在AppDelegate.m里面导入头文件
    真机7
    - (void)applicationDidBecomeActive:(UIApplication *)application 方法里面如下图调用方法
    真机8
    - (void)loadReveal
    
    {
        
        if (NSClassFromString(@"IBARevealLoader") == nil)
            
        {
            
            NSString *revealLibName = @"libReveal"; // or @"libReveal-tvOS" for tvOS targets
            
            NSString *revealLibExtension = @"dylib";
            
            NSString *error;
            
            NSString *dyLibPath = [[NSBundle mainBundle] pathForResource:revealLibName ofType:revealLibExtension];
            
            if (dyLibPath != nil)
                
            {
                
                NSLog(@"Loading dynamic library: %@", dyLibPath);
                
                void *revealLib = dlopen([dyLibPath cStringUsingEncoding:NSUTF8StringEncoding], RTLD_NOW);
                
                if (revealLib == NULL)
                    
                {
                    
                    error = [NSString stringWithUTF8String:dlerror()];
                    
                }
            }
            
            else
                
            {
                
                error = @"File not found.";
                
            }
            
            if (error != nil)
                
            {
                
                NSString *message = [NSString stringWithFormat:@"%@.%@ failed to load with error: %@", revealLibName, revealLibExtension, error];
                
                UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Reveal library could not be loaded"
                                            
                                                                               message:message
                                            
                                                                        preferredStyle:UIAlertControllerStyleAlert];
                
                [alert addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]];
                
                [[[[[UIApplication sharedApplication] windows] firstObject] rootViewController] presentViewController:alert animated:YES completion:nil];
                
            }
            
        }
        
    }
    
    6.如果连接Reveal成功打印以下报文
    真机9
    7.我遇到的错误以及注意
    真机10

    解决方法:将Enable Bitcode修改为NO


    真机11

    提示:真机测试,电脑和手机最好使用同一WiFi或者手机使用电脑创建的WiFi

    模拟器部分参考:
    [ Reveal在真机和模拟器上的使用]
    真机部分参考:
    配置reveal实现真机调试项目遇到的坑总结
    使用Reveal调试和分析UI
    http://www.jianshu.com/p/290af2bf5afb

    相关文章

      网友评论

          本文标题:Reveal

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