error ios
2018-06-28 09:57:00 weixin_33866037 阅读数 21

Error 1:

[WARN]Warning: Multiple build commands for output file /Developer/xxx/xxx.xxx
or
Error: Multiple commands produce '/Users/xxx/Library/Developer/Xcode/DerivedData/xxx-azkpjshzmzhpaeaegtxmlgrewbpt/Build/Products/Debug-iphoneos/xxx.app/Info.plist':
1) Target 'xxx' has copy command from '/Users/xxx/Documents/xxx/SupportingFiles/Info.plist' to '/Users/xxx/Library/Developer/Xcode/DerivedData/xxx-azkpjshzmzhpaeaegtxmlgrewbpt/Build/Products/Debug-iphoneos/xxx.app/Info.plist'
2) Target 'xxx' has process command with input '/Users/xxx/Documents/xxx/SupportingFiles/Info.plist'

解决方法:

In the Project Navigator, select your Xcode Project file. This will show you the project settings as well as the targets in the project. Look in the "Copy Bundle Resources" Build Phase. You should find the offending files in that list twice. Delete the duplicate reference.
Xcode is complaining that you are trying to bundle the same file with your application two times. stack overflow

选中Target,选Build Phase,在Copy Bundle Resources中删除重复的文件,如果发现文件并没有重复,可以先把文件删除,clean一下,然后问题就解决了~ 后面也可以删除的文件在加回去。如果是重复文件的话就可以不用加回去了。

Error 2:

今天在使用cocoaPods的时候,发现报错了,如下:


293993-aa64a140c37409d3.png
1
293993-20b01e91e760a9fc.png
2
293993-752ef73d883c8eff.png
3
293993-75be1c8dcdb5ecde.png
4
293993-d5cd26defcdfe31d.png
5

解决办法:
照着后面给出的解决办法链接,就可以找到解决办法。是因为我刚刚创建的项目用的是Xcode9.4.1版本创建的,所以项目的Project Document下面的Project Format是Xcode 9.3-compatible,把这个设置改为9.3以下的就OK了~

首先选中当前项目文件

293993-74151b9401f188e4.png
解决1
293993-e521a68d7b4494fe.png
解决2

Error 3:

昨天看了一下博客,今天心血来潮想写个简单的macOS app,用Swift写,在pod一些框架的时候,首先是遇到了上面Error 2的错误,改正之后,就是下面的错误了。

 The “Swift Language Version” (SWIFT_VERSION) build setting must be set to a supported value for targets which use Swift. This setting can be set in the build settings editor.

解决办法:Project ► (Select Your Project Target) ► Build Settings ► (Type 'swift' in Searchbar) Swift Compiler Language ► Swift Language Version ► Click on Language list to open it.

Xcode 9 Swift Language Version (SWIFT_VERSION) - Stack Overflow

Error 4:

今天该死的和同事合并代码报错
_OBJC_IVAR_$_BDConversationCell._userNameLabel in: 某路径
该错误是一种链接错误,Xcode不会直接定位到问题具体位置。

但其仍有一定的规律,大概是以下原因:
1.检查是否误导入了问题中类的 .m 文件;
报错:

duplicate symbol _OBJC_IVAR_$_TestViewController._button in: /Users/Kingdev/Library/Developer/Xcode/DerivedData/测试OC-eluxicnvoptnsgcghlsslvbpkzzm/Build/Intermediates/测试OC.build/Debug-iphonesimulator/测试OC.build/Objects-normal/x86_64/ViewController.o /Users/Kingdev/Library/Developer/Xcode/DerivedData/测试OC-eluxicnvoptnsgcghlsslvbpkzzm/Build/Intermediates/测试OC.build/Debug-iphonesimulator/测试OC.build/Objects-normal/x86_64/TestViewController.o
ld: 3 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

原因:

293993-74261e6e36c63ec5.png
image

2.项目中是否存在同名的文件 [①多人协作开发导致project文件合并冲突 ②自己文件与三方中文件重名了]

