Monthly Archives: 十二月 2015

Xcode7、iOS9网络访问权限问题

调用网络访问的时候发现权限不够,报如下错误:
The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.

查证iOS9.0后苹果的官方文档更新:
https://developer.apple.com/library/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS9.html#//apple_ref/doc/uid/TP40016198-DontLinkElementID_13

App Transport Security

App Transport Security (ATS) enforces best practices in the secure connections between an app and its back end. ATS prevents accidental disclosure, provides secure default behavior, and is easy to adopt; it is also on by default in iOS 9 and OS X v10.11. You should adopt ATS as soon as possible, regardless of whether you’re creating a new app or updating an existing one.If you’re developing a new app, you should use HTTPS exclusively. If you have an existing app, you should use HTTPS as much as you can right now, and create a plan for migrating the rest of your app as soon as possible. In addition, your communication through higher-level APIs needs to be encrypted using TLS version 1.2 with forward secrecy. If you try to make a connection that doesn’t follow this requirement, an error is thrown. If your app needs to make a request to an insecure domain, you have to specify this domain in your app’s Info.plist file.
解决方法如下:
1.找到info.plist
2.添加NSAppTransportSecurity或App Transport Security Settings,Type为Dictionary
3.添加NSAllowsArbitraryLoads或Allow Arbitrary Loads,Type为Boolean,Value为YES
 

苹果开发者个人、公司、企业账号使用注意事项

苹果开发者个人、公司、企业账号使用注意事项

个人账号:打包方式:adhoc,appstore

公司账号:打包方式:adhoc,appstore

企业账号:打包方式:adhoc,inhouse

 

苹果企业账号(Apple Developer Enterprise Program)是苹果公司提供给 iOS 开发者的一种高级别的开发者账号,区别于个人开发者账号和公司开发者账号,企业账号具有如下特点:

 

价格比个人账号和公司账号更贵,官方年费为 299$/年(RMB1988元)

不可以提交应用到 App Store 商店

可以将签名后的应用在任何 iOS 设备上安装,且没有安装数量的限制

其中,正是由于第3条的特点,给开发者在测试和分发 App 时,带来了极大的便利。所以,一般开发者申请使用苹果企业账号(或苹果企业签名),也是为了这个特点。

 

但是,因为苹果对于 App 的安装有着非常严格的限制,所以苹果对企业账号的使用也给出了种种严格的条款,详见:Apple Developer – Terms and Agreements 。其中,最重要的条款是:

 

使用企业账号签名后的应用,只可以用于企业内部员工安装,不可以公开下载。

根据经验,很多开发者在违背了上述条款后,导致企业账号被封,从而造成了不小的损失。所以,我们强烈建议开发者在上传企业签名的应用到企业服务器后,做到如下几点:

 

  1. 不要将企业签名后的应用发布到某些应用市场
  2. 将应用上传到企业服务器后,设置一个下载密码
  3. 不要将应用的安装链接公开,做到只在企业内部安装使用
  4. 最好不要在企业账号中使用消息 推送机制
  5. p12和provisioning profile文件不要随意导入导出,最好专人专机
  6. 公司、企业账号是可以邀请公司网站域名后缀的邮箱成为开发者成员之一的,但不要邀请和公司域名后缀不一致的邮箱做为开发者成员。
  7. 打包的app,必须使用ssl证书和https协议进行分发,分发网站的域名,最好是申请企业开发者账号时填的域名。
  8. 下载app的页面,记得加上随机的下载密码+验证码,不要给苹果爬虫的机会
  9. 自已的开发者账号千万不能外借,借一个封一个。
  10. 万不得已不要将个人、公司、企业账号的p12和provisioning profiles上传到第三方打包平台,如云编译、云打包之类的,你也不知道这些平台会拿着你的账号证书去干什么事。
  11. 企业账号只能面向企业的内部员工使用,一般用在OA系统、app内部发放测试,推荐测试的时候采用adhoc模式点对点发放,如果测试设备数量巨大的情况下再使用inhouse发布。
  12. 测试的时候最好在企业内部网络进行,如果需要连接internet的话,请一定要注意网络环境不要发生太大的变化,比如证书使用地在上海,测试地在北京,就很容易被封号。
  13. 测试完成后记得删除当前设备上的App
  14. 网络电话voip、积分墙、游戏充值平台等类型的app都很容易被封号,因为商业模式和苹果公司有冲突。
  15. 不要恶意重复提交AppStore审核,这会造成苹果公司直接封掉您的个人、公司账号。
  16. 每个月20号的前后一周,是苹果封号的高峰期,请大家注意,尽量避免在这个时间节点进行敏感操作。

只要做到以上几点,开发者即可安全的使用苹果开发者账号进行App编译打包和分发。

对于企业账号来说,苹果的管控是非常严格的,任何违背苹果ADP和ADEP条款使用企业账号,都会有让开发者账号有被封的风险。

根据经验,我们总结了上述几条规则提供给所有开发者,只要根据严格遵守,即可极大程度的避免自已的开发者账号被封。

账号一旦被封,基本上也就没有办法找回来了,钱也不会退的(苹果的ADP和ADEP中有霸王条款),随后苹果会给你发一封邮件通知,并且一年内不得再次注册。

苹果对账号监管很大程度上是取决于苹果人工审核,所以并没有100%安全的事情,有的时候,也需要一点运气。

最后,苹果开发账号能否正常安全的使用,只取决于你自已账号的使用方法、企业的商业模式等,和凯豪软件并没有任何关系。

 

 

================注册开发者账号请看这里================

1.iOS Apple苹果开发者账号申请idp证书个人individual注册凯豪软件

注册个人开发者请点击此链接:

http://item.taobao.com/item.htm?id=36162166668

2.iOS Apple 苹果开发者账号 注册申请idp证书 公司Comapny凯豪软件

注册公司开发者请点击此链接:

http://item.taobao.com/item.htm?id=361857929

3.iOS Apple苹果开发者账号申请idp证书企业Enterprise注册凯豪软件

注册企业开发者请点击此链接:

http://item.taobao.com/item.htm?id=36176694668

 

 

删除XCode中多余的provisioning profiles

/Users/Liukaibo/Library/MobileDevice

下面的文件,随便删。。。删完之后记得下载对应的provisioning profiles重新导入~

 

推荐仔细看看这里的文章

https://github.com/chockenberry/Provisioning