iOS开发-问题总结

20190729.jpg

前言:工作中可能会遇到各种各样的问题,有时解决完了再次遇到时,如果没有做笔记且相隔时间较长时,会容易忘记。故在此记录工作中遇到的一些比较不常见的问题,将持续更新...

1、Xcode运行报错: App installation failed This application’s application-identifier entitlement does not match that of the installed application. These values must match for an upgrade to be allowed. 如下图:

AppInstallationFailed.jpeg

原因分析
application-identifier冲突。(我出现该问题情况是由于APP转让之后使用新开发者账号真机测试,真机上还装有原账号安装的包)

解决方法
将手机上的相应软件删除卸载就OK了。

2、Xcode打包上传iTunes完成后报警告:
WARNING ITMS-90076: "Potential Loss of Keychain Access. The previous version of software has an application-identifier value of ['BAGPUY4P4E.com.zxww.folk'] and the new version of software being submitted has an application-identifier of ['SH2X52JLPW.com.zxww.folk']. This will result in a loss of keychain access."

原因分析
该APP是从一个开发者账号转让到新的开发者账号,使用新开发者账号上传时报的警告。该警告意思是会影响到keychain里存的信息。

解决方法
如果keychain里边的信息无所谓的话,该警告可以无视,不影响上传及审核,下次上传不会再提示。
如果keychain里边的信息有用的话,解决办法是:百度一下。

3、UIButtonUIControlEventTouchDown点击延迟原因及解决
(1)button添加到UIScrollView
解决:设置UIScrollViewdelaysContentTouchescanCancelContentTouchesNo
(2)与导航栏右滑返回手势冲突
解决:设置
self.navigationController.interactivePopGestureRecognizer.delaysTouchesBegan = NO;
(3)项目中含有UIButton的分类中实现了防止重复点击的相关内容
解决:在需要用到UIControlEventTouchDown的类中重写防止重复点击的相关方法,去除防止重复点击相关代码
(4)与window手势冲突
解决:在button所在UIViewController中重写viewDidAppear如下

- (void)viewDidAppear:(BOOL)animated {
    
    [super viewDidAppear:animated];
    for (UIGestureRecognizer * gesture in self.view.window.gestureRecognizers) {
        
        gesture.delaysTouchesBegan = NO;
    }
}

4、UIView- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event不响应
原因分析
UIView的父视图添加的有UITapGestureRecognizer手势
解决方法
父视图中的UITapGestureRecognizer手势设置代理并实现如下代理方法

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
    
    if ([touch.view isKindOfClass:[CustomView class]]) {
        
        return NO;
    }
    return YES;
}

CustomView为自定制的需要获取- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event事件的view。

5、升级cocoapods报错如下:

ERROR:  Could not find a valid gem 'cocoapods' (>= 0), here is why:
          Unable to download data from https://gems.ruby-china.org/ - bad response Not Found 404 (https://gems.ruby-china.org/specs.4.8.gz)

原因分析
.org域名无法提供RubyGems服务,即.org域名无效,需替换成.com域名。
解决方法
(1)查看当前源

$ gem source -l
*** CURRENT SOURCES ***

https://gems.ruby-china.org/

(2)删除当前源

$ gem sources --remove https://gems.ruby-china.org/
https://gems.ruby-china.org/ removed from sources

(3)添加源

$ gem sources --add https://gems.ruby-china.com/
https://gems.ruby-china.com/ added to sources

接下来使用sudo gem install cocoapods继续升级cocoapods即可

6、使用sudo gem install cocoapods升级cocoapods报错如下:

$ sudo gem install cocoapods
Password:
Fetching: httpclient-2.8.3.gem (100%)
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /usr/bin directory.

原因分析
没有用户权限所致
解决方法
使用sudo gem install -n /usr/local/bin cocoapods升级即可。

7、如何检测项目中的广告标识符(IDFA)
1)打开终端cd到需要检测的项目路径下
2)输入$ grep -r advertisingIdentifier .
3)结果中会显示项目中哪个库使用了广告标识符(DIFA)
eg:

Binary file ./Pods/mob_sharesdk/SDK/ShareSDK/Support/PlatformSDK/SinaWeiboSDK/libWeiboSDK.a matches
Binary file ./Pods/BMKLocationKit/framework/BMKLocationKit.framework/BMKLocationKit matches

如果没有检测到则什么都不会输出。

8、友盟分享报错“2003”
原因分析
对于该报错原因,友盟只给出了新浪微博如果报该错误是可能因为频繁操作所致。那么分享到其他平台的时候也报了该错误,查看友盟错误码UMSocialPlatformErrorType只给出了解释是分享失败,但并没有解释什么原因导致的。
首先保证所有配置没有问题,在调用分享操作- (void)shareToPlatform:(UMSocialPlatformType)platformType messageObject:(UMSocialMessageObject *)messageObject currentViewController:(id)currentViewController completion:(UMSocialRequestCompletionHandler)completion;时查看currentViewController是否是self,如果当前步骤代码是在UIViewController里边调用的,那么不会有问题;但是我们经常会把分享的操作进行封装以便于复用,所以如果是封装在NSObject类中,那么这里写self就会报错“2003”。
解决方法
在调用分享操作- (void)shareToPlatform:(UMSocialPlatformType)platformType messageObject:(UMSocialMessageObject *)messageObject currentViewController:(id)currentViewController completion:(UMSocialRequestCompletionHandler)completion;currentViewControllernil即可。

9、Xcode打开项目一直loading,显示Xcode-未响应,或者编译时显示Xcode-未响应,尝试了删除Xcode之后重新安装,依然存在该问题
原因分析
可能是保存Xcode时出错强制退出程序,致使之后每次打开Xcode都会加载这个错误工程导致Xcode未响应。
解决方法
退出Xcode,打开终端执行以下命令

cd ~/Library/Autosave\ Information/
rm -rf Unsaved\ Xcode*

运行结束重新打开工程即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容