iOS error 解决办法

本文汇总了从iOS SDK 3.2.5升级到7.1过程中遇到的各种警告及解决方法,包括方法废弃、类型转换、资源冲突等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从sdk3.2.5升级到sdk 7.1中间废弃了很多的方法,还有一些逻辑关系更加严谨了。
1,警告:“xoxoxoxo”  is deprecated
解决办法:查看xoxoxoxo的这个方法的文档,替换掉这个方法即可。

2,警告:Declaration of "struct sockaddr" will not be visible outside of this function
解决办法:在你的开源.m文件中添加 #import <netinet/in.h>

3,警告:Implicit conversion from enumeration type ‘UIInterfaceOrientation‘ to different enumeration type ‘UIDeviceOrientation‘
解决办法:类型不匹配。跳到出错的那一行,UIInterfaceOrientation强制转换为UIDeviceOrientation就行了。

4,警告:incompatible pointer types assigning to ‘MyArrayList*‘from ‘NSMutableArray‘
解决办法:加入强制转换(MyArrayList*)

5,警告:‘&&‘ within ‘||‘
问题出处:
    if (exists && !isDirectory || !exists)………
  解决办法: if ((exists && !isDirectory) || !exists)………

6,警告:Warning:The Copy Bundle Resources build phase contains this target‘s Info.plist file
解决办法:将Info.plist文件移到Resources目录下,而不要直接放在target下。


7,警告:在使用ASIHttp…第三方库的,运行报错。
解决办法:看你的项目中是否添加CFNetwork.framework、SystemConfiguration.framework, MobileCoreServices.framework,
CoreGraphics.framework和libz.1.2.3.dylib,如果是sdk5.0以上,改添加libz.1.2.5.dylib

 8,警告:xxxooo,missing required architecture i386 in file 
解决办法:如果是错误信息的话:
Target->Build Settings->Search Paths, 删除FrameworkSearch Paths 里面内容就可以了。
要只是一个警告的话,真机调试可以过。具体解决方法待大神出现。 

9,警告:
clang: error: no such file or directory: ‘/demo2/控件代码/13/Recorder/Recorder_Prefix.pch‘
clang: error: no input files
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang failed with exit code 1

解决办法: 在你的主工程文件 target搜素,pch ,找到Prefix Header    把它后面的值,都删除,再运行就解决了。

10,警告:
“ARC forbids synthesizing a property of an Objective-C object with unspecified ownership or storage attribute
解决办法:如果定义了ARC有效,那么必须要有所有者属性的定义;所以代码改成下面这样
@property (nonatomic, strong, readonly) NSString *ss; 

11,警告:
io6一下的xib系统均没有自动选择Use Autolayout, Supporting iOS 5 and below with xib of iOS 6 
解决办法:Just un-select “Use Autolayout” in the file inspector of the xib’s view and we are back to the familiar autosizing in size inspector and boom, it supports iOS 5 and below.

12,警告:
Warning: Multiple build commands for output file xxx.png 
解决办法:找到项目里xxx.png重复,删除重复的资源。

//以下是升级到 xcode 5.0.1 之后使用遇到的警告
13,警告:
 “iOS 模拟器”未能安装此应用程序。
解决办法:删除模拟器上当前要运行那个APP,重新运行项目。就ok

14,警告:
SpringBoard无法启动应用程序 错误:-3
解决办法:退出模拟器,重新运行这个项目。

15,警告:
The server certificate failed to verify.   
解决办法:
1、打开终端(实用工具 -->终端),在终端中输入如下命令:
svn ls https://192.100.1.11?0/svn/xxxxxx(注意下面的url更换成你自己的url地址)
然后直接输入 “ p ”  确认,就可以重新连接了。

16,警告:
Bitmasking for introspection of Objective-C object pointers is strongly discouraged.   
解决办法:
某数字& 0x1的时候是代表要取最低位是否为1,改成了  if(JK_EXPECT_F(((NSUInteger)object)%2))即可。

17,警告:
Implicit conversion loses integer precision: ‘unsigned long‘ to ‘CC_LONG‘ (aka ‘unsigned int‘).   
解决办法:
    CC_MD5(str,strlen(str), r);,改成了     CC_MD5(str, (CC_LONG)strlen(str), r);即可。

18,警告:
error: failed to launch ‘/private/var/mobile/Applications/xxxxx‘ -- failed to get the task for process 11140.   
解决办法:
    重启你的开发手机即可,还有一种可能是你的开发者证书与发布证书搞错了,检查在xcode中证书是否一直 。

19,警告:
error: ignoring filxxxxxx/libBaiduMobStat.a, missing required architecture x86_64 in filexxxx/libBaiduMobStat.a  
解决办法:
    targets ->build setting 下的  architectures 设置为 standard architetures(armv7,armv7s)   vaild architectures 设置为armv7,armv7s。