报错:

ld: 3 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

原因:

293993-be33d7e3fef6ecf9.png
image

若在项目中搜索中搜索发现,不存在同名的文件,就可判断出不是问题2。基本上就是问题3了。
3.在 TARGETS ——> Build Phases ——> Compiles Sources,看看出现问题的类是不是有重复的或路径出现了问题。多人协作开发时就容易出现这种问题,project文件冲突导致的。

解决:直接搜索出现错误的文件名,会发现有两个这个m文件,直接删除一个即可。

duplicate symbol _OBJC_IVAR

慢慢来,一步一个巴掌印~~~

持续更新。。。。

iOS Error
2018-11-28 11:08:00 weixin_34289454 阅读数 6

离开页面后,网络请求使用 delegate 回调崩溃

原因:用的是 assgin 修饰 delegate,像数值类型一样 delegate对象被销毁了但不置 nil。

解决方案:

  • 使用weak修饰delegate对象,离开页面后,delegate对像销毁并置 nil。
  • 离开页面时,手动将delegate对象置nil。
  • 离开页面时,取消这个网络请求。

This application is modifying the autolayout engin from a background thread

原因:未回主线程刷新UI

解决方案:

dispatch_async(dispatch_get_main_queue(), ^{
    // 有关UI的操作
});
2014-07-03 11:07:57 wanglong1121 阅读数 1482

Error汇总

 (2014-03-19 17:11:09)
   

错误:ld: symbol dyld_stub_binding_helper not found, normally in crt1.o/dylib1.o/bundle1.o for architecture i386

原因:不支持低版本的系统如3.0

解决:Deployment Target was 3.0. Changing it to 4.3 fixed it.


http://blog.csdn.net/wbw1985/article/details/12972735

编译的时候会有missing file的警告,原因是由于SVN或git造成的

只要根据警告,每个都使用命令svn rm 丢失文件的路径即可。


http://blog.csdn.net/wbw1985/article/details/17003773

ld: 16 duplicate symbols for architecture i386

clang: error: linker command failed with exit code 1 (use -v to see invocation)

解决方法:

 

选中工程,target,切换到buildsetting标签,定位到other link flag,

输入: 去除-all_load,即可


http://blog.csdn.net/wbw1985/article/details/12017273

XCODE4升级到XCODE5编译就不通过了错误如下:

ld: warning: directory not found for option '-L/Users/paul/Android/baidu_tongji_source/ios-sdk/BaiduMobStatSample/../BaiduMobStat/DerivedData/BaiduMobStat/Build/Products/Debug-iphoneos'

ld: warning: ignoring file /Users/paul/Library/Developer/Xcode/DerivedData/BaiduMobStatSample-eqytpjphifilvcdgslntagloteig/Build/Products/Debug-iphoneos/libBaiduMobStat.a, file was built for archive which is not the architecture being linked (armv7s): 

ld: symbol(s) not found for architecture armv7s

clang: error: linker command failed with exit code 1 (use -v to see invocation)

解决方法:

     进入Build Settings 找到Architectures 选择Standard architectures

找到Valid Architectures选择armv7和armv7s两项,其余删除

此时clean工程 编译如果还出现该错误,请找到Build Active Architecture Only项选择YES,然后编译通过后再改回NO。之后就正常了。


http://blog.csdn.net/wbw1985/article/details/12004303

xcode5编译脚本变化

ARCH="armv7s armv7"

echo "xcodebuild..."

xcodebuild -project BaiduMobStat/BaiduMobStat.xcodeproj  -arch "${ARCH}"

在xcode5之前的版本是正常的

但是在xcode5上编译后出现如下问题:

No architectures to compile for (ARCHS=armv7s\ armv7, VALID_ARCHS=armv7 armv7s arm64 i386).


ARCHS参数里面的值包含了斜杠,造成编译不过。改为

xcodebuild -project BaiduMobStat/BaiduMobStat.xcodeproj  -arch "armv7s" -arch "armv7"

