美文网首页UIiOS不断超越~颓废的自己
LookinServer 导入和使用及"手机摇一摇"使用,一款免

LookinServer 导入和使用及"手机摇一摇"使用,一款免

作者: 学无止境666 | 来源:发表于2019-07-26 14:25 被阅读0次

    被QMUITeam发布的一篇文章深深的吸引

    image.png
    image.png

    真的感觉超赞,就认认真真的开始了尝试

    下载Lookin 备用下载地址

    使用CocoaPods导入工程 Podfile 中导入
    pod 'LookinServer', :configurations => ['Debug']
    //完成之后执行
    pod install --verbose --no-repo-update  或者
    pod update --verbose --no-repo-update
    
    在 CocoaPods 中搜索不到 LookinServer

    可尝试下面的命令,注意以下命令可能会清除你本地的 CocoaPods 的缓存,从而导致你下次 pod update 等操作变慢:

    rm -rf ~/.cocoapods
    pod setup
    pod install
    

    也可以尝试以下命令更新 CocoaPods 的索引:

    rm ~/Library/Caches/CocoaPods/search_index.json
    

    原文链接

    以上搞定就可以在Mac上查看了,挺好用的,开发看UI两不误
    不过更优秀的当然是Lookin可以再手机上直接使用了

    手机使用教程

    为了方便大家,方便自己以下是摇一摇的代码,建议把下边代码下载 基类中,这样app任意位置都可以触发,查看比较方便
    #pragma mark --摇一摇功能
    //让当前控制器成为第一响应者,只有这样才能接收事件,所以此段代码必须加到控制器中
    - (BOOL)canBecomeFirstResponder
    {
        return YES;// default is NO 
    }
    - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
    {
        NSLog(@"开始摇动手机");
    }
    
    -(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
         NSLog(@"结束");
        if (motion == UIEventSubtypeMotionShake) {        
            UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"温馨提示" message:@"Lookin功能列表" preferredStyle:UIAlertControllerStyleAlert];
            
            [alert addAction:[UIAlertAction actionWithTitle:@"导出为 Lookin 文档" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
                [[NSNotificationCenter defaultCenter] postNotificationName:@"Lookin_Export" object:nil];
            }]];
            
            [alert addAction:[UIAlertAction actionWithTitle:@"进入 2D 模式" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
                [[NSNotificationCenter defaultCenter] postNotificationName:@"Lookin_2D" object:nil];
            }]];
            
            [alert addAction:[UIAlertAction actionWithTitle:@"进入 3D 模式" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
                [[NSNotificationCenter defaultCenter] postNotificationName:@"Lookin_3D" object:nil];
            }]];
            
            [alert addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil]];
            [self presentViewController:alert animated:YES completion:nil];
        }
    }
    - (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event
    {
        NSLog(@"取消");
    }
    
    以下是我测试用的效果图很棒(PS:手机上没有Mac上那么清晰容易操作,并且1:不能选择某个图层全部打开,需要手动一层一层的点开开查看 2:不能隐藏不想看的图层,不过手机辅助查看就行了详细的还是Mac上搞吧!!! )
    8251564121353_.pic.jpg
    WechatIMG826.jpeg 152101564123236_.pic.jpg
    上边一涨图示官网的demo,可是呢官网给的demo可以很清晰的查看层级目录,我也希望我们的工程可以清晰的查看层级目录,已经给作者反馈了有消息第一时间分享出来~~
    好了以上就是Lookin相关的一些简单知识了,至于还有断点调试,分析之类的东西,可以好好阅读下原文地址,记录下,方便你&我&他 ~~~~

    PS: 如果又遇到和我一样问题的话可以暂时以以一下的方案解决(合作者邮件沟通了两天,深深的感受到大神都是谦逊的,态度真的超级好!下边是暂时的解决方案)
    创建一个UIView的catergate件导入到工程

    .h 文件
    #import <Foundation/Foundation.h>
    
    @interface UIView (LookinDebug)
    
    @end
    
    ----------------------------------------------------------------------------------------------
    .m文件
    
    #import "LookinDebugFile.h"
    
    @implementation UIView (LookinDebug)
    
    + (void)load {
        NSLog(@"LookinServer - Debug - UIView load");
        static dispatch_once_t onceToken;
        dispatch_once(&onceToken, ^{
            NSLog(@"LookinServer - Debug - onceToken");
            
            Method oriMethod = class_getInstanceMethod([self class], @selector(initWithFrame:));
            Method newMethod = class_getInstanceMethod([self class], @selector(lkdebug_initWithFrame:));
            method_exchangeImplementations(oriMethod, newMethod);
            
            oriMethod = class_getInstanceMethod([self class], @selector(initWithCoder:));
            newMethod = class_getInstanceMethod([self class], @selector(lkdebug_initWithCoder:));
            method_exchangeImplementations(oriMethod, newMethod);
        });
    }
    
    - (instancetype)lkdebug_initWithFrame:(CGRect)frame {
        NSLog(@"LookinServer - Debug - lkdebug_initWithFrame");
        
        UIView *view = [self lkdebug_initWithFrame:frame];
        return view;
    }
    
    - (instancetype)lkdebug_initWithCoder:(NSCoder *)coder {
        NSLog(@"LookinServer - Debug - lkdebug_initWithCoder");
        
        UIView *view = [self lkdebug_initWithCoder:coder];
        return view;
    }
    
    @end
    
    

    将这两个文件导入到工程中,重新build, 会给你不一样的惊喜哦, 因为没有源码,真的分析不出来,哪里出了问题,这个可以暂时解决,就先这样使用吧,效果很棒!!!

    IMG_5383.JPG

    相关文章

      网友评论

        本文标题:LookinServer 导入和使用及"手机摇一摇"使用,一款免

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