Dash 3 Snippets
Dash 3 Snippets 全局使用很好很强大,稍后添加一些 Swift 和常用邮箱和用户名。
下面是打开 MacDown 软件直接开始文章,不用去 Terminal 新建文章。
定义为:hexon
1 |
|
Dash 3 Snippets 全局使用很好很强大,稍后添加一些 Swift 和常用邮箱和用户名。
下面是打开 MacDown 软件直接开始文章,不用去 Terminal 新建文章。
定义为:hexon
1 |
|
##《Objective-C 高级编程》测试题
复习了类的定义,属性,实例方法,枚举,NSArray,随机数。
@孔祥波 老师点评了我的错误实现。自己回来改了很多,终于完成了,也加深了涉及知识点的应用。再次感觉 Google 真是个好东西。
###实现代码位置:
其他的 Headerdoc 为练习写注释文档,尤其是// FIXME: Print a more readable result. 和 // TODO: Set a NSArray to init randomGWFish. 纯粹凑字数。测试 Swift 哪些可以用在 Objective-C 上。参看: Swift Documentation。
其实这个实现是 Objective-C,应该看这一篇的 Documentation:
To help speed up the process of documenting your project, you may want to check out the VVDocumenter-Xcode project, which automatically adds @param and @return labels for methods according to their signature.
1 |
|
###产品的7问:
想清楚做什么,可能做起来会容易一点。
@孔祥波:主界面日历方式的实现:锻炼逻辑,都是一些基础的,实现布局和代理的。可以学习 table view 的整个逻辑,datasource、delegate,
小组讨论了:几个页面和存储功能开发的分配,添加 task 到 Teambition。
@李建忠:产品核心竞争力,亮点有没有?不仅仅要学习技术,更是要学会做一个好的产品,做出来一个好的产品。
要好好想想我们项目的方向问题。
自学 iOS 开发的一些经验,是一篇充实有料常看常新的开发文章,提到了 “class-dump 从 Mach-O 文件生成 OC 头文件,有时想看看某个 App 大概是如何组织的会比较方便”。刚好最近项目想学习一下别人的APP,尝试了7-8个小时终于成功了,记录一下过程。最主要是介绍 Clutch 的文章太少,其输出路径被卡壳。
##class-dump 用法
1 | class-dump Name.app > class-dump.md |
第一行表示输出为一个文件方便搜索查找,第二行表示输出所以 class 到 folderName 文件夹。
由于 App Store 对 ipa 文件进行了加密,就有了下面的解密过程。
Clutch on GitHub:
Introducing Clutch, the fastest and most advanced dumping utility for the iPhone, iPod Touch, and iPad.
Works with all devices, iOS versions, architecture types, with most binaries.
This product is meant only for educational purposes and security research.
Compiling: Use Xcode with iOSOpenDev installed
可以直接去 Releases 下载编译好的版本,复制到 /usr/bin
1 |
|
参看:iOS 使用Class-dump分析App内部实现::
Openssh,然后电脑端使用ssh连接真机(默认密码是alpine),输入命令Clutch后会看到一个App列表,找到sing在列表中的序号是3,执行命令Clutch 3,这时它就真的开始运行了,运行后的结果是将原Appstore App转换为ipa文件;最重要的是,它被解密了~
1 | Clutch |
但是在 Clutch 2.0 版目录改为:/var/mobile/Documents/Dumped/ 或 User/Documents/Dumped/,导出 ipa 即可开始 class-dump。
1 | // in Xcode 7 Beta 4 |
Update 2015-08-15: Updated for more search shortcuts.
Shortcuts | Description |
---|---|
F1 | Alfred |
F2 | Look up in Dash |
Command-F2 | Open or hide Dash |
F3 | Look up in EuDic |
F4 | Search with Google |
F5 | Next source in Input menu |
F6 | Speak selected text |
Default Shortcuts | Description |
---|---|
Control-Space Bar | Change input source |
Command-Space Bar | Spotlight |
Command-T | New Tab |
Shift-Command-T | Reopen Closed Tab or File |
Command-W | Close Tab or Window |
Option–Left Arrow | Move the insertion point to the beginning of the previous word. |
Control-A | Move to the beginning of the line or paragraph. |
Control-E | Move to the end of a line or paragraph. |
Use all F1, F2, etc. keys as standard functions keys. It‘s more efficient.
Predictive Text in OS X,
esc
in some apps,F5
in all apps. But hallelujahIM(哈利路亚 英文输入法) is much better with translation.
只要记住有这个方法或类,知道有什么用,不一定非要记住长长的名字,我们随时查看文档即可。
上班怎么收家里衣服:电话请家人、邻居帮忙。
MVC 为什么使用代理?
前三步:A、申明代理原型。B、申明代理变量。C、调用代理方法。
后三步:A、<>申明实现代理。B、设置代理的值。C、实现代理方法。
Category & Extension
Category给原有的类扩展特有的方法。可以分解文件代码和功能
Extension可以扩展变量、属性,可以改写属性的读写属性。
什么时候用?
BLDemo01 L16 在 ViewController.h 完成代理,非课堂上 AppDelegate.h 中。
Removed FuzzyAutocomplete plugin. It made me stupid.
地图这一节实践了一天,理一理知识点:
Geocoding (sometimes called forward geocoding) uses a description of a location, most typically a postal address or place name, to find geographic coordinates from spatial reference data such as building polygons, land parcels, street addresses, postal codes (e.g. ZIP codes, CEDEX) and so on.
可能是时间不充足,段老师后面课程的代码风格不好。少#pragma mark 分段,少注释,if 语句嵌套的错误,命名随意。
贴一个 Apple Sample: MapCallouts
UITableView 和 UITableViewController 关系图
主要是一个 table view 的 Demo。
读书很重要,但是学习起步阶段还是跟老师前辈学习,容易入”门”。
上午听了产品经理的课,感觉对公司产品有了更直接的了解,更多的是面向用户面向市场的考虑。
小组项目基本确定,期待一周内见到它。
淘宝4年产品经理
产品经理要有无授权领导能力
视觉设计和交互设计角色,不一定等同于具体一个人。
豆瓣小组是社区运营典范,其搜索排序算法:小组浓度,重心在核心用户质量
投资砸钱考虑RY
多变的奖励让用户成为深度用户
推荐书:Hooked: How to Build Habit-Forming Products
A product manager investigates, selects, and drives the development of products for an organization, performing the activities of product management.
In some companies, the product manager also acts as a:
-Product marketing manager — may perform all outbound marketing activities in the older sense of the term
-Project manager — may perform all activities related to schedule and resource management
-Program manager — may perform activities related to schedule, resource, and cross-functional execution
-Git: 模块细分好
-时间周期:至少有个版本
-看文档:还需要自主学习,扫目录索引记忆,术语概念明白
郭意亮:技术分解原型图,大致分了相机和 UI 界面。尽可能地分解每一步,并画出原型图。我和易庆晟分别负责相机和 UI,下周交付出一个MVP出来。
Reveal 最早是在唐巧的《iOS 开发进阶》看到的,当时不以为然。其实书中很多内容都不以为然,因为那时候还是入门阶段,自然看不懂的。主要缺乏交流,自悟容易自误。
最近 GeekBand 的段松老师的课程,纯代码的 UI 布局,就遇到了极大的困惑:布局错了不知道在哪里,控件失踪了(跑到屏幕外的 frame)。搜索了一下,重新找到 Reveal 介绍的文章,试用了一下很强大。可以实时更改控件属性、大小位置等等,同步显示在真机或 Simulator 中。和 Sketch、Photoshop 的 Mirror 功能差不多,当然只是调试,实际更改还要在 Xcode 中完成。
Reveal 官方教程:
推荐越狱,只要简单配置一下,还可以查看手机安装的第三方 APP。
1 |
|
1 | { |
1 |
|
小技巧:网上下载的 Demo 直接改 Bundle ID:com.apple.test,即可开始 Reveal 了。
Xcode 的 Debug View Hierarchy 只能看看,就弱爆了。而且极易造成 Xcode 崩溃。