当前位置:首页 » 编程软件 » ios编译模拟器

ios编译模拟器

发布时间: 2023-03-21 14:30:08

‘壹’ 怎么在win7系统上装ios模拟器

总的来说,需要有MAC系统,安装MAC下的XCODE编译器就可以使用iOS模拟器了,这里简单的说一下操作方法:

第一步、首先要使用ios模拟器 ,必须要有苹果芦改的操作系统,无论你使用黑苹果,在虚拟机上装苹果系统或者真正的苹果电脑都行,只要能装上苹果系统就可以。一般来说常用的虚拟机软件有vmware、virtualbox等等。当然如果你有MAC的电脑也是可以的。

第二步、装好苹果系统之后,装上一森液个xcode (一个ios开发工具),可以直接到itunes 上去下载,然后陪春判安装。

第三步、随便找一个ios应用的源代码,运行就可以打开xcode,并启动ios模拟器,你也可以对ios模拟器进行设置,3.5寸iphone、4寸iphone、ipad等,都可以根据个人爱好进行,在githud上很多ios源码,应该可以从上面找到一款你喜欢的。

‘贰’ Xcode 11.4 模拟器编译报错 Building for iOS Simulator was built for iOS

最近Xcode 升级到了Version 11.4 (11E146)版本。我也乘着工作间隙做了升级。

升级完成,选择模拟器编译,经过等待,没有意外,出现了报错。
Building for iOS Simulator, but the linked and embedded framework 'AipOcrSdk.framework' was built for iOS.
Building for iOS Simulator, but the linked and embedded framework 'AipBase.framework' was built for iOS.
Building for iOS Simulator, but the linked and embedded framework 'IdcardQuality.framework' was built for iOS.

读一下内容,意思是引用的第三方库是 build for iOS 的,不是build for iOS Simulator,这些库还都是网络的AI识别的真机库。

查了下苹果论坛,看看是否有相应的解决方案,然后看到了这篇类似问题
https://forums.developer.apple.com/thread/130684

自己经过尝试解决问题,然后总结出有2种解决方案。

猜测是Xcode 11.4 Debug模式下,对真机库的引用做了检查,我们在模拟器编译的时候,可以选择忽略这些文件,因为我们模拟器也不会真的使用这部分库的功能。

以上,可以正常用模拟器编译了。

‘叁’ 模拟器编译报错:Building for iOS Simulator, but the linked library was built for iOS。

模拟器编译仔培报错:Building for iOS Simulator, but the linked library was built for iOS。

注:修饥咐改构建系统的方案在Xcode13已被废弃。烂戚纯

‘肆’ 有哪些好的iOS模拟器

1、Smartface

如果只想在Windows上使用iOS应用程序,Smartface是最好的模拟器之一。此应用程序专为专业用途而设计,供开发人员来开发新应用程序并测试操作可靠性。Smartface是市场上功能最强大的iOS模拟器之一。虽然该应用程序价格略贵,最低99美元,但仍然吸引了很多的专业用户。网上可以找到免费毕余版,也可以测试一些应用。

‘伍’ Xcode Build For ios Simulator arm64

前言

将一个老项目由Xcode11升级到Xcode12的时候,在用模拟器编译的时候,报了一个错误,具体如下:

“ld: building for iOS Simulator, but linking in dylib built for iOS, file '/Users/xxxx/Work/Git/xxx/Framework/GoogleCast/GoogleCast.framework/GoogleCast' for architecture arm64”

我使用模拟器编译的,遇到arm64的错误,一开始还是一头雾水啊。于是Google和网络就上了,经过一番查找,基本定位到问题了。

原因

下面翻译一位外国同仁的解释:

Xcode 12实际上是Apple Silicon的垫脚石,但有了这个平台,我们将得到基于arm64的macOS,模拟器也将运行在arm64架构上,而不是目前基于Intel的x86_64架构。

Xcode通常依赖于“Run Destination”来构建它的库/应用程序,所以当一个模拟器被选择为“Run Destination”时,它将为可用的模拟器架构构建应用程序,当一个设备被选择为“Run Destination”时,它将为设备支持的架构构建(arm*)。

xcodebuild,在Xcode 12+ build系统中,arm64是支持Apple Silicon的有效架构。因此,当一个模拟器被选择为运行目标时,它可能会尝试针对基于arm64的模拟器编译/链接你的库/应用程序。所以它在<architecture>-<os>-<sdk>-<destination>格式中给clang(++)发送了一些-target标志,如arm64-apple-ios13.0-simulator,clang试图构建/链接基于arm64的模卖世拟器,但最终在基于Intel的mac上失败。

但xcodebuild只在发布版本中尝试这个。因为“Build Active Architecture Only (ONLY_ACTIVE_ARCH)”构建设置通常被设置为“No”,仅用于“发布”配置。这意味着xcodebuild将尝试为选定的运行目标构建所有库/应用的架构变体。对于模拟器运行目标,它现在将包括x86_64和arm64,因为arm64在Xcode 12+中也是一个支持Apple Silicon的模拟器架构。

了解原因后,剩下来就是如何解决了。

解决方法

首先看一下Xcode11和Xcode12在Architecture配置这一块的区别:

Xcode11:中宴肢

Xcode11中有Valid Architectures的配置项。

Xcode12:

在Xcode12中,在Architecture配置组中,用Excluded Architectures代替了Valid Architectures,那么Valid Architectures跑到哪里去了,在User-Defined配置组里面。

我们的目的是能在Xcode12的模拟器上顺利编译,那么可按照下面的步骤修改:

1. 将Build Active Architecture Only配置的debug值改为Yes。如下图。

2. 如果在Xcode11中有Valid Architectures的配置项,那么请在Xcode12的User-Defined配置组里面删除Valid Architectures的配置项,同时在Target上面的Project里面的User-Defined配置组里面同样删除Valid Architectures的配置项,如何删除,选中,敲击键盘的delete就可以了。

3. 将Validate Workspace配置项修改一次,一定要变成黑粗体,默认值是NO,改成Yes就可以,或者再改回NO,反正得折腾一次。见下图。(之前有一篇文章升级Xcode12.3报错提到过这个配置,可参考一下。)

4. 配置完前三步基本就能编译通过了,如果还是报错,请尝试在Excluded Architectures的debug模式下添加arm64,如下图:

经过这几步,基本就能顺利编译通过了,不过别忘了再用真机编译试试哦,别再影响了真机祥禅测试。

结束语

个人感觉这个是Xcode12的一个坑了,不过如果所有的项目里面都采用XCFramework,估计这个问题就能屏蔽掉了。

原文链接:https://blog.csdn.net/guoyongming925/article/details/114628455

热点内容
php旅游网站系统 发布:2024-05-07 20:27:32 浏览:610
jdk源码怎么看 发布:2024-05-07 20:18:22 浏览:519
编程c语言自学书 发布:2024-05-07 20:12:03 浏览:422
usb大容量存储驱动 发布:2024-05-07 19:02:01 浏览:815
红米1s没有存储空间 发布:2024-05-07 18:59:09 浏览:505
妖云解压密码 发布:2024-05-07 18:50:08 浏览:1002
sql语句等于怎么写 发布:2024-05-07 18:05:46 浏览:816
我的世界电脑版第三方服务器大全 发布:2024-05-07 18:00:46 浏览:627
主服务器的ip地址 发布:2024-05-07 17:58:50 浏览:546
组服务器打电脑游戏 发布:2024-05-07 17:46:19 浏览:866