ios开发社区

来源:互联网 发布:淘宝网手机触屏版 编辑:程序博客网 时间:2024/05/02 04:19

从大众的观点来看,搭建一个APP,可以依赖非常多的第三方,足够稳定,只要我们自己的视角站的够高。这个我是很认同的。

  • TRAutocompleteView for the address book autocompletion.类似这个自动地址簿的东西,学会关键部分,移植到任何地方多是件容易的事情。

Also, the following third-party frameworks are used in this app:

  • Ink iOS Framework for connecting to other iOS apps.
  • MailCore for receiving, viewing, and sending emails.
  • FlatUIKit for the UX components.
  • PKRevealController for the slide out left menu.
  • TRAutocompleteView for the address book autocompletion.
  • MBProgressHUD for HUD alerts.
  • FXKeychain for wrapping the Apple keychain APIs
  • Google Toolbox for Mac - Oauth 2 Controllers for oauth connectivity.
  • Apptentive for receiving user feedback.
有一个好的文档,对于开发来说多么重要
 If you're targeting iOS, you have to link against MailCore 2 as a static library:
  • Add libMailCore-ios.a
  • Add CFNetwork.framework
  • Add Security.framework
  • Set 'Other Linker Flags': -lctemplate-ios -letpan-ios -licudata -licui18n -licuuc -lxml2 -lsasl2 -liconv -ltidy -lz -licucore -lstdc++ -stdlib=libstdc++ -ObjC
  • Make sure to use GNU C++ standard library. In Build Settings, locate 'C++ Standard Library', and selectlibstdc++.
  • In Build Phases, add a Target Dependency of static mailcore2 ios.

http://libmailcore.com/
国人的系列文章:http://blog.csdn.net/kmyhy/article/details/8258733
在进步中,morecor2,也许就不一样了。。。
相信一些前人走过的路,多浏览下,对我们避免同样的问题是由很大帮助的。。。。
这个方法堆text/plain类型的文件(.txt、.text)进行特别处理。因为这类文件的字符集charset从文件名无法推断。一个.txt文件中的字符编码可能是任意的:utf-8、ascii,如果有中文,那么还可能是gb2312或者gbk的。因此在openTextFile:mimeType:方法中,我们先后尝试了utf-8、gbk和gb2312编码,如果都不正确,则采用us-ascii。最后用推断出的编码加载文件到webview:

NSError* error=nil;

    NSString* encoding;

    // determine text encoding

    NSString* content=[NSStringstringWithContentsOfFile:file

                                               encoding:NSUTF8StringEncoding

                                                  error:&error];

    if (error) {

       error=nil;

        content=[NSStringstringWithContentsOfFile:file

                                         encoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)

                                            error:&error];

        if (error) {

           error=nil;

            // 0x0421 is kCFStringEncodingDOSChineseSimplifdeclared in CFStringEncodingExt.h,

            // this hinted the codepage 936 which is gb2312 with a reference from IANA encoding 

           content=[NSStringstringWithContentsOfFile:file

                                             encoding:CFStringConvertEncodingToNSStringEncoding(0x0421)

                                                error:&error];

            if (error)

                encoding=@"us-ascii";

            else

               encoding=@"gb2312";

        }else{

           encoding=@"GB18030";

        }

    }else{

       encoding=@"UTF-8";

    }

    [webViewloadData:[NSDatadataWithContentsOfFile:file]

             MIMEType:type textEncodingName:encoding baseURL:nil]; 而且,我们使用了webview的loadData:MIMEType:textEncodingName:baseURL:方法,而不是一般的loadRequest:方法,否则对于中文text/plain文件,显示的是乱码。
0 0