ios

Facebook iOS UI 工具ComponentKit简介

12-26
在 iOS 上面开发界面,需要创建视图.配置界面.视图分层等等很多步骤,也就不可避免的需要书写 N 多的代码.这还仅仅是界面设计,除此之外,完成 controllers 的回调.控制内部事务在界面上的显示效果.界面的操控和内部事务的联系等等多方面的事情都需要手动解决.即便是界面很简单的 App,如果存在这种复杂的双向数据流的关系,那么代码也会变得很复杂很容易出错.Qt 的信号.槽和 iOS 的 Target-Action 机制其实也是很容易实现这种双向数据流的关系,但是没有办法解决界面和事务之间

Appium+python自动化21-DesiredCapabilities详解

09-28
Appium Desired Capabilities Desired Capabilities 是由 keys 和 values 组成的 JSON 对象. 举个简单例子: { "platformName": "iOS", "platformVersion": "11.0", "deviceName": "iPhone 7", "automationName": &q

Appium+python自动化20-查看iOS上app元素属性

09-23
前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道,appium的windows版自带的Inspector可以定位app上的元素 Mac版的appium1.6的版本在UI上有了很大的改变,本篇详细解决如何使用appium1.6定位iOS的app页面元素. 一.Start New Session 1.启动appium后点Start New Session 2.打开后看到如下界面,刚开始看到这个界面,我也比较懵. 二.Desired Capabilities

Appium+python自动化19-iOS模拟器(iOS Simulator)安装自家APP

09-21
前言 做过iOS上app测试的小伙伴应该都知道,普通用户安装app都是从appstore下载安装,安装测试版本的app,一般就是开发给的二维码扫码安装, 或者开发给个.ipa的安装包文件,通过itools安装.对于没有iPhone真机的小伙伴,想在iOS模拟器上安装app测试可不是那么容易的事情.   一.启动iOS Simulator 1.Xcode>Open Developer Tool>iOS Simulator,打开后在hardware里面选对应的iPhone版本就能启动模拟器了 2.

MessagePack 学习笔记

09-20
封装和解析类似json的  key-value 示例 {"ID" = 333,"name"="zds","3333"="ende"} msgpack::sbuffer sBuf; msgpack::packer<msgpack::sbuffer> pker(&sBuf); pker.pack_map(3); pker.pack(std::string("ID"));

Appium+python自动化16-appium1.6在mac上环境搭建启动ios模拟器上Safari浏览器

09-12
前言 在mac上搭建appium踩了不少坑,先是版本低了,启动后无限重启模拟器.后来全部升级最新版本,就稳稳的了. 环境准备: 1.OS版本号10.12 2.xcode版本号8.3.2 3.appium版本号1.6.4(appium-desktop1.1.0) 4.ios模拟器版本号10.3   一.OS10.12 1.这里Mac上的OS系统一定要升级到10.12,低于10.12是无法安装8.3.2的xcode版本的 2.下载地址:https://www.apple.com/macos/sier

iOS - PackIpa App 打包

09-08
前言 打包 ipa 的前提 证书的申请和设置和 "App 上架" 文章的一样 从第一步到第四步都是一样的.还有第六步的 1-3 都是一样的,从第四步开始变化. 1.Archive 在线打包 1.在真机状态下选择 Product => Archive,如果不是真机状态下,Archive 会是灰色不可用的 2.打包之后会生成一个 ipa 文件 ,然后返回苹果开发者中心 => iTunes Connect => 我的 App(在构建版本处),点击 Application L

iOS - UIPasteboard

08-10
前言 NS_CLASS_AVAILABLE_IOS(3_0) __TVOS_PROHIBITED __WATCHOS_PROHIBITED @interface UIPasteboard : NSObject 1.UIPasteboard 简介 顾名思义,UIPasteboard 是剪切板功能,因为 iOS 的原生控件 UITextField.UITextView.UIWebView,我们在使用时如果长按,就会出现复制.剪切.选中.全选.粘贴等功能,这个就是利用了系统剪切板功能来实现的,而每一个

iOS通知中心

04-15
iOS开发中的传送消息机制总的来说细分为三大类: 本地通知 推送通知 通知中心 三者之间并没有什么直接性质的联系,通知中心是向应用程序中注册某个观察者的所有对象广播消息,通过通知中心可以很好的协调不同对象之间的消息通信. 注意: 每一个应用程序都有且只有一个通知中心(NSNotificationCenter)实例 代理和通知中心都是协调各个对象之间进行消息通信,通知中心在功能上与代理有些类似,二者在选择时有什么区分? 代理对应的关系的一对一的关系,而通知是一对多的关系,所以在遇到需要一处改变引起

iOS多线程开发系列之(一)NSThread

03-29
什么是多线程? 一个进程的开始阶段系统会分配一个主线程进行正常的工作,工作过程中是依次执行的,只有这个任务执行完毕的时候才能执行下一个任务,两个或多个任务不能同时执行.这样的工作效率是低效的,因此就引入了多线程,能够利用iPhone设备多核的优势同时并发的处理多个事件. 三种多线程技术: 1.NSThread 2.NSOperation.NSOperationQueue 3.GCD 分析三种技术 这三种技术从上到下封装性逐步降低.造成逐步复杂.高效性逐步提升,GCD是基于C语言开发的,最底层.用

微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题

03-06
微信多图片上传必须挨个上传,也就是不能并行,得串行: 那么我们可以定义一个如下所示的上传函数: var serverIds = []; function uploadImages(localImagesIds) { if (localImagesIds.length === 0) { $.showPreloader('正在提交数据...'); $('form').submit(); } wx.uploadImage({ localId: localImagesIds[0], // 需要上传的图片

IOS UINavigationController 导航控制器

08-17
/**  导航控制器掌握:  1.创建导航控制器  UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:self.viewController];      2.zhan (zhan 中所有的子控制器)  self.navigationController.viewControllers;    3.将控制器压入zhan 中      [self.navigationCo

IOS启动顺序

08-10
一.UIApplicationMain的执行步骤1.创建一个UIApplication对象,一个程序对应一个UIApplication对象(单例),UIApplication对象是程序的象征2.接下来会根据第4个参数创建一个UIApplication的delegate对象3.开启一个消息循环(不断地监听地一些系统事件)4.监听到相应的事件后,就会给代理发送相应的消息* 当程序启动完毕,就会发送application:didFinishLaunchingWithOptions:消息*当程序进入后台

cocos2dx中设置横竖版

05-25
IOS目录中RootViewController.mm//显示竖屏- (BOOL) shouldAutorotate { return NO;} //显示横屏- (BOOL) shouldAutorotate { return YES;} 还有一个屏目适配: AppDelegate 中: CCDirector* pDirector = CCDirector::sharedDirector();     CCEGLView* pEGLView = CCEGLView::sharedOpenGLVi

苹果公布2011年度最佳iOS应用

12-12
苹果公布了2011年度iTunes Rewind榜单,正式揭晓了今年iTunes Store商店中的最佳音乐.最佳应用.最佳电视剧.最佳电影.最佳图书和最佳播客等名单. iTunes Rewind年度榜单不仅包括由苹果本公司编辑团队挑选出来的内容和应用,还有年度最畅销的内容和应用.iTunes Store商店现在已经列出了它们的名单. 除了编辑挑选的内容外,iTunes Rewind还公布了各个国家的苹果应用商店的销售和下载排行榜,苹果在不同国家地区提供了不同的榜单,比如在英国,音乐应用 Dja

iOS 应用审核的通关秘籍

12-01
磨刀不误砍柴工.作为手机应用开发者,你需要向应用商店提交应用审核,迅速通过审核可以让你抢占先机.对苹果iOS应用开发者来说尤其如此.苹果应用商店的审核近乎吹毛求疵,下面这些清单可以让你知道苹果会在哪些地方找茬. 首先,你的应用程序: 不能导致手机故障(比如崩溃或屏幕问题) 长时间/过度使用之后反应仍然很快 应用内的所有价格信息中不能用固定值代替可变变量 不要使用任何SDK里面的私人API 不要使用任何SDK文档里面没有列出的功能 不要提及用户设备上不存在的硬件功能 如果需要网络连接,在没有网络的

让Xcode 4.2生成的app支持旧版iOS设备(armv6)

11-21
这几天遇到一个非常奇怪的问题,基于Xcode 4.2开发的app,导出的ipa安装包不能安装到iPod Touch 2上.Touch2固件版本是4.2.1,已越狱.iTunes.91手机助手.同步推试过了都不行.但是其他ipa文件可以成功安装到Touch2上.而Xcode 4.2生成的ipa包在iPhone 4.iPhone 3GS.iPod Touch 4都能安装成功并顺利运行,无论固件什么版本.初步分析的结果就是Xcode 4.2生成的app不支持Touch2.这几天找了一些朋友帮我测试ip

虚拟机安装iOS开发环境流水帐,附iOS Developer Program流水帐

11-21
  写在前面:1.这里只是体验iOS开发的一个权宜之计,虚拟机中运行Mac OS X相当缓慢.如果需要真正的开发还是需要购买Mac机器的.2.这里以雪豹为例,Lion没找到--     1.我的机器环境:Thinkpad X61,Windows 7 64bit旗舰版,4G DDR2内存     2.需要下载的软件:基础环境:VMWare 7.0及以上(低版本在Win7上有问题),Mac OS X Snow Leopard.iso.接下来是两个启动文件,因为雪豹的iso无法在虚拟机上直接启动,搜索

10款iOS高效开发必备的Objective-C类库

11-10
因为iOS SDK相对比较底层,所以开发者就得受累多做一些体力活.不过幸运的是,有很多第三方的类库可以用来简化很多不必要的工作.经过作者团队的慎重讨论,他们 评选出了10款能够极大提高iOS开发效率的类库,根据原文作者的评价来看,基本上有了这10款工具,做iOS开发就真的跟泡Cocoa一样了. MBProgressHUD--进展指示符库 苹果的应用程序一般都会用一种优雅的,半透明的进度显示效果,不过这个API是不公开的,因此你要是用了,很可能被清除出AppStore.而 MBProgressHU

vcf文件分解

08-05
上上周把手机丢了,可是原先备份的通讯录只有一个.vcf文件,里面含盖了我所有的联系人信息比如100个联系人信息他全存进一个.vcf文件了.换了新手机,怎么也导不到新手机里面,原因是新手机只支持一个.vcf文件里存一条通讯录的那种格式,比如100个联系人信息就得有100个.vcf文件放到内存卡里才能还原. 我用文本方式观察了一下,正好可以用c++处理一下,正好也练一个文件处理方面的基本功.代码如下,vc6.0编译. #include <iostream> #include <fstream