Skip to content

Lagrange1813/iOS_Resource

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iOS_Resource

买不起软件系列@

IDE及效率软件的使用技巧@

AndroidStudio@

Alfred@

科学的查资料@

科学上网@

学习资料@

Awesome@

UIKit@Foundation

NSString@

NSData@

NSDate@

NSNumber@NSNumberFormatter@

NSOperation@

UIViewController Transition@转场

UITableView@ UICollectionView@

Objc@

那些年我们追过的技术博客@

Xcode@调试@

Xcode奇巧淫技@

Xcode BuildSetting@

sqlite@

小程序@

不得不了解的算法

地图@ 绘制@

Apple分发渠道

NetworkExtension@VPN@代理@

wwdc 字幕 视频

HTTPS@HTTP@中间人攻击

HTTP Cache@

分辨率

视频@ video@

音频@

编译

clang@ld@strip@

代码规范Coding Guidelines

逆向@

越狱@jailbreak@

机器学习@

证书 HTTPS

实现默认动画全局返回

uiview@ margins@

CharacterSet@

collectionView

css

手势/Gesture/UITouch

手势密码/图形密码

UIKitDynamics

excel@

版本升级/迁移

certificate/p12

抓包@

@synchronized

form 表单

设备方向

autolayout

KVC@

自动化测试@

python@

推送APNS@

runtime@

Property@Method@

extern "C" unsigned long OBJC_IVAR_$_BLAView$_pModel;

(*(id *)((char *)view + OBJC_IVAR_$_BLAView$_pModel))

上述这种形式来访问的,因此我们可以通过extension声明私有ivar的形式来访问私有ivar(成员变量)

ARC@

mPaaS@

CALayer@

Animation@动画@

empty data

搜索 search@

header search@

objc属性@

数学符号

  • [latex 或者 Katex]

Authority/Permission

公钥私钥 csr

CocoaPods

MonoRepo

头文件依赖@类关联@

词典

GIS@地图绘制@arcMap@

(6条消息) OpenLayers使用_David_jiang-CSDN博客 ArcGIS for Desktop入门教程_第六章_用ArcMap制作地图 - ArcGIS知乎-新一代ArcGIS问答社区 mapshaper ArcGIS GeoJSON Layer (6条消息) ArcGIS如何将地理要素数据和JSON进行互转_jixg1800的专栏-CSDN博客_arcgis json openlayers地图框架使用介绍 - 简书 【从零开始学GIS】ArcGIS中的绘图基操作(一) - 知乎 叫我三三就好 - 知乎 【从零开始学GIS】ArcGIS中的绘图基操作(一) - 知乎 【从零开始学GIS】ArcGIS中的绘图基本操作(二) - 知乎 openlayer 渲染geojson - Google 搜索 openlayer 可视化你的足迹 - Web端 - I code it shp与json互转_可能黑客的博客-CSDN博客_json转shp ArcMap中使用ArcPy实现Geometry与WKT的相互转换_积思园-CSDN博客 openlayers 加载ArcGIS 切片地图 - GIS开发者 ArcGIS操作教程(40)使用ArcMap创建地图切片 | 麻辣GIS 高德地图 | 地铁图

RAC@

ReactiveCocoa@

内存管理@

CodeSnippets@ 代码片段

Xcode 插件/ extensions

热修复

分享@

infoplist

AssociatedDomain@

Telegram-iOS

Crash@

系统库符号化 找到对应的系统库符号化文件 SymbolPath = /Users/blackchena/Library/Developer/Xcode/iOS DeviceSupport/<iOS version(buildnumber)>/Symbols/System/Library/Frameworks/<系统库名称> 系统库macho /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/UIKit.framework/UIKit atos -o SymbolPath -l <系统库load path> <需要符号化的address>

适配@

后台@

warning xcode

三方控件@

switch

Chart/图表

算法@

socket@

pullup 类似滴滴打车 选择打车出发地

地址选择

旋转@

一些开发工具@

status@

推送@

UIScrollView@

UIPanGestureRecognizer@

UITableView@