编译通过。


常遇见的警告、错误以及相关解决方法

http://blog.csdn.net/xietao3/article/details/17615251

从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

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中证书是否一直 。


21,  错误信息:
  "_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" 文件


22,  错误信息:
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

解决方法:可能是电脑内存问题引起,重启电脑即可解决。如果重启解决不了问题,那就是你刚刚改动的代码引起的问题。

23 、 错误信息:
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就可以了。

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

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

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

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


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: @"xxxxxxxxxxxxxxxx",  
                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


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 。


41,错误

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

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

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

解决方法:

把 , 设置为以上相对应的版本就可以了。

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

解决方法:
:推出xcode
:断开机器(iphone,ipad,ipod)链接
:重启iPhone在联接xcode,就可以了。

2016-03-09 23:39:00 weixin_33862514 阅读数 9

1 https 支持

  • 系统打印:并不会崩溃 error
    App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure.
    Temporary exceptions can be configured via your app's Info.plist file.**

  • 提示也非常明确,在 info.plist 中 添加 App Transport Security Settings 并添加 Allow Arbitrary Loads = YES
    也可以这样添加:Open As Source Code:

 <key>NSAppTransportSecurity</key>
 <dict>
  <key>NSAllowsArbitraryLoads</key>
  <true/>
 </dict>
  • 如果需要对某些网址 http,需要具体分别设置,而不是想上面那样全部http

2 armv7,armv7s,arm64 相关

arm处理器的指令集,具体深入也并不是很了解,主要是在添加其他库文件是,可能导致编译不通过。可能出现的报错:

Undefined symbols for architecture x86_64:
//x86_64,armv7,arm64..
  • x86_64:模拟器64位,表示添加的文件不支持x86_64,需要重新添加个支持模拟器的,或者直接真机调试吧。
  • arm64:真机64位,iphone5S、iPad Air、mini2 以上都是这个吧。
  • armv7/armv7s:更早版本。
在Build Srtting 中,Architectures中有一些设置,一般情况下不需要修改,有问题都是因为第三方拖入文件的事。

其中Architectures 对打包文件的大小有影响,越多,越大,每一种都要生产对应的指令集的二进制包,因为可以向下兼容,所有对性能不要求的话只要armv7,就能凑活了。

3 search path

在添加其他文件例如 .a 时,可能会出现

ld: library not found for -XXXXXX

主要原因就是路径错误,找不到文件,Build Setting 中 修改
Library Search Path 添加XXX 文件路径。

$(inherited)     一般第一行都是这个,据说是从 framworks 读取,请教大神。

$(PROJECT_DIR) 对应 /Users/name/somewheres/prejectname(工程包相对路径)/后面还可以跟具体文件夹文件路径XXX.a
这个相对路径比较重要!

类似的 framwork/header Seacrh Path 也是一样的。

4 other link flag

在添加其他文件例如.a时,编译通过,但是运行时可能出现

selector not recognized

链接器,具体也不是很明白,大致是编译之后,链接目标文件与库形成执行文件。可能会用到下面几个参数

-ObjC:将OC类添加到执行文件,但是可能添加多余没用的文件,但是可以解决很多相关问题。如果还不行就用下面-force_load
-all_load:最好不要用,可能导致重复链接
-force_load :后面跟相对文件路径,是比较好的方式。

5 bitcode

有时候,在添加第三方SDK的时候,模拟器OK,但是真机调试时会遇到

does not contain bitcode. 
You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), 
obtain an updated library from the vendor, 
or disable bitcode for this target. 
for architecture arm64

这个根据翻译很好理解,就是 Build Setting bitcode 设置为 NO。
这个bitcode,大致用于打包上传appStore是形成中间二进制文件,减少上传时app包大小。一般情况下,很多第三方SDK不支持bitcode,所以设置NO吧,跟https一样。
iOS是可选YES/NO。而watchOS,必须YES。

6 scheme

