w1100n
This site is best viewed in Google Chrome
5/25/2015 15:28 | Tag:

UIWebView是iOS最常用的SDK之一,它有一个stringByEvaluatingJavaScriptFromString方法可以将javascript嵌入页面中,通过这个方法我们可以在iOS中与UIWebView中的网页元素交互。 stringByEvaluatingJavaScriptFromString 使用stringByEvaluatingJavaScriptFromString方法,需要等UIWebView中的页面加载完成之后去调用。我们在界面上拖放一个UIWebView控件。在Load中将google mobile加载到这个控件中,代码如下: – (void)viewDidLoad { [super viewDidLoad]; webview.backgroundColor = [UIColor clearColor]; webview.scalesPageToFit =YES; webview.delegate =self; NSURL *url =[[NSURL alloc] initWithString:@”http://www.google.com.hk/m?gl=CN&hl=zh_CN&source=ihp”]; NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url]; [webview loadRequest:request]; } 我们在webViewDidFinishLoad方法中就可以通过javascript操作界面元素了。 1、获取当前页面的url。 – (void)webViewDidFinishLoad:(UIWebView *)webView { NSString *currentURL = … Continue reading

5/21/2015 13:59 | Tag:

http://blog.sina.com.cn/s/blog_735065f90101m93l.html 当程序中使用到UIWebView控件的时候,难免会遇到需要与页面进行交互的情况。这种情况在android平台下比较容易处理,android平台下WebView控件的addJavascriptInterface()方法可以很轻松的完成交互,而IOS上就稍复杂一些。 页面与客户端的交互是通过JS来完成的,通常情况下与JS的交互可以分为两种:客户端传递给JS一些数据和JS向客户端请求一些本地操作。下面分别对这两种情况进行处理。 JS向客户端请求本地操作 这里的实现主要是通过对UIWebView的delegate方法 -(BOOL)webView: shouldStartLoadWithReque st: navigationType: 进行处理来实现的。通过在得到webview所要加载的url来判断是否是需要处理的条件即可。 下面举个具体例子来完成这个操作。如果需要通过JS来通知客户端需要调用用户登录的相关操作。首先跟服务端定好相关的协议串。提供一个方案,协议串的格式如下, XX::command:param1=value1&param2=value2… //XX是协议名,command是命令名,后面是参数表(0或多个,command后的冒号不可省略) 那么对应本次登录的请求串就是 test::login: 那么页面上的相应JS的写法就是: function sendLoginCommand(){ var url=”test::login:”; document.location = url; } 对应IOS端的代码是: – (BOOL)webView:(UIWebView *)webView shouldStartLoadWithReque st:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{ ~ // 处理事件 NSString *requestString = [[request URL] … Continue reading

4/27/2015 14:16 | Tag:

苹果企业开发者账号注册流程 http://www.wiloon.com/wordpress/?p=7530 http://wenku.baidu.com/link?url=2ib_WwmKsadzm3sj3Ts6scAEti98IroFeBrY5eP68y_8UPtLTez6skh2folvVD8r6AbIlokfccMdnbLax3I-aSJXl1La_R4PjtBEeoigwJ3   企业开发号的分发机制: 打包后的ipa包放到Web 服务器上,在iOS设备的safari浏览器打开这个地址,系统会提示安装应用。应用第一次安装的时候会有一个提示消息,用户需要选择是否信任应用的发布者。 http://www.wiloon.com/wordpress/?p=7532 http://www.cocoachina.com/bbs/read.php?tid=258490   推送APP, 加壳, iOS/Android: iOS 推送,iOS原生应用支持苹果标准的推送服务,iOS壳应用可以调用Safari访问Web应用,用户可以看到正常的Safari地址栏; 也可以用内嵌Web View 访问Web 应用,用户看不到地址栏。内嵌的UIWeb view 性能可能会差一些,比如内存问题。这个需要再调查,另外在网页里加meta信息能隐藏掉Safari的地址栏,这个只是临时隐藏,点击屏幕之后会弹出来。   iOS技术实现 iOS系统的Safari浏览器不支持消息推送,Web应用要实现通知功能,需要借助原生iOS应用实现。该应用不包含具体业务逻辑,只实现消息推送功能,用户收到消息可以在应用内查看消息列表,点击某一条消息之后应用会引导用户到Web浏览器里继续操作。对于浏览器调用,有两种实现,一种是调用系统Safari浏览器,用户能看到正常的地址栏,跟普通Web应用没有区别,另一种实现是使用应用内嵌的WebView,用户看不到地址栏。内嵌浏览器可能会有内存问题。   iOS,Android都能实现不修改系统语言的情况下,应用内切换语言。 http://www.wiloon.com/wordpress/?p=7526 http://www.wiloon.com/wordpress/?p=7528   另外chrome 42 开始支持消息推送,桌面版和手机都支持。(Android系统), http://www.cnbeta.com/articles/385581.htm http://cn.engadget.com/2015/04/21/chrome-push-notifications-on-android/  

4/27/2015 14:00 | Tag:

http://blog.csdn.net/zhaoxy_thu/article/details/17277527 iOS企业开发In House ipa发布流程 这两天需要发布一个ipa放到网上供其他人安装,需要用到企业级开发者账号。在网上查了一下资料,感觉没有一个比较完善的流程,于是决定把整个流程写下来,供大家参考。 首先详细说明一下我们的目标,我们需要发布一个ipa放到网上,所有人(包括越狱及非越狱设备)可以直接通过链接下载安装,不需要通过AppStore,也不需要安装任何证书。要达到这个目标,就需要企业级开发账号(299刀)。企业级开发账号的申请流程在这里就不细说,主要说一下In House ipa的发布流程。 1.登录https://developer.apple.com,进入iOS开发者中心。在Certificates-Production中创建一个证书。 2.选择 In-House and Ad Hoc,点继续。注意,如果已经创建过In-House的证书,就不能再创建了,该选项会变灰,如下图。如果要重新创建,可以先在之前的列表中将该证书Revoke掉。 3.在Mac系统中进入“钥匙串访问”(可以直接用SpotLight搜索),选择“钥匙串访问”-“证书助理”-“从证书颁发机构请求证书”。 4.输入邮箱地址和名称,选择“存储到磁盘” 5.将生成的“CertificateSigningRequest.certSigningRequest”文件上传到开发者中心,点击下一步生成,最后将生成的证书下载到本地,双击打开。就可以在钥匙串中看到证书已经成功安装了。 6.回到iOS开发者中心,在“Identifiers”-“App IDs”中创建一个应用对应的App ID。本人是创建的Explicit App ID,Wildcard App ID应该也行。 7.在Provisioning Profiles中添加一个与刚刚创建的AppID相应的Profile,选择“In House” 8.选择刚刚创建的App ID 9.创建并生成Profile后,下载到本地,双击打开,添加到资料库中。 10.打开需要导出ipa的工程,在Scheme中选择iOS Device 11.在菜单中选择Product-Archive 12.在弹出的Orgnizer中选择刚刚生成的Archive(默认选中),再选择右上角的Distribute 13.选择Save for Enterprise or Ad Hoc … Continue reading

4/27/2015 13:34 | Tag:

http://www.cnblogs.com/xilinch/p/4037164.html http://blog.csdn.net/totogo2010/article/details/8854879 http://wenku.baidu.com/link?url=2ib_WwmKsadzm3sj3Ts6scAEti98IroFeBrY5eP68y_8UPtLTez6skh2folvVD8r6AbIlokfccMdnbLax3I-aSJXl1La_R4PjtBEeoigwJ3 个人开发者账号 用于个人开发者上传和发布应用,在apptore上显示个人开发者信息。 1.只能有一个开发者; 2.100个IOS设备UDID测试 否 688 http://developer.apple.com/programs/ios/ 团体账号 用于团体、公司开发者上传和发布应用,在apptore上显示团体名称。 1.允许多个账号管理; 2.100个IOS设备UDID测试 是 688 http://developer.apple.com/programs/ios/ 公司账号 用于公司发布应用,使用该证书的应用不需要审核,但是也不能发布到appstore 1.不能上传到appstore; 2.无IOS设别UDID数量限制 是 1988 https://developer.apple.com/programs/ios/enterprise/ 教育账号 不能对外正式发布应用 苹果特批 —– 企业账号:一般是公司规模在500人以上的企业,用于内部测试发布的账号,该账号发布的应用不发布在appstore上。$299。 2.企业账号三大好处: 发布内部App Distribute In-house Apps Distribute proprietary, in-house iOS apps to … Continue reading

4/27/2015 12:59 | Tag:

http://blog.csdn.net/x32sky/article/details/39031025 前言:网络上关于iOS国际化的文章很多,但基本上都是基于跟随系统语言的国际化,笔者就不赘述了-0 – 今天要讲的是不跟随系统的切换语言版本方案,即程序内部的切换语言版本方案。   一、总则: 应用内部语言不跟随系统语言,由应用自己进行控制,通过配置多个语言文件,根据用户的选择动态获取不同文件夹下的语言文件,显示在界面上。 最后把用户选择的语言持久化到本地,下次运行时读取。   二、应用内的国际化 1、新建工程 新建Single View Application工程,取名为MyInternational。     2、添加多语言文件 我们选择使用自己的语言文件,而不是系统的localizable.string,因为在项目开发使用svn时,多人操作同一文件可能会造成冲突。 在Resource中添加新的Strings File:       取名为hello(记得Targets要勾选项目)   新建完成之后会生成hello.string文件,把它拖进Supporting Files里。   3、配置hello.string国际化 首先配置刚才的hello.string文件。 点击hello.strings文件,点击圈中的Make localized(本地化)。       只有English,没关系点击确定。   4、配置项目国际化 网络上很多配置方法不靠谱,因为新版的Xcode位置“+”号的位置换了,这里教大家正确的方法,点击项目—>选择Project—>选择Info—>点击“+”号。   … Continue reading

1/12/2015 8:09 | Tag:

http://fins.iteye.com/blog/1685886 苹果真的要在 AppStore 里封杀 WebApp 吗 ? 最近几个月, 苹果AppStore似乎加强了对WebApp的管控, 很多过去能上架的 使用WebApp+Native壳的应用陆陆续续的都被拒了. 于是 很多人开始抛出了”苹果要封杀WebApp”/”苹果要像当初对待Flash一样对HTML5说不”一类的观点. 作为一个HTML5开发人员 + 苹果产品用户, 我也想表达一下自己对这个问题的看法. 我的观点不一定对 但是,即使我错了,也不能证明那些认为”苹果要封杀WebApp”的荒谬观点是正确的(好流氓 哈哈). 先来看一看让广大HTML5/WebApp开发者 感动忧虑的那段苹果的原文吧: 引用 If you cannot – or choose not to – revise your app to be in compliance with … Continue reading

12/24/2014 2:39 | Tag:

http://blog.csdn.net/fobhappy/article/details/8879564 获取iOS系统版本 — UIDevice的使用 UIDevice类是一个单例,其唯一的实例( [UIDevice currentDevice] ) 代表了当前使用的设备。 通过这个实例,可以获得设备的相关信息(包括系统名称,版本号,设备模式等等)。 也可以使用使用该实例来监测设备的特征(比如物理方向)。 NSString *strName = [[UIDevice currentDevice] name]; // Name of the phone as named by user NSString *strId = [[UIDevice currentDevice] uniqueIdentifier]; // A GUID like string NSString *strSysName = … Continue reading

12/10/2014 0:50 | Tag:

http://code.tutsplus.com/tutorials/five-tips-for-creating-stylish-uibuttons–mobile-11847 Sometimes it only takes a few lines of code to make your interface pop. This tutorial will teach you five simple tricks for creating stylish UIButtons to make your app standout! Subsequent Changes to Techniques & SoftwareCertain aspects of … Continue reading

12/1/2014 6:04 | Tag:,

User regular expression to find/replace substring in NSString   NSString *string = @“123 &1245; Ross Test 12”; NSError *error = nil; NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@”&[^;]*;” options:NSRegularExpressionCaseInsensitive error:&error]; NSString *modifiedString = [regex stringByReplacingMatchesInString:string options:0 range:NSMakeRange(0, [string length]) withTemplate:@””]; NSLog(@”%@”, modifiedString); … Continue reading

11/26/2014 6:40 | Tag:

http://hayageek.com/uialertcontroller-example-ios/ http://yulingtianxia.com/blog/2014/09/29/uialertcontroller-in-ios8/

11/20/2014 2:19 | Tag:

NSTimer的使用方法 1、初始化 + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo; + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo; 注:不用scheduled方式初始化的,需要手动addTimer:forMode: 将timer添加到一个runloop中。 而scheduled的初始化方法将以默认mode直接添加到当前的runloop中.   scheduledTimerWithTimeInterval:(NSTimeInterval)seconds 预订一个Timer,设置一个时间间隔。 表示输入一个时间间隔对象,以秒为单位,一个>0的浮点类型的值,如果该值<0,系统会默认为0.1 target:(id)aTarget 表示发送的对象,如self selector:(SEL)aSelector 方法选择器,在时间间隔内,选择调用一个实例方法 userInfo:(id)userInfo 此参数可以为nil,当定时器失效时,由你指定的对象保留和释放该定时器。 repeats:(BOOL)yesOrNo 当YES时,定时器会不断循环直至失效或被释放,当NO时,定时器会循环发送一次就失效。 invocation:(NSInvocation *)invocation   举例: NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(timerFired:) userInfo:nil repeats:NO]; 或 NSTimer … Continue reading

