重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
苹果公司未提供在Ubuntu上开发的环境。
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的浔阳网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
但是可以使用第三方的开发软件进行跨平台的软件开发。
例如使用cocos2d-x平台,可以在Linux,Windows,Mac OS上开发移动平台应用。
其官网网址如下:
在Ubuntu下,按照Linux的安装方法配置好后,即可在Linux下开发iOS系统用APP。
一、iOS开发语言主要包括:C语言基础、Obiective-C编程、Swift、UIKit框架
C语言基础 C语言是开发语言的基础,是最常用的一门程序设计语言,最常用于编写计算机程序。
Obiective-C编程 Obiective-C是在C语言的基础上,加入面向对象特性扩充而成的通用型高级编程语言。
Swift是苹果新开发的语言,目的就是取代OC,我也正在学习,最大感受就是简洁与效率高 UIKit框架详解 UIKit框架是iPhone应用程序开发中最基本的框架,也是最常用到及最重要的框架。
语言基本上都是差不多的,只是换了一种写法,更甚至可以说编程上思想都基本相同,只是换了一种表达方式。
二、最基本的头文件
OC中的头文件和实现文件
.h文件类似C++中的.h文件
.m文件类似.cpp文件
头文件作用也都差不多,声明一些函数方法,属性或变量,作用都是提供接口
Swift不一样,没有头文件!!直接用便可。
所有实现文件后缀都是.swift C++导入头文件是用#include OC导入头文件可以用#include和 #import,但是一般我们都用#import,例如 #import “ViewController.h"
因为#import导入同一个头文件多次也只会导入一次(已经导入会被忽略),防止重复导入
OC还有一种用法是@class 类名,这样告诉编译器这是一个类,不要管他的内部细节,这样提高了效率,防止了头文件的循环引用,当然你不能访问这个类的内部细节
Swift也需要导入一些框架,直接import就行,不用#,例如 import Foundation
三、基本的数据类型
接下来我们来看一下基本的数据类型,我就说一些比较常用的吧,C++的我就不说了。 OC中的数据类型
OC中很多数据类型都有NS前缀,那算因为OC是乔布斯第一次离开苹果后创建的公司NextStep所开发的,所以就有NS
数据类型我只是用一些简单直白的创建方式,其实还有很多种创建方式
四、Swift
Swift的数据类型也差不多,无非就是Int,Float,Double,String这些
例如 var str = @“hello world”
编译器便会自动推断str为String类型
Swift中声明类型一般用let,和var,let表示定义常量,var定义变量
var a = 1 把a推导为Int 当然你也可以写上类型 var a: Int = 1
在Swift中可以省略分号,写和不写都行,但定义两个变量放在同一行就要,分隔开嘛
当然Swift对比OC也多了很多东西,例如元组tuple,闭包Closure等,很多用起来很简洁的东西
一般技术性平台的博客你都可以去尝试在上面写,iOS是属于技术性平台里面的分支,博客的内容都是垂直性地,所以没有存在专业与否的差别,只有对平台的选择的差别。而真正显现出博客主的专业程度的,是博客主里面的内容。故介绍几个活跃度,知名度都挺高的平台,你可以去尝试着发表,成与败看自身了。
CSND: 创立于1999年,中国最大的IT社区和服务平台,主要服务于软件开发者与IT从业者,有自成一套的周全体系。
博客园:创建于2004年1月,虽然诞生于一个小城市中,却仍旧获得了不错的发展。成长过程可谓励志。后来在上海创建了自己的团队,注册用户4w+,每日访问用户15w+,有博客,小组,博问,网摘,闪存,新闻频道,知识库和期刊多种区块。
开源中国:成立于2008年8月,主攻开源技术社区,200w+会员,有开源软件库、代码分享、资讯、协作翻译、码云、众包、招聘等几大模块内容。
blogspot:被收纳于Google,是国外的网站。首身是Pyra Labs公司创建的博客网站,提供网志书写和发布服务等功能,是全球最大、最为知名的博客服务提供商。
最近,cocoachina交流社区发起了一个关于iOS开发者遇到审核失败的原因及解决办法的主题讨论,现简单整理有价值回复如下。
wubo9935
App中设计的图标与Apple原生图标类似,Apple原生图标有专利保护,并且在Design Guideline里面规定,App的图标不能与Apple图标雷同,如iTunes,App Store, iPod等的图标。若出现雷同App将被拒。
逐风
App的设置界面、按钮使用了类似iPhone的操作方式以及icon的圆角设计 - 重新设计…
App的年龄设置太低 - 改了年龄…
App里有实物奖励 - 免责声明,和苹果无关…
App描述里提了后续版本的功能的字样 - 删除…
App有打分的功能 - 有reject的,也有通过的…
App需要使用location,没有提示用户 - 加了提示,允许用户拒绝…
App没提供测试账号 - 提供…
App里有私有api - 修改…
numbbuaa
遇到过两个问题:
1.第三方静态库包含私有api的调用(联系第三方技术支持,更新静态库);
2.包含潜在的色情,暴力等内容(调整应用年龄限制等级,并加入举报功能)
armywin
游戏中包含可以跳转的URL,被拒
游戏中包含推广非本账号下的APP的,被拒
APP界面设计太像一个网页了,被拒
游戏内购时候做了服务器验证,服务器不稳定,导致测试账号无法充值,被拒
游戏中提供了月卡功能,但是不支持玩家在不同设备中使用,被拒
wode211
1: 做浏览器的,分级必须选17+
2: 类似于Android widgets 桌面的应用被拒(不符合用户习惯)
3: Term of service 的URL链接大网页与 “Term of service” 内容不符合,被拒
4: 某个button或者控件的响应,没有与说明描述的一致,被拒
5:iPad应用,UIPopoverController的那个箭头,没有指向对应的按钮或者控件,被拒。(转屏后如果没有指对,也被拒)
6:iPhone程序不能在iPad上跑,或者跑得不好,被拒
7:Documents里的文件,没有按照iCould的指导文档处理好,被拒
野猪洋洋笨
App的年龄设置太低 - 改了改高年龄…
App里有提示用户评价打分的按钮功能 - 删除…
没有在多个设备测试,iphone5出现界面扭曲-改
App里用了第三方的api - 修改…
ywlcjl5
游戏界面丑不符合iPhone用户的期望值,连续被拒2次。 —重画。
永久购买的IAP没有添加恢复购买功能。 —添加。
添加了退出程序的功能不符合人机交互功能。 —删除。
xin814
1、和苹果的app store风格类似 修改
2、使用私有API 删除
3、别人的,界面中的iPhone写错成IPhone 修改
linaicai_rename
1)App内的第三方登陆通过内置浏览器跳转出去的被拒 修改成webView登陆
2)墙纸类应用因为无法控制第三方数据导致部分色情图片的出现会被拒 删除
3)App名称或者内部数据使用到一些被注册商标的名称会被拒 修改名称
4)应用太多简单,界面太过少或者严重违背苹果界面设计准则被拒 重新设计
tmxk12388
一、第一次是在审核的时候,app一直提示无法连接到服务器,自己测试没有问题,分析原因可能是Reachability返回无法连接 -改用request返回数据判断后审核通过
二、提交视频类客户端,说没有视频直播的版权 -提供版权说明后通过审核
三、产品仅提供手机号注册,要求提供账号 -提供账号
四、产品的icon和闪屏图片加入了其他公司的logo -去除logo
doctor_chen
1.关于我们那个页面为了方便用本地webView布局的,仅此一个页面,就因为这个被拒。提示什么没有native特性,如button。。搞了半天才知道这原因,把webview换成个图片,苹果满意了。
2.某应用,其他都没问题,有个使用说明为了美观我把每一项加了个封面做成书架风格,内容纯txt的。苹果当我卖书的,告诉我,xxx like ebook should be xxx on ebook store.我就把这个删了,通过了。我很想不通那么多txt格式的电子书怎么通过的。。
3. 用了个类似优酷那种一点弹出一圈菜单的,说用户会confused疑惑,要有引导说明,没通过。我加上说明也没用。最后还是换了个普通的菜单,通过了。
beiqingbao
程序里有提示用户评价
提示语:亲,给个好评!~ 被拒了
改为‘’去APPSTORE评分”通过了
lpluck08
1、App内如果出现苹果设备名称,必须是iPhone、iPad之类的,注意大小写,如果是iphone或者ipad,rejected!!
2、App内如果涉及到登陆或者需要和硬件设备连接才能继续操作的,需要提供测试账号,或者操作视频。
3、私有api的问题,遇到过一次。。。
cocoawill
1.应用内含有有某公司LOGO的图片,没有该公司授权文件,被拒
2.应用关于内含有beta字样,被拒
3.申请证书时勾选了Inter-App Audio,应用内不支持,直接Invalid Binary
4.info.plist里面设置了Required background modes App plays audio ,审核人员在应用内未发现播放音频的地方,被拒后,在notes里添加音频播放功能说明,通过了
5.注册只局限移动或者联通账号,被拒
6.应用内点击某个功能,提示正在下载,被拒,改为正在加载,过了
bombbomb
非用户产生的数据存放在了Documents目录里,违法icloud备份规范被退回。
应用内搞市场活动送奖品,没有写明和苹果无关,被拒
23105612
被拒原因
我们启用了游戏中心,但是做了限制需要玩家玩到某个程度才能开启,然后被拒
解决方案
邮件沟通后录制了在游戏中使用游戏中心功能的视屏,得到通过
legolasyoung
来个带条款的:
3.10 利用伪造或付费评论的方式在App Store中企图操纵或欺骗用户评价或图表排名的开发程序员(或者采用其他不正当方式)将会从iOS开发者项目中除名
App里有提示用户评论的AlertView:
第一次:give me 5-star rating, you will get 100 coins! 被拒;
第二次:give me 5-star rating, thank you! 被拒;
第三次:plz rate me! 通过。
程序是无法知道用户评了多少评分,所以提示用户给5星算是欺骗用户。而第一条更触犯了付费评论这一点。
小提示,开发者想通过“开关”的形式开控制此提示文本来绕过审核,最好别这么做,坛子里很多人已经因为这个做法被取消IDP了。
11.1 使用App Store以外的软件开启或提供额外功能的应用程序将会被拒绝。
App里,允许用户可以通过分享游戏结果到facebook、邀请facebook好友玩游戏等操作,获得免费金币。被拒;
将这些操作改成不给金币,通过。
“分享结果到facebook”和“邀请facebook好友“属于“app store以外的软件”,“获得免费金币”属于“提供额外的功能”。
10.2 与App Store、iTunes Store和iBookstore等提供的iPhone捆绑应用程序类似的应用程序将会被拒绝。
一、之前制作的一款App有用户书架功能,书架界面类似于iBooks将书的封面一本一本的排列在书架上。手指长按书的封面,书架进入编辑模式,封面会抖动。这个编辑功能被拒。改成进入编辑模式后,封面不抖动,通过。
二、之前制作的一款软件有IM功能,用户之间的对话显示高仿系统自带的短信气泡(鲸鱼体),被拒;改成非鲸鱼体的UI,通过。10.1 应用程序必须遵守苹果《iPhone用户界面指导原则》以及《iPad用户界面指导原则》中解释的所有条款和条件。
苹果是不允许应用程序遮盖状态栏的。
之前使用了MTStatusBarOverlay这个开源库,遮盖了状态栏显示任务和进度,被拒;
后来换成别的库不遮盖状态栏,通过。
zsx923
1. App内评分弹出alert,文字不能诱导用户,比如”好评”,”5星评价”之类的,统统会被reject
2.涉及到音乐,视频类的数据,特别是国外的,如在提交时没有提及版权协议之类的,也会毫不留情被reject,国内的倒还好。
作为一名低代码平台领域的厂商,经常去的一些国内社区网站及论坛,关于程序员的交流社区或者论坛,这里收集一些比较好的开发者社区供大家参考,具体如下:
1、CSDN -专业开发者社区 IT技术交流平台
2、IT圈,圈圈精彩 - 原软媒论坛、IT之家,国内最人气的科技社交圈层,继软媒论坛、IT之家社区演变而来。
3、51CTO技术论坛-中国领先的IT技术社区 国内主流IT技术社区,论坛拥有大批IT技术人/IT专家
4、快速开发平台社区 -天翎论坛低代码平台技术社区,主要是以低代码开发平台为主的技术性论坛社区
elevenbeta开发者社区你可能已经是一个编程社区的成员,只是你自己还没有意识到。例如那些正在学习python Java 和 Ruby等语言的人,会经常光顾一些网站。这些网站已经形成了围绕自身的社区。elevenbeta开发者社区以及它们的资讯平台是这些网站中的典范。
像我们表格中提供的社区给我们提供交谈的“空间”,让我们问可以问一些合适的问题,这里的人往往会乐于帮助你们,提供一些建议和不同的观点来处理你程序中问题。这些社区的一个要素就是请在询问他们之前,自己先对问题进行研究!还有什么呢?
实时的信息以及正在解决的问题
透彻的回答以及新的观点
对所有水平程序员的贴士和技巧
资源,讨论以及相关论文的链接
认识新朋友,编程方面的好兄弟和潜在的搭档
要想以一人之力试图去掌控以上所有的事情是几乎不可能的,会常常让人沮丧。加入一个编程者社区中,鼓励自己参与到其中,对那些花时间回答你问题的人心存感激。这样你会走得更远。
在编程社区期望获得什么呢
你应该希望专业的回答和解决方案,少一些废话。 归根结底就是希望能够对你的问题直入主题,提供多一些的资源以及帮助你解决问题。你可以放心,仅去年一年,关于如何在python中如何建立一个web scraper就被涉及过至少1000次花点时间去学习上面的这些条目,你会经常遇见它们。知道一个人什么时候是严肃的什么时候仅仅是在刺激你的神经很是重要。精英和老手倾向于抱怨处理事情的新方式。
编程社区的类型
最后一件我想说的是关于我们要参加社区的类型,哪些社区是供我们提问问题的,哪些是让我们直接学习的,同时哪些又是给我们提供资源和一些有趣的素材的。
对下面这些熟悉吗?
1. 公告板—问题,答案和讨论
2. UGC(用户原创内容)—深刻的见解,经验以及资源
3. 社交导向的—讨论,试验和错误
我知道以上这些类型的社区,你每种至少能说出一个来。我一点都不想阻碍你,请记住所有的这些编程社区功能性就像现实世界的社区一样。
有问题?那就去评论框吧