Tian'notes

Quick notes


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

iOS开发 - 在一个工程中开发多个APP

发表于 2016-10-11   |   分类于 iOS   |  

一般情况下,我们是一个 App 应用对应一个Xcode Project,但是如果你需要同时开发多个产品,而这些产品 90% 的数据结构以及交互方式都一样,呈现在用户面前的这两个产品,最大的不一样就是UI元素以及某些配色时,如果这个时候还是一个 App 一个Xcode Project,普遍的做法是:

你会先开发完成一个产品,然后在复制到其他的产品中,非常的麻烦而且效率很低,你需要一个一个文件去比对。如果你使用模块的方式,开发完一个模块,然后再利用Pod的方式导入到其他产品中,虽然这样可行,但是涉及到产品的迭代开发以及产品的随时会变的交互,模块的细化分很难实现。

如果你也面临这样的问题,不放考虑一下下面讲的一个工程来开发多个App:

阅读全文 »

Xcode错误 - Pch file not found

发表于 2016-09-26   |   分类于 Xcode错误   |  

这种问题出现的原因大多是路径问题,当 Mac 拷贝了工程或是工程的位置发生了变化,导致 Pch 文件的路径出错,解决方法如下:

  1. Targets -> Build Settings -> Apple llvm - Language ,将项目里的的 Pch 文件直接拖到这边,设置为 YES;
  2. ⌘ + ⇧ + K 清除工程;
  3. ⌘ + B 编译工程;

pchnotfound

参考链接

http://stackoverflow.com/questions/25840720/xcode-6-pch-file-not-found

Xcode错误 - Expected a type

发表于 2016-09-15   |   分类于 Xcode错误   |  

需要自己手动导入库:

1
#import <UIKit/UIKit.h>

参考链接:http://stackoverflow.com/questions/26412635/ios-8-expected-a-type

微信开发 - access_token

发表于 2016-09-05   |   分类于 微信开发   |  

在微信公众平台接口开发中,access_token占据了一个很重要的地位,它相当于进入各种接口的钥匙,拿到这个钥匙才有调用其他各种特殊接口的权限。

同样微信服务器也是通过access_token识别是哪个公众号,以及该公众号是否有权限调用该接口。

access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。

公众号可以使用AppID和AppSecret调用本接口来获取access_token。AppID和AppSecret可在开发模式中获得,注意调用所有微信接口时均需使用https协议。

阅读全文 »

微信开发 - 接口简介

发表于 2016-09-05   |   分类于 微信开发   |  

由于用户体验和安全性方面的考虑,微信公众号的注册有一定门槛,某些高级接口的权限需要微信认证后才可以获取。所以,为了帮助开发者快速了解和上手微信公众号开发,熟悉各个接口的调用,需要开通测试账号。

开通测试账号的路径为:

微信公众平台 > 开发者工具 > 公众平台测试帐号 > 进入

或点击传送门,需要填写的为以下几项:

URL:接口文档所在的路径,如:https://localhost/filepath/wxapifile.php

Token:接口文档中设定的Token

域名:网址或主机名,如:localhost

如对以上步骤陌生的同学可以先看这篇文章。

阅读全文 »

iOS多线程 - 下载及图片缓存

发表于 2016-09-03   |   分类于 iOS   |  

线程可以理解为下载的通道,一个线程就是一个文件的下载通道,多线程也就是同时开起好几个下载通道.当服务器提供下载服务时,使用下载者是共享带宽的,在优先级相同的情况下,总服务器会对总下载线程进行平均分配。不难理解,如果你线程多的话,那下载的越快。现流行的下载软件都支持多线程。

下面我们通过代码来了解以下几个知识点:

  1. 多线程下载;
  2. 自定义 NSOperation ;
  3. NSCache 增删改查;
  4. NSFileManager 增删改查;
  5. 代理模式;
  6. 闭包反向传值;
  7. 扩展方法;
  8. Plist 文件解析;
阅读全文 »

微信开发 - 快速入门

发表于 2016-09-02   |   分类于 微信开发   |  

微信是一个生活方式,张小龙提出的这个愿景已经得到了越来越清晰的体现。

群聊、语音、视频,照片/视频/位置共享,支付和商店都有了,还能通过公众账号来获取各种资源……

如今的微信就是在日中天的状态,公众平台带来的影响有目共睹,所以很多公司和个人都希望有自己的公众号,想充分利用却无处下手,下面我们分为几篇文章,由浅入深的了解微信开发。

在下面的学习中,需要你具有PHP语言的基础,并拥有一台具有PHP运行环境的主机,如果还没有可以通过新浪SAE,阿里云ECS等进行搭建。

下面进入正题!

阅读全文 »

微信开发 - 公众平台简介

发表于 2016-09-02   |   分类于 微信开发   |  

微信开发即微信公众平台开发,将企业信息、服务、活动等内容通过微信网页的方式进行表现,用户通过简单的设置,就能生成微信3G网站。通过微信公众平台将企业品牌展示给微信用户,减少宣传成本,建立企业与消费者、客户的一对一互动和沟通,将消费者接入企业CRM系统,进行促销、推广、宣传、售后等。形成了一种主流的线上线下微信互动营销方式。

通过二次开发可以将公众账号由一个媒体型营销工具转化成提供服务的产品。而一旦成为用户需要的产品,公众账号的营销功能便会开启。
微信的核心是通讯工具,这一工具属性将用户牢牢地黏在了平台之上。用户和企业可以非常方便地在上面进行沟通,所以微信很自然地就成了企业的CRM(客户管理系统)平台来面对忠实用户,这也给了企业将服务引入平台的机会。

阅读全文 »

iOS多线程 - 同步线程

发表于 2016-08-24   |   分类于 iOS   |  

比如你去银行存10K,在用ATM存的同时,又使用网银取了10K,如果线程同步做的不好的话, 虽然取10K元的操作会有记录,但是可能不会反映在余额上。如果要解决这样的问题,就需要用到线程同步,线程同步在开发过程中是非常常见的。下面我们以12306为例,尝试解决如何保证一张票不会被不同窗口,不同客户端重复购买。

首先我们来认识一下互斥锁的概念:

互斥锁(英语:Mutual exclusion,缩写 Mutex)是一种用于多线程编程中,防止两条线程同时对同一公共资源(比如全局变量)进行读写的机制。该目的通过将代码切片成一个一个的临界区域(critical section)达成。临界区域指的是一块对公共资源进行访问的代码,并非一种机制或是算法。一个程序、进程、线程可以拥有多个临界区域,但是并不一定会应用互斥锁。

以上是维基百科给出的解释,如需了解更多请 点击这里。

简单来讲,互斥锁是为了防止多个线程访问同一个对象、方法、变量、文件等引起的数据错误。

阅读全文 »

Xcode错误 - Failed to import && .h file not found

发表于 2016-08-05   |   分类于 Xcode错误   |  

出现这两个问题时,首先要确保相关的库和依赖已经导入到工程,如果还是有提示,这说明出错的文件 Xcode 无法获取到。

首先进入工程的 Build Phases ,找到 Link Binary With Libraries ,点击 + 号将提示缺失的文件导入。

如果文件已经存在的话,进入工程的 Build Settings ,在 TARGETS 而不是 PROJECT 下,搜索 Search Paths,确保 Frameworks Search Paths 和 Header Search Paths 指向正确的文件路径。

阅读全文 »
1…345…9
Tian

Tian

不积跬步,无以至千里。
不积小流,无以成江海。

83 日志
17 分类
82 标签
RSS
GitHub Weibo
© 2017 Tian
由 Hexo 强力驱动
主题 - NexT.Pisces