魅蓝note65,这样电耗的正常吗

从零开始学ios开发(一):准备起航
首先介绍一下自己的背景,本人09年研究生毕业,大学就不介绍了,反正是上海的一所211大学,学的是计算机科学与技术专业,学生时代,从事过ACM,没有什么太大的成就,中国的牛人是在太多,我的水平,估计连高中生都pk不过。毕业后到现在,一共待过4个公司,Wicresoft,Chinasoft,Beyondsoft,一直到现在的位于人民广场的一个公司,公司名就暂不介绍了,如果哪天不在这个公司做了,再把公司名字说出来吧。
在Wicresoft,主要从事Asp.net开发,使用C#,这个也是一种使用到现在的主要语言,由于Wicresoft的工资实在太低,做了一年,合同结束后,就跳到了位于闵行紫竹的Chinasoft做微软外包的开发测试,简称SDET,在那里待了3个月不到,实习期还没过,就转到Beyondsoft,因为微软的项目被Beyondsoft给抢走了,我也就跟着项目过去了,感觉SDET非常的没劲,性格所致,天生不是测试的料,所以一直想着能够换回到开发的岗位,一个偶然的机会,一个猎头公司打电话找到我,和我说有这么个机会,于是去面试,然后成功,感谢上帝,感谢我女儿,感谢我老婆,在这个公司到现在快一年了,做的很是开心啊,呵呵,应该会在这个公司待很长的时间。
但是,本人一直有一个梦想(电视节目看多了,一直说要有梦想),本人下个月就满三十岁(虚岁),自从第一次拥有了iphone后,就对apple产品产生了兴趣,一直希望能够学习ios开发的,有朝一日,也能够在appstore中,发布自己的产品。但是本人及其懒惰,一直没有这个恒心迈开第一步,因此迟迟没有开始,一转眼,就快要到而立之年了,自己的女儿也出生5个月了,自己这个当爸的也不好意思在这样懒惰下去,因此决定开这个微博,记录自己学习ios开发的点点滴滴,希望有朝一日,能够实现自己的小小梦想,哈哈!
由于本人对于Apple的知识基本为0,一切从头开始,连使用Mac的知识也是0基础的,因此文中会记录一些和使用Mac有关的普通知识,一方面是记录,另一方面也是和大家分享,能够有一个和大家交流的平台,望得到高人的指点,本人在此谢过!
下面罗列一下学习ios开发的环境和资料:
1)Mac Pro一台(这个是必须的,其实可以用其他的东西,只要是Mac OS就可以了,其他无所谓)在AppStore中下载安装Xcode(我用的是Version 4.2,好像是基于ios4的,也暂时不升级到最高版本了,因为我使用的教程就是根据这个版本来进行教学的,看起来比较方便)
(快捷键:command + shift + 4,截图会默认保存在桌面上。)
2)一本教程:《Beginning iPhone 4 Development Exploring the iOS SDK》, 上面找的,上面有很多很多的好书,而且很新,要pdf版本,请百度,很方便。(如何得到该书请自行购买or百度一下)
3)一本Objective-c教程《Programming in Objective-C 2.0 2nd E Stephen G. Kochan (2009)》,app开发使用这门语言,如果对这门语言不熟悉,还是应该先了解一下,如果你会C/C++/C#,那Objective-c学起来应该没有难度。(如何得到该书请自行购买or百度一下)
ok,好了,准备工作就是这些,接下来就可以开始真正的ios学习之旅,下一篇博客会根据学习进度慢慢展开,期待和大家and高手的交流,谢谢!
看过本文的人还看过
最新图文推荐
最新专栏文章
大家感兴趣的内容
网友热评的文章关于安智宝
安智宝是主打效果的安卓应用推广平台。通过安智宝,用户可以通过自助方式 进行应用推广。作为效果性的推广平台,安智宝利用云技术智能的进行渠道匹 配,对渠道的高效利用,节约用户的每一分钱。用户可以精确的控制应用投放 每天的投放量、渠道质量(留存率等),做到覆盖广、活跃度高、控制精准。
Copyright & 2013 -
. All Right Reserved.
安智宝 &版权所有你正在使用的浏览器版本过低,将不能正常浏览和使用知乎。IOS开发之实现App消息推送(最新) - iOS - mobile - ITeye论坛
IOS开发之实现App消息推送(最新)
锁定老帖子
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
来自: 青岛
发表时间:&&
相关知识库:
久没有写过博客啦,今天就由本菜鸟给大家做一个简单的IOSApp消息推送教程吧!一切从0开始,包括XCode6, IOS8, 以及苹果开发者中心最新如何注册应用,申请证书以及下载配置概要文件,相信很多刚开始接触ios的人会很想了解一下。(ps:网上看了一下虽然有很多讲述推送的好教程,我也是看着一步步学会的,但是这些教程的时间都是去年或者更早时期的,对引导新手来说不是很合适)
首先第一步当然是介绍一下苹果的推送机制(APNS)咯(ps:其实每一篇教程都有),先来看一张苹果官方对其推送做出解释的概要图。
Provider是给你手机应用发出推送消息的服务器,而APNS(Apple Push Notification Service)则是苹果消息推送服务器。你本地的服务器当需要给应用推送一条消息的时候,先要将消息发出到苹果推送服务器,然后再由苹果推送服务器将消息发到安装了该应用的手机。
接下来再看一张解释图:
根据上图的逻辑我来给大家解释一下:
1.你的IOS应用需要去注册APNS消息推送功能。
2.当苹果APNS推送服收到来自你应用的注册消息就会返回一串device token给你(很重要)
3.将应用收到的device Token传给你本地的Push服务器。
4.当你需要为应用推送消息的时候,你本地的推送服务器会将消息,以及Device Token打包发送到苹果的APNS服
5.APNS再将消息推送给目的iphone
1.从证书颁发机构颁发证书
打开你mac的钥匙串访问: 然后点击钥匙串访问
随后它会弹出一个窗口 用户电子邮件信息
就填写你苹果开发者账号的名称即可(应该是一个邮件名称),点击保存到磁盘的选项,点击继续,显示如下
点击存储,文件名为:CertificateSigningRequest.certSigningRequest 随后将他放在一个文件夹中我们取名push吧!
访问苹果开发者网址:/
选中MemberCenter选项,进入登陆页面,用你的苹果开发者账号登陆,过一会网页就会自动跳转到下图。
点击红色所选部分
内容进行下一步的操作。
选择Certificates选项,设置证书,如图所示先解释一下
Development选项的作用顾名思义就是用来作为开发使用的证书,Production选项则
是用来发布产品使用的,名称很陌生是不是,之前的开发者网页是没有这一选项的,可能是苹果把他修改了,用这个名称更加能让人
理解吧(字面上解释就是产品么)。两个选项生成证书的步骤是一样的,现在我们使用开发者的选项进行证书的制作,步骤如下:
选择Development选项
点击上面的加号选项,
选择APNS选项(开发么当然是在沙盒环境下了,模拟真实情况),然后Continue
这个AppID我们在下一部分讲如何生成,现在我用的是已经生成好的一个应用ID,继续Continue
这边就要选择在钥匙串访问环节下载下来的CertificateSigningRequest.certSigningRequest文件了,选择并生成
点击下载,得到aps_development .cer,保存到push文件中去。
新建一个AppID,选择网页上的AppIDs,然后点击右上角的 “加号”
App的取名只要按照苹果要求的就可以了
然后BundleID是比较重要的,在提交审核以及测试(苹果的TestFlight)和付费环节都需要用到,也只需按照苹果要求来写就好了。
接下来就是对你的应用需要使用苹果的哪些服务进行选择就行了,例如广告,游戏中心,推送,付费等等情况。
最后选择“Submit”选项,在下一个界面中选择“done”选项,这样我们设置AppID的步骤我们就完成了。
第五部分:生成Provisioning Profiles
这个配置概要文件分为两种,一种是为开发使用的,还有一种则是为发布到appStore上面。
创建发布版的ProvisioningProfile与开发版的流程相同,点击Development然后点击右上角的加号
会进入选择何种配置概要文件的界面
我们现在时测试,所以选择“IOS App Development”的选项,在下面的Distribution发布选项中有两个选择,“App Store”以及“Ad hoc”,你可以根据下面的描述
选择你发布所需的选项。点击Continue进入下一步。
选择你上一步创建的AppID,点击Continue 进行下一步
选择你的开发者账号,Continue进行下一步
在这一步上选择你的设备(你只有在这一步上勾选了你的设备,你才能在设备上用这个签名进行调试)。关于如何将你的设备号添加进去也是非常
简单的,选择左侧的"Devices",然后点击右上角的加号,在随后出来的页面上添加你设备的UUID(在XCode中可以查看到)以及name( 可以随便取,自己看的懂就行)
然后Register一下,照着流程走到最后一步就完成了。
好咋们继续回到上面的Provisioning Profile配置环节,当你选好了你的设备后点击“Continue”进入下一页,
输入一个文件名(最好是起的能看懂是干嘛的,当然也可以随便起),点击“Generate”进入下一个页面,在这个页面中就会有一个下载按钮让你下载这个文件,
我们把它下载下来放在Push文件夹中。
好了,前期的准备工作都已经做完了,现在让我们开始推送吧!(吼吼)
首先双击我们生成的 “aps_development .cer” 文件,进入钥匙串访问,找到我们的专用秘钥(根据在第二部分中从证书机构颁发证书操作中填写的常用名)
我在第二部分填写的是“silicon”,由于换了一台mac之前安装的没有了,之前没有截图,所以随便找了个图给大家看一下,凭大家的聪明才智应该不难理解吧。
然后右击导出,会弹出如下所示的图。
将他存储到push文件夹中,命名为“push.p12”,在这一步中导出会让你输入密码并验证,你可以自定义一个密码,例如abc123。
现在push文件夹中应该有几个文件“aps_development .cer” ,"push.p12",“CertificateSigningRequest.certSigningRequest”以及刚才下下来的配置概要文件。
接下来我们打开终端将他们生成.pem文件
1.把aps_development .cer文件生成.pcm文件,cd到push文件夹下
2.把push.p12文件生成为.pem文件
上边输入的密码则是你导出证书所设的密码,即abc123.接着还会让你输入.pem文件的密码,还是使用abc123好了,防止混淆。
这样我们在push文件夹中就又得到了两个文件,PushChatCert.pem和PushChatKey.pem。
3.把PushChatCert.pem和PushChatKey.pem合并为一个pem文件,
在push文件夹中又多了一个ck.pem文件,以上我们把需要使用的文件都准备好了
接下来就要测试一下啦,是不是很激动~
为了测试证书工作的状况,我们可以使用“telnet gateway.sandbox. 2195”来检测一下,如果显示
则表示成功了。
然后,我们使用我们生成的证书和私钥来设置一个安全的链接去链接苹果服务器
在终端输入如下命令:openssl s_client -connect gateway.sandbox.:2195 -cert PushChatCert.pem -key PushChatKey.pem
需要输入密码(abc123 我们刚才所设置的)。
然后他会返回一系列的数据,这里我就粘贴一部分啦:
CONNECTED()
depth=1 /C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C
verify error:num=20:unable to get local issuer certificate
verify return:0
Certificate chain
。。。。。(省略)
。。。。。(省略)
。。。。。(省略)
Start Time:
: 300 (sec)
Verify return code: 0 (ok)
测试就到这里啦。。。
1.建立推送项目
#import "AppDelegate.h"
@implementation AppDelegate
@synthesize mainView = _mainV
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
if ([application respondsToSelector:@selector(isRegisteredForRemoteNotifications)])
UIUserNotificationSettings *notiSettings = [UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIRemoteNotificationTypeSound) categories:nil];
[application registerUserNotificationSettings:notiSettings];
[application registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge
|UIRemoteNotificationTypeSound
|UIRemoteNotificationTypeAlert)];
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
self.mainView = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
self.window.rootViewController = self.mainView;
return YES;
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)pToken{
NSLog(@"---Token--%@", pToken);
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
NSLog(@"userInfo == %@",userInfo);
NSString *message = [[userInfo objectForKey:@"aps"]objectForKey:@"alert"];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:message delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil nil];
[alert show];
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error{
NSLog(@"Regist fail%@",error);
- (void)applicationWillResignActive:(UIApplicationmargin: 0 padding: 0 border: 0 background-color: inhe
等级: 初级会员
来自: 杭州
发表时间:&&
牛掰。写得清楚认真仔细。虽然不会ios开发,哈哈。
请登录后投票
跳转论坛:移动开发技术
Web前端技术
Java企业应用
编程语言技术

我要回帖

更多关于 魅蓝note5 的文章

 

随机推荐