自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sail的技术博客

位置不能带来自由;能力才能让人自由。

  • 博客(130)
  • 资源 (6)
  • 收藏
  • 关注

原创 iOS支付功能篇:原生WebView调起支付宝客户端支付方案

产品需求: 使用iOS原生WKWebView加载H5调起支付宝客户端进行支付的功能实现。资源后台提供H5支付接口 e.g : https://qr.alipay.com/bax06385q32ssucugqxm00f1开发历程1. 安卓直接webView加载上面的URL直接可完成跳转支付宝弹出支付界面;2. iOS WKWebView加载这个URL,只是单纯加载,无法实现跳转;3. 使

2017-07-05 15:44:57 48931 10

原创 Apple Unity Plugins 接入GameCenter 崩溃解决方案

Thread 1: EXC_BAD_ACCESS (code=257, address=0x8000000000000002)var fetchItemsResponse = await GKLocalPlayer.Local.FetchItems();Library not loaded: @rpath/AppleCoreNative.framework/AppleCoreNative

2023-12-29 09:43:18 1094

原创 iOS开发:苹果相关错误码

所属库:Foundation/FoundationErrors.h。所属库:Foundation/NSURLError.h。

2023-12-13 18:00:39 551

原创 SKAdNetwork:从0到1

一、什么是SKAdNetwork 二、种类三、归因流程四、开发者回传归因数据示例 NSAdvertisingAttributionReportEndpoint五、开发者归因回调链接的要求(针对服务器)六、SKAdNetwork的版本生效规则七、参考WWDC

2023-02-23 20:30:01 1584

原创 Github:fatal: Could not read from remote repository.

Github 仓库,执行 git pull 和 git push 时,报错如下:kex_exchange_identification: Connection closed by remote hostConnection closed by 20.205.xx.xx port 22fatal: Could not read from remote repository.Please make sure you have the correct access rightsand the repo

2022-04-24 18:23:22 2468

原创 M1 MacBook:ERROR: While executing gem ... (Gem::FilePermissionError)

一、错误sudo gem install cocoapods Password:ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 directory.二、解决curl -L http

2022-04-01 17:18:32 2021

原创 Unity:导Xcode工程报错 iOS framework addition failed due to a CocoaPods installation failure.

iOS framework addition failed due to a CocoaPods installation failure. This will will likely result in an non-functional Xcode project.Unity导出Xcode工程时,由于其依赖了第三方的CocoaPods库,报错如下。解决方案:虽然错误中写的WARNING,但是解决了这个WARNING问题,也不再报错了。cd ~vim .profile # 如没有,执行如下.

2021-11-15 21:07:53 5065

原创 Swift:认识和使用 Swift Package Manager

Swift Package Manager 是一个用于管理 Swift 代码分发的工具。简称 SwiftPM 。它与 Swift 构建系统集成,以自动化下载、编译和链接依赖项的过程。一款 苹果官方 第三方开源库管理工具,功能同 Cocopods、Carthage。下面我们从以下几个方面来认识它。(建议大家下载 iOS版 Developer App 观看相关WWDC视频)了解 Swift Package Manager Getting to Know Swift Package Manager【W

2021-08-05 17:16:50 616

原创 C++:从0到1

函数指针每个函数都占用一段连续的内存空间,函数指针就是指向函数起始地址的指针。int (*pf)(int, char); //pf就是一个函数指针pf(1,'c'); //调用方式函数指针用于可以对任意类型的数组进行排序,最后传入比较函数即可。void qsort(void *base, int enlem, unsigned int width, int (*pfCompare)(const void *, const void *));位运算& 按位与| 按位或^

2021-06-02 10:16:03 553

原创 面向对象:Objective-C 与 C++ 实现“多态”的原理

最近在学习 UE4(Unreal Engine)的相关知识,由于UE4引擎是使用C++实现的,因此对C++语言有了深一步的学习。我想,程序员在会某种语言的情况下,再学习其他语言时,总喜欢对比着学习,特别是同属于一类的,OC与C++同为编译型语言。C++也是一门使用C语言实现的面向对象语言。而OC的底层是C和C++。OC与C++还是有很多不同的,比如OC的方法只声明不定义,编译可以通过,且可以只定义不声明,而C++声明和定义必须成对出现,且在其他地方调用的情况下,只声明不定义编译不通过。这是因为OC底层的有

