面试有感

清明节后一周收到一些面试邀请,公司项目要求的都是swift。
见面和技术老大等聊得感觉没什么毛病,但是事后没有收到就职机会,很是失望。这几家公司的氛围都还是很好的。
有关面试的内容都有关于swift,之前自己虽然尝试过,但是遇到问题还是得好好思量,基于oc的swift的尝试。
缺少一些实际操作,认识上也有所欠缺。
想想我的优势:oc/swift的熟练应用,浏览大量大第三方库,用到什么功能也能及时找到资源并修改运用 js html react-native ReactiveObjC 这些都搭建并尝试过,有一定得认识。独立开发的过程,对一个APP从0到1的认识 对于查找解决问题也很迅速。

最近公司的改版项目用了RAC,对于内容更熟悉的前提下,选用了更好的第三方库,逻辑也简化很多。代码量也减少了

接下来要继续深入swift

ios之逆向尝试

最近学习这个是因为去某个公司面试后被教育了 就尝试着逆向他们的app尝试 看看别人是怎么搞的

重签名的认识https://objccn.io/issue-17-2/

iOSAppHook

推荐 :iOS微信自动抢红包实践

下载PP助手上去过壳的IPA

dump 头文件

  • class-dump -H Kuaikan.app
  • otool -l Kuaikan.app/Kuaikan |grep -B 2 crypt

获取IPA信息

  • codesign -vv -d AppRe.app
  • security find-identity -v -p codesigning

dylib注入

  • ./yololib Kuaikan.app/Kuaikan hook1.dylib
  • zip -qry AppRe.ipa Payload

重签名打包

亲自尝试一遍你才会简单的明白

ios之CodeReview

经历了几个APP项目开发的整个流程
大部分公司的开发流程是:后台数据,前端网站,手机端app同时进行
最初开始app独立开发,根据结构功能界面的简单特性,选择storyboard,快速开发。
新的版本更替,根据结构功能界面的复杂特性,选择纯代码,提高可控性。
版本稳定,此刻的代码因大量的增添改 结构逻辑还是非常冗杂的。

swift3.0的重新设计,对新的语法的理解(纯代码方式反而没那么复杂了)预览图
MVVM+ReactiveObjC的重新设计,对函数式编程的方式的理解(结合storyboard方式更加清爽)
预览图
重构后的感觉就是界面更加好看,流畅程度更高,体验性也相当好。
最重要的是!开发的效率高了很多,代码、逻辑更加清晰

吐槽下投简历,从15下半年年开始ios行情就没那么好了吧。整个行业竞争非常激烈。之前也看到一个招聘岗位上百份的投递量。并且简历都是三四年的工作经验,真是不淡定了。最近投简历也没有什么好的回应 - = 自我感觉也没那么差,是不是就要淹没在这样的行情里了 不敢辞职了,跳个槽真难!

火车漫步

最初有过这样的想法,创造一个火车上社交游戏的app,让大家在火车上不再那么陌生,那么无趣。让拥堵的空间多一份轻松,让旅途多一份欢笑。
曾在火车上遇到这么一件有趣的事,一家三口,爸妈是那种很风趣的人吧,把小儿子逗的一笑一笑的。半个车厢里都能听到他们有趣的对话。周边的人没有不满的,相反大家也会随着笑而露出微笑,也有人偶尔参与到逗乐的话题里。这一次的旅途很漫长,很有意思。
想着这样一个人群密集区,大家之间的行为也还是蛮友好的,相互帮助也很常见,如何增加互动的可能性呢。
大家的旅途目的地大多都是相同的,老乡见老乡,共同点较多,开往某一城市。
曾想过通过app将中国交通线点亮,后来在摩拜单车上看到了这一实现的可能性,点亮了一个个城市。
火车站点的开发也是机会很多。在旅途上就能知道目的地时刻发生的值得关注的事件。也为行程增加的期待,增加了更多的准备。

3·15晚会

每一年的315晚会都揭露一些代表性消费欺诈现象,引起大家的广泛关注。当然这些只是小部分,还有很多曾上热搜的相关消费问题。
一年一提醒,可是消费欺诈手段也在升级,上当受骗依旧。大家的关注热情并没有持久力,毕竟亲身遇到的次数少,但受骗人群量大。
关于曝光的后续问题不知道有多少人继续深究下去。
跟朋友讨论的时候,昨天刚好315工商举报的小程序上线,那么是不是也该上线一个,展示每年315事件以及曾上热搜的问题事件,消费曝光的后续解决,还可以罗列一些消费遇到的问题排行,让曾受到坑害的人发表点赞参与。给予大家一种提示警醒。
3·15 这么叼 为啥没有一个相关平台陈列一下 重要信息呢 好神奇!
可以考虑自己做一个公益性的宣传

