首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iPadOS上启动黑屏翻车问题分析(一)

iOS的每次大版本更新都会是iOSer的苦难之旅,这次的iPadOS估计肯定也不例外当然了这次估计是针对iPadOS的苦难而已吧。...在iOS13以下的iOS中iPhone和iPad用的是同一套OS而到了iOS13之后iPad单独摘出来另起炉灶称为iPadOS好了我们先上个坑---升级iPadOS之后App黑屏问题 问题描述 iOS13...以下的iPad均能正常启动而到了iPadOS上启动启动页一闪而过之后是黑屏 问题分析 对这App发了好一会呆之后无从下手,怎么办吧。...我们先不看着这个WidowScene,我们在可视化下看看都有哪些图层吧(下图) ? 通过层次结构我们看到我们的登陆页(依附于keywindow) keywindow十分正常,资源文件等一应俱全。...我们先看看Xcode11下的UIWindow ? 在看看Xcode10的 ? 有了对比我们看看UIWindowScene是什么? ? 是不是感觉很不同啊,既然很不同那么问题十有八九就出现在这里啦。

1.9K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    你的 App 为何在 iPhone 12 上显示异常,而别人的不会?

    经过实际测试,用 Xcode 12.0 和 Xcode 12.1 分别在真机 iPhone 12 上运行;发现 Xcode 12.1 build 的 App 真机运行是有问题的。...目前 App Store 里运行有问题的 App,如斗鱼,都是用了最新版本 Xcode 12.1 上传的 ipa。 所以二者的的差别在哪里?...苹果 App 的向后兼容规则 当 App 运行在自己不认识的新设备上时,系统会把新设备当做上一代的设备来使用。...结论 因为用 Xcode 12.0 打的 ipa,在 iPhone 12 上运行在兼容模式,尺寸是 iPhone 11,重点是顶部安全距离、底部安全距离都和 iPhone 11 保持一致,所以不会有问题...因为今年疫情的影响导致苹果产品发布流程被打乱,出现了 Xcode 版本早于 iPhone 真机上市的情况,导致一些线上 App 在新机上有兼容问题。

    2.4K30

    iOS项目Project 和 Targets配置详解

    最近开始学习完整iOS项目的开发流程和思路,在实际的项目开发过程中,我们通常需要对项目代码和资料进行版本控制和管理,一般比较常用的SVN或者Github进行代码版本控制和项目管理。...但是目前网上查到的资料都非常简短和零散,所以今天我们希望对Xcode上iOS项目搭建各种细节都进行一个详尽的了解和学习。...Deployment Target:部署配置,主要是对本project的生成的App的可以运行的最低版本进行配置,默认是当前Xcode上API的最新版本,所以,在我们的项目中有需要对低版本适配的地方需要在这里设置...当旧的iPhone 4的程序,运行在iPhone 5上面,没有iPhone 5的启动图片,就采用兼容模式,上下留黑边。...当为iPhone 5指定了新的启动图片,系统就认为这个应用程序是已经适配了iPhone 5的。当旧的iPhone 5程序运行在iPhone 6上面,假如没有经过适配。

    3.1K11

    IOS App测试的那些坑和解决方案

    在测试中常见的,如 xcode 版本问题,打包证书问题,闪退无法重现,不好抓 log, 上架被拒问题等等。本文总结一些常见的坑,可以完美绕过去。...iPhone 手机一台 数据线一条 Xcode 开发工具(可选) 而由于 iOS 系统的沙盒机制,一般我们不能直接访问它获取,但可以有下面的几种方法获取。 1.在 iTunes Store 上获取。...3.可以通过开发工具 Xcode,数据线连接电脑获取。通过在Xcode->Window->Devices,然后选中真机设备,点击View Device Logs。等待扫描后获取对应应用和日期的日志。...facebook-wda 文件路径下执行sudo python setup.py install 如何使用 facebook-wda 前提条件:首先启动 WebDriverAgent,运行 Test,待显示出...给 iPhone 截屏并保存,更多功能请自己在 GitHub 上查找https://github.com/openatx/facebook-wda[2] import wdac = wda.Client

    4.3K40

    iOS学习——iOS项目Project 和 Targets配置详解

    最近开始学习完整iOS项目的开发流程和思路,在实际的项目开发过程中,我们通常需要对项目代码和资料进行版本控制和管理,一般比较常用的SVN或者Github进行代码版本控制和项目管理。...但是目前网上查到的资料都非常简短和零散,所以今天我们希望对Xcode上iOS项目搭建各种细节都进行一个详尽的了解和学习。...Deployment Target:部署配置,主要是对本project的生成的App的可以运行的最低版本进行配置,默认是当前Xcode上API的最新版本,所以,在我们的项目中有需要对低版本适配的地方需要在这里设置...当旧的iPhone 4的程序,运行在iPhone 5上面,没有iPhone 5的启动图片,就采用兼容模式,上下留黑边。...当为iPhone 5指定了新的启动图片,系统就认为这个应用程序是已经适配了iPhone 5的。当旧的iPhone 5程序运行在iPhone 6上面,假如没有经过适配。

    2.8K71

    iOS开发入门笔记

    会自动启动,并打开这个项目 在Xcode里选择Project打开 在Xcode没启动的情况下(如果Xcode已经启动了,就先按Command Q退出),启动Xcode,会弹出“Welcome to Xcode...断点 模拟器和真机测试 模拟器测试 在Xcode中打开你的项目,在Xcode顶部工具栏的Stop按钮(Run按钮右边那个黑色正方形按钮)右边,有个下拉菜单,显示着 “ToolBarSearch > iPhone...在模拟器上操作时,如果执行过程中遇到了你在Xcode里设置的断点,模拟器会暂停运行,并将当前活动窗口切换回Xcode,供你调试。 在Xcode里增加或者取消了断点,不需要重新编译和安装应用即可生效。...比如说,10point在Retina设备里是20 pixel,在非Retina设备(iPhone 3G)上则是10 pixel。 项目成员间交流时,应使用Point,不要使用pixel。...Xcode中的代码结构与操作系统上的文件系统并不一致 推荐在Finder里建好目录再到Xcode的Project Navigator中点击“Add Files to”添加到项目中 iPhone 5适配

    4K60

    cordova打包ios到上架AppStore全过程记录(无敌详细)

    cordova封装android app) [在这里插入图片描述] 3.打开项目文件中的platform---ios,双击.xcodeproj文件便可以在xcode中打开此项目了 [在这里插入图片描述]...) [在这里插入图片描述] PS:App截图的话直接用xcode打开模拟器截图就行了 6.5的截图用iPhone 11 pro max 5.5的截图用iPhone 8 plus 尺寸必须正确不然上传不了的...3.构建版本选择步骤四中xcode上传过来的版本就可以了 [在这里插入图片描述] 4.提交审核: 所有信息填写完成之后就可以点击提交审核了 六、审核的一些问题 这里结合我自己项目分享一些过申的经验 1....第一次被拒绝: 一开始我的毫无意外的被拒绝了原因是: ==a.app使用了位置信息,必须申请位置权限== ==b.app需要用户登录才能预览整个app页面== 解决方案: a.在xcode配置信息中增加位置权限...等着审核过了再加载服务器的配置上app功能! 思路:我这边就是服务器直接判断请求,如果请求来自于iPhone,则加载空壳页面,真实的场景信息和数据全部不加载!

    1.4K50

    armv7和arm64区别(armv7s)

    为了更方便的使用指令组合,XCode中定义了一些变量,然而这些变量在不同的XCode版本下又有着不同的值。...$(ARCHS_STANDARD) 这个为XCode中Architecture的默认值,XCode5中,该值为armv7, armv7s,在XCode 5.1时,强制加入了对arm64的编译,于是该值为...$(ARCHS_STANDARD_32_BIT) XCode 5和5.1中都为armv7, armv7s,旧一点的版本中应该对应的就只有armv7。...所以生成静态库时都是会先生成两个.a,一个是i386的用于在模拟器运行,另一个是在真实设备上运行的,然后再用命令将两个.a进行合并成。...也就是所如果有多个配置的话,它只会统一的给所有的包target设置为第一个(举例,在Origin Projectg下配置的Architecture为armv7 & armv7s 两个项时,pod生成的项目的所有

    5.4K30

    XcodeXcode 9 的全新功能您会喜欢的工具。内建 Interface BuilderXcode IDE

    您能进行完美的自动化测试 — 即使在驱动多个实例时,您也可以简单地从 command-line 中启动模拟器。...在数分钟内创建出原型,然后以图形方式将界面关联到 Xcode 编辑器中的源,设置窗口、按钮和滑块的布局,从而创建能够正常运行的 Mac、iPhone 或 iPad 用户界面。...预览 利用预览模式,您可在不同的环境中快速查看界面,无需运行 app,从而大大加快了迭代设计过程。您可以在纵向或横向模式下、在以前版本的 iOS 上、在不同的屏幕尺寸下等环境下查看 app。...XCTest 框架 有了 XCTest API,构建在 Mac、iPad、iPhone 或 Simulator (模拟器) 上运行 app 功能的单元测试变得更容易简单。...并由于 macOS 在 UNIX 上构建而成,您可以使用 Xcode 或 macOS 随附的命令行开发工具,轻而易举地构建流行的开源语言版本。

    8.3K30

    如何通过静态分析提高iOS代码质量

    **2、分析阶段** 在分析阶段,Infer 分析 infer-out/ 下的所有文件。分析时,会单独分析每个方法和函数。...我分别用Xcode11在两个项目上运行过OCLint,一个实例项目可以正常运行,另一个复杂的项目却运行失败,报如下错误: 1 error generated 1 error generated .....如果你也遇到了这个问题,可以回来安装oclint0.15版本。 OCLint0.15 我在oclint issuse #547这里找到了这个问题和对应的解决方案。...我们需要更新oclint至0.15版本。brew上的最新版本是0.13,github上的最新版本是0.15。...我下载github上的release0.15版本,但是这个包并不是编译过的,不清楚是不是官方自己搞错了,只能手动编译了。

    2.2K30

    WatchKit 编程入门

    一个AppleWatch 程序由两部分组成(技术上称为 bundle): 一个运行在 AppleWatch上的 WatchKit App 一个运行在 iPhone上的 WatchKit Extension...注意 Apple Watch 兼容的设备有:iPhone5、iPhone 5c、iPhone 5s、iPhone 6 和 iPhone 6 Plus,这些设备需要运行 iOS 8.3 或者更新的版本...WatchKit App:这种类型的程序虽然运行在 Apple Watch 中,但与之交互的逻辑部分则运行在 iPhone上。 Glance:在程序中,给用户提供了一种查看重要信息的补充方法。...在模拟器上运行程序 至此,是时候在iPhone模拟器上测试程序了。在 Xcode中,首先需要将scheme设置为HelloAppleWatch WatchKit App。...当iPhone模拟器启动完成之后,你的iPhone程序将被安装至iPhone6模拟器中,但是还不会启动运行。

    1.8K10

    深入解析Xcode无证书编译以及真机调试

    如果不进行此步,编译Device Release版本时會报错: Code Sign error: a valid provisioning profile matching the application...Code Signing下面的签名选项全部设置为Don’t Code Sign 如果这个时候将程序直接连接到越狱设备上运行的时候虽然设备上的应用会正常启动,但是在启动之后xcode却会提示启动应用失败...要想将plist写回到ipa文件中需要用到xcode的codesign工具,切换到xode项目的Build Phases页面,点击菜单的Editor->Add Build Phase->Add Run...此时就可以既可以在模拟器上也可以在真机上进行调试了。...---- 分享文章: 相关文章: iMessageDebug Mode iOS 签名杂谈(二) Web Albums(iPhone) 的蛋疼明文密码 xcode 9.2 集成obfuscator-llvm

    1.8K10

    Fugu:首个基于Checkm8漏洞的iOS设备开源越狱工具

    支持的设备 当前版本的Fugu仅支持iPad Pro(2017)和iPhone 7(iOS 13-13.3.1)。...在构建Fugu之前,请确保已安装好了Xcode以及Homebrew。...然后使用Homebrew来安装llvm和binutils: brew install llvm binutils 接下来,在Xcode中打开Fugu项目,选择Fugu作为目标并进行项目构建。...构建完成后,Xcode将在构建目录中生成Fugu项目以及一个Shellcode目录,然后我们就可以开始使用Fugu了。 工具使用 我建议大家以无参数的形式运行Fugu,并查看所有的可用选项。...3、iStrap:内核启动引导程序,会在苹果设备启动时显示,它会修复内核,注入启动参数并向内核注入Shellcode。 4、iDownload:运行在苹果设备上的程序,会在启动引导过程中完成安装。

    1.6K30

    个推你应该这样用的

    :“在 App 内无广告情况下还是建议开发者使用获取 IDFA 版本,并提交 AppStore 审核。 ...的需要手动开启“TARGETS -> Capabilities -> Push Notifications” */ /* 下面的方法区分10.0之后版本和之前版本...该项目的最低适配版本是8.0之后的,所以放弃8.0之前注册远程通知方法 */ if ([[UIDevice currentDevice].systemVersion floatValue...] >= 10.0) { #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 // Xcode 8编译会调用 UNUserNotificationCenter...注意:这里是否能收到推送消息也是有在线时间限制的,最长是72小时之前的在线过的用户、 也就是说能收到消息的就是在72小时内在线过的,超过这个时间的是收不到推送消息的,这也就解决好长时间不在线,已在线会收到很多推送消息的困扰

    2K90

    两分钟带你快速搭建Flutter开发环境(Mac)

    当你第一次attach真机设备进行iOS开发时,需要同时信任你的Mac和该设备上的开发证书。首次将iOS设备连接到Mac时,请在对话框中选择 Trust。...要准备在Android模拟器上运行并测试您的Flutter应用,需要按照以下步骤操作: 在你的机器上启用 VM acceleration; 启动 Android Studio>Tools>Android...; 通过flutter run运行启动项目; 如何在Android真机运行?...要准备在Android设备上运行并测试您的Flutter应用,您需要安装Android 4.1(API level 16)或更高版本的Android设备 在你的设备上启用 开发人员选项 和 USB调试...; 通过flutter run运行启动项目; 默认情况下,Flutter使用的Android SDK版本是基于你的 adb 工具版本, 如果你想让Flutter使用不同版本的Android SDK,则必须将该

    5.8K10

    Appium+python自动化19-iOS模拟器(iOS Simulator)安装自家APP

    一、启动iOS Simulator 1.Xcode>Open Developer Tool>iOS Simulator,打开后在hardware里面选对应的iPhone版本就能启动模拟器了 ?...二、拿到.app包 1.这里科普下了(敲黑板,记重点),在真机上是安装.ipa的包,在模拟器上是安装.app的包。...四、总结 1.在iOS模拟器上必须是通过xcode打出来的.app的安装包,真机的包(.ipa)选择Debug-iphone os,模拟器的包(.app)选择Debug-iphone Simulator...2.有以下几个方法都能安装到模拟器上: --运行脚本,会自动安装上去,参考:Appium+python自动化17-启动iOS模拟器APP源码案例 --通过指令安装,也就是这篇讲的 --通过appium...上的配置也能安装,下篇讲appium调试app时候定位元素 --要是会xcode,可以直接拿到拿到源码,用xcode直接运行上去

    2.1K30

    iOS真机安装WebDriverAgent图文详解

    环境准备 注意:尽量升级Xcode到最新版本,iPhone版本大于9.3,我这里使用的版本情况如下: Xcode版本:12.3 iPhone版本:14.2.1 MacOS版本:11.4 Python版本...运行测试 按照下图中提示,分别选择WebDriverAgentRunner和目标设备: 然后点击Product菜单下的Test,这时候会提示输入本机电脑的密码,输入完成后点击始终允许即可。...然后再次运行Test,就可以在Xcode控制台看到下面的输出信息: 通过上面给出的IP和端口,加上/status合成一个url地址,例如http://10.0.0.1:8100/status,然后浏览器打开...但是有些国产的iPhone机器通过手机的IP和端口还不能访问,此时需要将手机的端口转发到Mac上,这个时候执行下面的命令即可: tidevice relay 8100 8100 自动化执行 为了和持续集成系统结合...,可以通过下面的命令实现利用xcodebuild自动启动WebDriverAgent。

    8.1K40
    领券