2015年8月

iOS 将时间NSDate转化为毫秒时间戳

对于将NSDate类型转换为时间戳,相信大家肯定都会,这样的示例代码,在百度等搜索引擎上面一搜索就是一大篇的东西,但是,大家有没有注意到的是 通过那些方法转换得到的时间戳是 10位的数值,这个数值在转化为 NSDate类型的时候,就会出点儿错,你会发现,每一个时间的 毫秒都是为000的; 

而正确的应该是下面这样的输出: 

    好了,接下来就是问题所在了:其实呢,并不是我们代码出错了,而是因为 [[NSDate date] timeIntervalSince1970] 虽然可以获取到后面的毫秒、微秒 ,但是在保存的时候省略掉了。如一个时间戳不省略的情况下为 1395399556.862046 ,省略掉后为一般所见 1395399556 。所以想取得毫秒时用获取到的时间戳 *1000 ,想取得微秒时 用取到的时间戳 * 1000 * 1000 。这样就解释了上面的10位数值的问题,当你取毫秒的时候,就会变成13位数值了。我想这样大家应该明白了吧! 
    当然,说了 这么多理论性的东西,为的就是我们接下来会附上的代码的: 
将这段代码写在 你需要获取时间戳和转换的地方,而我因为是简单示范,就放在-viewDidload里面的。 

long long time = [self getDateTimeTOMilliSeconds:[NSDate date]];
NSLog(@"%llu",time);

NSDate *dat = [self getDateTimeFromMilliSeconds:time];
NSDateFormatter * formatter = [[NSDateFormatter alloc ] init];
[formatter setDateFormat:@"YYYY-MM-dd hh:mm:ss.SSS"];
NSString *date = [formatter stringFromDate:dat];
NSString *timeLocal = [[NSString alloc] initWithFormat:@"%@", date];
NSLog(@"n%@", timeLocal);
里面包含了自己写出来了2个小函数,这2个函数呢,是互逆的: 

<
p style="margin-top: 0px; margin-bottom: 20px; padding: 0px;">//将时间戳转换为NSDate类型
-(NSDate

)getDateTimeFromMilliSeconds:(long long) miliSeconds
{
NSTimeInterval tempMilli = miliSeconds;
NSTimeInterval seconds = tempMilli/1000.0;//这里的.0一定要加上,不然除下来的数据会被截断导致时间不一致
NSLog(@"传入的时间戳=%f",seconds);
return [NSDate dateWithTimeIntervalSince1970:seconds];
}

//将NSDate类型的时间转换为时间戳,从1970/1/1开始
-(long long)getDateTimeTOMilliSeconds:(NSDate *)datetime
{
NSTimeInterval interval = [datetime timeIntervalSince1970];
NSLog(@"转换的时间戳=%f",interval);
long long totalMilliseconds = interval

1000 ;
NSLog(@"totalMilliseconds=%llu",totalMilliseconds);
return totalMilliseconds;
}
这样,你就可以得到你想要的13位时间戳,并且从这个时间戳里面获取正确的时间(精确到毫秒哟!)。 
本文转自晓龙歌:http://longlinyisheng.lofter.com/post/3ca1cc_59c458a

I added a UIView xib file using the root class of MyView.

I created it in the wrong place and so moved it in the project. Same project just a different folder/group.

I then had a problem when running saying...

Unknown Class MyView in Interface Builder file

I couldn't work out what was wrong so I have now deleted the files both from the project and from the directory.

I've done a search using SublimeText2 for the string "MyView" and it doesn't exist anywhere in the project.

I've reset the simulator, cleaned the project and the build folder and deleted derived data.

Still getting the same error.

Any ideas what I can do now?

范子遇到的问题也是这样的,这个问题的产生过程一模一样:

开始建了一个xib后来发现设计不行,就有删除了,啊啊啊,从此噩梦开始了。。。

只要一运行就崩溃,清楚缓存,不行,删除项目,不行;后来看到据说这是Xcode5的一个bug,但是大哥,我的Xcode版本是6啊,怎么还不解决!只能使用真机测试没问题,也就只能这样了。如此过了几日。

但是机智的我会被这点小困难打倒吗,终于有一天我决定解决这个问题(其实是因为,忘带数据线,没办法真机测试了*——*),于是到处Google,哈哈,功夫不负有心人,我从一篇答案中获得了灵感,触类旁通,忽然想到,我的ViewController当初常见的时候使用的是init方法,虽然一般系统默认调用init方法会检查有无nib有的话会调用nib但是希望不能寄托在Xcode身上,我断定就是这里出了问题,于是返回代码试验,将init方法改为initWithNibName方法,command+R 运行OK,

至此问题解决,噢耶!


    NSString * str = @"ABCDEFG HIJKLMN";

    UILabel * aLab = [[UILabel alloc]initWithFrame:CGRectMake(10, 100, 300, 300)];

    aLab.text = str;

    NSMutableAttributedString * testAttriString = [[NSMutableAttributedString alloc] initWithString:str];

   [testAttriString addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInt:NSUnderlineStyleSingle] range:NSMakeRange(0, testAttriString.length)];

    aLab.attributedText = testAttriString;

    [self.view addSubview:aLab];


一、制作ipa发布包

1、所需装备

1)一个distribution发布版证书

2)Xcode,iTunes,完成的项目,这都不用说了

开始配置Xcode

  1. Build Setting ---> code signing ---> Provisioning profile 设为发布证书

  2. Build Setting ---> Architectures ---> build active Architectures Only 设为NO 

  3.  Product--->scheme----> edit scheme--->build configration 改为release

