我们更新了最新的mac视觉工作室,以支持Apple最近发布的iPad OS 13中的iOS应用(Xamarin)。更新之后,在检测本地签入更改时,我们在Eclipse中遇到以下错误。
The character 0x007c ('|') is not permitted in server paths '$/<path_to_product>/.vs/<project_name>/xs/project-cache/ProjectName-Debug|iPhone.json'.
Run Code Online (Sandbox Code Playgroud)
这似乎是TFS不支持的带有管道符号的文件名(“ ProjectName-Debug | iPhone.json”)。但是该文件是由IDE(Visual Studio for Mac,Xcode 11)自动生成的,并且包含以下信息(ProjectReferences,MetadataReferences,带有路径的已添加文件,BuildActions等)。管道符号存在两个文件。一种用于实际设备,另一种用于模拟器。
有人面对这个问题吗?如何解决。
以下是版本详细信息。
提前致谢。
快速修复:目前,我们正在提交更改时手动删除这些文件。再次它将自动重新生成。
我们正在尝试使用Xamarin.iOS中的扩展名为UIAlertController设置AutomationId。但是该应用var valuePtr = objc_getAssociatedObject(alertAction.Handle, DescriptiveName.Handle);在GetAccessibilityIdentifier方法下的崩溃情况始终不一致。也不知道为什么它崩溃了。
下面是代码示例:
public static class UIAlertControllerExtension
{
public static void ApplyAccessibilityIdentifiers(this UIAlertController alertController)
{
foreach (var action in alertController.Actions)
{
var lable = action.ValueForKey((NSString)"__representer");
var view = lable as UIView;
view.AccessibilityIdentifier = action.GetAccessibilityIdentifier();
}
}
}
public static class UIAlertActionExtension
{
private static readonly NSString DescriptiveName = new NSString("AccesabilityIdentifier" + nameof(UIAlertActionExtension));
#region "Extension properties"
enum AssociationPolicy
{
Assign = 0,
RetainNonAtomic = 1,
CopyNonAtomic = 3,
Retain = 01401,
Copy = 01403,
}
[DllImport("/usr/lib/libobjc.dylib")] …Run Code Online (Sandbox Code Playgroud)