我已将新的iOS 8下载到我的手机和最新的
Xcode到我的Mac上.这一切都运行良好,但在我尝试iPhone 4s或5个模拟器(它与5s一起工作)加载并尝试新的iPhone 6 plus模拟器后,我收到以下错误:
Undefined symbols for architecture i386: "_fwrite$UNIX2003",referenced from: leveldb::(anonymous namespace)::PosixEnv::~PosixEnv() in Firebase(env_posix.o) leveldb::(anonymous namespace)::PosixEnv::~PosixEnv() in Firebase(env_posix.o) ld: symbol(s) not found for architecture i386 clang: error: linker command Failed with exit code 1 (use -v to see invocation)
对我来说,我整个上午都在使用iPhone 4模拟器似乎很奇怪,但只有在我尝试iPhone 6 plus模拟器之后,它才会破坏,我无法恢复使用
解决方法
this link提供的答案对我来说很好.
如上所述,
要删除所有这些错误,您必须创建一个* .c文件(不需要特定名称)并复制粘贴以下代码:
#include <stdio.h> #include <unistd.h> #include <string.h> #include <stdlib.h> FILE *fopen$UNIX2003( const char *filename,const char *mode ) { return fopen(filename,mode); } int fputs$UNIX2003(const char *res1,FILE *res2){ return fputs(res1,res2); } int nanosleep$UNIX2003(int val){ return usleep(val); } char* strerror$UNIX2003(int errornum){ return strerror(errornum); } double strtod$UNIX2003(const char *nptr,char **endptr){ return strtod(nptr,endptr); } size_t fwrite$UNIX2003( const void *a,size_t b,size_t c,FILE *d ) { return fwrite(a,b,c,d); }
通常一切都应该没问题.