然后:shift+command+k clean项目 --->command+B build新项目

将Xcode里面的项目app拖到iTunes的应用里面,再将项目拖出 ,到文件里面,至此成功,可以准备提交到iTunes connection了。



从 OS X 10.0.0 版本开始,PHP 作为 Mac 机的标准配置被提供。在默认的 web 服务器中启用 PHP,只需将 Apache 配置文件 httpd.conf 中的几行配置指令最前面的注释符号去掉,而 CGI 或 CLI 默认都可使用(可以很容易的被终端程序使用)。

按照以下的使用说明,可以快速的建立一个本地 PHP 开发环境。强烈建议将 PHP 升级到最新的版本。在大多数活跃的软件中, 新的版本会修复错误和添加新的功能,PHP 也是如此。请参见相应的 Mac OS X 安装文档,以进一步了解详细的信息。以下的说明以初学者的角度来详细描述如何操作来得到一个缺省的运行环境。建议所有的用户都编译或者安装一个新的打包版本。

标准的安装类型为 mod_php,在 Mac OS X 的 Apache web 服务器(默认 web 服务器,可以从系统设置中访问)中启用 PHP 包含以下的步骤:

 

  1. 找到并打开Apache的配置文件。默认情况下,这个配置文件的位置是: /private/etc/apache2/httpd.conf。 使用 Finder 或者 Spotlight 来找到这个文件可能不是很容易的事情,因为在默认情况下它一般是 root 用户拥有所有权的私有文件。Note: 要打开这个文件,可以在命令行下面使用基于 Unix 的文本编辑器,例如 nano,因为他的属主是 root,所以我们需要使用 sudo 来打开(以 root 用户权限)。例如我们在 Terminal 程序中敲入下面的指令(操作后,会提示输入密码):sudo nano /private/etc/apache2/httpd.conf 注意 nano 中的命令:^w(搜索),^o(保存),以及 ^x(退出)。^ 表示 Ctrl 键。

    Note: 在Mac OS X 10.5之前的版本中捆绑的是旧版本的 PHP 和 Apache。因此在旧的计算机中 Apache 配置文件的位置可能是 /etc/httpd/httpd.conf

  2. 使用文本的编辑器取消注释(删除前面的 #)看起来类似于下面的行(这两行常常不在一起,需要在文件中找到这两行):
    # LoadModule php5_module libexec/httpd/libphp5.so


  3. # AddModule mod_php5.c



  4. 注意位置/路径。如果在以后重新编译了 PHP,以上文件应被更换或者注释掉。

  5. 确保将所需要的文件扩展名解析为 PHP(例如:.php .html 以及 .inc),否则不能正常运行。
    由于以下的配置已经写入 httpd.conf(自 Mac Panther 版起),一旦 PHP 被启用则 .php 文件会被自动解析为 PHP 脚本。

    <IfModule mod_php5.c>

  6.     # If php is turned on, we respect .php and .phps files.

  7.     AddType application/x-httpd-php .php

  8.     AddType application/x-httpd-php-source .phps


  9.     # Since most users will want index.php to work we

  10.     # also automatically enable index.php

  11.     <IfModule mod_dir.c>

  12.         DirectoryIndex index.html index.php

  13.     </IfModule>

  14. </IfModule>




    Note:
    在 OS X 10.5(Leopard)以前版本中,捆绑的是 PHP 4 而不是 PHP 5,因此上面的配置指令稍有不同,需要将 5 更改为 4。

  15. 确保 DirectoryIndex 加载了所需的默认索引文件。 这个也是在 httpd.conf 中设置的。 通常情况下使用 index.phpindex.html 。默认情况下 index.php 会被启用,因为在我们上面的配置指令中写明了。根据实际情况可以做相应的调整。

  16. 设置 php.ini 的位置或者使用默认的位置。 Mac OS X 上通常默认的位置是 /usr/local/php/php.ini ,调用 phpinfo() 也可以得到此信息。如果没有使用 php.ini,PHP 将使用所有的默认值。参见常见问题中的寻找 php.ini

  17. 定位或者设置 DocumentRoot。 这是网站所有文件的根目录。此目录中的文件由 web 服务器提供服务,从而使得 PHP 文件将在输出到浏览器之前解析为 PHP 脚本。通常情况下默认的路径是 /Library/WebServer/Documents,但是可以根据需要在 httpd.conf中设置为任何其他目录。另外,用户自己的缺省 DocumentRoot/Users/yourusername/Sites

  18. 创建一个 phpinfo() 文件。 phpinfo() 将会显示PHP的相关系统信息。可以在 DocumentRoot 下创建一个 PHP 文件,其代码如下:
    <?php phpinfo(); ?>

  19. 重启 Apache,然后从浏览器访问上面创建的文件。 要重启Apache,可以在 shell 中执行 sudo apachectl graceful,也可以停止/启动 OS X 系统首选项中的“Personal Web Server”选项。默认情况下,从浏览器访问本地文件的 URL 一般类似于:http://localhost/info.php,或者使用:http://localhost/~yourusername/info.php 来访问用户自己 DocumentRoot 中的文件。

CLI(或者旧版本中的 CGI)一般文件名为 php ,其路径可能是 /usr/bin/php。打开一个终端,参考 PHP 手册中的 PHP 的命令行模式一章,然后执行 php -v 可以检查当前运行的 PHP 的版本。调用 phpinfo() 也会显示相关的信息。