20,警告:
error: Directory not found for option ‘-L/Users/joryoubonxx/BaiduStatistic   
解决办法:
  删除  targets ->build setting 下的  library search path不正确的地址,如果还不行,重新添加第三库、clean ,重启Xcode.即可。

遇到相关的警告,一般编译器都会提供解决方案,所以,作为新手,我们应该看懂编译器给我们的提示,这样我们解决问题就会事半功倍。

 

uiview2012-10-10 12:17
1,  错误信息:
  "_OBJC_CLASS_$  xxxxx  ", referenced from:
      objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决方法:
 查看工程,看是不是没有导入相关的框架。或者工程里添加的有相同".m",".h" 文件

2,  错误信息:
Couldn‘t register dy.CKRiLiText with the bootstrap server. Error: unknown error code.
This generally means that another instance of this process was already running or is hung in the debugger.Current language:  auto; currently objective-c
解决方法: 可能是电脑内存问题引起,重启电脑即可解决。如果重启解决不了问题,那就是你刚刚改动的代码引起的问题。

3 、 错误信息:
ios 5是调试正常的ios 6真机调试的时候,出现如下错误:ld: file is universal (3 slices) but does not contain a(n) armv7s slice: /Users/mac4/Desktop/my desktop/My app/MyApp name 20:09:12  /MyApp name/ZBarSDK/libzbar.a for architecture armv7serror:linker command failed with exit code 1 (use -v to see invocation)
解决方法:在Xcode里,点击相应的Target,然后点Build Settings,找到VALID_ARCHS,看里面的是不是arvm7s,如果不是改成arvm7s就可以了。

4 、 错误信息:
 error: receiver type ‘ViewController‘ for instance message does not declare a method with selector ‘hideSearchBar:‘ [4]
ViewController 中没有声明一个方法选择‘hideSearchBar:
解决方法:
在ViewController .h 中声明一下这个方法 “ hideSearchBar ”  即可。

5、 错误信息:当json从服务端请求时得到的字符串,如果这样写的话,会报错,‘;‘ after top level declarator
NSString *ss= @"{"recommend":"世界末日","
dogname":"机器人"}";  
解决方法:
就是,把   “   替换成  \"  即可。
NSString *ss= @"{ \"recommend \": \"世界末日 \", \"dogname \": \"机器人 \"}";  

6 、 错误信息:
 error: Existing instance variable ‘_datasource‘ for property ‘datasource‘ with  assign attribute must be __unsafe_unretained

解决方法:
     id<ListViewDataSource> _datasource; 改为     __unsafe_unretained id<ListViewDataSource> _datasource:即可

7 、 错误信息:
error: No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).

解决方法:
     targets ->build setting 下的 Build Active Architecture Only 设置 NO  即可.

8. iOS真机调试中出现identity(The identity ‘iPhone Developer)证书不匹配的问题

提示(null) error: could not read CFBundleIdentifier from Info.plist (null)

新建一个同名工程,拷贝其plist文件,将原工程中的plist文件替换掉即可。 

uiview2012-10-16 15:03
31警告:
 warning: Semantic Issue: Incompatible integer to pointer conversion assigning to ‘BOOL *‘ (aka ‘signed char *‘) from ‘BOOL‘ (aka ‘signed char‘)

解决办法: 检查 BOOL *换为BOOL就可以了,检查是不是多写一个   *  号。


32:Jsonkit中的警告

Direct access to objective-c‘s isa is deprecated in favor of object_setClass() and object_getClass()
object->isa 替换为 object_getClass(object)
keyObject->isa 替换为 object_getClass(keyObject)
(id)keys[idx]->isa 替换为 object_getClass((id)keys[idx])

format specifies type ‘unsigned long‘ but the argument has type ‘nsuinteger‘ (aka ‘unsigned int‘)
给变量增加(unsigned long)进行类型转换