tableView.estimatedSectionHeaderHeight = CGFLOAT_MIN;//动态tableview高度可能会造成影响mark一下
tableView.estimatedSectionFooterHeight = CGFLOAT_MIN;

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    return CGFLOAT_MIN;
}

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
    return CGFLOAT_MIN;
} 

  • 尽量解决边缘展开时动画的抖动
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSInteger oldIndex = _currentSelectedIndex;
    if (_currentSelectedIndex == indexPath.row) {
        _currentSelectedIndex = NSNotFound;
    } else {
        _currentSelectedIndex = indexPath.row;
    }

    NSMutableArray *indexPaths = [NSMutableArray array];
    if (_currentSelectedIndex != NSNotFound) {
        [indexPaths addObject:[NSIndexPath indexPathForRow:_currentSelectedIndex inSection:0]];
    }
    if (oldIndex != NSNotFound) {
        [indexPaths addObject:[NSIndexPath indexPathForRow:oldIndex inSection:0]];
    }
    
    [tableView reloadRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];
    if (_currentSelectedIndex != NSNotFound) {
        [tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:_currentSelectedIndex inSection:0] atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
    } else {
        [tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:indexPath.row inSection:0] atScrollPosition:UITableViewScrollPositionNone animated:YES];
    }
}

图片@

渲染原理@

滤镜@

Label@

UITextView@

Button@

textfield/textview

蓝牙

输入@

mask@

Http@

富文本

api 参数构造 params

navigation tableView/scrollView header

NavigationBar@

Date@

  • SwiftDateThe best way to manage Dates and Timezones in Swift

segment@

PageVC@

C@

结构体、结构体体指针作为函数返回值_huizhang0110的博客-CSDN博客_结构体作为函数返回值

TabBar@

banner@

  • WenchaoD/FSPagerViewFSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders.

PlaceHolder@

引导页 和 操作指南 Guide walkThrough

NSDictionary

人脸识别@

OCR@身份证识别@

GCD

多线程安全@

锁@ lock@

别人总结@

webview/wkwebview@

xcasset@

html@

protocol@

router@/组件化@

uuid@

设备@

开源应用@开源项目@

浏览器

抢购脚本@

Chat@

  • badoo/ChattoA lightweight framework to build chat applications, made in Swift

数据储存@

翻墙@

MAC应用

加密编码

runloop@

Progress@

Toast/Hud@

  • cruffenach/CRToastCRToast is a library that allows you to easily create notifications that appear on top of or by pushing out the status bar or navigation bar
  • terryworona/TWMessageBarManagerAn iOS manager for presenting system-wide notifications via a dropdown message bar.

stackview

Pop@

UINavigation

Login@

Color@

Theme主题

国际化

Image handle@

UIImageView@

电商导购分佣@

TCP/IP@

Url Scheme

相机相册

技术文档@

二维码

版本兼容

版本更新

Category/Extension@

#available/@available API可用性

UI/设计

NSBundle@

设计模式@

联系人

icon@

BezierPath

宏@#define@

架构MVC/MVP/MVVM

目录结构@

Markdown@

attribute

消息转发@isa@

timer@

UML@流程图@

github/organization

正则@正则表达式@

find . -name "GIO*" | sed -e "p;s/GIO/ZYHM/" | xargs -n2 mv批量修改文件名 find ./ -name 'ZYH*' -type f | sed -e "p;s/ZYH/GOC/" | xargs -n2 mv find ./ -type d -maxdepth 1 -name 'Cocoa*' -exec ls -l {} \;批量删除Cocoa开始当前目录的文件夹

egrep -i '([^_: <k`\)\^\"\&\/\+\(\[])af' ./AFNetworking/ -r//查找不能替换的af

引用计数

c++@

xcode不支持当前iOS版本解决方案

  • xcode不支持当前iOS版本解决方案ln -s /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.2\ (14C5069c)/ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
  • The code signature version is no longer supported go to the TARGETS -> select[your project name] -> General -> Frameworks,Libraries,and EmbeddedContent -> set the framework with [Do Not Embed]

xcode 设置

性能优化@

内存@

#pragma pack(2) //2为对齐系数 结构体的整体对齐规则是按照内存占用最大的struct数据成员和对齐系数相比取最小值去对齐,数据成员对齐:第一个数据成员A放在偏移为 0 的地方,以后每个数据成员B的偏移为对齐系数与该数据成员(也就是 B)的自身长度中较小那个数的整数倍,不够整数倍的补齐

图片编码解码

启动动画

埋点

Debug@

分享/三方登录

前端@

协变/逆变

swift/oc 混编

umbrella Framework / Module

yacc lex

快捷键@

