不用mac环境,如何使用Visual Studio在Windows中开发iOS应用

编程知识 更新时间:2023-04-17 02:25:08

Xamarin允许开发者使用C#来开发Android和iOS应用。在Xamarin的基础上,微软又进一步推出了MAUI。早期的时候,使用Visual Studio开发iOS应用必须远程连接mac,也就是说mac是必不可少的。不过现在Visual Studio已经可以在Windows上直接编译调试iOS应用,开发阶段mac不再是必需品。虽然看起来非常棒,但是实际使用的时候会碰到很多问题。这篇文章分享下如何在Windows上成功编译运行iOS应用。

软件安装

  • Visual Studio 2022 (支持Xamarin和MAUI应用创建)
  • iTunes (必须安装,用于iOS设备访问)

纯Windows环境开发iOS

你可以试试直接用最新的Visual Studio创建一个iOS工程来运行。如果没有设置苹果开发者账号,先要填入账号。默认证书配置是自动导入的。把iPhone或者iPad连接到Windows PC,在运行的地方选择local device,正常可以看到设备名。点击运行后,如果没有问题,那恭喜,接下来的内容不用看了。如果失败,可以按照以下步骤操作:

  1. 安装OpenSSL。要快速安装可以通过chocolatey:choco install openssl

  2. 生成RSA密钥:

    openssl genrsa -out key.pem 2048
    
  3. 创建CSR文件:

    openssl req -new -sha256 -key key.pem -out csr.csr
    
  4. 在苹果开发者页面(https://developer.apple/account/resources/certificates/add)创建并下载新的iOS开发证书。把下载的文件命名为cer.cer

  5. .cer文件转换成.pem文件。

    openssl x509 -in cer.cer -inform DER -out cer.pem -outform PEM
    
  6. 生成.p12文件

    openssl pkcs12 -export -out cer.p12 -inkey key.pem -in cer.pem
    

    这里需要设置一个密码,后面导入会用到。

  7. 回到苹果开发者网站页面,打开https://developer.apple/account/resources/profiles/add创建下载.mobileprovision文件。然后通过powershell命令提取UUID:

    Select-String -Path .\profile.mobileprovision -Pattern UUID -Context 0,1 | % {$_.Context.PostContext}
    

    把文件重命名为<uuid>.mobileprovision,比如237c9fb6-bb15-33e3-2232-3c5e1665f306.mobileprovision

  8. 把这个文件拷贝到%localappdata%\Xamarin\iOS\Provisioning\Profiles目录中。

  9. 打开Visual Studio > Tools > Options > Xamarin > Apple Accounts。点击你的账号,再选择View details导入刚才生成的p12文件。这里输入刚才的密码。

  10. 打开工程的iOS配置。在iOS bundle signing里面选择manual provisioning

  11. 现在运行debug模式来启动程序,你会看到你的iOS设备上安装了一个图标为.NET的app,点击打开即可。

更多推荐

不用mac环境,如何使用Visual Studio在Windows中开发iOS应用

本文发布于:2023-04-13 17:33:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/4ad6d456a0d223d3894c59a813baf970.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如何使用   环境   mac   Visual   iOS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 73393文章数
  • 14阅读数
  • 0评论数