预备环境:
macOS jailbreak iOS
1 拷贝debugserver 至Mac 本地
2 给debugserver 添加 task_for_pid 权限
新建文件 ent.xml
|
|
3 将处理过后的 debugserver 拷贝会 iOS
常看 库支持的架构 lipo -info {bin}
使用 debugserver
相关知识:
ssh
scp
lipo
ldid
预备环境:
macOS jailbreak iOS
1 拷贝debugserver 至Mac 本地
2 给debugserver 添加 task_for_pid 权限
新建文件 ent.xml
|
|
3 将处理过后的 debugserver 拷贝会 iOS
常看 库支持的架构 lipo -info {bin}
相关知识:
ssh
scp
lipo
ldid
//.xccongig
GCC_TREAT_WARNINGS_AS_ERRORS = YES
// cms-ling
-Werror
-Wall
-Wextra
-Wpedantic
-Weverything
-Wshadow
-Wfloat-equal 浮点数相等比较
-Wundef #if 中使用了未定义的符号
-Wempty-body if else do while 不会执行的代码段
-Wnewline-eof 文件的结尾符不是空行
Clang 中新的 警告 类型
-Wobjc-literal-compare
-Warc-repeated-use-of-weak
|
|
add Complier Flags -W
http://svnbook.red-bean.com/
https://subversion.apache.org/
https://tortoisesvn.net/
###reference
|
|
|
|
起始地址:即使每次iOS app启动都会加载(main module)主模块在不同的内存地址(大多数情况下32bit框架对应的地址是0x4000、64bit框架对应的地址为0x0000000100000000)。
|
|
其中 vmaddr 0x0000000100000000 地址便为我们所要的app运行起始地址。
symbol address = 地址偏移量+起始地址。
起始地址上面我们已经得到,地址偏移量就是单行信息中“+”号后面的数值。
xcrun atos –arch arm64 -o xxx.app/xxx [addresss]
xcrun atos –arch arm64 -o xxx.app/xxx -l [address] [address]
完整的:
scheme://user:password@host:port/path?query#fragment
简化的:
scheme://host/path?query
NSURL
NSURLComponents
@interface NSString (NSURLUtilities)
// Returns a new string made from the receiver by replacing all characters not in the allowedCharacters set with percent encoded characters. UTF-8 encoding is used to determine the correct percent encoded characters. Entire URL strings cannot be percent-encoded. This method is intended to percent-encode an URL component or subcomponent string, NOT the entire URL string. Any characters in allowedCharacters outside of the 7-bit ASCII range are ignored.
// Returns a new string made from the receiver by replacing all percent encoded sequences with the matching UTF-8 characters.
@property (nullable, readonly, copy) NSString *stringByRemovingPercentEncoding NS_AVAILABLE(10_9, 7_0);
@end
App 之间Comunication
设置
plist
发送
接受
设置
1 创建 apple-app-site-association 配置文件(没有后缀),文件内包含App可以处理的JSON格式URLs设置
2 上传 apple-app-site-association 文件至HTTPS服务器
3 App完成处理 universal links 编码
实例
{
“applinks”: {
“apps”: [],
“details”: [
{
“appID”: “9JA89QQLNQ.com.apple.wwdc”,
“paths”: [ “/wwdc/news/“, “/videos/wwdc/2015/“]
},
{
“appID”: “TeamID.BundleID2”,
“paths”: [ ““ ]
}
]
}
}
Add an entitlement that specifies the domains your app supports.
Update your app delegate to respond appropriately when it receives the NSUserActivity object.
NSUserActivityTypeBrowsingWeb
HandOff
Core Spotlight