白名单,调用检查其他App需要添加 NSArray 类:LSApplicationQueriesSchemes
添加打印的那些 error,下面一些常见的复制粘贴过来凑数:其他还有很多。一般在继承文档都有说明。

<key>LSApplicationQueriesSchemes</key> 
<array> <!-- 微信 URL Scheme 白名单--> 
<string>wechat</string> 
<string>weixin</string> 

<!-- 新浪微博 URL Scheme 白名单--> 
<string>sinaweibohd</string> 
<string>sinaweibo</string> 
<string>sinaweibosso</string> 
<string>weibosdk</string> 
<string>weibosdk2.5</string> 

<!-- QQ、Qzone URL Scheme 白名单--> 
<string>mqqapi</string>
 <string>mqq</string> 
<string>mqqOpensdkSSoLogin</string> 
<string>mqqconnect</string> 
<string>mqqopensdkdataline</string> 
<string>mqqopensdkgrouptribeshare</string> 
<string>mqqopensdkfriend</string> 
<string>mqqopensdkapi</string> 
<string>mqqopensdkapiV2</string> 
<string>mqqopensdkapiV3</string> 
<string>mqzoneopensdk</string> 
<string>wtloginmqq</string> 
<string>wtloginmqq2</string> 
<string>mqqwpa</string> 
<string>mqzone</string> 
<string>mqzonev2</string> 
<string>mqzoneshare</string> 
<string>wtloginqzone</string> 
<string>mqzonewx</string> 
<string>mqzoneopensdkapiV2</string> 
<string>mqzoneopensdkapi19</string> 
<string>mqzoneopensdkapi</string> 
<string>mqzoneopensdk</string> 

<!-- 支付宝 URL Scheme 白名单--> 
<string>alipay</string> 
<string>alipayshare</string>
</array>
2017-04-25 14:46:18 Lea__DongYang 阅读数 603

cannot create __weak reference in file using manual reference counting

解决1:

设置项目中的build setting -> Apple LLVM7.1 - Language - Objective C -> Weak References in Manual Retain Release YES

解决2:

用__unsafe_unretained 代替weak,但是如果用unsafe_unretained请注意下面的问题。
__unsafe_unretained specifies a reference that does not keep the referenced object alive and is not set to nil when there are no strong references to the object. If the object it references is deallocated, the pointer is left dangling.


You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64

这是一个很早以前遇到的问题了,解决方法很简单,
设置项目中的build setting -> All - Combined - 搜索bitcode -> 置为No参考文章


昨天有朋友问我怎么保持蓝牙长连接,就是在后台也不断开,其实这问题百度上一搜一大把啊,谷歌我就不说了。

也说下解决方法吧,只要在info.plist中加入新建一行 Required background modes , 加入下面两项。App shares data using CoreBluetooth 和 App communicates using CoreBluetooth


duplicate symbols for architecture arm64

错误原因可能是:1.有重名的文件。2.import的时候把.h写成.m。
解决方法:前者搜索该文件名,改名或删除均可。后者改成.h即可。


Implicit declaration of function 'SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO' is invalid in C99

错误原因是这样的,我自定义了宏#define SYSTEM_RUNS_IOS7_OR_LATER SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")
解决方法也比较让我惊奇,只要在宏定义的地方添加如下代码即可

#define SYSTEM_VERSION_EQUAL_TO(v)                  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
#define SYSTEM_VERSION_GREATER_THAN(v)              ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v)                 ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v)     ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)

参考:http://stackoverflow.com/questions/23818606/semantic-issue-implicit-declaration-of-function


Application windows are expected to have a root view controller at the end of application launch

这个报错现在几乎是看不到了,我是下载了httpserver的demo,运行出错。问题就出在rootViewController上。
解决方法,只要设置rootViewController就行了。我将[window addSubview:viewController.view];改成window.rootViewController = viewController;运行ok...


fatal error: could not build module 'Foundation'

