我有我的pList.which预处理和4.2相比似乎不再工作.
我将Info.pList设置为其他预处理器标志 – 传统(以便能够跳过//视为注释).
我设置
#define MYSERVER http://127.0.0.1:1234/
在我的pList
<key>myhost</key> <string>MYSERVER</string>
当我签入新的Xcode 4.3时,我在NSDictionary * bundle = [[NSBundle mainBundle] infoDictionary]里面看到了;
myhost = "http:/ /127.0.0.1:1234/"
我快速破解了它.
Nsstring *Hack = [[[[NSBundle mainBundle] infoDictionary] objectForKey:@"myhost"] stringByReplacingOccurrencesOfString:@" " withString:@""]; url = [NSURL URLWithString:Hack];
这使我的应用程序再次运行,但我希望有一个干净的解决方案.有任何想法吗?
解决方法 这实际上是clang预处理器中的一个错误,该错误随Xcode 4.3(clang 3.1)一起提供,它影响所有预处理,而不仅仅是Info.pLists.我提交了一个错误( LLVM bug 12035,rdar:// 10883862).解决方法是强制Xcode 4.3使用llvm-gcc进行Info.pList预处理而不是clang.我到目前为止找到的唯一方法是重写Info.pList预处理阶段中使用的“cc”符号链接:
sudo ln -fs /usr/bin/llvm-gcc /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
为了恢复这个黑客,只需将其重写为clang:sudo ln -fs /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
总结以上是内存溢出为你收集整理的objective-c – Xcode 4.3 – 使用“http://”预处理plist不再用于#define?全部内容,希望文章能够帮你解决objective-c – Xcode 4.3 – 使用“http://”预处理plist不再用于#define?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)