-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
462 lines (345 loc) · 22 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
<html>
<head>
<meta charset="utf-8"/>
<meta name="description" content=""/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Kanggggg</title>
<link rel="shortcut icon" href="https://kanggggg.github.io/favicon.ico?v=1623306834610">
<link href="https://cdn.bootcss.com/font-awesome/5.11.2/css/all.css" rel="stylesheet">
<link rel="stylesheet" href="https://kanggggg.github.io/styles/main.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<script src="https://cdn.bootcss.com/highlight.js/9.15.10/highlight.min.js"></script>
<script src="https://cdn.bootcss.com/highlight.js/9.15.10/languages/dockerfile.min.js"></script>
<script src="https://cdn.bootcss.com/highlight.js/9.15.10/languages/dart.min.js"></script>
<script src="https://cdn.bootcss.com/highlight.js/9.15.10/languages/go.min.js"></script>
<script src="https://cdn.bootcss.com/moment.js/2.23.0/moment.min.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"
integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js"
integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"
integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
crossorigin="anonymous"></script>
<!-- DEMO JS -->
<!--<script src="media/scripts/index.js"></script>-->
</head>
<body>
<div class="main gt-bg-theme-color-first">
<div class="main-content">
<nav class="navbar navbar-expand-lg">
<div class="navbar-brand">
<img class="user-avatar" src="/images/avatar.png" alt="头像">
<div class="site-name gt-c-content-color-first">
Kanggggg
</div>
</div>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<i class="fas fa-bars gt-c-content-color-first" style="font-size: 18px"></i>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<div class="navbar-nav mr-auto" style="text-align: center">
<div class="nav-item">
<a href="/" class="menu gt-a-link">
首页
</a>
</div>
<div class="nav-item">
<a href="/archives" class="menu gt-a-link">
归档
</a>
</div>
<div class="nav-item">
<a href="/tags" class="menu gt-a-link">
标签
</a>
</div>
<div class="nav-item">
<a href="/post/about" class="menu gt-a-link">
关于
</a>
</div>
</div>
</div>
</nav>
<div class="post-list-container">
<div class="post-inner">
<div class="post gt-bg-theme-color-second">
<div class="post-left">
<div>
<a href="https://kanggggg.github.io/post/iosshi-yong-zheng-ze-biao-da-shi-de-zheng-que-zi-shi/">
<span class="post-title gt-c-content-color-first">[iOS]使用正则表达式的正确姿势</span>
</a>
</div>
<div class="gt-post-content post-abstract gt-c-content-color-second">
<p>在iOS开发过程中,正则的使用还是比较常见,用来判断用户名、手机号等的输入。当碰到这种需求的时候,部分开发的第一印象可能是使用 <code>NSPredicate</code> 的 <code>SELF MATCHES %@</code> 进行判断,但遗憾的是此方法并非万能,存在检查不出来的情况。其实苹果专门提供了 <code>NSRegularExpression</code> 这个类来做正则校验。</p>
</div>
<div class="post-info">
<time class="post-time gt-c-content-color-first">
发布于 · 2020-01-19 ·
</time>
<a href="https://kanggggg.github.io/tag/blcGduvgh/" class="post-tag">
# Objective-C
</a>
<a href="https://kanggggg.github.io/tag/Zhv6rypAl/" class="post-tag">
# 正则
</a>
<a href="https://kanggggg.github.io/tag/7PxhaBnP7/" class="post-tag">
# iOS
</a>
</div>
</div>
</div>
<div class="post gt-bg-theme-color-second">
<div class="post-left">
<div>
<a href="https://kanggggg.github.io/post/ios-kai-fa-zhi-wkwebview-xia-js-alertconfirmprompt-shi-xiao-jie-jue-fang-an/">
<span class="post-title gt-c-content-color-first">[iOS]WKWebView下JS alert()/confirm()/prompt() 失效解决方案</span>
</a>
</div>
<div class="gt-post-content post-abstract gt-c-content-color-second">
<p>由于苹果的安全机制,苹果拦截了JavaScript的alert()/confirm()/prompt()的弹出,需要实现 <code>WKUIDelegate</code> 的下面三个代理方法:</p>
</div>
<div class="post-info">
<time class="post-time gt-c-content-color-first">
发布于 · 2020-01-17 ·
</time>
<a href="https://kanggggg.github.io/tag/blcGduvgh/" class="post-tag">
# Objective-C
</a>
<a href="https://kanggggg.github.io/tag/opmzowxdS/" class="post-tag">
# WKWebView
</a>
<a href="https://kanggggg.github.io/tag/7PxhaBnP7/" class="post-tag">
# iOS
</a>
</div>
</div>
<a href="https://kanggggg.github.io/post/ios-kai-fa-zhi-wkwebview-xia-js-alertconfirmprompt-shi-xiao-jie-jue-fang-an/" class="post-feature-image"
style="background-image: url('https://kanggggg.github.io/post-images/ios-kai-fa-zhi-wkwebview-xia-js-alertconfirmprompt-shi-xiao-jie-jue-fang-an.jpg')">
</a>
</div>
<div class="post gt-bg-theme-color-second">
<div class="post-left">
<div>
<a href="https://kanggggg.github.io/post/ios-kai-fa-zhi-cocoapodscha-jian-pian-yi-cocoapods-packager/">
<span class="post-title gt-c-content-color-first">[iOS]CocoaPods:插件篇一 CocoaPods Packager</span>
</a>
</div>
<div class="gt-post-content post-abstract gt-c-content-color-second">
<p>经过我们的不懈努力,CocoaPods的私有库写完了,现在进入集成阶段了,倘若对方工程也在使用CocoaPods,我们也乐意开放源码,那就是开心愉快了,倘若对方工程还是个老古董,我们也不乐意开放源码,这时候就需要我们自行打包了。我们也知道打包又要考虑架构考虑真机和模拟器,很繁琐,CocoaPods Packager就可以来拯救我们。</p>
</div>
<div class="post-info">
<time class="post-time gt-c-content-color-first">
发布于 · 2019-09-19 ·
</time>
<a href="https://kanggggg.github.io/tag/7PxhaBnP7/" class="post-tag">
# iOS
</a>
<a href="https://kanggggg.github.io/tag/Lf8MZ-jj-9/" class="post-tag">
# CocoaPods
</a>
</div>
</div>
</div>
<div class="post gt-bg-theme-color-second">
<div class="post-left">
<div>
<a href="https://kanggggg.github.io/post/ios-kai-fa-zhi-cocoapodsjin-jie-pian-da-jian-si-you-ku/">
<span class="post-title gt-c-content-color-first">[iOS]CocoaPods:进阶篇 搭建私有库</span>
</a>
</div>
<div class="gt-post-content post-abstract gt-c-content-color-second">
<p>经过入门篇中的实操,我们现在已经安装好了CocoaPods,也知道怎么导入依赖库了, 现在开始向前进一步,利用CocoaPods搭建私有库。</p>
<p>其实像AFNetworking这样的库,我们可以用CocoaPods导入是因为CocoaPods官方维护了一套库。那么其实我们也可以自己维护一套私有库,只供我们自己使用。</p>
</div>
<div class="post-info">
<time class="post-time gt-c-content-color-first">
发布于 · 2019-09-19 ·
</time>
<a href="https://kanggggg.github.io/tag/7PxhaBnP7/" class="post-tag">
# iOS
</a>
<a href="https://kanggggg.github.io/tag/Lf8MZ-jj-9/" class="post-tag">
# CocoaPods
</a>
</div>
</div>
</div>
<div class="post gt-bg-theme-color-second">
<div class="post-left">
<div>
<a href="https://kanggggg.github.io/post/ios-kai-fa-zhi-cocoapodsru-men-pian-guan-li-yi-lai-ku/">
<span class="post-title gt-c-content-color-first">[iOS]CocoaPods:入门篇 管理依赖库</span>
</a>
</div>
<div class="gt-post-content post-abstract gt-c-content-color-second">
<blockquote>
<p>WHAT IS COCOAPODS<br>
CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. It has over 52 thousand libraries and is used in over 3 million apps. CocoaPods can help you scale your projects elegantly.</p>
</blockquote>
<p><a href="https://cocoapods.org/">CocoaPods</a> 官网上的这段话翻译一下就是:CocoaPods是Swift和Objective-C Cocoa项目的依赖管理器。他拥有超过52000个库,并在超过300万个应用程序中使用。CocoaPods可以帮助您优雅地扩展项目。</p>
</div>
<div class="post-info">
<time class="post-time gt-c-content-color-first">
发布于 · 2019-09-19 ·
</time>
<a href="https://kanggggg.github.io/tag/7PxhaBnP7/" class="post-tag">
# iOS
</a>
<a href="https://kanggggg.github.io/tag/Lf8MZ-jj-9/" class="post-tag">
# CocoaPods
</a>
</div>
</div>
</div>
<div class="post gt-bg-theme-color-second">
<div class="post-left">
<div>
<a href="https://kanggggg.github.io/post/mac-kai-fa-huan-jing-zhi-npm/">
<span class="post-title gt-c-content-color-first">[Mac]开发环境之NPM</span>
</a>
</div>
<div class="gt-post-content post-abstract gt-c-content-color-second">
<p><a href="https://www.npmjs.com">NPM</a> 即 Node Package Manager,是NodeJS的包管理器,且是随同NodeJS一起安装的。</p>
</div>
<div class="post-info">
<time class="post-time gt-c-content-color-first">
发布于 · 2019-09-19 ·
</time>
<a href="https://kanggggg.github.io/tag/eMJwiXdb9/" class="post-tag">
# NPM
</a>
<a href="https://kanggggg.github.io/tag/2JjSY6zwu/" class="post-tag">
# Mac
</a>
</div>
</div>
<a href="https://kanggggg.github.io/post/mac-kai-fa-huan-jing-zhi-npm/" class="post-feature-image"
style="background-image: url('https://kanggggg.github.io/post-images/mac-kai-fa-huan-jing-zhi-npm.jpeg')">
</a>
</div>
<div class="post gt-bg-theme-color-second">
<div class="post-left">
<div>
<a href="https://kanggggg.github.io/post/mac-kai-fa-huan-jing-zhi-ruby/">
<span class="post-title gt-c-content-color-first">[Mac]开发环境之Ruby</span>
</a>
</div>
<div class="gt-post-content post-abstract gt-c-content-color-second">
</div>
<div class="post-info">
<time class="post-time gt-c-content-color-first">
发布于 · 2019-09-19 ·
</time>
<a href="https://kanggggg.github.io/tag/DxA1Phlgc/" class="post-tag">
# Ruby
</a>
<a href="https://kanggggg.github.io/tag/2JjSY6zwu/" class="post-tag">
# Mac
</a>
</div>
</div>
</div>
<div class="post gt-bg-theme-color-second">
<div class="post-left">
<div>
<a href="https://kanggggg.github.io/post/mac-kai-fa-huan-jing-zhi-homebrew/">
<span class="post-title gt-c-content-color-first">[Mac]打造Mac开发环境之Homebrew</span>
</a>
</div>
<div class="gt-post-content post-abstract gt-c-content-color-second">
<p>使用Mac开发的时候,我们经常会在一些工具的安装说明里发现使用Homebrew安装,仅仅一句命令就把工具安装好了,简直🐂炸了,那么什么是Homebrew?</p>
</div>
<div class="post-info">
<time class="post-time gt-c-content-color-first">
发布于 · 2019-09-19 ·
</time>
<a href="https://kanggggg.github.io/tag/M9v2_wH3p/" class="post-tag">
# Homebrew
</a>
<a href="https://kanggggg.github.io/tag/2JjSY6zwu/" class="post-tag">
# Mac
</a>
</div>
</div>
<a href="https://kanggggg.github.io/post/mac-kai-fa-huan-jing-zhi-homebrew/" class="post-feature-image"
style="background-image: url('https://kanggggg.github.io/post-images/mac-kai-fa-huan-jing-zhi-homebrew.png')">
</a>
</div>
<div class="post gt-bg-theme-color-second">
<div class="post-left">
<div>
<a href="https://kanggggg.github.io/post/mac-yi-nan-za-zheng-zhi-jie-jue-an-quan-yu-yin-si-mei-you-yun-xu-ren-he-lai-yuan-xuan-xiang/">
<span class="post-title gt-c-content-color-first">[Mac]疑难杂症之安装App时提示已损坏解决办法</span>
</a>
</div>
<div class="gt-post-content post-abstract gt-c-content-color-second">
<p>由于MacOS的安全机制,非AppStore下载的App在打开的时候有时会提示App已损坏,怎么办呢?</p>
</div>
<div class="post-info">
<time class="post-time gt-c-content-color-first">
发布于 · 2019-09-19 ·
</time>
<a href="https://kanggggg.github.io/tag/2JjSY6zwu/" class="post-tag">
# Mac
</a>
</div>
</div>
<a href="https://kanggggg.github.io/post/mac-yi-nan-za-zheng-zhi-jie-jue-an-quan-yu-yin-si-mei-you-yun-xu-ren-he-lai-yuan-xuan-xiang/" class="post-feature-image"
style="background-image: url('https://support.apple.com/library/content/dam/edam/applecare/images/en_US/macos/Catalina/macos-catalina-upgrade-hero.jpg')">
</a>
</div>
<div class="post gt-bg-theme-color-second">
<div class="post-left">
<div>
<a href="https://kanggggg.github.io/post/mackai-fa-gong-ju-zhi-geng-qiang-da-de-zhong-duan-iterm2oh-my-zsh/">
<span class="post-title gt-c-content-color-first">[Mac]开发工具之更强大的终端 iTerm2+Oh My Zsh</span>
</a>
</div>
<div class="gt-post-content post-abstract gt-c-content-color-second">
<p>在开发过程中,难免要用到终端运行命令的情况,一般Mac自带能满足需求了,但是俗话说工欲善其事必先利其器,作为一个开发,没有理由拒绝把终端变得更强。iTerm2 搭配 Oh My Zsh 或许就是答案。</p>
</div>
<div class="post-info">
<time class="post-time gt-c-content-color-first">
发布于 · 2019-09-19 ·
</time>
<a href="https://kanggggg.github.io/tag/8_ndHYBmO/" class="post-tag">
# Terminal
</a>
<a href="https://kanggggg.github.io/tag/2JjSY6zwu/" class="post-tag">
# Mac
</a>
</div>
</div>
<a href="https://kanggggg.github.io/post/mackai-fa-gong-ju-zhi-geng-qiang-da-de-zhong-duan-iterm2oh-my-zsh/" class="post-feature-image"
style="background-image: url('https://kanggggg.github.io/post-images/mackai-fa-gong-ju-zhi-geng-qiang-da-de-zhong-duan-iterm2oh-my-zsh.png')">
</a>
</div>
</div>
</div>
<div class="pagination-container">
<a href="https://kanggggg.github.io/page/2" class="prev-page gt-a-link">下一页</a>
</div>
<div class="site-footer gt-c-content-color-first">
<div class="slogan gt-c-content-color-first">Hello world</div>
<div class="social-container">
</div>
<div class="footer-info">
Powered by <a href="https://github.com/getgridea/gridea" target="_blank">Gridea</a>
</div>
<div>
Theme by <a href="https://imhanjie.com/" target="_blank">imhanjie</a>, Powered by <a
href="https://github.com/getgridea/gridea" target="_blank">Gridea | <a href="https://kanggggg.github.io/atom.xml" target="_blank">RSS</a></a>
</div>
</div>
<script>
hljs.initHighlightingOnLoad()
</script>
</div>
</div>
</body>
</html>