itswenb iOS程序员,OC/Swift ~~~

github
    itswenb September 24th, 2020 at 02:49 pm

    运行之前先brew install socat

    itswenb September 24th, 2020 at 02:48 pm

    开启本地 Socket 服务器

    socat TCP-LISTEN:9100,fork stdout
    
    itswenb September 24th, 2020 at 02:46 pm

    监听本地 9100 端口 nc -l 127.0.0.1 9100

    itswenb September 24th, 2020 at 12:45 pm

    carthage 在 XCode12运行 xxx lipo -create 会报错,(解决方案)[https://gist.github.com/skymobilebuilds/61f4a95bd62a3db36b52719aeab7e0d5]

    itswenb September 23rd, 2020 at 07:23 pm
    itswenb September 22nd, 2020 at 11:30 am
    性能优化要注意的点,离屏渲染是什么?说说 iOS 打包编译的过程(OC 和 Swift 是一样的吗),编译优化做了哪些操作?(https://juejin.im/post/6844903742785978376)符号文件是什么?Mach-O文件是什么?如何加固 App?Swift 砸壳和 OC 砸壳是一样的吗? 为什么?说一说 apple 应用安装过程中证书的作用以及签名策略了解组件化吗,组件化和插件化的区别?说说组件化的方案有哪些?弱网优化的内容是什么?App 瘦身和预防线上 Crash分别是什么?

    应用的本地化有哪些内容?

        info.plist本地化
        代码字符串本地化
        storyboard, xib文件本地化
        launchScreen.storyboard本地化
        图片本地化
        一次性导出本地化文件
        新增内容的本地化
        多人协作下使用自定义Localizable.strings文件
    
    itswenb September 22nd, 2020 at 11:29 am

    Weak 是怎么释放的
    Method Swizzler

    Category可以做什么

    OC 的重载

    RunLoop 的应用 -> Mode切换

    NSTimer

    Block

    Notification Block Delegate
    Block的变量截获
    Block的循环引用
    

    KVO

    实现原理 -> 派生类
    

    多线程

    多图片下载
    

    Extension 和 Category 区别

    itswenb September 22nd, 2020 at 11:29 am

    面临最大技术上的挑战

    SDWebImage的执行流程:

    DownloadImage -> From cache or download -> Save to cache -> Save to disk -> Display
    

    AFN:

    AFNURLSessionManager
    

    设计模式:

    MVC, MVVM: 
    单例: Dispatch_once / synthesize / 重写(init/initWithCoder/initWithZone/copyWithZone/mutableCopyWithZone方法) 只返回当前 instance
        什么情况下需要用到: 使用频繁且功能单一
        NSCopy协议: 单例返回单例,对象 copy之后属性再赋值
    KVO观察者模式: 派生类重写 Set 方法, willSet DidSet
    组件化:
    

    深拷贝,浅拷贝:

    多线程:启动 NSOperation, [NSOperationQueue.mainQueue addOperationWithBlock:^{}], 自己创建类 重写方法

    多线程同步回调: 
    

    进程线程区别:一个App一个进程, Widget和主APP是几个进程

    线程通信(APP之间数据传输):Universal Link / Scheme

    沙盒:应用之间互不干扰,应用都只能在沙盒内部存取

    Bundle 和 沙盒的区别: 沙盒是整个 APP 的目录文件夹, Bundle 是项目的资源库

    Swift 打包体积增大. 为什么 swift 打包体积会增大?(Swift基础Framework-> 用于加速应用启动)

    XMPP协议 VS Socket协议

    version, Method, URL, body, Host GET参数没有长度限制

    APNS 消息长度有限制吗? 4kb

    NSUserdefault 存储只限 OC 类型数据

    setValue:forKey: 只能value不为nil的时候调用

    setObject:forKey: value为nil的时候调用 -removeObjectForKey

    数据库升级 数据迁移怎么做的

    FMDB -> SQLite 大量数据写入的时候

    iOS 单元测试/UITest、自动化

    模拟: 多图下载需要考虑的点:

    1. 线程数量(GCD 不需要 NSOperation可以控制)达到最大化
    2. 内存大小 
    3. 硬盘存储速度和内存写入速度差
    4. 错误处理
    
    itswenb August 20th, 2020 at 07:37 pm

    itswenb August 18th, 2020 at 06:13 pm

    设置

    itswenb August 18th, 2020 at 06:12 pm

    测试一下

    itswenb January 15th, 2020 at 02:29 pm

    WKWebView 网页内容加载进度条和title的实现
    //添加监测网页加载进度的观察者

    [self.webView addObserver:self
                   forKeyPath:@"estimatedProgress"
                      options:0
                      context:nil];

    //添加监测网页标题title的观察者

    [self.webView addObserver:self
                   forKeyPath:@"title"
                      options:NSKeyValueObservingOptionNew
                      context:nil];
    

    //kvo 监听进度 必须实现此方法
    -(void)observeValueForKeyPath:(NSString *)keyPath

                     ofObject:(id)object
                       change:(NSDictionary<NSKeyValueChangeKey,id> *)change
                      context:(void *)context{
    if ([keyPath isEqualToString:NSStringFromSelector(@selector(estimatedProgress))]
        && object == _webView) {
       NSLog(@"网页加载进度 = %f",_webView.estimatedProgress);
        self.progressView.progress = _webView.estimatedProgress;
        if (_webView.estimatedProgress >= 1.0f) {
            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                self.progressView.progress = 0;
            });
        } 
    }else if([keyPath isEqualToString:@"title"]
             && object == _webView){
        self.navigationItem.title = _webView.title;
    }else{
        [super observeValueForKeyPath:keyPath
                             ofObject:object
                               change:change
                              context:context];
    }

    }

    //移除观察者
    [_webView removeObserver:self
                  forKeyPath:NSStringFromSelector(@selector(estimatedProgress))];
    [_webView removeObserver:self
                  forKeyPath:NSStringFromSelector(@selector(title))];
    itswenb December 25th, 2019 at 03:30 pm

    现在 75kg,真的心酸。

    itswenb December 11th, 2019 at 12:07 pm

    Swift framework 编译的 swift 版本 需要适配 xcode 版本

    itswenb December 6th, 2019 at 05:22 pm

    通过终端或者其他工具 ping 的时候,可能会因为内网架构原因,ping 一次会返回两个 pack。

    itswenb December 6th, 2019 at 12:10 pm

    https://juejin.im/post/5be989a86fb9a049e701a37b

    xib给视图添加圆角、边框(边框颜色不起作用、无效)

    itswenb December 4th, 2019 at 06:46 pm
    itswenb November 29th, 2019 at 03:17 pm

    https://juejin.im/post/5adf1831518825673b61aa65
    NSUserDefaults 使用时的坑

    itswenb November 28th, 2019 at 03:03 pm

    通过分阶段发布,App 的版本更新将在 7 天内以递增的比例向已打开自动更新的用户发布,用户不能选择特定人群,为随机挑选,且不会被通知。在此期间每天完成自动更新的用户百分比会显示在 iTunes Connect 中,所有用户仍然可以直接从 App Store 手动更新应用,并且新用户将始终看到最新版本。

    itswenb November 27th, 2019 at 06:47 pm

    CALM DOWN...

    itswenb November 26th, 2019 at 06:44 pm

    Nice,80 大关已破,79,🙂

    itswenb November 15th, 2019 at 12:02 pm
    itswenb November 13th, 2019 at 02:19 pm

    https://zhuanlan.zhihu.com/p/35616289
    VLAN 的基础知识讲解大全

    itswenb November 13th, 2019 at 12:56 pm

    网页测试

    itswenb November 13th, 2019 at 12:55 pm

    测试

    itswenb July 29th, 2019 at 01:51 pm

    itswenb May 13th, 2019 at 12:18 pm

    评论失效了。。。

    itswenb April 23rd, 2019 at 11:20 am

    Bilibili源码是什么?我下载了什么?咱也不知道,咱也不敢问呐

    itswenb April 19th, 2019 at 11:54 am

    itswenb April 19th, 2019 at 11:54 am

    这张图是真的吗Facepalm[Facepalm]

    itswenb April 18th, 2019 at 11:54 am

    测试了一下Lottie和iconFont,如果他俩配合的话,感觉性能提升会很不错。Lottie:动图转换成json文件,然后可以在安卓和iOS甚至RN加载显示的框架。iconfont:由icon组成的字体库,资源小,icon颜色可以自定义。

    itswenb April 13th, 2019 at 01:55 pm

    00:00
    加载中……请稍等……

    果然 Billboard 榜从来没让我失望过,果然你不是苏家人,额哈哈哈哈。

    itswenb April 12th, 2019 at 09:21 am
    此条为私密说说,仅发布者可见
    itswenb April 11th, 2019 at 06:38 pm

    itswenb April 10th, 2019 at 03:45 pm

    昨天逆向破解了一个视频APP,修改APP的权限,不用登陆不用会员

Contact information

About me

  • 性格活泼,处变不惊。

那年今日
10 月前

CALM DOWN...