2021-05-31 16:20:02 312 4

原创 Web服务器:Nginx 安装配置

笔者首次使用Nginx搭建Web服务器(新手),按照 Nginx 安装配置 | 菜鸟教程 操作时,发现中间有些步骤省略了,导致无法进行下去,安装期间请教了懂的人。感觉此教程对Web服务不熟的新手来说,不太友好,所以对其进行了补充。Nginx 安装系统平台:CentOS release 6.6 (Final) 64位。登入服务器ssh root@服务器IP地址一、安装编译工具及库文件yum -y install make zlib zlib-devel gcc-c++ libtool op.

2021-04-02 11:37:50 371

原创 LLVM:CMake Error at CMakeLists.txt:38 (project): No CMAKE_C_COMPILER could be found.

错误执行 cmake -G Xcode ../llvm 生成 Xcode工程时,报错如下:分析CMake Error at CMakeLists.txt:38 (project): No CMAKE_C_COMPILER could be found.意思是: CMakeLists.txt 文件的第38行 找不到宏CMAKE_C_COMPILER,这个是 C 编译 的前端 clang 路径解决set(CMAKE_C_COMPILER "/Applications/Xcode.app/Con

2021-03-18 14:37:50 1454

原创 LLVM:快速编译源码(最新)

Getting Started with the LLVM System一、Checkout LLVM (including related subprojects like Clang):git clone https://github.com/llvm/llvm-project.git二、Configure and build LLVM and Clang:1.Configurebrew install cmake (安装cmake)brew install Ninja (安装Ni

2021-03-15 15:53:19 520

原创 Mac小技巧:如何在当前目录快速打开终端iTerm2并定位至当前目录

一、手动打开二、设置快捷键shift+command+j打开新标签shift+command+m打开新Window注:此处的快捷方式可随意自行定义,默认是“无”

2021-03-15 11:28:12 6681 1

原创 iOS组件化:Unable to find a specification for `xxx` depended upon by `xxx`

问题发布验证的时候出现如下错误:找不到某个依赖库解决pod spec lint --sources='https://github.com/CocoaPods/Specs.git,http://gitlab.appshahe.com/component/metaapp-ios-specs.git' --use-libraries --allow-warnings由于发布的库依赖了私有Cocopods库 metaapp-ios-specs ,导致无法找到。验证和发布的时候需使用 --source=

2021-02-22 17:08:38 4292

原创 iOS原生与UE4混编:UE4 Project Setting iOS 选项配置

注:所有的配置都需要通过UE4工程去配,直接在Xcode配置的话,重新编译把所有信息重置了,是无效的。基本信息签名信息对应Xcode的自动签名HTTP允许对应Xcode info.plist的网络配置<key>NSAppTransportSecurity</key><dict> <key>NSAllowsArbitraryLoads</key> <true/></dict>Info.plist

2021-02-03 20:22:17 901

原创 iOS原生与UE4混编:UE4中如何使用iOS静态库

应用场景:iOS原生与UE4混编:方案调研UE4 使用iOS静态库第一个参数是Framework的名称,第二个参数是Framework的路径,第三个参数是资源的路径。(一般都跟Framwork同级目录,所以直接写名称即可。注意这里必填,不然bundle不会生效,有些文章说可以不填,笔者就踩了这个坑,不填不生效)静态库压缩后放的目录UE4依赖:void LoadIOSF(ReadOnlyTargetRules Target){ if(Target.Platform == .

2021-02-02 15:39:13 2146 4

原创 iOS原生与UE4混编:方案调研

需求在原生App上运行UE4场景实现方案调研方案三 最终成为笔者的选择方案。方案一:将UE4项目作为FrameWork引入iOS项目中(多工程管理)类似Unity的方案,如下图所示。 iOS开发之Unity游戏在iOS平台运行调研(踩坑)经尝试,UE4并没有像Unity那样支持得这么好。暂时放弃。方案二:编译UE4源码,修改UE4项目的IOSAppdelegate,将原生页面在这里去加入这里加入的代码,必须使用UE4 Unreal Editor 源码版才会被编译。安装版直接走的是可执行文

2021-02-02 15:33:23 2388 11

原创 iOS开发之Unity游戏在iOS平台运行调研(踩坑)

需求在现有App上运行自研的Unity游戏方案方案一、导出WebGL运行在WKWebView上方案二、Unity与原生混合开发官方示例:将 Unity 集成到原生 iOS 应用程序中

2020-10-23 20:57:11 2214 2

原创 iOS开发之App审核那些事儿

引用Dedicated to the best store experience for everyoneInside Apple’s team that greenlights iPhone apps for the App Store40%拒绝率!苹果App Review 团队审核机制曝光App Store Review Guidelines数据自动化系统(机审),作为参...

2020-04-28 16:27:21 1267

原创 iOS组件化:podspec文件配置指南

## Be sure to run `pod lib lint MXStatService.podspec' to ensure this is a# valid spec before submitting.## Any lines starting with a # are optional, but their use is encouraged# To learn more a...

2020-02-26 11:41:29 1804

原创 iOS组件化:坑点

1. 当组件继承于第三方库时需修改导入方式错误引入: #import "AFHTTPSessionManager.h" 正确引入: #import <AFNetworking/AFHTTPSessionManager.h>执行如下命令时会提示 ”xxx.h“ file not foundpod lib lint xx.podspec2. 执行 pod spec lint...

2020-02-26 11:21:28 1368

原创 iOS13适配篇:微信openSDK1.8.6更新导致不能进行微信登录和分享问题解决方案

微信SDK更新后报错:-canOpenURL: failed for URL: "weixinULAPI://"

2019-09-27 16:55:14 17303 13

原创 iOS开发针对审核条款2.3.1被拒的思考

Guideline 2.3.1 - PerformanceWe discovered that your app contains hidden features.The next submission of this app may require a longer review time, and this app will not be eligible for an expedite...

2019-07-18 11:23:34 6591

原创 iOS开发如何删掉不可删除的桌面快捷方式【Web Clip】

丝瓜视频网页版如何删除?丝瓜官网怎么删除?不小心安了丝瓜视频,描述文件安装了,可是卸载不了了,哪位大神有办法?

2019-06-25 14:23:15 90063 60

原创 Tig使用报错:tig: Not a git repository

背景:更新Mac OS 10.15 beta,安装Xcode11 beta,导致Tig报错 tig: Not a git repository解决方案执行 sudo xcodebuild -license accept 同意Xcode license解决问题思路如下图:...

2019-06-15 15:46:05 583

原创 算法 | 斐波那契数列实现(OC)

了解斐波那契数列斐波那契数列百度百科OC 三种实现方式#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGIN@interface FibonacciSequence : NSObject/** 基本循环 @param number n @return 斐波那契数值 */+ (NSInteger)no...

2019-04-10 21:12:47 618

转载 HTTP状态码:400\500 错误代码(个人总结)

原文链接一些常见的状态码为:200 - 服务器成功返回网页404 - 请求的网页不存在503 - 服务不可用详细分解:1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。代码 说明100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。...

2019-03-28 11:16:34 10359

原创 2019 Flag & Status

工作换一份工作至少通读六本技术书籍(含重温)至少上架三款业余项目每周至少两天于Github上有活跃显示每两周至少一篇技术博客Python爬虫与数据分析入门考研准备生活拿下驾照定下房子学会游泳健身计划...

2019-02-15 15:34:46 398

原创 周记 | 20190215 | 新年伊始

日常

2019-02-15 15:00:30 313

原创 GitHub 大文件上传解决方案

Large files detected. You may want to try Git Large File Storage

2018-12-27 11:13:53 1136

原创 iOS开发之如何获取当前项目的所有类

#import &lt;Foundation/Foundation.h&gt;@interface NSBundle (YJInfo)/** 获取当前工程下自己创建的所有类 @return 数组 */+ (NSArray &lt;Class&gt; *)yj_bundleOwnClassesInfo;/** 获取当前工程下所有类(含系统类、cocoPods类) @re...

2018-11-14 09:55:03 2971

原创 隐私政策

本软件尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本软件会按照本隐私权政策的规定使用和披露您的个人信息。但本软件将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本软件不会将这些信息对外披露或向第三方提供。本软件会不时更新本隐私权政策。您在同意本软件服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于本...

2018-10-09 20:07:09 37804 2

原创 iOS开发之如何手动添加或销毁NavigationController中任意控制器

产品需求: 假设有 A、B、C、D、E、F个控制器 ( -&gt; 表示 push) 示例: A -&gt; B -&gt; C -&gt; D -&gt; E 实现: A -&gt; B -&gt; C -&gt; F -&gt; E 说明: 需要在E控制器返回时,直接返回到一个新的控制器F,而不是 DImplementation Code//修改栈...

2018-07-06 21:05:12 4107

原创 【UI】透明度与十六进制值对照表

透明度参照表 透明度 十六进制值 00% FF(不透明) 5% F2 10% E5 15% D8 20% CC 25% BF 30% B2 35% A5 40% 99 45% 8C 50% 7F 55% 72 60% 66...

2018-07-04 09:25:06 559

转载 AI之深度学习教学(0)——从这里出发

原文链接或许你第一个想弄明白的问题是 人工智能(AI),机器学习(ML),深度学习(DL)三者的区别和联系,下图清晰明了地告诉你。 什么是机器学习从小学开始,我们便一直和「函数」打交道,比如一条直线 若输入为 ,很容易得到 若输入为一段音频,你需要去模拟出一个类似与函数的东西,它的输出便是音频的内容&amp;amp;lt;若输入为一张图片,你希望模拟一个复杂的函数,使得它的输出为这张图片是什么&amp;amp;lt;若输入...

2018-06-27 15:11:43 379

原创 iOS开发适配之通过系统statusBar判断设备网络状态(iPhone X 已适配)

通过系统statusBar判断设备网络状态 (已适配iPhone X)// 获取设备网络状态+ (NSString *)deviceNetWorkStatus{ UIApplication *app = [UIApplication sharedApplication]; int type = 0; if (!IS_IPHONE_X) { // 非iPhone X...

2018-04-20 21:15:02 1210

原创 iOS开发SDWebImage之 支持WebP格式图片资源

引言:本文书写目的主要解决以下问题 后台返回的图片url 通过iOS第三方库SDWebImage和Safari都无法加载,但在Chrome中能正常加载 新增 pod 'SDWebImage/WebP’ 支持WebP格式 pod install时,停留在libwebp,报错:Failed to connect to chromium.googlesource.com por...

2018-02-11 11:25:54 2378 2

转载 iOS开发之 一行命令统计iOS工程代码总行数

原文链接我们有时候想要统计一下我们的工程的总代码行数,来获取一些成就感或者作为别的用图,这里就介绍一些如何便捷地统计代码的行数,非常简单,方法如下:1.打开终端;2.通过cd命令到达我们的工程文件,这里注意如果要避免统计引用的第三方库的代码量,我们就要进一步进到我们自己写的代码文件中去,一般是一个与工程文件同名的文件;3.统计代码行数:如果想列出每个文件的行数,输入命令:find . -name "

2017-11-21 21:06:21 420

原创 iOS开发之如何手动销毁掉NavigationController中任意控制器

开发需求: 仿照“今日头条” 中文章详情页面,逻辑是这样的:push进文章详情控制器,点击相关文章,继续push进一个新的相同的详情控制器,依次下去。点击返回和右滑手势返回需直接返回到最前面的控制器(不一定是根控制器)。 需求整理: A 控制器 文章列表页 B 控制器 文章详情页 A—>B(1) —>B(2)—>B(3)—>B(4

2017-11-18 23:31:50 12177 2

iOS 12.2 真机支持包

iOS 12.2 真机支持包 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

2019-04-22

点阵图(位图)与矢量图区别

点阵图(位图)与矢量图区别 位图,也叫做点阵图,删格图象,像素图,简单的说,就是最小单位由象素构成的图,缩放会失真。 

矢量图,也叫做向量图,采用线条和填充的方式,可以随意改变形状和填充颜色,无论放大或缩小都不会失真,FLASH动画大多使用矢量图做的。

2018-02-11

OS X与IOS内核编程

OS X与IOS内核编程

2017-05-24

多线程和内存管理

Objective-C高级编程iOS与OSX多线程和内存管理

2017-04-19

程序员健康指南

程序员健康指南

2016-12-28

自定义视图上下无限循环滚动

自定义视图上下无限循环滚动

2016-09-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除