
苹果开发
Happylege
QQ:595008741
展开
-
iOS 如何区分block类型
如果访问的数据的内存既不在栈区,也不在堆区,那么就是__NSGlobalBlock__类型;如果访问的数据的内存在栈区或者堆区,那么就是__NSStackBlock__类型;如果执行过copy操作,那么就是__NSMallocBlock__类型。如果问题,希望给指出例子,谢谢!...原创 2020-02-19 20:44:37 · 733 阅读 · 2 评论 -
ios --- 调用系统"设置"里的功能
安装后第一次运行软件时,系统会弹出提示用户是否允许软件获取当前位置,如果用户不允许的话,之后运行时系统不会在弹出提示设置,这点很不方便,有个解决办法是给用户一个选项,调出iphone中“设置”定位服务选项,由用户手动设置,调用系统“设置”中定位服务相关代码如下:-(IBAction)btnSetting:(id)sender{ NSURL*url=[NSURL URLWithS转载 2015-12-11 17:23:28 · 751 阅读 · 0 评论 -
iOS---修改Xcode7建立的工程名称
1. 将项目TestForProject的名称改为MyProject2. 打开文件夹TestForProject后,看到如下目录列表3. 将TestForProject修改为MyProject, 将TestForProjectTests改为MyProjectTests,修改后如下图所示4. 右击TestForProject.xcodeproj,选择“show con原创 2015-11-25 18:19:15 · 4325 阅读 · 1 评论 -
App Store Review Guidelines中文版
1. Terms and conditions(法律与条款)1.1 As a developer of applications for the App Store you are bound by the terms of the Program License Agreement (PLA), Human Interface Guidelines (HIG), an转载 2015-11-22 18:36:13 · 3945 阅读 · 2 评论 -
iOS---高效编程秘诀—坚持编程习惯
习惯会影响一个人做事的方式,也会直接影响效率。我经常在项目完成后自我总结,有哪些做得好的,有哪些做得不好的?然后把一些好的流程记录下来,并且重新运用回编程中。那些能够坚持去做的流程,就变成了我的编程习惯,这些良好的习惯就成就了我高效的编程效率!一、轻文档先行什么叫轻文档?其实轻文档指的是不需要按照标准的软件工程知识来编写需求分析,架构设计,模块设计,流程图时序图等文档,而是采用比较转载 2015-10-08 15:55:15 · 384 阅读 · 0 评论 -
Building the Best Facebook Login Experience for People on iOS 9
With the release of iOS 9, Apple introduced some significant changes to app switching. This has affected iOS 9 apps integrated with Facebook. Most people will notice this in their experience using Fac转载 2015-11-06 11:48:07 · 681 阅读 · 0 评论 -
iOS---面试题汇总
1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系。2. #impo转载 2015-10-19 10:09:46 · 825 阅读 · 0 评论 -
iOS---Url编解码的问题
1. 有些时候,我们通过Url接收到一些东西,无法肉眼识别,是需要我们解码url:+ (NSString *)stringByDecodingURLFormat:(NSString *)str{ if ([[[UIDevicecurrentDevice] systemVersion]floatValue] >= 9.0) { str = [str s原创 2015-09-30 15:53:05 · 1564 阅读 · 1 评论 -
iOS---WebView执行JS方法时传Json串做参数的一个坑!
今天遇到一个奇葩的问题,weiView执行JS代码时,总是没有效果,可是方法名与参数都没有错,代码如下: [webViewstringByEvaluatingJavaScriptFromString:[NSStringstringWithFormat:@"%@('%@');", methodName, paraStr]];,其中字符串paraStr格式如下{ "ser原创 2015-09-08 14:17:31 · 9000 阅读 · 0 评论 -
App Thinning功能中其实有三个独立的机制,分别是App Slicing、on-demand resources以及Bitcode,它们在节省iOS应用资源方面发挥着各自的作用。 iOS 9的
App Thinning功能中其实有三个独立的机制,分别是App Slicing、on-demand resources以及Bitcode,它们在节省iOS应用资源方面发挥着各自的作用。图示:iOS 9的App Thinning功能如何节省存储空间 App Slicing App Slicing在节省应用所需资源中发挥着最重要的作用。很多应用需要在不同尺寸的设备上运转载 2015-09-25 17:33:08 · 1136 阅读 · 0 评论 -
iOS---苹果支付串单完美解决方案
在做Apple pay的时候,遇到了串单的问题,究其原因就是无论支付成功还是失败,苹果都不会返回任何与订单相关的直接参数,我无法与我们服务器的订单号唯一对应,导致,处理订单的时候会乱,通过几天的摸索,找到了以下解决方法,我认为应该可以完美解决iOS7以及以上的串单问题,但是iOS7以下,我没有什么好的方法!1. 当我们向苹果服务器发起支付请求后,苹果会回调如下方法:- (void)pa原创 2015-08-31 15:36:01 · 8156 阅读 · 0 评论 -
iOS---常用方法总结
1. sha1加密:+ (NSString *) sha1:(NSString *)input { if (!input || [inputisEqualToString:@""]) { return@""; }// const char *cstr = [input cStringUsingEncoding:NSUTF8St原创 2015-08-31 15:53:56 · 609 阅读 · 0 评论 -
iOS---XCode7 + IOS9 问题及解决方案
一,bitcodexcode7默认会开启bitcode 会导致第三方框架报错,下面是友盟的错误:libMobClickLibrary.a(MobClick.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updat转载 2015-09-22 16:22:35 · 2415 阅读 · 0 评论 -
Xcode7.2 创建依赖工程
这一段时间,写了一个静态framework,在Demo中运行查看效果时,切换真机和模拟器时,总是得手动的改变对应平台(真机或者模拟器)的framework,还得改变搜索路径,真实烦透了,现在搞明白了依赖工程,再也不用那么麻烦了。及时改动了framework中的代码,当你运行Demo时,也会一起被重新编译。原创 2016-01-20 10:20:31 · 2286 阅读 · 2 评论 -
Mac电脑使用过程中的一点儿总结
1.显示和隐藏系统文件 false:隐藏; true:显示defaults write com.apple.finder AppleShowAllFiles -boolean false ; killall Finder2.Mac下添加host:sudo vi /etc/hosts,输入i,进入插入模式,然后添加对应的host地址,如下:192.168.21.34 wik...原创 2018-05-31 14:03:26 · 606 阅读 · 0 评论 -
iOS---Xib或者 Storyboard中UIScrollView使用
1.使用场景:有时候在一个sence中垂直方向放入了太多控件,以至于不得不利用滚动的方式解决屏幕适配问题,如下图,这是在iphone7上的样子,如果换成SE或者4S等,那么下部肯定有内容被遮挡。2.刚开始做这个的时候,我想很简单呀,随便设置一下上下左右约束就OK呀!可是无论我怎么设置,控件都不能水平居中!3.解决方法:最后我发现,需要选择一个需要水平居中的控件,设置它的水平居中约束原创 2017-09-29 14:06:30 · 581 阅读 · 0 评论 -
iOS---[UIDevice identifierForVendor]慎用!
An alphanumeric string that uniquely identifies a device to the app’s vendor. (read-only)用于唯一标示设备的字母数字字符串,每一个供应商都不同呀DeclarationOBJECTIVE-C@property(nonatomic, readonly, stron翻译 2016-04-08 10:59:28 · 21329 阅读 · 2 评论 -
iOS-如何修改Xcode project的name?
1. 首先根据Apple官网资料https://developer.apple.com/library/ios/recipes/xcode_help-project_editor/RenamingaProject/RenamingaProject.html#//apple_ref/doc/uid/TP40010155-CH21-SW1修改项目名称,保存后,然后关闭Xcode;2. 打开项目所在原创 2015-05-14 15:47:38 · 1699 阅读 · 0 评论 -
Keychain Access中开发证书和秘钥的关系
首先我给大家献上一张图: 相信大家一定不陌生吧!keychains栏选择login,Category一栏选择My Certificates,你就会看到当前安装的所有开发者证书啦,有测试证书和发布证书两种。正常状态下,你可以看到证书左侧有一个箭头,点开箭头看看效果吧如果你看到的效果是这样,那么恭喜你,此证书可用。如果箭头都没有,那么则说明,你证书对应的私钥已丢失,你会发现此原创 2016-06-24 08:35:05 · 5106 阅读 · 0 评论 -
创建属于你的SDK!
一、创建Static Framework1.如图创建Framework2.选中Target,在Build Settings中搜索“Mach-O Type”, 改为“Static Library”静态的Framework已经创建好了,是不是很简单呀!不过还有几点需要注意:(1)Architectures,中文名好像是架构,如果你想你的framework可以跑在所有的iPhone,那么原创 2016-06-02 16:59:18 · 621 阅读 · 0 评论 -
Apple个人开发者账号相关问题
创建apple开发者账号流程一.注册开发者账号前,先得注册Apple ID1. 准备好你的邮箱账号,建议使用163邮箱。打开https://appleid.apple.com/,见到如下界面 2. 点击按钮”创建Apple ID”,进入如下界面,界面未完全显示,根据要求填写完整信息后,点击右下方的创建apple ID按钮即可。然后进入你的邮箱,完成验证,Appl原创 2015-04-24 17:20:22 · 1408 阅读 · 0 评论 -
iOS---圆角这个可恶的帧数杀手
前言在iOS的世界,圆角无处不在,而且必须存在。因为圆角是符合人类视觉安全体验的,圆角让人觉得舒适,而方角在潜意识层次是具有伤害体验的,因为尖尖的东西总是有可能对人造成伤害的,所以我们更喜欢圆角。在我之前的文章中讲过,在iOS的中设置圆角是非常容易的一件事情,这也体现出苹果也是非常重视圆角这件事情的。圆角虽好,但如果使用不当,它就是你的帧数杀手,特别当它出现在滚动列表的时候。下面来转载 2016-03-02 09:46:20 · 598 阅读 · 0 评论 -
iOS---近来开发中的一些收获
1. 适配第三方键盘(搜狗、百度)- (void)keyBoardWillShow:(NSNotification *)notif { NSDictionary *info = [notifuserInfo]; NSValue *value = [infoobjectForKey:UIKeyboardFrameEndUserInfoKey]; CGSi原创 2016-01-28 15:36:06 · 675 阅读 · 0 评论 -
iOS---免费获取邓白氏编码
1. 通过Apple可以免费获取邓白氏编码,申请地址:https://developer.apple.com/program/enroll/dunsLookupForm.action2. 在获取前,你应该先申请一个新的Apple Id账号3. 打开地址,根据提示填写公司信息以及其它信息,请注意,公司电话一定不能写错,否则收不到邓白氏公司的确定电话4. 提交申请后,会收到邮件,内容大概如原创 2016-01-28 14:53:59 · 3997 阅读 · 2 评论 -
iOS---App国际化
1.首先打开Project->Info->Localizations,添加需要的语言,根据提示默认即可;2.然后添加一个StringFile,命名为InfoPlist.strings。并且在文件属性里将所需要的多国语言勾上。添加InfoPlish文件:选中InfoPlish.string文件,在其属性表中点击 “Localize...”,选择一种语言,点击“Lo原创 2016-01-05 15:32:09 · 596 阅读 · 0 评论 -
iOS---In-App Purchase 常见问题解答
本文档为您解答应用内购相关的常见问题。配置(Configuration)1.我必须上传一个二进制文件来测试应用内购么?不,测试应用内购(In-App Purchase,以下简称IAP)不需要上传二进制文件。注:在应用程序准备好接受审核批准之前,不要将开发中的二进制文件上传到iTunes Connect。如果二进制文件出现在iTunes Connect中,但功能不转载 2016-01-21 17:26:33 · 7713 阅读 · 0 评论 -
iOS---Xcode6.1标准Framework静态库制作方法
1、创建一个工程,或者在原有的工程上进行。不在列举。2、在原有工程上添加一个静态库 2.1、选择OS X 的Bundle。因为Xcode6.1中iOS里没有Bundle。 2.2、修改Bundle的属性,一是让他能用在iOS上。二是改变Bundle成为Framework选中要修改的Bundle 2.3、Target:并选择 Build S转载 2015-08-31 14:17:37 · 1040 阅读 · 0 评论 -
iOS—Xcode中设置Framework Search Paths的秘密!
最近几周,我正在写我们公司自己的SDK,我同时创建了两个工程,一个是静态库Framework的工程SDKProject,还有一个是Demo的工程DemoProject,我将SDKProject的Products引用到DemoProject中。开发了将近一个月了,都没遇到问题,今天突然发现一个问题 “无论我如何修改framework中的代码,在Demo中也看不到效果”。郁闷了两个多小时,突然发现原创 2015-08-04 10:27:28 · 10207 阅读 · 0 评论 -
文件以及文件夹处理
今天折腾了一下午文件夹的遍历、文件复制、文件创建等等,跟大家分享一下!~1. 深度遍历文件夹下所有文件和文件夹 NSFileManager *fm = [NSFileManagerdefaultManager];NSArray *contentOfFolder = [fmsubpathsAtPath:unzipPath];for (NSString *原创 2015-05-12 19:39:07 · 460 阅读 · 0 评论 -
IOS中获取各种文件的目录路径的方法
iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么.documents,tmp,app,Library。(NSHomeDirectory()),手动保存的文件在documents文件里Nsuserdefaults保存的文件在tmp文件夹里1、Documents 目录:您应该将所有de应用转载 2014-11-19 10:45:10 · 491 阅读 · 0 评论 -
iOS中使用ZipArchive压缩和解压缩文件
在本教程中,我将演示如何在iOS程序中压缩和解压缩文件。我们将使用一个叫做ZipArchive的第三方库来实现。尽管压缩和解压缩有许多其他的方案可选,但是我觉得ZipArchive库是最快捷、最简单的解决方案。let’s go。为什么我需要解压缩文件有许多原因能解释为什么我要在工程中使用压缩和解压缩功能,下面是几个常见的原因:苹果App Store的50M下载限制苹转载 2015-05-04 14:45:46 · 789 阅读 · 0 评论 -
iOS-NFC
iPhone6以上设备内置了NFC功能,但是iOS8系统里还没有开放出NFC的api供开发者调用,目前只限于Apple Pay。 NFC可能的用途: 传名片、适配相机、分享文件、读写NFC卡、支付、门禁、启动汽车…… NFC门禁原理:支持NFC手机开门的读写器,主要应用NFC的P2P通信方式,手机和门禁传输自定义数据,当然这些数据可能经过你的N重加密,然后在门机里判断是否要...原创 2015-05-19 17:35:37 · 3881 阅读 · 1 评论 -
iOS应用内支付的那些坑儿
我们在今年春节后上线了新的在线智能题库:猿题库。猿题库现在推出了公务员考试行测和申论2个产品,均包括web, iOS和Android三个平台。这次我们尝试做一个收费的产品,所以在iOS端集成了应用内支付(IAP)功能。在开发过程中和上线后,我们遇到了 IAP中的一些坑,在此分享给各位。 IAP 审核相关的坑 IAP开发的详细步骤我写在另一篇博客中了。在此主要介绍审核时遇到的转载 2015-06-03 16:46:51 · 1686 阅读 · 0 评论 -
iOS——TestFlight Beta Testing
TestFlight Beta Testing makes it easy to invite users to test youriOS 8 apps before you release them on the App Store. You can invite up to 1,000 external testers using just their email address.翻译 2015-06-01 11:02:46 · 2145 阅读 · 0 评论 -
IOS中多版本,多设备类型支持注意事项
IOS系统从07年出来,每年发布一次到两次新的设备,从iPhone1,iPhone2 ... iPhone4s再到最新的iPhone6 Plus。硬件在升级的过程中CPU的架构也可能发生变化,如最早的armv6,armv7再带最新的armv7s。同时伴随每一次硬件升级,系统都会做一次大版本的升级。 每次系统升级的时候,总有一些用户会因为各种原因不愿或者不能升级到最新的系统。这就意味着,如转载 2015-06-01 09:15:25 · 608 阅读 · 0 评论 -
iOS-填写iTunes Connect信息时的坑!
这里面有很多细节需要注意,稍有不慎,万劫不复呀!1. 添加屏幕快照时,图的顺序千万不能错位,至于图的尺寸大小,你不用管,如果你放错了,根本放不进去!2. 关键词:必须含有App名称3. App图标:必须以英文或拼音命名,否则你会发现传不上去!4. 评级一定要填写的,一般前两个选择YES,其它的No5. 版本发布:如果你不想那么快的发不出去,可以选择手动发布,等到你的App通过审原创 2015-05-21 20:15:56 · 490 阅读 · 0 评论 -
How to switch a photo from jpg to png, and how to resize the photo for mac?
其实在mac上转换照片的格式和重新调整照片大小都很简单!使用Mac自带的预览打开jpg照片,选择 ”文件-》导出“,会弹出一个窗口,为照片选择格式,并调整照片的质量,即可将一张jpg照片转换成png格式的!同样,重新调整照片大小也很简单:选择 “工具-》调整大小...",弹出一个窗口,保证照片比例不变,然后重新指定其宽或者高,即可调整照片大小!原创 2015-05-21 11:01:30 · 437 阅读 · 0 评论 -
APP Store Review Guidelines 中文版-下部
终于翻译完了,第一次翻译比较完整的东西,还真的不容易,有些地方翻译的不好,我也作出了标记,请大家指正,谢谢!18. Pornography 情色 18.1 Apps containing pornographic material, defined by Webster's Dictionary as "explicit descriptions or displays翻译 2015-05-21 10:32:30 · 1065 阅读 · 0 评论 -
App Store Review Guidelines中文版-上部
也许有人说我的翻译跟网上别人一样,那请你好好对照一下,我可是花了三四个小时,借助谷歌翻译,一个一个字敲出来的,当然英文原文是复制过来的!效率太慢了,将近三十条,仅仅翻译了17条,看来以后还得努力学习英语呀!哪里有错,欢迎大家指出来,谢谢!QQ:5950087411. Terms and conditions条款和条件 1.1 As a developer of Ap翻译 2015-05-19 16:03:07 · 1569 阅读 · 0 评论 -
iOS-Apple官网UIActivityIndicatorView
使用UIActivityIndicatorView去表示任务正在进行,可以通过startAnimating和stopAnimating这两个方法去控制它的动画。可以将它的hidesWhenStopped属性设置为YES,从而当调用stopAnimating后,它自动隐藏。从iOS5开始,可以使用它的color属性去改变它的颜色。初始化方法:- initWithActivit翻译 2015-05-14 14:08:39 · 614 阅读 · 0 评论