整理后感

最近重新整理了一下nice的开源知识,重温并更新了一些知识理解。
发现swift相关的开源文档最近在加速迸发,3.0版本的相对稳定,使得更多的开发者转战这里。更加简洁易懂的语法知识使得开发更加快速。新的模式MVVM+ReactiveCocoa,函数式编程与swift的结合更受大家的喜爱。解放VC,将数据在模型中绑定。
例:Gankee
RAC的运用使我们觉得代码形式别具风格,值得学习了解这种模式。
最后提一下,最近很多开发者收到苹果官方邮件针对热更新的警告,热更新对于开发的便利显而易见,结合最近swift的发力,觉得热更新从这方面入手会有意想不到效果。
最近要尝试下 RAC

nice的github资源

获取知识的来源:cocochina、简书、gank、


  • SDCycleScrollView 轮播图 GGBannerView
  • SDWebImage FlyImage 网络图 YYWebImage
  • SDAutoLayout Masonry 自动布局 MyLinearLayout LayoutKit brickkit-ios
  • YYModel 模型 WHC_Model
  • MBProgressHUD SVProgressHUD 提示 CCActivityHUD HYToast Whisper NoticeBar FFToast
  • Reachability 网络状态
  • SVPullToRefresh 下拉刷新
  • AFNetworking 网络请求
  • FMDB 数据库 realm-cocoa
  • pop 动画 ARAnimation IBAnimatable Advance DKChainableAnimationKit Spring hero AXAnimationChain
  • ReactiveObjC 新模式 RAC
  • UITableView-FDTemplateLayoutCell 计算cellHeight
  • TTTAttributedLabel 多属性label AttributedTextView
  • NJKWebViewProgress 网页加载进度
  • JDStatusBarNotification 顶部状态栏通知 DDStatusBarFlip EFInternetIndicator
  • iCarousel 3D效果 Plum-O-Meter STPopupPreview
  • GTMNSString-HTML html文本 MDHTMLLabel
  • FXBlurView 模糊遮板 Blurable JKBlurPopup Blurry
  • TMCache 缓存 kache PINCache STMURLCache
  • UIViewController-Swizzled 了解程序结构
  • zen iOS, Swift, Objective-C 心得
  • FDFullscreenPopGesture 全屏返回效果 KMNavigationBarTransition
  • MMPlaceHolder 调试效果
  • DateTools 日期处理
  • MWPhotoBrowser 相册管理 IDMPhotoBrowser RJPhotoGallery MTImagePicker SGPhotoBrowser YangMingShan ImagePicker FacebookImagePicker
  • QBPopupMenu 类系统粘贴板
  • TOWebViewController 类系统浏览器
  • DZNEmptyDataSet 空数据显示
  • trip-to-iOS 学习指南 study iOSWeekly
  • SwiftGuide 学习指南 atswift-2016-resources
  • MPCoachMarks 新手引导提示界面 Instructions
  • AttributedLabel 多文本
  • dev-blog
  • MLLabel
  • NYAlertViewController 自定义提示 MMPopupView PMAlertControllerDQAlertView SCLAlertView-Objective-C Presentr XLActionController PopupDialog CDAlertView
    CFAlertViewController
  • appleSample 官方合集
  • CocoaMultipeer 外设链接
  • iOS-day-by-day TomatoRead
  • CHXWelcomeViewController 视频欢迎界面 STLBGVideo BackgroundVideoiOS
  • NSLogger Willow
  • DemoBackgroundLocationUpdate 后台定位上传
  • pangu.objective-c 中英文格式化空格
  • JSQMessagesViewController 发送到短信
  • StackTableView 折叠cell效果 SFFocusViewLayout StickyCollectionView folding-cell DetailsMatter
  • Awsome-Apple-Develop-Guide
  • EYTagView 标签 AJMyTags SelectTag SearchHistory automatic-height-tagcells DraggingSort
  • GTScrollNavigationBar LTNavigationBar
  • koknine 开发总结
  • meituan
  • RegexKitLite 正则表达式
  • BlocksKit block工具包
  • hpple html解析 Ji
  • Coding-iOS 源代码 MrCode
  • CoolNavi
  • MTMaterialDelete 擦除效果
  • BezierString 贝塞尔曲线
  • LiquidFloatingActionButton 右下弹出菜单按钮
  • MLAutoReplace 插件 iOSCategoryPropertyDynamicSupport
    ESTranslate-Xcode
  • mobileplayer-ios 视频播放 kxmovie ZFPlayer KRVideoPlayer PLPlayerKit CTVideoPlayerView VKVideoPlayer
  • itjh_3DTouch PeekPop Plum-O-Meter
  • BonMot attributed strings 富文本
  • FDStackView 布局
  • BabyBluetooth 蓝牙连接 BluetoothKit
  • bilibili-mac-client
  • MMMarkdown 转化为HTML文本
  • MJPopupViewController 弹出样式
  • EasyIOS-Swift MVVM框架
  • StatusBarNotificationCenter
  • KMCGeigerCounter 检测卡顿
  • SBShortcutMenuSimulator 模拟器3Dtouch
  • WordPress-Editor-iOS 编辑器组件
  • NirZhihuDaily2.0 知乎源码
  • RxWebViewController 微信网页
  • PassportScanner 护照扫描
  • TKSwitcherCollection
  • ParseSourceCodeStudy Facebook开源的Parse源码分析【系列】
  • HWWeakTimer SwiftyTimer
  • iOS-blog-acticle
  • SCTableViewCell 滑动右侧菜单
  • ALCameraViewController 相机 CTCamera
  • LLSlideMenu 侧滑菜单
  • Chatto 聊天 XMChatBarExample PonyChatUIV2 NoChat NIM_iOS_UIKit NMessenger
  • Onboard 引导页
  • Mapper
  • Material
  • MBMotion
  • ESTMusicPlayer 音乐播放器源码
  • iOS-Echarts 图标
  • Hodor 跟随系统语言 Localize-Swift 国际化
  • HeapInspector-for-iOS 检测内存泄露
  • TransitionTreasury 转场库 TransitionTreasury
  • FFChineseSort 中文数组排序 汉子转拼音分类
  • Pitaya Alamofire
  • IOSAnimationDemo 动画demo Animations DevArticles
    NVActivityIndicatorView fantastic-ios-animation
  • CurveDemo 心跳线 UIKitDynamics
  • DoubleThumbSlider 双滑块控件
  • MMPaper
  • TZImagePickerController 支持多选、选原图和视频的图片选择器 ZLPhotoBrowser AJPhotoPicker MWPhotoBrowser PYPhotoBrowser ESPictureBrowser
  • DOPDropDownMenu-Enhanced 下拉菜单 CCDropDownMenu
  • LMCalendarView 日历 FSCalendar LunarCore MCalendarFramework Daysquare ZBJCalendar Koyomi HYYCalendar ZYCalendar LWCalendar JTAppleCalendar
  • SpreadButton LGPlusButtonsView
  • RainbowNavigation 导航栏背景 GSKStretchyHeaderView
  • animated-tab-bar 主基础控件 LearnCube-iOS ESTabBarController
  • TReaderBook 图文混排
  • GCDDemo
  • SwiftString 扩展 ExSwift
  • EarlGrey 自动化测试
  • SwViewCapture 截图库 TOCropViewController TKImageView
  • swiftBookRecommend
  • Kitura nimbus 框架
  • EventLogger 时间时间记录 和次数统计 Duration
  • SwiftLint 代码规则 CleanArchitectureRxSwift
  • LGSideMenuController 侧滑菜单
  • prankPro 短视频 TBPlayer
  • UITextView-Placeholder
  • ActionSheetController
  • iOS-Developer-Interview-Questions 面试题iOSInterviewQuestions
  • SwiftGG SwiftGGApp
  • Popover 泡泡弹出框 NirKxMenu 菜单 EasyTipView
  • BlurryModalSegue 蒙版 FillableLoaders
  • EZAudio 音频可视化
  • Bolts-Swift 异步操作
  • WWDCVideosDownloadURLCrawler 抓取
  • Permission 权限访问 PAPermissions arek
  • DynamicColor 颜色库 Hue BCColor Chameleon
  • CLImageEditor 图像编辑
  • Bond swift 绑定数据
  • ZYThumbnailTableView 可预览的cell
  • MangoTools SwiftMoment
  • LBAES 加密 SwCrypt
  • FBMemoryProfiler 分析内存
  • MVVM RxTodo
  • AImage SwiftyGif PINRemoteImage
  • MXCardLayout 多任务卡片 Koloda FlickToDismiss
  • YKLineChartView 股票K线图 Y_KLine JSUStockChat JSUStockChat
  • TTNews WBZhiHuDailyPaper
  • Caishen 信用卡号 CreditCardForm-iOS
  • Why-Reject 苹果store拒绝理由
  • Koloda 类似探探卡片效果 expanding-collection gliding-collection
  • UXKit Olla4iOS AssistantKit AppDevKit
  • MLeaksFinder 内存泄漏 PLeakSniffer
  • JASON
  • paper-onboarding 页面滑块
  • SMSegmentView DAPagesContainer XLPagerTabStrip BetterSegmentedControl DGRunkeeperSwitch VTMagic
    TabPageViewController TwicketSegmentedControl SJFluidSegmentedControl PinterestSegment SegmentedControl WDScrollableSegmentedControl PageMenu
  • DKNightVersion 夜间模式 SwiftTheme NightNight NightModeTransition
  • GSD_WeiXin openshop.io-ios
  • Charts 数据表 WHChartView Scrollable-GraphView Graphs WYChart PieCharts
  • BeautifyFace 美颜滤镜 BeautifyFaceAndDetection Sharaku
  • BarrageRenderer 弹幕
  • Toast-Swift
  • ScreenShotBack 手势返回 XLPopGesture FDFullscreenPopGesture
  • PatronKit 内购
  • Smile-Lock GesturePassword
  • Pulsator
  • LeeGo UI模块化 思路
  • ParticlesLoadingView
  • Stellar 动画库 TRX
  • IQKeyboardManager UIViewController-KeyboardAnimation WHC_KeyboardManager
  • iOS-Source-Code-Analyze
  • ios-swift-collapsible-table-section
  • OS-OctoPodium
  • Kingfisher
  • YTKNetwork
  • JPFPSStatus 渲染
  • FileBrowser 文件浏览
  • ActionLabel
  • Toucan 图像
  • SpeechRecognition 语音识别添加字幕
  • Reusable
  • vapor webframe
  • RateLimit 限制执行数
  • tween-controller 切换动画 View2ViewTransition
  • Iconic UI库
  • Xcode-Search 插件
  • Potatso
  • SwiftLinkPreview 网页预览
  • TinyPNG4Mac
  • iOSUrlRoute
  • iOS_Emoji 系统表情 EmojiTextView IoniconsKit
  • Money 货币转换
  • Then
  • droptogif 将视频转成gif
  • KVParkedTextField 占位
  • SkyFloatingLabelTextField TextFieldEffects
  • PromiseKit
  • Celluloid 图片处理 CameraStickerDemo
  • MD360Player4iOS vr
  • RaceMe 追踪
  • JLStickerTextView 编辑图片 PixPic
  • WXProgressWindow 悬浮进度
  • awesome-mac
  • LBXScan 二维码
  • Maria 下载 JSDownloadView UbiqArchView
  • AMScrollingNavbar
  • lumen 调亮度
  • FaceAware
  • inbox-replica 下拉展开cell效果 FlickTransition
  • BEMCheckBox
  • iOS-UIFontFamilyNamesPreview
  • IBAnimatableMaterial 点击水波效果
  • EvernoteAnimation
  • VRMediaPlayer-iOS
  • RSKGrowingTextView
  • PageControls YTPageController FSPagerView BouncyPageViewController CRPageViewController
  • simplenote-ios Dropnote-iOS
  • youtube-iOS
  • Podcasts
  • ifanr
  • StyleKit FontAwesomeKit.Swift
  • LFLiveKit 直播
  • ohana-ios 联系人
  • PinpointKit 测试反馈
  • Helium
  • AvatarImageView
  • OnboardingKit 引导页
  • SmoothMovingAnnotation 地图大头针
  • FeedbackKit 反馈
  • ChineseIDCardOCR
  • ImageMaskTransition ZoomTransitioning
  • FOUR
  • DCURLRouter
  • EHHorizontalSelectionView
  • LFRtmp 滤镜
  • GenericPasswordRow 密码强弱
  • QMUI_iOS_CodeSnippets
  • iOS-10-Sampler
  • DCShade 渐变色 Pastel
  • 12306ForMac
  • StatusProvider 空数据
  • AnyRTC-RTMP 直播
  • CircularSpinner 进度 UICircularProgressRing HGCircularSlider
  • Progressable
  • ParallaxView 浮动cell
  • iOS-10-Steps-Widget 步行
  • ImageSlideshow
  • HubFramework
  • Probably
  • ForceBlur
  • RxKeyboard
  • SwiftDate 日期操作 DateTimePicker
  • MacSetup
  • make-icons
  • RandomUserSwift 自动生成测试数据 RandomKit
  • DesignerNewsApp
  • SwiftMessages
  • BouncyPageViewController
  • TimelineTableViewCell
  • Each 计时
  • FRDIntent
  • kap 录制gif
  • Wallet 卡包
  • Wallet
  • CascadingTableDelegate
  • BeeHive 模块化
  • RainyRefreshControl
  • NELineLabel
  • IGListKit
  • TTGPuzzleVerify 拼图验证
  • Eureka 表单
  • ios-oss
  • SwiftRichString
  • UXPasscodeField 密码
  • LCStarRatingView 打分
  • PYTheme
  • PhoneNumberKit 手机号
  • EasyMap 地图
  • KRActivityIndicatorView 加载效果
  • Swift-CellAnimation
  • MIBlurPopup 模糊背景面板
  • AnimatedCollectionViewLayout
  • TodayMind
  • LazyScrollView 阿里巴巴
  • CHIPageControl
  • BMASpinningLabel title切换
  • GodEye 监控
  • open-source-ios-apps
  • ActionSheetPicker 选择器
  • FLEX debug模式
  • PPMusicImageShadow 图片效果
  • RequestPermission 获取权限
  • SelectableTextView
  • JDCHorizontalTableView
  • AwesomeIntroGuideView 引导操作
  • HelloGitHub 有趣易懂的项目
  • SGPlayer 播放器
  • SwiftyImage 强大的图片属性拓展
  • YetAnotherAnimationLibrary 动画
  • ScratchCardView 擦除效果
  • CoordinateAxisChart 坐标轴
  • LinearProgressView 进度条
  • CCGestureLock-Swift 手势锁
  • AlertTransition 弹窗动画
  • game-programmer 游戏开发
  • BouncyLayout
  • aurora-imui IM聊天组件
  • TestDrive 测试第三方库
  • SwiftPullToRefresh
  • jrswizzle Method Swizzling

