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当中
<key>NSLocationWhenInUseUsageDescription</key>
<string>请允许使用您的位置,以便用户导航</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>请允许使用您的位置,以便获取定位信息</string>
一些关于审核的问题汇总: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打包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.相同具有外部链接的静态变量
可能是文件重复,两个类当中都声明了具有相同名字的具有外部链接的静态变量。由于枚举类型导致的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.类的名字重复
4.路径删除了
解决方式
5.在工程中不存在或者移动了位置。 文件夹当中有!!!
6.分享SDK
-
解决方式