我们正在努力将我们的Xamarin项目迁移到毛伊岛.我们能够为Android和iOS平台构建该项目,但它只能在Android设备上进行调试.

你们正在Mac上工作,使用的是Visual Studio代码中的.NET Maui插件.

我们已经在Mac上安装了.NET8、Xcode、VS代码和Android工作室.

问题是它无法为iOS的代码签名.

    MSBuild version 17.8.3+195e7f5a3 for .NET
  Determining projects to restore...
  All projects are up-to-date for restore.
  Detected signing identity:
          
    Code Signing Key: "Apple Development: Daniel Raniel (BXAUSAYH2W)" (AAF63DB7E4325D6388F6722C8CD11EA63A46E16D)
    Provisioning Profile: "Maui App Profile" (73af5ef6-7976-4faa-b148-c0c115501a27)
    Bundle Id: no.tellu.mauiapp1
    App Id: BM2KQ6ED8Q.no.tellu.mauiapp1
  MauiApp1 -> /Users/aacr3322/Documents/Workspace/testmaui/testmaui/MauiApp1/bin/Debug/net8.0-ios/ios-arm64/MauiApp1.dll
  Optimizing assemblies for size may change the behavior of the app. Be sure to test after publishing. See: https://aka.ms/dotnet-illink
  Tool /usr/bin/codesign execution finished (exit code = 1).
          
  file with invalid attached data: Disallowed xattr com.apple.FinderInfo found on /Users/aacr3322/Documents/Workspace/testmaui/testmaui/MauiApp1/bin/Debug/net8.0-ios/ios-arm64/MauiApp1.app
  
  /Users/aacr3322/Documents/Workspace/testmaui/testmaui/MauiApp1/bin/Debug/net8.0-ios/ios-arm64/MauiApp1.app: resource fork, Finder information, or similar detritus not allowed
  
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/17.0.8490/tools/msbuild/iOS/Xamarin.Shared.targets(2256,3): error : /usr/bin/codesign exited with code 1: [/Users/aacr3322/Documents/Workspace/testmaui/testmaui/MauiApp1/MauiApp1.csproj::TargetFramework=net8.0-ios]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/17.0.8490/tools/msbuild/iOS/Xamarin.Shared.targets(2256,3): error : /Users/aacr3322/Documents/Workspace/testmaui/testmaui/MauiApp1/bin/Debug/net8.0-ios/ios-arm64/MauiApp1.app: resource fork, Finder information, or similar detritus not allowed [/Users/aacr3322/Documents/Workspace/testmaui/testmaui/MauiApp1/MauiApp1.csproj::TargetFramework=net8.0-ios]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/17.0.8490/tools/msbuild/iOS/Xamarin.Shared.targets(2256,3): error : Failed to codesign '/Users/aacr3322/Documents/Workspace/testmaui/testmaui/MauiApp1/bin/Debug/net8.0-ios/ios-arm64/MauiApp1.app': /Users/aacr3322/Documents/Workspace/testmaui/testmaui/MauiApp1/bin/Debug/net8.0-ios/ios-arm64/MauiApp1.app: resource fork, Finder information, or similar detritus not allowed [/Users/aacr3322/Documents/Workspace/testmaui/testmaui/MauiApp1/MauiApp1.csproj::TargetFramework=net8.0-ios]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/17.0.8490/tools/msbuild/iOS/Xamarin.Shared.targets(2256,3): error :  [/Users/aacr3322/Documents/Workspace/testmaui/testmaui/MauiApp1/MauiApp1.csproj::TargetFramework=net8.0-ios]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/17.0.8490/tools/msbuild/iOS/Xamarin.Shared.targets(2256,3): error :          [/Users/aacr3322/Documents/Workspace/testmaui/testmaui/MauiApp1/MauiApp1.csproj::TargetFramework=net8.0-ios]

Build FAILED.

我试着从终端用dotnet publish ...构建,但我得到了相同的错误.但是,我们可以使用相同的Dotnet命令在GitHub操作中构建存档文件. 我们还可以在iPhone 15的模拟器中从VS代码中调试应用程序.

我已经看到,在Xamarin中,其他正在努力解决这个问题的人一直在使用命令行中的xattr来解决这个问题.

当我这样做的时候

$ xattr -lr .

它列出了许多文件,这些文件因建议的解决方案而变得更小

$ xattr -cr .