11/19/2014 8:39 | Tag:,

str =[str stringByReplacingOccurrencesOfString:@”world” withString:@”India”];     http://www.cocoachina.com/b/?p=122 大部分有一点其他平台开发基础的初学者看到XCode,第一感想是磨拳擦掌,看到Interface Builder之后,第一感想是跃跃欲试,而看到Objective-C的语法,第一感想就变成就望而却步了。好吧,我是在说我自己。   如果你和我一样,对苹果相关的开发:Mac OS X或是iPhone有兴趣,但是第一时间看到Objective-C就会头疼并伴有发烧症状的话,疗效比较好的快速治疗方法是阅读本文。大概花二十分钟左右,而且绝不无聊的时间,你就会对Objective-C有那么一点点了解,至少读读例子不会那么头疼了。   不过假定你要有那么一点点c++、c#或是java的基础,至少能看到c++、c#或是java的源码,能够大致明白说得是什么。   这篇文章不是一篇科技文章,希望你也不要把它当做科技文章来读。文章非常不严谨,但是我相信你能看得懂。   一、XCode、Objective-C、Cocoa说的是几样东西? 答案:三样东西。   XCode:你可以把它看成是一个开发环境,就好像Visual Studio或者Netbeans或者SharpDevelop一样的玩意。你可以将Interface Builder认为是Visual Studio中用来画界面的那部分功能单独提出来的程序。   Objective-C:这是一种语言,就好像c++是一种语言,Java是一种语言,c#是一种语言,莺歌历史也是一种语言一样。   Cocoa:是一大堆函数库,就好像MFC、.NET、Swing这类玩意,人家已经写好了一堆现成的东西,你只要知道怎么用就可以了。   有些人会比较容易混淆Objective-C和Cocoa,就好像有些人会混淆c#和.NET一样。这两个东西真的是两个不一样的东西。 二、Objective-C是什么? 你可以把它认为是语法稍稍有点不一样的c语言。虽然第一眼望上去你可能会认为它是火星语,和你所认知的任何一种语言都不一样。   先简单列出一点差别:   问题一:我在程序中看到大量的减号、中括号和NS****这种东西,他们是什么玩意儿?   1 减号(或者加号) … Continue reading

11/19/2014 7:10 | Tag:

在做iOS开发时,经常用到到plist文件,  那plist文件是什么呢? 它全名是:Property List,属性列表文件,它是一种用来存储串行化后的对象的文件。属性列表文件的扩展名为.plist ,因此通常被称为 plist文件。文件是xml格式的。 Plist文件通常用于储存用户设置,也可以用于存储捆绑的信息

iOS
9/3/2014 1:04 | Tag:

注册 apple id http://www.cnblogs.com/liufan9/archive/2012/05/29/2523631.html   ios 模拟器 home键:shift+cmd+h http://www.cocoachina.com/bbs/read.php?tid=98636   日志:http://blog.csdn.net/wbw1985/article/details/7513210 object c basic : http://www.cnblogs.com/gbyukg/p/3265565.html cocoa touch   http://blog.csdn.net/xyz_lmn/article/details/9022399  

辽ICP备14012896