更改 UIWebview 的useragent

获取UIWebView的useragent:

1
2
UIWebView* webView = [[UIWebView alloc] initWithFrame:CGRectZero];  
NSString* secretAgent = [webView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];

附加自定义字段到 Useragent中

1
2
3
4
NSString *newUagent = [NSString stringWithFormat:@"%@ appname/3.5.2",secretAgent];  
NSDictionary *dictionary = [[NSDictionary alloc]
initWithObjectsAndKeys:newUagent, @"UserAgent", nil nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];

但应该注意的事,设置了useragent以后,需要过一段时间才能生效,所以一般是在appdelegate.m中就去改;如果在UIWebViewController初始化的时候再去更改的话,就有会导致有些请求还是原来的useragent

ui

一、以下先列出作为【开发框架】技术选型的候选:
(1)DCloud出品:MUI
(2)阿里出品:MSUI(基于大名鼎鼎的Framework7框架,但MSUI的兼容性更好);
(3)腾讯出品:FrozenUI
(4)百度出品:Clouda是百度历时两年共同研发的开源App技术框架,基于Node.js,简单易用,完美结合BAE;
(5)Jingle UI是一个基于html5、css3开发轻量级的移动webapp 框架(支持触摸屏操作、切换效果也不错)基于Zepto开发,依赖了iscroll;
(6) AmazeUI http://t.amazeui.org/kitchen-sink/#/?_k=a1ewns
二、以下再列出作为【开发集成环境】选型的候选:
(1)DCloud出品:HBuilder
(2)正益无线出品:AppCan:国内 [Hybrid混合开发]、[移动平台]、[移动云平台]的倡导者&领导者,我个人觉得他提供的SDK把所有的UI组件都进行了封装,然后通过向导方式进行嵌入开发,很方便,并且有很多很全面视频教学,是一个不错的开发平台之一;
(3)烽火星空出品:ExMobi移动应用平台,技术融合成就完美Hybrid App跨平台开发,和上面的AppCan差不多,有教学视频和很多案例,平台也非常成熟;
(4)APICloud IDE:这个我就不说了,抄袭DCloud的技术,不推荐,但是限放在选型列表中吧;
(5)9秒团队出品:CrossApp是一款完全开源、免费、跨平台的移动应用开发引擎,采用C++开发(即将支持js和lua编写),可直接导出ios和android原生应用,拥有高性能,多控件,开发速度快的优势。

三、以下再列出作为【在线App开发】网站选型的候选:这里的就比较多了,我只列出我觉得还可以放入选型列表中的,大家可以多多度娘、谷哥一下
(1)叮当App自助生产运营平台,这个比较赞,女生应该比较喜欢;
(2)简网App工场;
(3)金和IU App自助工厂;
(4)应用公园Apppark—全球领先APP免费在线制作平台,这个比较赞,女生应该比较喜欢;
(5)追信魔盒;

UIViewController中self.view的位置

原文地址:http://www.jianshu.com/p/930643270455

总所周知,苹果从iOS7开始采用扁平化的界面风格,颠覆了果粉们“迷恋”的拟物化风格。对于开发者而言,全新的风格带来新的接口,这些新的接口改动中,有些更加合理了,有些更加方便了,而有些可能让开发者容易迷糊,下面本人就来谈谈iOS7这些新添加“鬼魅”的接口中的经常接触到的一个—-UITabBar/UINavigationBar的translucent属性。

新的属性translucent简介

如何区分模拟器和真机调试

使用TARGET_IPHONE_SIMULATOR和TARGET_OS_IPHONE区分模拟器和真机

#if TARGET_IPHONE_SIMULATOR

#include

#else

#include “route.h”

#endif

注意不要用#ifdef TARGET_IPHONE_SIMULATOR, 因为在device上, TARGET_IPHONE_SIMULATOR被定义为0。、

TARGET_OS_IPHONE的用法也一样。

framework的实现

问题:
打包了一个HCUIStyles的sdk,在其他应用里调用的时候,总是提示该sdk的接口未定义

原因:
编译目标是 generic ios device,而测试代码使用的是虚拟机……
将编译目标改成任意的虚拟机就可以了。

ios网络请求的错误码

https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_Constants/index.html#//apple_ref/doc/constant_group/URL_Loading_System_Error_Codes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
NSURLErrorUnknown = -1,
NSURLErrorCancelled = -999,
NSURLErrorBadURL = -1000,
NSURLErrorTimedOut = -1001,
NSURLErrorUnsupportedURL = -1002,
NSURLErrorCannotFindHost = -1003,
NSURLErrorCannotConnectToHost = -1004,
NSURLErrorDataLengthExceedsMaximum = -1103,
NSURLErrorNetworkConnectionLost = -1005,
NSURLErrorDNSLookupFailed = -1006,
NSURLErrorHTTPTooManyRedirects = -1007,
NSURLErrorResourceUnavailable = -1008,
NSURLErrorNotConnectedToInternet = -1009,
NSURLErrorRedirectToNonExistentLocation = -1010,
NSURLErrorBadServerResponse = -1011,
NSURLErrorUserCancelledAuthentication = -1012,
NSURLErrorUserAuthenticationRequired = -1013,
NSURLErrorZeroByteResource = -1014,
NSURLErrorCannotDecodeRawData = -1015,
NSURLErrorCannotDecodeContentData = -1016,
NSURLErrorCannotParseResponse = -1017,
NSURLErrorInternationalRoamingOff = -1018,
NSURLErrorCallIsActive = -1019,
NSURLErrorDataNotAllowed = -1020,
NSURLErrorRequestBodyStreamExhausted = -1021,
NSURLErrorFileDoesNotExist = -1100,
NSURLErrorFileIsDirectory = -1101,
NSURLErrorNoPermissionsToReadFile = -1102,
NSURLErrorSecureConnectionFailed = -1200,
NSURLErrorServerCertificateHasBadDate = -1201,
NSURLErrorServerCertificateUntrusted = -1202,
NSURLErrorServerCertificateHasUnknownRoot = -1203,
NSURLErrorServerCertificateNotYetValid = -1204,
NSURLErrorClientCertificateRejected = -1205,
NSURLErrorClientCertificateRequired = -1206,
NSURLErrorCannotLoadFromNetwork = -2000,
NSURLErrorCannotCreateFile = -3000,
NSURLErrorCannotOpenFile = -3001,
NSURLErrorCannotCloseFile = -3002,
NSURLErrorCannotWriteToFile = -3003,
NSURLErrorCannotRemoveFile = -3004,
NSURLErrorCannotMoveFile = -3005,
NSURLErrorDownloadDecodingFailedMidStream = -3006,
NSURLErrorDownloadDecodingFailedToComplete = -3007

collectionView超过一屏后,选择/去选的问题

出问题的代码:

1
2
3
4
5
for item in (self.collectionView?.indexPathsForSelectedItems())!
{
let cell = self.collectionView!.cellForItemAtIndexPath(item)
cell.selected = false
}

故障描述:设置后,单元格确实处于非选中状态了;但滚动一下滚动条,部分单元格又恢复成选中状态……

优化代码:

1
2
3
4
for item in (self.collectionView?.indexPathsForSelectedItems())!
{
self.collectionView?.deselectItemAtIndexPath(item, animated: false)
}

问题分析:cell类似于局部变量,滚动到屏幕外,cell就会被释放了,所以设置的selected属性就失效了。
而collectionView因为一直处于前台,所以不会被释放

页面字体变小

现象:
ios 页面整体的字体莫名其妙的变小了

诱因:
设置了启动页

原因:待查…(启动页格式不对?)

,