啊神的技术博客

我的小博客,小智慧

iOS之接地气的移动支付

| 评论

iOS 移动支付之种类

iOS 端的移动支付,大概包括:支付宝支付、微信支付、银联卡支付、paypal支付,现在又多出一个Apple pay支付;

如何集成这些种类的支付方式

谈及如何集成这些支付方式,面对各种支付方式的SDK以及Demo写的详细的完美无缺,我还真不如还如何去写,这里我就接地气的写写,写的不好请勿喷哦☺!

支付宝支付

大致有以下步骤:

1.向支付宝申请, 与支付宝签约,获得商户PID(partner)和账号ID(seller)和私钥(privateKey)

注:*这一步,一般公司会搞定的,这里只是让你知道来龙去脉☺
  没有支付宝账号的同学,可以点击这里注册账号;
  已经有支付宝账号的同学点击这里申请移动支付
申请签约有个门槛比较难,就是不管你是个人还是企业,都需要营业执照,这点有点蛋疼,不过人家也是为了有质量的管理申请者嘛,可以理解,我这里没有营业执照,申请工作就死在了摇篮里,不过大致流程,我基本弄清楚了,不过作为开发者,这申请工作就不用多关心了,一般公司都会有申请过的,我这里写出来也就是让我们开发者也大概知道流程,而不是直接就是用,只知去向,不知来龙。
申请签约成功后,就可以查看 PID(partner)和账号ID(seller)和私钥(privateKey) ,查看地址点击这里 进行登录,点击下图中的查询PID和Key;
Pay

仿照微博、微信弹出ActionSheet样式

| 评论

 iOS 开发中,很多应用都会用到从屏幕底部弹出的UIActionSheet, 但是使用的过程中,总感觉系统的样式怪怪的,或者与自己开发的App的UI不是很协调,总之与自己的App搭配就一个字:丑。 说起ActionSheet样式,应该来看看主流的微博与微信是什么样式的;

微信 微博

看上去的确挺自然,一点也不像系统自带的,给人的感觉就是不协调,不协调的

简单实现双击tabBarItem刷新页面

| 评论

如何实现双击tabbarItem刷新页面?

 在网上寻找了一圈,众说纷纭,大差不差,而且基本上实现的不是双击才刷新,而是双击刷新一次后,只要再次单击就会刷新,这样很容易造成用户不小心点着,降低用户体验;见于这种局面,我花费了近一个小时,鼓捣出来了,只有双击的时候,才会去刷新页面(其实是伪双击,也就是单击两次,没有做两次单击时间间隔限制),废话不说了,直接上代码:


int i = 0;
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{
    i++;
    UIViewController *tbSelectedController = tabBarController.selectedViewController;
    if ([tbSelectedController isEqual:viewController]) {
        if (currentIndex == 1 && tabBarController.selectedIndex == 1 && i % 2 != 0) {
            UINavigationController *nav = self.viewControllers[1];
            TestViewController *tVC = nav.viewControllers[0];
            [tVC doubleClickRefrsh];
        }
        currentIndex = tabBarController.selectedIndex;
        return NO;
    }
    i = 1;
    return YES;
}

这里是 UITabBarDelegate 的代理方法,实现的是双击第二个tabBarItem,则刷新其对应的第一个视图的节目数据;
至于i的存在,是为了记录是否是双击,我是根据i是偶数还是奇数来进行判断的;
就酱紫吧,不清楚的只管拿去用就行了,我就不多解释了,只有这几行代码,真没啥解释的了(^o^)/~

iOS 多语言版本的开发(三)

| 评论

写在前面

iOS 多语言版本的开发(二) 中我们实现了如何让用户自己去切换系统语言的功能,我们还写了Demo 以供辅助学习;但是,继以上两篇文章都是建立在项目刚刚启动或启动不久,项目中存在的中文字符串还不是很多,手动改起来也还可以接受; 那么问题来了,如果项目已经竣工或者已经迭代几个版本了,那该如何实现了?手动改起来也不太现实,耗时耗力不讨好的手动,在这里就不用考虑了。 不让考虑,是因为我有更简单快捷高效的方法,让我慢慢与您道来;

如何辨别项目中的中文字符串?

 既然要替换项目中使用到的中文字符串,那么前提就必须要先找到这些个字符串,然后将这些字符串,替换成我们定义的, 为了替换方便,可将这些字符串自身作为key, 这里不理解的不要紧,下面我还会讲到。 既然是辨别中文字符串,那也就是说在项目文件中进行匹配查找,说到匹配,那就需要正则表达式了,用正则表达式匹配Xcode中的使用的中文字符串,使用(@"[^"]*[\u4E00-\u9FA5]+[^"\n]*?")\s* 即可, 打开你的Xcode 试试看,切记find 后面的选项要选择 Regular Expression, 默认选中的是Text, 如图

iOS 多语言版本的开发(二)

| 评论

题记

  iOS 多语言版本的开发(一) 中我们完成了让应用跟随系统语言进行切换,而用户自己却不能切换的功能,也基本上算是实现了多语言版本;可是,对于某些应用来说,实现跟随系统语言切换的同时, 也想要实现让用户自己选择应用语言版本的功能;针对这种情况,利用这篇文章来写写如何让用户自己切换应用语言版本;

语言文件存在的形式

想要实现用户自己手动切换语言版本,就先要了解语言文件在资源文件中存在的形式;

啊神多语言

如图中,不管是英语(en.lproj)、简体(zh-Hans.lproj)、还是繁体(zh-Hant.lproj)都是以.lproj 的文件夹形式存在, 所以当我们要切换语言的时候,其实也就是做到去取这些.lproj 文件夹中的ASLocalized.strings文件;

iOS 多语言版本的开发(一)

| 评论

引言

 多语言 & 本地化,随你怎么叫,道理差不多;一个App 要想走出国门,只支持一种语言是不能够的,也是不可能的,多元化世界已经融入我们的生活,对于一些应用,开发多语言版本,已经是不可避免的,特别是旅游等方面的应用;国内也有很多App 已经接入多语言,例如:支付宝、微信、收留我(嘻嘻,做下广告)等;

开发多语言,一般有两种情况

1、App还没有开始写,这个时候创建一个多语言版本,很是容易,然后再写代码的时候稍微留意下哪里需要保持多语言就行了;
2、App已经上线了,而且之前没有任何的为开发多语言准备过,这时候Boss让开发多语言版本,这下你就苦逼了,想想项目中长长短短的中文字符串,没有上千也得上几百了吧,在想想一个一个替换,哎呀妈呀,那么多,想想都想死了,在想想还容易出错,哎呀妈呀,让我死了算了;

GitHub 的简明教程之入门使用

| 评论

相关文章

GitHub 的简明教程之配置ssh key

本地创建Git仓库

1、git init 初始化仓库

打开terminal 命令窗口,利用cd 命令,进入你需要初始化的目录,执行git init 命令;
如出现以下类似的输出,则成功初始化
Initialized empty Git repository in /Users/shou65/Desktop/myfirstgit/.git/

2、git add . 添加到暂存区(保存项目索引,并生产快照)

这一步一般什么的都不会输出,但是却已经添加好了,不用多想,继续下一步 (ps: git add 后面的点,不能忘)