iPhone Dev
大招至胜
完美主义者+细节强迫症
展开
-
技术Ebook阅读记录
iOS Application Security全书介绍了iOS Application开发过程中安全需要注意的地方。也有一些关于越狱相关知识的介绍。otool -fh Snapchat 查看有几种架构lipo -thin armv7 myBinary -output myBinary-thin 只保留armv7架构otool -arch armv7s -l Snapchat 查看各段信息cryptoff 16384cryptsize 7995392cryptid 1iOS设备上启用debu原创 2022-07-08 17:55:42 · 445 阅读 · 0 评论 -
SwiftUI中使用UITextField遇到的一个坑:宽度顶出屏幕
最近在使用SwiftUI开发,在开发一个搜索框的时候,因为有许多的验证逻辑,所以我们没有使用SwiftUI中的TextField,而是桥接了UIKit中的UITextField。但是遇到一个问题,就是当我们在不断输入内容的时候,UITextField会随内容的增加,最后等于屏幕宽度,如果有padding的情况下,最外面的body会被挤出屏幕,即使maxWith是小于屏幕宽度也会有同样的问题。最后发现是需要设置UITextField抗压缩参数,设置小一点就可以。顺便说说,什么是抗压缩与抗拉伸?我的理解就是原创 2022-06-15 17:20:03 · 622 阅读 · 0 评论 -
Xcode编译时脚本中获取当前scheme的name
再次记录一下https://stackoverflow.com/questions/18776626/get-current-scheme-name-from-run-script-phase转载 2021-07-23 22:41:31 · 939 阅读 · 0 评论 -
2021-07-09
Swift Codable的使用这是swift4的功能,可以将json与model进行相互转换。这儿总结一下遇到的坑。json中没有的字段,decode会失败,比如json中只有firstName与lastName,如果模型中还有一个nickName并且有默认值就会失败,要说明映射字段才可以,如下定义就正确。struct Person: Codable { var firstName: String var lastName: String var nickName: Stri原创 2021-07-09 09:46:17 · 115 阅读 · 0 评论 -
Pod私有库包装第三方framework问题, swift call Objective-C
以前都是一个人一个项目就没有模块化,最近项目是严格按照模块化开发,每个模块一个Pod。 最近在一个模块中集成第三方framework的时候,遇到问题了。项目使用swift开发,但是这个第三方framework是OC开发的。引入第三方库后编译遇到了很多问题。Could not build Objective-C module ‘xxx’这个问题再网上找到了解决方法https://github.com/CocoaPods/CocoaPods/issues/8342生成的-swift.h中xxx原创 2021-06-23 18:56:23 · 2512 阅读 · 1 评论 -
AltDeploy无法运行
运行下面两行命令,我这边就可以运行了。sudo codesign -f -s - /Applications/AltDeploy.app/Contents/MacOS/AltDeploysudo xattr -r -d com.apple.quarantine /Applications/AltDeploy.app原创 2021-05-17 12:13:22 · 588 阅读 · 0 评论 -
Xcode添加老版本的模拟器
客户返回了在低版本iOS系统上有问题。恰好没有对应版本的测试设备,只有用模拟器来测试了。去选择对应系统的模拟器时,发现也没有对应的模拟器,新版本Xcode去掉了iOS9.3以前的模拟器支持了。幸好stackoverflow上有解决方案下载一个老版本的xcode(10.2.1),解压后直接使用,然后下载老版本模拟器。最后完美解决。最好还是保留2个版本的xcode, 以备不时之需。...原创 2020-12-14 14:57:29 · 2337 阅读 · 0 评论 -
cocospod国内速度太慢如何破?
好久没写App了,最近写一个,pod update太慢了。重试了N次都失败。原因就是github下载cocospod的master中央库太慢。赶快找找有没有国内镜像:首先gem使用国内镜像gem sources -l 查看当前使用的什么源,淘宝的源不更新了。- gem sources --remove https://rubygems.org/- gem sources -a htt...原创 2020-03-27 09:46:37 · 3441 阅读 · 0 评论 -
Xcode Localize按钮,出现the source control operation was canceled
想给项目加一个本地化功能,结果点击Localize后出现the source control operation was canceled的弹出框。结果是因为xcode 11.3中会出现这个问题解决办法是:Xcode - Preferences - Source Control - Enable Source Control不用勾选,不要勾选,不要勾选!!!...原创 2020-02-20 19:49:55 · 3383 阅读 · 0 评论 -
iPhone 应用开发:音频播放
在 iPhone 应用或者是游戏的开发过程中,对声音的支持是必不可少的。在我做过的几个应用中,每个都涉及到音效,所以在这里做个简单的归纳,很多都是引用自《iPhone Application Programming Guide》(需要有 Apple ID 才能打开链接),加了一些实际使用的经验。iPhone OS 主要提供以下了几种播放音频的方法:System Sound Ser转载 2010-01-19 11:42:00 · 4423 阅读 · 0 评论 -
BSD Socket 简易入门手册
当你进入 UNIX 的神秘世界后,立刻会发现越来越多的东西难以理解。对于大多数人来说,BSD socket 的概念就是其中一个。这是一个很短的教程来解释他们是什么、他们如何工作并给出一些简单的代码来解释如何使用他们。socket 是进行程序间通讯(IPC)的 BSD 方法。这意味着 socket 用来让一个进程和其他的进程互通信息,就象我们用电话来和其他的人交流一转载 2010-01-19 12:42:00 · 1469 阅读 · 0 评论 -
iphone网络编程
http://tech.it168.com/a2009/1229/830/000000830741.shtmlhttp://oreilly.com/iphone/excerpts/iphone-sdk/network-programming.htmlhttp://code.google.com/p/cocoaasyncsocket/http://www.gehacktes.net/20原创 2010-01-19 15:37:00 · 4190 阅读 · 0 评论 -
iphone下bmp读取交显示的两种方法
虽然在iphone下很少使用bmp格式的图片,但在此要介绍两种方法,让对bmp情有独钟的人,了确心中愿望。 #define BMP_SIZE 320*480*3#define BMP_HEADER_LENGTH 54 //方法一:CGImageRef GetImageData(){ unsigned char* pData=NULL; int i原创 2010-01-16 14:37:00 · 6657 阅读 · 0 评论 -
得到iphone的IP地址源码
定义了几个方法,获取iphone的IP地址。IPAdress.h#define MAXADDRS 32extern char *if_names[MAXADDRS];extern char *ip_names[MAXADDRS];extern char *hw_addrs[MAXADDRS];extern unsigned long ip_addrs[MAXADDRS];原创 2010-01-25 12:59:00 · 4407 阅读 · 0 评论 -
iphone设置非阻塞模式socket两种方法
1. ioctl()/* set socket to non-blocking i/o */ sts = ioctl(ccp->main_sock, FIONBIO, (char *)&one); if (sts) { setproderr(PE_TCPERROR, GEL_FATAL); sprintf(line,"ioctl (main) failed - %s",st原创 2010-01-25 13:06:00 · 3072 阅读 · 2 评论 -
NSThread 多线程编程
在iphone上多线程开发有两种方式。一是用pthread开发,别一种是cocoa中的NSThread。本示例展示NSThread的方法,一切以代码说话:// main.m//// Created by Christopher Wright on 2007.06.12.#import NSLock *lock;@interface MyObject : NSObject原创 2010-01-27 18:13:00 · 8315 阅读 · 2 评论 -
iphone游戏的声音处理-流播放文件
流播放文件即用AudioStream 和 AudioQueue 来播放文件。好处是可以快速的开始播放,减少读文件的过程,适合大文件特别是背景音乐的播放。坏处是一次只能播放一个文件,如果要换播放文件,中间需要一定的时间。但是因为iPhone的文件读取时间只有10秒,对于资源较大的文件,只能考虑这个方式了。下面我将分享一下我在这方面的一点经验:1. 单个文件播放2. 在线文件播放 1. 单个文转载 2010-02-02 19:19:00 · 3401 阅读 · 2 评论 -
iphone openGL/ES纹理读取
方法1:GLuint texture[1];glGenTextures(1, &texture[0]);//将这个图像用2D方式纹理映射glBindTexture(GL_TEXTURE_2D, texture[0]);//设置过滤器glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);原创 2010-02-25 23:23:00 · 3678 阅读 · 0 评论 -
iphone UIImage常用方法
http://iphoneincubator.com/blog/tag/uiimageRecently there have been some interesting developer news related to working with images on the iPhone.First there is Chris Greening’s open source proje原创 2010-02-25 23:29:00 · 1756 阅读 · 0 评论 -
iphone 中字符串生成纹理图片
- (void) getBitmapfromText:(NSString *)text iSize:(CGSize)imageSize {// Create a bitmap graphics context of the given sizeCGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray();CGContextR原创 2010-02-25 23:52:00 · 2081 阅读 · 0 评论 -
iPhone 网络连接检测(Wifi,3G,Edge),功能有点像Reachability
这个类可以用来检测用户是否连接到internet. 用法非常简单,只有一个方法,返回 YES或NO。一个简单的例子:if ([Connection isConnected]) { ... } else { ... } 这个类的头文件:// // Connection.h // #import #impor翻译 2010-03-06 20:50:00 · 7309 阅读 · 3 评论 -
Iphone上3D开发-前言
谁叫iphone这么火,让我对它也爱不释手,最近在iphone上开发3D应用,学习过程是一个枯燥的过程,只有英文资料。为了更好的学习与监督自己学习,我把自己觉得不错的资料翻译成中文,这个系列的文章原文在:http://iphonedevelopment.blogspot.com/2009/05/opengl-es-from-ground-up-table-of.html 请大家关注哦。原创 2009-12-31 10:40:00 · 1329 阅读 · 0 评论 -
Iphone中列举所有的字体
iphone中有很多种字体,我们可以通过如下代码显示出所有的字体信息: // Get all the fonts on the system NSArray *familyNames = [UIFont familyNames]; for( NSString *familyName in familyNames ){ printf( "Family: %s /n",原创 2010-03-18 22:25:00 · 2295 阅读 · 0 评论 -
iPhone开发网站、论坛、博客
http://cocoachina.com/ 大量iPhone开发资料,教学,经验,还有自曝。 http://www.javaeye.com/forums/board/mobile iPhone开发论坛,人气鼎盛,大量自曝,还有Android的讨论 http://developer.apple.com/iphone/ 苹果iPhone开发官方主页,提供大量实例、文档和教学视频 http://dev转载 2010-01-08 14:25:00 · 3177 阅读 · 2 评论 -
修改UISearchBar背景
<br />UISearchBar是由两个subView组成的,一个是UISearchBarBackGround,另一个是UITextField. 要IB中没有直接操作背景的属性,在此我总结了几个方法去假改它。<br /> <br />1. 只显示UITextField.采用了layer mask.代码如下:<br />//first make sure you include core animation so that the compiler will know about your view's l原创 2010-11-30 14:38:00 · 5797 阅读 · 1 评论 -
object_c得到SHA1值
<br />加密的时候常常用到sha1值,iphone中有个很简单的方法得到该值。<br /> <br />#import <CommonCrypto/CommonDigest.h>@implementation SHA1+(NSString*) digest:(NSString*)input{const char *cstr = [input cStringUsingEncoding:NSUTF8StringEncoding];NSData *data = [NSData dataWi原创 2010-12-03 16:37:00 · 1810 阅读 · 0 评论 -
从零开始学习iphone开发课程
<br />Module 1 – Getting Started With iPhone App Development<br />- Lesson 1 – Overview of iPhone OS<br />- Lesson 2 – Introduction to Tools: XCode, Interface Builder & iPhone Simulator<br />- Lesson 3 – Your First App<br />- Lesson 4 – Super-Charge XCodeM原创 2010-12-03 17:25:00 · 1705 阅读 · 0 评论 -
object_c字符串比较之:版本号
<br />在开发当中,经常会比较软件的版本号,比如1.0.0.1与1.0.1。方法有很多,你可以一个一个解析出来,比较数值。其实有一种NSString的内置比较方法,只不过带了比较选择项,多一个参数而已。下面的源码扩展了系统的NSString功能,术语叫:category。<br /> <br />@implementation NSString(Version)-(BOOL) isOlderVersionThan:(NSString*)otherVersion{return ([self c原创 2010-12-03 14:37:00 · 2471 阅读 · 0 评论 -
Iphone UiWebView中HTML获取之Javascript
<br />本篇介绍的方法是通过运行javascript的方法得到网页的html内容:<br /> <br />获取所有html:NSString *lJs = @"document.documentElement.innerHTML";<br />获取网页title:NSString *lJs2 = @"document.title";<br />UIWebView *lWebView = [self getCurrentWebView];<br />NSString *lHtml1 = [l原创 2010-10-19 12:32:00 · 4553 阅读 · 1 评论 -
UIWebView网页背景拉伸图片
在我的app中,要显示gif格式的图片,由于UIWebView可以显示这样的图片格式,所以用了UIWebView这个控件加载本地网页,网页中gif的图片为拉伸的背景图片。网页如下:其中test.gif为你的图片,记得要拉到resource目录里呀。原创 2010-10-20 10:26:00 · 2553 阅读 · 0 评论 -
iphone上让方形的图片圆角显示
这儿有种快速方式,代码如下:UIImageView * headerImage = [[UIImageView alloc] initWithFrame:CGRectMake(10.0, 10.0, 64.0, 64.0)];headerImage.image = contactPhoto;CALayer * layer = [headerImage layer];[layer setMasksToBounds:YES];[layer setCornerRadius:10.0];[lay原创 2010-10-22 11:22:00 · 3546 阅读 · 0 评论 -
iphone播放远程与本地视频
<br />最近在做一个在线播放的软件, 发现远程视频的播放与本地播放没什么区别, 都是得到一个NSURL.<br /> <br />下面是本地得到NSURL代码:<br />- (id)initWithPath:(NSString *)moviePath{ if (self = [super init]) { movieURL = [NSURL fileURLWithPath:moviePath]; [movieURL retain]; } retu原创 2010-10-22 12:36:00 · 5043 阅读 · 0 评论 -
UIMapView显示locationView
<br />当属性设为TRUE时,就会显示用户当前位置。 当位置发生变化的时候,如何通知mapview更新位置呢?有两种方法<br /> <br />第一种:<br />CLLocationManager<br />第二种:<br /> <br />[self.mapView.userLocationaddObserver:selfforKeyPath:@"location"options:(NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld)原创 2010-12-15 20:38:00 · 1638 阅读 · 0 评论 -
NSArray的removeAllObjects
removeAllObjects会让element自动release.原创 2010-12-15 02:29:00 · 3582 阅读 · 0 评论 -
iphone中得到字符串所占空间的大小
NSString *string1 = @"Hi to all!I've this question for you, and i hope you can help me";CGRect textSize = CGRectMake(0.0, 0.0, 320.0, FLT_MAX);UIFont *font = [UIFont fontWithName:@"Helvetica-Bold" size:20.0];UILabel *label = [[UILabel alloc] init];原创 2010-12-15 19:12:00 · 1499 阅读 · 0 评论 -
Post方式发送UIImage数据到服务器
<br />//This example send email with attachment using server side//So iPhone will fill form and send proper request to web server using POST method//For test you can use attached sendEmail.php -(NSMutableData *)generateDataFromText:(NSString原创 2010-12-16 22:29:00 · 2685 阅读 · 0 评论 -
MapKit之在地图上加pin
<br />在MKMapView中加pin其实就是加入MKAnnonation, 可以加入服和MKAnnonation协议的pin,下面展示一下方法。<br /> <br />1.首先创建一个服和MKAnnonation协议的委托类<br />@interface AnnotationDelegate : NSObject <MKAnnotation> { CLLocationCoordinate2D coordinate; } @property (nonatomic, read原创 2010-10-25 22:24:00 · 1434 阅读 · 0 评论 -
Iphone画笔功能
<br />iphone灵敏的触摸功能在应用开发中有很多的用处,你可以用它来开发一个手绘软件。在此我将探讨一下iphone手绘功能的实现, 很简单,创建一个base-view的工程, 然后所有的工作都是在触摸事件中, 实现touchesBegan, touchesMoved, touchesEnded三个方法。<br /> <br />在屏上移动就能实现手绘,点击画个点,双击清空绘制。<br /> <br /> - (void)touchesBegan:(NSSet *)touches withEvent原创 2010-10-28 21:49:00 · 2879 阅读 · 0 评论 -
iphone在应用程序中发送短信
IOS4中现在支持直接在app中发送短信的功能。需要用到MessageUI framework.只需简单几步,你的app中也就有该功能。1. 加入MessageUI framework到你的工程目录. 如何加?自己网上找。2. #import 3. 设置委托。4.加入代码。-(void)displaySMSComposerSheet{MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc]原创 2010-10-28 19:32:00 · 2418 阅读 · 0 评论 -
往UIImage上写字
//Add text to UIImage-(UIImage *)addText:(UIImage *)img text:(NSString *)text1{ int w = img.size.width; int h = img.size.height; //lon = h - lon; CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); CGContextR原创 2010-12-16 22:09:00 · 3643 阅读 · 0 评论