但是,在-cr之后执行-lr操作时,某些文件仍保留在列表中

MacBook-Pro MauiApp1 % xattr -lr .
./bin 2/Debug/net8.0-ios: com.apple.fileprovider.dir#N: 1
./obj/Debug/net8.0-ios/ios-arm64/ibtool/MauiSplash.storyboardc: com.apple.FinderInfo: 
./obj/Debug/net8.0-ios/ios-arm64/ibtool/MauiSplash.storyboardc: com.apple.fileprovider.fpfs#P: 
./obj/Debug/net8.0-ios/ios-arm64/strip/MauiApp1.app: com.apple.FinderInfo: 
./obj/Debug/net8.0-ios/ios-arm64/strip/MauiApp1.app: com.apple.fileprovider.fpfs#P: 
./obj/Debug/net8.0-ios/ios-arm64/resizetizer/r/Assets.xcassets/appicon.appiconset: com.apple.fileprovider.dir#N: 1
./obj/Debug/net8.0-ios/ios-arm64/resizetizer/r/Assets.xcassets: com.apple.fileprovider.dir#N: 1
./obj/Debug/net8.0-ios/ios-arm64/actool/cloned-assets/Assets.xcassets/appicon.appiconset: com.apple.fileprovider.dir#N: 1
./obj/Debug/net8.0-ios/ios-arm64/actool/cloned-assets/Assets.xcassets: com.apple.fileprovider.dir#N: 1
./obj/Debug/net8.0-ios: com.apple.fileprovider.dir#N: 1
./bin/Debug/net8.0-ios/ios-arm64/MauiApp1.app/Settings.bundle: com.apple.FinderInfo: 
./bin/Debug/net8.0-ios/ios-arm64/MauiApp1.app/Settings.bundle: com.apple.fileprovider.fpfs#P: 
./bin/Debug/net8.0-ios/ios-arm64/MauiApp1.app/MauiSplash.storyboardc: com.apple.FinderInfo: 
./bin/Debug/net8.0-ios/ios-arm64/MauiApp1.app/MauiSplash.storyboardc: com.apple.fileprovider.fpfs#P: 
./bin/Debug/net8.0-ios/ios-arm64/MauiApp1.app: com.apple.FinderInfo: 
./bin/Debug/net8.0-ios/ios-arm64/MauiApp1.app: com.apple.fileprovider.fpfs#P: 
./bin/Debug/net8.0-ios/ios-arm64/MauiApp1.app.dSYM: com.apple.FinderInfo: 
./bin/Debug/net8.0-ios/ios-arm64/MauiApp1.app.dSYM: com.apple.fileprovider.fpfs#P: 
./bin/Debug/net8.0-ios: com.apple.fileprovider.dir#N: 1

对问题可能是什么有什么 idea 吗?

推荐答案

此错误的原因似乎与iCloud中的某些元/临时文件有关. 我把我的代码签出在一个Documents的子文件夹中,这个文件夹由iCloud备份.

一旦我签出文档外部文件夹中的代码,它就可以在Visual Studio代码和命令行中成功构建和签名.

设备调试也奏效了.

Ios相关问答推荐

实例方法wait在异步上下文中不可用;请改用TaskGroup;这是Swift 6中的错误''

TrueDepth摄像机像素距离不准确

将数据传回VC时委托为空

磁盘上的Objective-C ISA指针与实例化对象时的比较

在flatter_riverpod中,如果没有ref对象,我们如何访问提供程序?

如何删除点击时按钮的不透明动画?

为什么IOS多行文本输入在React原生纸张对话框中无法正常工作?

叠加视图不在堆栈中维护自身 - SwiftUI

SwiftUI Select 器值在超过最大值时重置

UIViewRepresentable - MKMapView 没有得到更新

无法为 Flutter 项目构建 ipa [CocoaPods 找不到 pod "GoogleAppMeasurement" 的兼容版本:]

通过隐藏和显示视图在 iMessage 应用程序中使用不同的视图

如何在 SwiftUI 上制作可点击的map route?

如何告诉 SwiftUI 视图绑定到嵌套的 ObservableObjects

NSFetchedResultsController 由字符串的第一个字母创建的部分

如何以编程方式调用视图控制器?

在 Xcode 5 中为超级视图添加间距约束

cocoapods中~>的用法是什么

xcode 5.1:libCordova.a 架构问题

AFNetworking 发布请求