iOS Xcode警告和错误汇总

ipa上传成功,但是iTunes Connect构建版本中却不显示

原因:1、一般要等待5分钟左右
2、若重新上传多次,还是一直没有,则可能是info.plist里缺少类似使用相机的权限申请,这种情况会收到苹果的回复邮件,明确告诉你缺少哪个,修改好重新打包上传即可

  • 麦克风权限:Privacy - Microphone Usage Description 是否允许此App使用你的麦克风?
  • 相机权限: Privacy - Camera Usage Description 是否允许此App使用你的相机?
  • 相册权限: Privacy - Photo Library Usage Description 是否允许此App访问你的媒体资料库?
  • 通讯录权限: Privacy - Contacts Usage Description 是否允许此App访问你的通讯录?
  • 蓝牙权限:Privacy - Bluetooth Peripheral Usage Description 是否许允此App使用蓝牙?
  • 语音转文字权限:Privacy - Speech Recognition Usage Description 是否允许此App使用语音识别?
  • 日历权限:Privacy - Calendars Usage Description 是否允许此App使用日历?
  • 定位权限:Privacy - Location When In Use Usage Description 我们需要通过您的地理位置信息获取您周边的相关数据
  • 定位权限:Privacy - Location Always Usage Description 我们需要通过您的地理位置信息获取您周边的相关数据
备注:本人遇见过需要两个定位权限都加入的情况,二者可以同时加入info.plist当中
NSLocationWhenInUseUsageDescription
请允许使用您的位置,以便用户导航
NSLocationAlwaysUsageDescription
请允许使用您的位置,以便获取定位信息

一些关于审核的问题汇总:https://xiaozhuanlan.com/iOSDeveloper

属性Bug

最近遇见一个低级Bug(容易忽略),外界Model有值但是传到另外一个控制器过去之后始终就是为nil
原因:实现了set方法,而没实现get方法和成员变量
解决方案1:重写这个属性的setter和getter方法,生成成员变量

@synthesize model = _model;
- (ActivitySignedModel*)model{
    return _model;
}
- (void)setModel:(ActivitySignedModel *)model{
    _model = model;
    self.titleLB.text = _model.activities_name;
}

解决方案2:写一个延时执行,不在set方法中做操作

[self performSelector:@selector(doSomething) withObject:nil afterDelay:.1f];
- (void)doSomething{
   NSLog(@"doSomething");
   self.titleLB.text = _model.activities_name;
}

极光推送更换了BundleID之后

保存失败:Token Authentication 配置有误

解决网址:https://leancloud.cn/docs/ios_push_cert.html

运行就崩,控制台打印如下信息

dyld: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: /var/containers/Bundle/Application/A81A055C-4D20-4F40-9EB1-76B2A93197CA/Winpower.app/Winpower
  Reason: no suitable image found.  Did find:
    /private/var/containers/Bundle/Application/A81A055C-4D20-4F40-9EB1-76B2A93197CA/Winpower.app/Frameworks/libswiftCore.dylib: code signature invalid for '/private/var/containers/Bundle/Application/A81A055C-4D20-4F40-9EB1-76B2A93197CA/Winpower.app/Frameworks/libswiftCore.dylib'

原因:名字重复使用过
解决方案:
1、退出 Xcode
2、重启电脑
3、找到 DerivedData 文件夹 删除 (路径:~/Library/Developer/Xcode/DerivedData)
4、删除 com.apple.dt.Xcode 文件 (路径:~/Library/Caches/com.apple.dt.Xcode)

Application Loader无法登录提交

Please sign in with an app-specific password. You can create one at appleid.apple.com

原因:账号开启了二次验证,也即双重验证
解决方案:
在Apple官网登陆你的账号,在管理密码的地方有一个Generate an App-Specific Password
用这个生成的密码在Xcode上登你的账号就行了,生成App专用密码

iOS Xcode警告和错误汇总_第2张图片
image

iOS打包App到AppStore

Authenticating with the app store上传卡顿

解决方案:打开终端
第一步:cd ~
第二步:mv .itmstransporter/ .old_itmstransporter/
第三步:"/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/itms/bin/iTMSTransporter"
第四步:等待更新完毕即可,然后再次打包App上传到AppStore

执行常见问题:
1.如果执行第二步报出文件路径已存在,删除该路径文件,使用命令sodu rm -r -f 文件名(删除文件)。然后再重新执行第二条命令。
2.如果执行第三步之后一段时间没有任何输入,不要犹豫,之间Control+c强行终止然后再执行第三步就行了

iOS--上传AppStore时遇到的10个大坑

https://blog.csdn.net/hanhailong18/article/details/51416116

1.相同具有外部链接的静态变量

可能是文件重复,两个类当中都声明了具有相同名字的具有外部链接的静态变量。
iOS Xcode警告和错误汇总_第3张图片

由于枚举类型导致的1 duplicate symbol for architecture x86_64错误

解决方法。先看加入东西就开始报错的代码。实在找不到就把类先全部注释,然后一步一步排查。

  • iOS7.0以下『containsString』报 __NSCFString containsString:]: unrecognized selector sent to instance在要使用的时候导入#import "NSString+Extension.h" 的扩展即可
- (BOOL)containsString:(NSString *)aString NS_AVAILABLE(10_10, 8_0){
     if ([self rangeOfString:aString].location != NSNotFound) {
        return YES;
     }
     return NO;
}

2.去掉Xcode工程中的某种类型的警告

网址链接

3.类的名字重复

iOS Xcode警告和错误汇总_第4张图片

4.路径删除了

iOS Xcode警告和错误汇总_第5张图片

解决方式

iOS Xcode警告和错误汇总_第6张图片

5.在工程中不存在或者移动了位置。 文件夹当中有!!!

iOS Xcode警告和错误汇总_第7张图片
2.pic.jpg

6.分享SDK

iOS Xcode警告和错误汇总_第8张图片
  • 解决方式


    iOS Xcode警告和错误汇总_第9张图片

你可能感兴趣的:(iOS Xcode警告和错误汇总)