http://adad184.com/
http://kittenyang.com/
http://tech.meituan.com/
http://swift.gg/
http://tips.producter.io/
http://tech.glowing.com/cn/
https://lvwenhan.com
http://atswift.io/
http://pingguohe.net/
http://blog.callmewhy.com/
http://swiftcafe.io/
http://blog.devtang.com/
http://liumh.com/
http://yulingtianxia.com/
http://pandara.xyz/
http://www.rockerhx.com/archives/
http://www.cocoachina.com/ios/20160121/14988.html
http://wereadteam.github.io/archives/
http://xn--rgvu79ah1g.com/

react-native和微信小程序

16年有时间就抽空看其它的知识(挺杂的),主要是react-native,更加倾向于热更新方向。

brew - nvm - npm - node

总的来说还是要对HTML、CSS、JavaScript、React基础语法更加熟悉

对rn已经入门阶段,现在再看微信小程序,也是在这些基础语法之上。

http://gank.io/的API简单清晰易用,被大家用来做各种形式的app。这些demo也很值得我们去学习的

对于react-native的理解还有待完善。

有人说:只要能用js写出来app,更多人愿意用这种编码形式吧。

ios之无网络无数据界面的友好显示

我把无网络和无数据的情况放在一起考虑

监测网络状态

  • Reachability是官方提供的检测网络连接和状态变化的接口类,我们可以引入文件到项目用其中的方法直接查看判断网络状态。但这种检测是一次性的。
  • 也可以在AppDelegate里注册通知,针对网络边话得监测。还可以单独写一个工厂类,将网络获取的状态的方法和属性定义下来。

监测无数据状态

基于工厂类 BaseUI

基于DZNEmptyDataSet的封装 (完美)