33:md5加密(iOS SDK中自带了CommonCrypto

Implicit declaration of function ‘CC_MD5‘ is invalid in C99

[plain] view plaincopy

    #define CC_MD5_DIGEST_LENGTH 16  
    +(NSString *)MD5HashForString:(NSString *)input {  
        const char *cStr = [input UTF8String];  
        unsigned char result[CC_MD5_DIGEST_LENGTH];  
        CC_MD5(cStr, strlen(cStr), result);  
        return [NSString stringWithFormat: @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",  
                result[0], result[1], result[2], result[3],  
                result[4], result[5], result[6], result[7],  
                result[8], result[9], result[10], result[11],  
                result[12], result[13], result[14], result[15]];  
    }  

引入函数定义的头文件

#import <CommonCrypto/CommonDigest.h>


34:ASIDataDecompressor中的警告

format specifies type  ‘short‘ but the  argument has type ‘int‘

在+ (NSError *)deflateErrorWithCode:(int)code 和 +(NSError *)inflateErrorWithCode:(int)code中

[NSString stringWithFormat:@"Compression of data failed with code %hi",code] 中

将code改为 (short)code,类型转换


35:Reachability中警告

Using ‘stringWithString:‘ with a literal is redundant

statusString = [NSString stringWithString: @"Not Reachable"]; 

改为:statusString = @"Not Reachable";


36.format specifies type ‘id‘ but the argument has type ‘const char *‘

NSCAssert(NO, @"Unhandled error encountered during SAX parse. msg is %@", msg);
改为:NSCAssert(NO, @"Unhandled error encountered during SAX parse. msg is %@", [NSString stringWithUTF8String:msg]);

37 Using ‘stringWithString:‘ with a literal is redundant
改为:self.locationInput.text = @"captured change";


38 在项目中设置控件的layer属性时,会发生错误,
"Property ‘c‘ cannot be found in forward class object ‘CALayer *",


这时需要引入  #import <QuartzCore/CALayer.h>。

 

 

uiview2012-11-30 10:58
41,错误

Error launching remote program: failed to get the task for process   

解决方法:
把真机上的软件,删除,然后,clean 一下,重新运行就可以了。

        
42,真机调试的时候,出现   [attachment=49364]   这正常,但是不识别机器的。

解决方法:

把 , [attachment=49365] 设置为以上相对应的版本就可以了。

43,真机调试的时候,出现   ios Broken pipe

解决方法:
:推出xcode
:断开机器(iphone,ipad,ipod)链接
:重启iPhone在联接xcode,就可以了。
### iOS 中 Axios 网络请求出现 Network Error 的解决方案 在处理 iOS 平台上的 Axios 网络请求时,`Network Error` 错误可能由多种因素引起。以下是综合分析后的解决方案: #### 1. **检查网络环境** 即使设备显示网络正常,仍可能存在特定场景下的网络异常。例如,某些情况下运营商会拦截 HTTPS 流量或者 DNS 配置不当可能导致无法解析目标地址[^1]。 - 如果发现 `ping 百度` 正常而其他服务不可达,则可能是域名被劫持或 DNS 缓存问题。 - 可尝试更换服务器域名配置至 APP 内部逻辑中实现动态切换。 #### 2. **Axios 请求未发送的情况** 部分环境下,使用 Axios 发送请求可能出现完全不触发实际 HTTP 调用的现象。这种现象通常表现为浏览器开发者工具中找不到对应请求记录,并伴随 `Network_Error` 报告[^2]。 - 建议排查是否存在代理设置冲突或其他中间件干扰行为。 - 对于 Vue 或 React Native 类项目构建过程中引入的自定义适配器(如 HBuilderX),可考虑修改底层 XHR 实现以兼容特殊平台需求[^4]: ```javascript // 修改 axios 的 xhr.js 文件 var request = new plus.net.XMLHttpRequest(); ``` 此更改能够有效支持 DCloud uni-app 等框架运行于 Android 和 iOS 设备上时保持稳定通信能力。 #### 3. **大文件上传引发超时错误** 当通过 Axios 进行较大规模数据传输操作时,“Network Error” 往往源于默认时间限制不足或是服务器拒绝接收超出规定大小的内容[^3]。 为此建议采取如下措施优化性能表现: - 设置合理的 timeout 参数延长等待周期; - 利用分片技术拆解巨型资源为若干较小单元逐一提交; - 同步调整后端接口策略允许更大尺寸附件入库存储; 示例代码片段展示如何增加全局超时期限以及监听进度事件以便更好地控制整个流程: ```javascript const instance = axios.create({ baseURL: 'https://example.com/api/', timeout: 60000, // 单位毫秒 }); instance.interceptors.request.use(config => { config.headers['Authorization'] = AUTH_TOKEN; return config; }, error => Promise.reject(error)); function uploadFile(file) { const formData = new FormData(); formData.append('file', file); return instance.post('/upload', formData, { onUploadProgress: progressEvent => { console.log(`Uploaded ${Math.round(progressEvent.loaded / progressEvent.total * 100)}%`); } }); } ``` #### 4. **跨域资源共享(CORS)** 最后值得注意的是 CORS Policy 导致的安全防护机制也可能成为阻碍成功建立联系的因素之一[^5]。确保前后两端均正确设置了必要的头部字段来满足互访条件至关重要。 --- ### 总结 针对 iOS 上发生的 Axios `Network Error` ,应从以下几个方面入手解决问题:确认物理链路通畅性、修正潜在缺陷避免遗漏必要环节、增强健壮性和适应复杂业务形态的能力。上述方法涵盖了大部分常见状况及其对应的处置办法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值