iOS开发 - 上架被拒 Xcode不提示

620 阅读2分钟

这是我参与8月更文挑战的第19天,活动详情查看:8月更文挑战


我的专栏

  1. iOS 底层原理探索
  2. iOS 底层原理探索 之 阶段总结

前言

本篇整理一下本人做开发这些年,遇到和记录下来的关于被拒和Xcode使用相关的问题,以及对应的解决方法和思路,本人亲测有效。希望对大家有帮助。

ITMS-90809

ITMS-90809: Deprecated API Usage** - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview).

从2020年6月1日起,苹果已经正式发废弃了UIWebView这个控件。所以要检查自己的项目文件中使用到这个控件的地方。

第一种,自己写的页面:

全局搜索UIWebview ,将相关代码替换为WKWebView。

第二种,项目开发中不可避免的引入了第三方的组件或者是库,这个时候就不得不在库中找。如何知道自己使用的库中有这个类呢?

①从终端cd到要检查的项目根目录。注意是根目录。即:*.xcodeproj所在的目录。

②grep -r UIWebView .

第②步注意哦,UIWebView后面有个空格再加一个英文的句点(.),否则grep会报以下错的:

如果你使用的类库中有这个废弃的类,要么删除这个库,要么去更新这个库,从哪里下载的,去哪里更新找最新版本。

ERROR ITMS-90746

ERROR ITMS-90746: "Invalid Info.plist value. Your app can't claim an LSHandlerRank of "Owner" for anany CFBundleDocumentTypes containing a public.data LSItemContentType. Please use "Alternate" as the LSHandlerRank instead."

意思是: 在info.plist中搜索 Handler rank将其值从Owner改成Alternate

No suitable application records were found. Verify your bundle identifier ‘****’ is correct.

提交appstore报错,确认了所有的问题都没问题的话,需要排查下appSotreConnect中APP中额外信息的权限设置。

Xcode敲代码不提示

今天遇到了Xcode抽风,敲代码不提示了,代码全是白色的。
解决方法如下:

  • 退出 Xcode
  • 重启电脑
  • 找到 这个 DerivedData 文件夹 删除 (路径: ~/Library/Developer/Xcode/DerivedData
  • 删除这个 com.apple.dt.Xcode 文件 (路径: ~/Library/Caches/com.apple.dt.Xcode
  • 运行 Xcode