iOS开发版本控制,iOS开发指南
怎么快速测试APP应用的BUG
一、跨平台开发移动应用测试框架
南漳网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。成都创新互联公司公司2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
Appium:无需SDK和编译即可测试
一款开源且扩平台的自动化测试工具,适用于测试原生或混合型移动App,支持iOS、Android和FirefoxOS平台。通过它,开发者可以利用测试代码完全访问后端API和数据库。Appium是基于无需SDK和编译就可以对原生应用进行测试的理念而设计的。
该框架不仅能完美支持iOS、Android应用,还可直接在PHP、Python、Ruby、C#、 Clojure、Java、Objective-C、JavaScript及Perl等语言中编写测试脚本。
Calabash:全方位测试利器
一款适用于iOS和Android平台的跨平台应用测试框架,支持Cucumber,开源且免费,隶属于Xamarin公司。通过Calabash,开发者可以对应用进行多方位测试,比如截屏、手势识别、实际功能代码等。
二、iOS应用开发移动应用测试框架
KIF:专为iOS设计的移动应用测试框架
全称Keep It Functional,来自Square,是一款专为iOS设计的移动应用测试框架。由于KIF是使用Objective-C语言编写的,因此,对于iOS开发者而言,用起来要更得心应手,可以称得上是一款非常值得收藏的iOS测试利器。
Gitorious:截屏+Python脚本,测试细致入微
基于Git版本控制系统的Web项目托管平台,使用Ruby on Rails开发。而其移动测试框架(MTF)也是深受开发者欢迎,Gitorious移动测试框架是一款充分利用Sikuli自动化工具的iOS测试框架。
Frank:模拟用户黑盒测试
一款深受开发者喜爱的iOS应用测试框架,该框架可以模拟用户操作对应用程序进行黑盒测试,并使用Cucumber作为自然语言来编写测试用例。此外,Frank还会对应用测试操作进行记录,以帮助开发者进行测试回顾。
FlipTest:再也不用为决定不同版本的好坏发愁
专为iOS设计的移动应用A/B测试框架,通过它,开发者可以无需重新向App Store提交应用或重构代码,只需添加一行代码,即可直接在iOS应用上进行A/B测试。
Kiwi:专业iOS开发的行为驱动开发(BDD)库接口简单而高效,深受开发者的欢迎,也因此成为了许多开发新手的首选测试平台。和大多数iOS测试框架一样,Kiwi使用Objective-C语言编写,因此对于iOS开发者而言,绝对称得上是最佳测试拍档。
Cedar:BDD风格多环境测试框架
和Kiwi一样,Cedar也是一款BDD风格的Objective-C测试框架。它不仅适用于iOS和OS X代码库,而且在其他环境下也可以使用。
三、Android应用开发移动测试框架
Robolectric:让Android开发从此摆脱模拟器测试的老套路
Android开发者们注意了,这款测试框架一定会让你们兴奋不已,因为它是一款已基本上摆脱了模拟器测试的老套路的速率单元测试框架。Robolectric可以解压Android SDK,还能直接对应用进行测试,从而帮你轻而易举地解决所遇到的任何问题。
AppGrader:Android开发者的意见大师
Gitorious MTF能够利用截屏和Python脚本,进行细致入微的测试,并将测试结果返还给开发者以提高应用质量及修复漏洞。
来自以色列的应用测试服务商uTest推出的一款测试产品。相比其他主流移动应用测试框架,AppGrader可能并不太为开发者所熟知,但它却能够为众多的Android开发者提供非常专业的意见参考。
如何在Xcode中使用版本控制
Whether you’re a solo developer or working on a team, if you’re not using source control for your projects, you should be.
Source control is amazing because it helps you more easily revert to
older version of your code, see how your code has changed over time, and
work as a team. And one of the best source control systems is built
right into Xcode – git!
git is a distributed version control system initially developed by Linus
Torvalds, the principal force behind the development of the Linux
kernel. The nice thing about git is there doesn’t have to be any central
repository – everyone can have their own view
of the code, and pull in changes from other sources.
In this tutorial, you’ll get hands on experience with git and learn how
to use it directly inside Xcode, the command line, and even how to
integrate your Xcode projects with Github, a popular online git
repository. This tutorial is fully updated for iOS 6 and
covers the new git features introduced in Xcode 4.5.
So without further ado, let’s Git going!
Gitting Started
Rather than ramble on about the theory of git, we’re going to dive right
in and try it out. We’ll create a new Xcode project and try out some
typical tasks you will typically do on a day-to-day basis with git
source control.
So fire up Xcode and create a new project, or go to FileNewProject, pick
the Single View Application template from the iOSApplication menu, and
hit Next.
Now, fill in the template options as follows:
Product Name : GitUseExample
Company identifier : As the name indicates, it’s your company identifier, if you have one. Otherwise, type whatever.
Class prefix : Leave this empty.
Device family : iPhone
Use Storyboard : Check this
Use Automatic Reference Counting : Check this too
Now click Next. The following dialog allows you to choose where to save
your project. Choose the location and make sure “Create local git
repository for this project” is selected before you click the create
button. Once you do that, click the “Create” button.
By checking that, Xcode will create an empty Git repository and use the
basis of your new project as your first commit. Well, that’s exactly
what we want!
All source control systems, including Git, store their data into a
repository so that they can manage your project versions and keep track
of changes throughout the development cycle. So think of a repository as
a database for versions.
In the course of working on your project, you’ll add files, modify code and change your project many times.
After you make a big set of changes and are in a “known good” state
(typically one or more times per day), it’s a good idea to check in your
changes back into the repository. This way, you have a record of “known
good” states that you can always revert back
to.
But what about the code that’s in our project already, that was created
by the project template? Take a look at the following screen.
Your project is still blank, and since you didn’t make changes yet, you
don’t need to commit. But, basically, Xcode has added and committed
several files when you created your project. That commit is the initial
commit performed automatically by Xcode :]
Let’s check that, click the organizer icon in the top right.
In the window that appears, switch to Repositories.
If you look on the left side, you may notice that Xcode has detected a new project repository and added it to the list.
Click on it and you will see all the details about the new files added
to your blank project and a typical commit put by Xcode to indicate that
a commit action was performed :]
Now, try to make some changes within your files. For example, open up AppDelegate.m and
change the application:didiFinishLaunchingWithOptions: delegate method to the following:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSLog(@"application did finish launching");
// Override point for customization after application launch.
return YES;
}
After you save the file, you will note that AppDelegate.m now has a “M” badge next to the filename:
The “M” badge stands for “modified.” Specifically, it means you have
modified a file but not yet checked in the changes to your local Git
repository.
Before committing, let’s quickly add a simple UIButton to the View
Controller file and a method that you link to the button. This is just
to illustrate the different status indicators you will get for source
control.
Select MainStoryBoard.storyboard and drag a button to the screen from the Object Library.
Change the button’s displayed text to whatever you want as shown in the screenshot below.
Now, switch to ViewController.h and replace it with the following:
#import UIKit/UIKit.h
@interface ViewController : UIViewController
-(IBAction)clickTheButton:(id)sender;
@end
Switch to ViewController.m and add the following code to implement the method you just
declared in the header file:
-(IBAction)clickTheButton:(id)sender{
NSLog(@"This is a Git tutorial");
}
iOS逆向工程(4)SSH免密码连接iPhone
先摘抄一段简单介绍:
安全外壳协议(SSH)是一种在不安全网络上提供安全远程登录及其它安全网络服务的协议。SecureShell,又可记为SSH,最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。
在我理解就是类似Windows 系统上面的Telnet,但是SSH相对于Telnet的一个重要优势就是所有传输都是经过加密的。
在iOS中我们使用OpenSSH软件。
OpenSSH原是一个在Linux下很实用的一个软件。iPhone本身就是一个运行BSD系统(可认为是一种Liunx)的硬件,因此,Cydia的作者Saurik把OpenSSH这一软件移植到了iOS平台上,并且简化了安全认证密钥的繁琐,使之成为一款可以在iPhone上运行的Cydia插件。
在iOS的系统管理中,多半是使用命令行。在远程管理中,多半是用OpenSSH通过Wi-Fi或者3G来对iPhone、iPad、iPod Touch执行命令修改文件等操作。
OpenSSH用途是在PC或者Mac上远程输入命令操作iOS设备,免去使用MobileTerminal,同时,也是一种在多系统下管理iPhone、iPad系统文件的方法。
连接到iPhone后可以执行各种UNIX命令,比如文件操作,拷贝删除,等等很多用途。
如果没有配置SSH免密码连接,那么我们在连接SSH的时候就会提示输入密码,每次都要输入很麻烦,比如:
1,如果本人是做iOS开发的,项目用到了GIT版本控制,一般都配置SSH密钥了。密钥已经存在了电脑的./ssh目录中,如果没有配置,那么可手动重新生成SSH密钥,比如:
ssh-keygen -t rsa -b 4096 -C "zhangdasen@126.com"
2,生成完成后,我们会在./ssh目录中发现id_rsa.pub公钥这个文件。
然后我们把它copy出来放到个人目录下,并重命名,比如:
cp /Users/zhangdasen/.ssh/id_rsa.pub ~/authorized_keys
3,我们手动SSH进入设备中,或者通过PP助手进入设备中,查看是否存在var/root/.ssh目录,如果没有,我们手动创建下。可通过SSH连接后mkdir创建,或者PP助手连接后创建。
4,创建后我们把authorized_keys拷贝到设备中,可利用SCP命令:
scp ~/authorized_keys root@10.10.245.208:/var/root/.ssh
5,然后按正常我们就可以直接SSH连接的时候不用输入密码了,如图:
6,这个时候,如果我们使用tweak打包时候,也不会再让我们输入SSH密码了。
下一篇: iOS逆向工程(8) 一条命令砸壳(详细菜鸟版)
web app和 原生app的区别
web app和原生app有三种区别:
1.开发方面有区别:
(1)原生APP:每一种移动操作系统都需要独立的开发项目,iphone版本、Ipad版本、安卓版本。每种平台都需要独立的开发语言。Java(Android), Objective-C(iOS)等等。需要使用各自的软件开发包,开发工具以及各自的控件。
(2)开发成本高、开发速度慢、维护成本高。三个平台(IOS、安卓、windows)的规则、推广、运营都不相同。官方应用商店对APP上线审核流程比较复杂而且很慢,会严重影响APP的发布上线。
(3)Web App :因为运行在移动设备的浏览器上,所以只需要一个开发项目。可以通过HTML、 CSS或者JavaScript来进行Web APP的开发。开发成本低、开发速度快。
2.功能有区别:
(1)原生App:原生APP是一个系统性的应用程序,可以类比于电脑上的软件。原生app可以调用移动终端的硬件设备, 比如:麦克风、摄像头、短信、GPS、蓝牙、重力感应等。实现功能丰富
(2)Web App:Web APP可以类比于电脑上的网页。Web APP更多是页面展示类的APP。只能使用有限的移动硬件设备功能。更多用于页面展示,侧重于简单的交互,无法使用很多硬件设备独特的功能。
4.版本控制有区别:
(1)原生App:用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况。同时也会导致维护成本比较高。使用旧版本的用户无法体验新版本的完整功能。
(2)Web App:所有的用户都是用同样的版本,所有用户获得的功能都是相同的。版本更新比较方便,直接在服务器侧更新数据即可。一个功能做好了就能上线,一天更新几十次都毫无压力。如果客户端只是个浏览器,那一切都会变得很简单。
(3)另外web统一性高,跨平台适用时开发量少。由于其入口不明显(浏览器导航或者随意点击链接进入),让用户记住的门槛也随之拔高,每次推广导入的流量都可能沦为一次性努力,用户留存率低。
如何制定和管理IOS APP版本号
楼主!根据你的描述,让我来给你回答!
定三位,参见苹果自身产品。
版本号范围通常定为1.0.0-9.9.9,小更新第三位+1,大更新第二位+1。
通常第一位变化为一年一变,是特大变化时才改动。
但是只要管理得有条理,我觉得也不必拘泥于版本号,有自己的规则即可。
希望能帮到你,如果满意,请记得哦~~~
如何使用carthage管理ios依赖库
1.iOS如何提高应用开发效率之快捷键
事实上,几乎每一个Xcode命令都有一个对应的快捷键,这些快捷键既可以默认,也可以开发者自己设置。磨刀不误砍柴工,多花点时间来熟记每一个快 捷键能够让你事半功倍,极大地提高你的工作效率。如果你和我一样,写代码的时候特别喜欢键盘操作,那么这种方式一定会对你大有裨益。
如果你不喜欢默认的快捷键,那么,你可以在Key Bindings下的参数选择窗口中对Xcode的默认快捷键进行自定义设置。
当然,快捷键命令实在是太多,要想一项一项浏览,找出几个重要的实属不易。所以我建议开发者们可以看看Stack Overflow上给出的“Xcode的隐藏功能”这一问题,在回答中,包括许多Xcode非常重要的快捷键,以及其他一些非常灵活的技巧。
2. iOS如何提高应用开发效率之Objective-C第三方库管理利器——Cocoapods
在应用开发过程中,第三方库肯定是必不可少的。而由Eloy Durán发起的Cocoapods项目可谓是Objective-C第三方库的管理利器,不仅能提高开发效率,还可以帮助开发者管理Xcode中的第三 方库,非常方便。那么,Cocoapods究竟是什么呢?简单来说,它就是一个用于管理Xcode依赖库的工具(iOS、Mac通用)。
由于Cocoapods非常受开发者欢迎,所以很多第三方库都会对Cocoapods提供支持。尽管Cocoapods是一个Ruby Gem,但即使你对Ruby并不是太了解,也可以非常方便地使用它。
3. iOS如何提高应用开发效率之Code Snippets(代码片段助手)
现在可能许多开发者都在使用像TextExpander、CodeBox这样的文本或代码片段管理器。一直以来,我使用的都是 TextExpander,它的确节省了我大量的时间。不过,Xcode也有一个代码片段助手,就在Xcode右侧栏那里,紧挨着Object Library。
在Xcode中,每个代码段都有一连串额外的属性,正是这些属性,让代码更强大、灵活。每段代码都有一个平台、语言和完成范围的属性,代码片段的完 成范围对Xcode编辑器有着很大作用。因此,在Xcode中进行iOS应用开发,最好还是使用Xcode自带的代码片段助手。
4. iOS如何提高应用开发效率之学习Git
对于还对源代码管理这个概念比较陌生的编程初学者,我强烈建议多花点时间来学习Git的基础知识。Git是一个开源的分布式版本控制和源代码管理系 统。简单来说就是,Git能够帮助你快捷高效地管理源代码。如果将Git搭配GitHub或BitBucket一起使用,那么你就有点专业程序员的样子了。
如果你已经掌握了Git的基本知识,那么,建议在你的Xcode项目中,建立一个.gitignore文件。虽然Git更多的是通过命令行使用,但 也有许多GUI的客户端应用。我最喜欢的是Fournova开发的Tower,另外,Atlassian的SourceTree也是个非常不错而且免费的 选择。
5. iOS如何提高应用开发效率之Xcode Behaviors
Xcode是一个非常强大并且不断完善的编辑器,在Xcode中,我最常用的一个功能就是Behaviors。通过定义行为,你可以告诉Xcode当某项特定的事件发生时它应该做什么。
一切的行为都可以在Xcode的Preferences窗口中进行配置。在输出时,如果你不想Xcode显示控制,你可以在Behaviors面板 上禁止该行为。在测试反复失败时,你想要Xcode显示Issues Navigator,都可以通过Xcode Behaviors进行设定。Xcode会预先设置Build、Testing和Running等一些常用行为。当然,你也可以自定义行为或进行快捷键设置。
6. iOS如何提高应用开发效率之Tabs Windows
极客营非常喜欢Xcode 4统一的外观和Interface Builder的一体化。不过,有时候也需要多窗口同步操作,比如同时运行控制台和编辑器,或使用多重显示器。在Xcode 4中,仍然可以实现多窗口同时运行。你可以使用快捷键Shift+Cmd+T或点击菜单FileNewWindow创建一个新窗口。
比窗口更有效果的是标签(Tabs)。现在几乎每一个代码编辑器都有标签,Xcode当然也不例外。基本上开发者或多或少都会用到标签,但却很少有人知道Xcode的标签是可以命名的,甚至还可以将 已命名的标签与Xcode行为相绑定,这在对程序进行调试的时候会非常有用。
分享题目:iOS开发版本控制,iOS开发指南
新闻来源:http://pwwzsj.com/article/dscoeid.html