ios 知识小积累
来源:互联网 发布:ff14拉拉菲尔捏脸数据 编辑:程序博客网 时间:2024/05/17 07:39
recursive template instantiation exceeded maximum depth of 128
- 首先编译Boost.Build
chmod +x bootstrap.sh
chmod +x ./tools/build/v2/engine/build.sh
执行 bootstrap.sh
./bootstrap.sh
生成b2可执行程序
- 编译Boost库//用Clang编译boost file sytem
./b2 toolset=clang cxxflags="-arch x86_64" linkflags="-arch x86_64" --with-filesystemThe Boost C++ Libraries were successfully built!
The following directory should be added to compiler include paths:
/Users/liwei/DEV/Project/boost_1_50_0
The following directory should be added to linker library paths:
/Users/liwei/DEV/Project/boost_1_50_0/stage/lib
最后生成的文件保存在./stage/lib目录
默认编译出来的是Release版本,编译debug版本:./b2 toolset=clang cxxflags="-arch x86_64" linkflags="-arch x86_64" --with-filesystem variant=debug --stagedir=./stage/x64/debug
过几天等空了,要把IOS7的更新的特性好好看一下 http://www.cocoachina.com/newbie/basic/,记录一下。
总结一下(不一定是最好的方法,纯粹是省时间的方法,不至于在ios7的设备上看上去错位,想要充分符合ios7的风格,还是要在设计上做出一定的改变的):
(1)如果应用程序始终隐藏 status bar 那么恭喜呢,你在UI上需要的改动很少很少。
(2)如果应用程序显示status bar,可以讲status bar设置成黑色不透明 ,然后在UIViewController 中加入下面的判断,
- #define IOS7_OR_LATER ( [[[UIDevice currentDevice] systemVersion] compare:@"7.0"] != NSOrderedAscending )
- #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000
- if ( IOS7_OR_LATER )
- {
- self.edgesForExtendedLayout = UIRectEdgeNone;
- self.extendedLayoutIncludesOpaqueBars = NO;
- self.modalPresentationCapturesStatusBarAppearance = NO;
- }
- #endif // #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000
(3)如果勾选了Hide during application lauch 的话,在IOS7 的设备上,是没有问题的,
启动完以后status bar 会重新出现的,但是在IOS7 一下的设备,需要在launch didfinish 里面把status bar 显示出来。
(4)可以通过设置view的背景颜色来改变 status bar 的颜色来搭配你的nav 条。
(5) 有些地方肯能要对版本进行判断,分别做不同的处理。
(6) 可以用旧版的sdk来编译,这样在真机上还是和原来一样的效果。具体的方法可以参考:http://github.kimziv.com/blog/2013/09/22/how-to-use-older-base-sdks-in-xcode5/
4、AdSupport.framework无法正常使用的问题添加的问题
dyld:Library not loaded:/System/Library/Frameworks/AdSupport.framework/AdSupportReferenced from:/var/mobile/Applications/8E09C9AA-CA81-4C26-AEED-B2C632B60A54/Gridlocked.app/GridlockedReason: image not found
这个bug主要是添加了 AdSupport.framework, 添加 Accounts.framework 和 Social.framework 的时候也会出现类似的错误,当然在6.0的simulator/device下是不会的。
解决就是
Project-> Targets-> Build Phases-> Link Binary with Libraries
把后面的 Required 改成 Optional 即可
4、itunes 老是提醒本电脑未授权
由于itunes修改了规则,每次用itunes更新软件时老是提示本电脑未授权,但是已经授权过,为什么还是不能同步?这个问题折腾了我几个月,最后才发现,itunes无法同步多个帐号的程序。
现在终于搞懂了。
先点击菜单栏,在文件》设备 下面你的设备(iPhone、iPad、Touch),传输购买项目,然后看iTunes 的提示,会告诉你哪些应用不属于你的Apple ID,它们就是造成无法同步安装新应用的原因。进入你的设备,删除这些应用,之后你用自己ID下载的应用程序就能同步安装到设备了。
有很多人遇到要删除很多程序,不好意思我删除了N多个,只保留了自己ID下载的程序,然后就可以同步了。
5、Xcode5安装Command Line Tools
之前系统升级到 Mac OS X 10.9 Mavericks ,顺带的连xcode也一起升级了。
升级后我还没发现啥问题,后面因为需要用到重新编译php,就发现问题了。
各种原本能正常运行的命令,现在都出现问题
之前我还以为是编译参数问题,但是经过一系列操作后就排除了参数可能出现的错误
实在无奈的我装了一个brow后提示
Warning: Your Xcode (5.0) is outdated
Please
install
Xcode 5.0.1.
Error: No available formula
for
bzip2
-devel
好吧,想重装一下Command Line Tools,居然在以前的那个地方找不到了。。。
最后查询苹果开发者网站后得出答案了,原来新的Command Line Tools跟Java一样变成了在线可选安装包,直接图形化安装就可以了。
运行命令
sudo
xcode-
select
--
install
就会显示一行文字,并且弹出一个对话框,确认安装后他就会自己下载来安装了。
至此,Command Line Tools就能够重新复活了~~~
6、传参引用的问题
-(void)test:(NSString**)aaa {
*aaa = [*aaa stringByAppendingString:@"aaaaaaaaaaa"];
}
- (void)clickedBtn:(id)sender{
NSString* errmsg = @"asdfadfa";
[self test:&errmsg];
}
需要传引用才可以把修改的返回回来
- ios 知识小积累
- 平时积累小知识
- javascript小知识积累
- jsp小知识积累
- 小知识积累
- 小知识,大积累
- java小知识积累
- jq 小知识积累
- 小知识积累
- CSS 知识小积累
- 小知识积累
- 小知识积累
- 小知识积累(2)
- Loadrunner小知识积累
- Java小知识积累
- 前端小知识积累
- iOS 项目知识积累
- cocos2d-x 小知识积累
- MySQL启动分析 --> /MySQL5.6/sql/mysqld.cc
- 游戏开发(三)——WIN32 黑白棋(一)——棋局逻辑的设计
- 数据结构和算法设计专题之---求子数组和的最大值
- Python中的psutil:一个用于获得处理器和系统相关信息的模块
- 【map<s,i>】#42 A. Football
- ios 知识小积累
- POJ 3253 Fence Repair
- 阿斯顿国际化的规划地方和地方干活
- design pattern - memento
- 我的架构经验系列文章 - 后端架构 - 安全层面
- 我的架构经验系列文章 - 后端架构 - 性能层面
- C#入门之变量篇
- python爬虫自动搜索下载游民今日搞笑图集
- java开发中的那些事(4)-------没完没了的time of error