今天运行程序的时候突然冒出27个错,而且一看是系统的库,上网查了资料才知道是因为导入了.c的文件而造成的。
解决方法:在.pch文件中加上#ifdef OBJC 和#endif即可。


fatal error: No code signing identities found: No valid signing identities (i.e. certificate and private key pair) matching the team ID “**” were found.

这是我在Archive时遇到的,一看就知道是证书问题,参考了stackoverflow解决了。解决方法:点左上Xcode > 选择Preferences,在Accounts中找到你的Apple ID,然后点击View Details,等待加载,时间会有个1、2分钟的样子,在Provisioning Profiles栏中,download证书,然后问题解决。


fatal error:Missing iOS Distribution signing identity

还是打包上传的时候遇到的,依旧是证书问题,就不说原因了,直接说解决方法:
1.https://developer.apple.com/certificationauthority/AppleWWDRCA.cer下载最新的证书,双击安装
2.到钥匙串中将过期的证书删除即可。(别问我钥匙串在哪,也别说找不到过期的证书^v^)
3.没有第三了,问题已经解决了。


UIWebView手势无效问题

这几天用UIWebView添加上滑下滑手势,发现没有效果,查了资料才发现,UIWebView已经自带手势了,解决问题的方法很简单,添加一个方法:- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer方法实现起来也很简单,我看有的人直接return YES;,但我发现这样并不严谨,应该加个判断,如果是你添加的手势,return YES;否则return NO;
跑一下,OK〜


Undefined symbols for architecture x86_64:

缺少库,缺什么自己补什么就好了。。。


attempt to insert nil object from objects[1]'

插入数组或字典中得值为空,可先进行判断在插入


specifies a non-existent file for the cfbundleexecutable key

這是打包上傳時遇到的,原因是我添加了QQ的分享,只要在info.plist文件中刪除executable file 这个key即可


Failed to chmod user/Library/Developer/CoreSimulator/Devices NO Such File Or directory

這個出現的具體原因我也不是很清楚,在so上也能找到,我重置了一下模擬器就好了( Simulator -> Reset Content and Settings...),當然也有人說重置了沒用。。。,so鏈接:http://stackoverflow.com/questions/40485155/failed-to-chmod-user-library-developer-coresimulator-devices-no-such-file-or-dir


Failed to chmod user/Library/Developer/CoreSimulator/Devices NO Such File Or directory

這個出現的具體原因我也不是很清楚,在so上也能找到,我重置了一下模擬器就好了( Simulator -> Reset Content and Settings...),當然也有人說重置了沒用。。。,so鏈接:http://stackoverflow.com/questions/40485155/failed-to-chmod-user-library-developer-coresimulator-devices-no-such-file-or-dir


This action could not be completed.Try again.(-22421)

錯誤是在上傳項目時出現的,就是說你網絡有問題,繼續重試即可。


PCH was compiled with module cache path

出现这个问题应该是我复制项目所以报错,说路径不同了,只要把but后面的路径里的文件删掉,然后clean项目就好了


This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.

出现这个问题是我在iOS 10的手机上调用系统相机,然后就崩溃了

解决方法:
  1. 在项目中找到info.plist文件,右键点击以 Source Code形式打开
  2. 添加以下键值对,这里以 PhotoLibrary 作为例子
    <key>NSCameraUsageDescription</key>
    <string>此 App 需要您的同意才能读取媒体资料库</string>
  3. 注意,key 是绝对不能写错的,而 value 也就是<string></string>你可以随意写

member access within misaligned address 0x000000000031 for type 'struct ListNode', which requires 8 byte alignment

这是一个c里面的错误,出现的环境是我做一个链表,alloc以后,调用此列表中的属性,然后报错,解决方法也很简单,alloc以后,对链表的每个属性赋值即可(没值就赋NULL)

IOS error 汇总

阅读数 1267

IOS Error code

阅读数 636

IOS error 汇总

阅读数 347

ios ERROR ITMS-90189

阅读数 2334

iOS error 解决办法

阅读数 1119

没有更多推荐了,返回首页