iOS开发

作者: hellorob | 来源:发表于2018-06-06 18:18 被阅读0次

    CocoaPods 使用问题

    需要在原工程的other link flags配置中增加$(inherited),否则pod install 时会报警告,因为会导致pod工程的配置不会同步到原工程。但是如果原工程中引用的framework不能支持-Objc,则会在链接时报重复的符号错误,此时需要把pod自动生成的-Objc参数替换成force_load形式,参见8pig工程中的podfile。

    jenkins集成时,需要配置Xcode Workspace File为pod的工作区文件${WORKSPACE}/EightTrip,并且Target要设置为空。

    参考:
    https://www.jianshu.com/p/35918eabc380
    https://www.jianshu.com/p/7a2efc7c69fe
    https://stackoverflow.com/questions/30244675/how-can-i-modify-other-ldflags-via-cocoapods-post-install-hook


    JSPatch基础使用

    1. js文件要记得保存为UTF8格式,否则会报一个未知的错误

    2. 枚举类型要转换成数字

    3. masonry make中的各个属性其实是返回的block所以要在使用时加()调用,如:

    switchModeButton.mas__makeConstraints(block("void, MASConstraintMaker*", function(make) {
            make.left().equalTo()(footerView).offset()(40);
            make.right().equalTo()((footerView)).offset()(-40);
            make.height().equalTo()(44);
            make.centerY().equalTo()(footerView);
    }));
    
    1. block的传递,在 Objective-C 中传入到 JSPatch 中的 Block 会转换为 function,如果需要再将该 Block 传回到 OC,需要用block(paramTypes, function)封装。
      如:
    AliOssEngine.sharedInstance().uploadImage_remoteFolder_completeBlock(normalizedImage, remoteFolder, **block("ImageModel *, NSError *", completeBlock)**);
    

    http://www.cocoachina.com/ios/20161202/18264.htm

    5.Can't find variable: ocat34,没有require相关的类

    1. CGRect 和 CGPoint之类的写法
    self.valueForKey("_tableView").setFrame({x:0, y:20, width:UIScreen.mainScreen().bounds().width - 20, height:self.frame().height -20});
    

    [label setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal] 设置文本宽度抗压参数

    http://www.cocoachina.com/ios/20160808/17305.html


    OC内存磁盘缓存第三方库 YYCache


    UINavigationController修改页面栈方法

    varcontrollerArr = self.navigationController?.viewControllers//获取Controller数组
    
    controllerArr?.removeAll()//移除controllerArr中保存的历史路径
    
    //重新添加新的路径
    
    controllerArr?.append(self.navigationController?.viewControllers[0])
    
    controllerArr?.append(C)
    
    //将组建好的新的跳转路径 set进self.navigationController里
    
    self.navigationController?.setViewControllers(controllerArr!, animated:true)//这里直接setViewControllers即可,不需要push或者pop方法
    

    http://www.cocoachina.com/ios/20160805/17302.html


    UISearchController 在 UITableView 中实现搜索条,push VC后searchbar依然显示的问题解决

    http://www.cocoachina.com/ios/20160805/17298.html


    KVO、notification免移除实现方法XWEasyKVONotification


    源码和插件集合http://www.cocoachina.com/ios/20160719/17078.html


    编写高质量iOS与OS X代码的52个有效方法

    http://www.cocoachina.com/ios/20160607/16627.html


    富文本常用封装(NSAttributedString)

    http://www.cocoachina.com/ios/20160823/17409.html


    SwipeTableView:页面内支持上下左后切换列表布局效果

    http://www.cocoachina.com/ios/20160812/17346.html


    如何使得能够在itunes中的apps共享中看到document文件

    plist设置uifilesharingenabled=true,但是苹果可能审核不过


    Xcode 下载地址:

    http://developer.apple.com/download/more


    相关文章

      网友评论

          本文标题:iOS开发

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