Xcode编译WebApps找不到js的错误解决办法<转>

使用Xcode做WebApps时,使用UIWebview来调用一个页面,有时会遇到问题,其一就是编译的时候出现黄色感叹号的Warning,js文件都报错:warning: no rule to process file '$(PROJECT_DIR)/jquery-1.8.1.min.js' of type sourcecode.javascript for architecture i386

错误原因是:js和html等资源文件加入到project的时候,Xcode错误的将js文件都放到了编译源代码(Compile Sources)文件夹,以为js代码也需要“被编译”。

解决的办法:将Targets ->Build Phases-> Compile Sources 中的js文件拖拽到Copy Bundle Resource即可

知识点:

  • Copy Bundle Resources:是指生成的product的.app内将包含哪些资源文件。通过Copy Bundle Resources中内容的不同设置, 我们可以让不同的product包含不同的资源, 包括程序的主图标等, 而不是把XCode的工程中列出的资源一股脑的包含进去
  • Compile Sources:是指将有哪些源代码被编译
  • Link Binary With Libraries:是指编译过程中会引用哪些库文件

另转:Xcode编译错误和警告汇总 

1、error: macro names must be identifiers YourProject_prefix.pch
  原因: 因为你弄脏了预处理器宏,在它处于<Multiple Values>的时候修改了它
  解决方法: Configiration选择All Configirations,清空它 然后分别重新定义你的Debug,Release,Distributin预处理器宏吧

2、warning: no rule to process file '$(PROJECT_DIR)/LoadingView.h' of type sourcecode.c.h for architecture armv6

  原因: Target里Compile Sources里含有头文件 了,那里面不需要头文件

  解决方法: 从Target里Compile Sources里删除头文件

3、Command /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS Build System Support.xcplugin/Contents/Resources/copypng failed with exit code 1

  原因: png图像文件拷贝失败,看看信息上面提示Can't find哪个文件,一般都是从文件系统里删除文件而没有通过Xcode删除造成的,Xcode的项目配置文件依然纪录着这个文件的引用

  解决办法: 给文件系统里增加相应的文件,或者从Xcode的Groups & Files删除它,或者从Target的Copy Bundle Resources里删除它

4、Code Sign error: The identity 'iPhone Developer: Your Name' doesn't match any valid certificate/private key pair in the default keychain

   原因: 签名错误

   解决办法: Target -> Get Info -> Build -> Code Signing -> 修改签名

  记得左上角的Configuration类型要跟当前Build类型对应(Debug, Release, Distribution),否则改了也白改

 5、could not create bundle folder for versioned model *.moda(好像是这个后缀名的这个文件)

   原因:编译一次会产生一个新的

   解决办法:应该把编译产生出来的moda文件都删了,然后clean下工程,重新build即可

 6、error:There are no valid certificate/private key pairs in the default keychain

 7、error:Cannot assign to 'self' outside of a method in the init family

   原因:只能在init方法中给self赋值,Xcode判断是否为init方法规则:方法返回id,并且名字以init     +大写字母开头+其他  为准则。例如:- (id) initWithXXX;

   出错代码:- (id) Myinit{

      self = [super init];……

  }

  解决方法:- (id) initWithMy{

      self = [super init];

  }

转自:http://blog.sina.com.cn/s/blog_4aacd7af01011woj.html

 

posted @ 2012-12-27 17:39  潁川君  阅读(2251)  评论(0编辑  收藏  举报