Terminal
Xcode
  • Xcode: 选择一整行:光标移动到末尾ctrl+shift+a 或 shift+alt+⬆ , ctrl + e|a 移动光标到行尾|首

linux@/shell@/vim@/bash@

text="111
222\n333"

echo $text   # 111 222\n333
echo "$text" # 111[换行]222\n333
echo -e $text # 111 222[换行]333
echo -e "$text" # 111[换行]222[换行]333

并查集@

ios11/xcode9/llvm

总结

两线段交点@

持续集成/打包

git@ 学习

加密@解密@

make distclean
export CC=clang
export CROSS_COMPILE='/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/'
export CROSS_TOP="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer"
export CROSS_SDK="iPhoneOS14.3.sdk"
./Configure ios64-cross no-shared // 如果是9eadfd4cb6eac17bff776b2a8c47de106c70e34a版本需要添加 no-asm 最新版添加-DGMSSL_NO_TURBO 因为调用私有getcontext方法的问题添加no-threads


otool -lv ./xxxx.a 查看支持的platform为macOS还是IOSSIMULATOR

make distclean
export CC=clang
export CROSS_COMPILE='/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/'
export CROSS_TOP="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer"
export CROSS_SDK="iPhoneSimulator.sdk"
./Configure iphoneos-cross no-shared // 如果是9eadfd4cb6eac17bff776b2a8c47de106c70e34a版本需要添加 no-asm 最新版添加-DGMSSL_NO_TURBO 因为调用私有getcontext方法的问题添加no-threads
make

WebRTC@

  • v4_CN_WebRTC · ossrs/srs Wiki
  • kernelj/jswebrtc: JSWebrtc – 支持 SRS 的 Webrtc 播放器
  • twcc简介TWCC全称是Transport wide Congestion Control
  • ACK:Acknowledgement,它是一种正向反馈,接收方收到数据后回复消息告知发送方。
  • NACK:Negative Acknowledgement,则是一种负向反馈,接收方只有在没有收到数据的时候才通知发送方。
  • DTLS(Datagram Transport Layer Security)即数据包传输层安全性协议

传输层——报文段(segment)/数据报(datagram) (注:TCP叫TCP报文段,UDP叫UDP数据报,也有人叫UDP段) 网络层——分组、数据包(packet) 链路层——帧(frame) 物理层——P-PDU(bit)

面试@

gif loading

Test/单元测试@

app推广

brew@

  • brew list node查看node安装地址

动态库@framework@

通过nm查看符号表其中符号类型t代表 non-external text section symbol
Each symbol name is preceded by its value (blanks if undefined).  Unless the -m
       option is specified, this value is followed by one of the following characters,
       representing the symbol type: U (undefined), A (absolute), T (text section symbol),
       D (data section symbol), B (bss section symbol), C (common symbol), - (for debugger
       symbol table entries; see -a below), S (symbol in a section other than those
       above), or I (indirect symbol).  If the symbol is local (non-external), the
       symbol's type is instead represented by the corresponding lowercase letter.  A
       lower case u in a dynamic shared library indicates a undefined reference to a
       private external in another module in the same library.

静态库@

+load +initialize dyld 启动优化

汇编@

编译@

llvm@

重签名@

When displaying a signature, extract any entitlement data from the signature and write it to the path given. Use "-" to write to standard output. By default, the binary "blob" header is returned intact; prefix the path with a colon ":" to automati- cally strip it off. If the signature has no entitlement data, nothing is written (this is not an error).

MACHO@

chrome@

leader@

重签名@sign@resign@

github@

shell@bash@

Swift@

Swift Package Manager@

语法@

工具

图片处理

sublime@

  • [快捷打开文件或文件夹 finder/terminal]
ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/sublime
  • key binding 'super' 代表command⌘
I wonder how could I prevent the default behavior "the inner scroll view scrolls until it can't scroll any more, at which point the outer scroll view scrolls"? I wish when the user scrolls the inner view, the outer view could stay, even if the inner view has scrolled to the end.
clang -rewrite-objc -fobjc-arc -stdlib=libc++ -mmacosx-version-min=10.7 -fobjc-runtime=macosx-10.7 -Wno-deprecated-declarations keke.m

软著@软件著作权

简历@

About

学习资料

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 31.5%
  • C 28.1%
  • Objective-C 20.2%
  • Shell 16.2%
  • Swift 2.6%
  • C++ 1.4%