Tag: visual studio

使用Xamarin工作簿的自定义Xamarin.iOS UILabel属性

需要一种在UILabel中自定义某些文本的方法,并决定在玩Xamarin Workbooks的同时进行快速发布。 为了自定义UILabel中的某些文本,您首先需要找到其范围。 为此,使用要显示在UILabel中的文本创建一个新的NSMutableAttributedString: var mutableStr = new NSMutableAttributedString(“我的测试字符串。”); 接下来,找到您要自定义的文本范围。 在此示例中,我们将找到“测试”的范围,并应用两个属性,颜色+字体大小/粗体。 可以使用我们的可变字符串通过以下方式定位范围: var range = mutableStr.MutableString.LocalizedStandardRangeOfString(new NSString(“ test”)); 现在我们找到了范围,剩下的就是应用属性。 第一个属性是蓝色前景色: mutableStr.AddAttribute(UIStringAttributeKey.ForegroundColor,UIColor.Blue,range); 接下来,让字体变为粗体并将其增加到30号: mutableStr.AddAttribute(UIStringAttributeKey.Font,UIFont.BoldSystemFontOfSize(30),range); 属性更改后,剩下的就是设置标签的属性文本,并且由于我使用的是Xamarin Workbooks,因此呈现UILabel。 var label = new UILabel(new CGRect(100,100,300,100)); label.AttributedText = mutableStr; RootViewController.View.AddSubview(label); 这是我的工作簿UILabelAttributedText.workbook的链接:https://app.box.com/s/bmg93cujthsbka5v99lzfitrn0ijfts5 Xamarin Workbooks很有趣,确实为我节省了时间。 我不必创建控制台应用程序来测试概念和较小的更改,例如上面的示例。 所有这些都是在Windows和Mac联网的Windows上完成的。 编码愉快!

从Debug到Release,您需要在iPhone上运行Xamarin应用程序所需的所有知识都可以构建。

如果您在与我将要描述的情况类似的情况下使用Xamarin Forms,您可能会发现这篇文章很有帮助。 您编写代码没有问题,但是似乎每次都要处理iOS上的证书和预配配置文件时,您总是会感到困难。 任何人都很难记住他们几个月前的所作所为。 这是可以理解的,因为编写代码每天都在发生,而处理证书和配置文件只是偶尔发生。 不幸的是,目前所有可用的文档都很难理解。 一些文档或文章的链接内部包含链接(例如,指向指针的指针)。 有些不是专门为Xamarin写的。 有些是为Xamarin编写的,但没有利用Mac上的最新Visual Studio。 因此,我的目标是写一篇全面的文章,以帮助您从零开始到发行再到发行后及以后。 它从计划开始。 但是在开始之前,我想指出,我将添加另一种构建模式。 这是完全可选的,您不必一定要使用。 通常,您将具有Debug和Release版本。 正如您所期望的。 但是这种称为Stage的附加构建模式可以帮助我创建一个版本,就像Release版本一样,但是它不会发布到App Store,而是以临时方式(例如,通过)分发给我的团队成员(经理,销售人员等) HockeyApp。 下表比较了Debug,Stage和Release: 因此,让我们开始吧。 步骤如下: 注册设备(在developer.apple.com上) 只需点击以下链接。 与Google协商以找到获取设备UDID的方法。 使用您的Apple ID登录– Apple Developer 使用您用来注册或立即注册的Apple ID。 developer.apple.com 请注意,几乎不可能预先知道所有设备。 在项目进行过程中,您将需要出于某种原因添加新设备。 要记住的是,当在此处添加新设备时,您将必须重新创建配置文件(但无需重新创建证书,稍后将对此进行描述) 注册应用程序(在developer.apple.com上) 再次,相当简单。 只需点击链接 使用您的Apple ID登录– Apple Developer 使用您用来注册或立即注册的Apple ID。 developer.apple.com 我最初遇到的问题是使用“ Explicit App ID”选项还是“ Wildcard App ID”选项。 要回答,我发现选择“ Explicit App […]

使用Xamarin.Forms在iOS上过渡动画

Xamarin.Forms允许开发人员立即编写漂亮的移动和桌面应用程序。 可以一次创建组件,一次布局组件,仅一次动画组件! 它的性能和稳定性得到了改善,因此几乎是完美的! 只有很少的棘手的事情真的很难使用此框架来实现。 最需要的一种是页面之间的过渡动​​画。 甚至可以用Xamarin.Forms编写这样的东西吗? 当然! 如果您真的不耐烦,只需从此仓库中获取源代码即可: OlexaLe / BeatleApp 通过在GitHub上创建一个帐户为BeatleApp开发做出贡献。 github.com 在iOS上,默认演示文稿动画看起来像是从当前页面到新页面的从右到左的简单幻灯片 。 不幸的是,我们不能做很多事情。 您可以尝试模仿具有Views的Pages并为它们之间的动画设置过渡,但是您实际上并不需要这样 (相信我,我在那里)。 尽管您可以使用Page的OnAppearing / OnDisappearing 生命周期方法来模拟过渡动画,然后再进行一次-为Pages中的View设置动画。 Xamarin论坛上介绍了此解决方案的实现,但是还有另一种方法- 本机动画 ! 让我们来编写一个应用 让我们从Wikipedia中获取图像和文本,并为披头士乐队的粉丝创建一个简单的应用程序。 它将只有2页。 第一个将包含一个带有音乐家照片和姓名的网格。 第二页将显示所选披头士的简短简介。 您可以从https://github.com/OlexaLe/BeatleApp/tree/master/BeatlesApp-start获取入门项目。 在设备上运行它时,您将看到以下内容: 简单动画 那么如何降低它的标准性呢? 模态和常规导航的行为不同,因此其自定义也不同。 现在让我们专注于常规导航 。 在本机iOS中,您可以通过2个步骤实现自定义过渡动画: 实现采用UIViewControllerAnimatedTransitioning协议的动画对象 采用UINavigationControllerDelegate协议返回动画对象 我们的第一个自定义过渡动画将非常简单。 让我们从导航中删除此从右到左的过渡,并以透明效果在当前上方显示新页面。 为了做到这一点,让我们遵循最初的计划并实现animator对象: Niiii​​ce,但您可以发挥自己的想象力,创建更精彩的动画师类。 例如,让我们添加一个缩放效果! 高级动画 首先,我们需要知道用户点击了哪个图像,因此让我们为图像分配唯一的标识符。 我们可以通过多种方式做到这一点。 正确的方法可能是使用TransitionId字段( 继承或救援的附加属性 )扩展UI组件,但只是为了向您说明模式,我将使用Effect分配UIKit的UIKit的Tag字段。 该应用程序的核心部分几乎没有更改,主要的复杂性仍在动画对象中,但是您可以编写一次,将其包装在库中,然后在其他项目中重用。 结论 在Xamarin.iOS项目中创建复杂的动画很容易,但是正如您在Xamarin中所看到的那样, 窗体的开销确实很大。 […]

cordova远程ios构build失败

我正在尝试为我的一个cordova应用程序创build一个远程ios版本,而且我总是得到这个错误 **build立失败** 以下生成命令失败: Ld构build/模拟器/ MyApp \ HR.app/MyApp \ HR正常i386 (1次失败) 命令错误代码为65:xcodebuild和args:-xcconfig,/ Users / admin / .taco_home / remote-builds / taco-remote / builds / 368 / cordovaApp / platforms / ios / cordova / build-debug.xcconfig,-project, MyApp HR.xcodeproj,ARCHS = i386,-target,MyApp HR,-configuration,Debug,-sdk,iphonesimulator,build,VALID_ARCHS = i386,CONFIGURATION_BUILD_DIR = / Users / admin / .taco_home / remote-builds / taco-remote / builds /368/cordovaApp/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Users/admin/.taco_home/remote-builds/taco-remote/builds/368/cordovaApp/platforms/ios/build/sharedpch […]

Xamarin的Mac Agent是否需要Apple开发人员帐户?

我试图在Visual Studio 2015中设置Xamarin来运行iOS应用程序。 我遇到的问题是无法使用“Mac代理”连接到我的Mac。 我相信这是必要的,以在Windows上开发iOS。 我从技术angular度对此有一个疑问,但是我想查看一下,如果不用原来的post重载一个单独的问题,我不会在错误的道路上进行故障排除。 并有新的问题具体到足以让其他用户提出相同的要求。 问题:使用Visual Studio(和Mac代理连接到OSX)是否需要完整的Xamarin许可证或Apple开发人员帐户才能使用? 我从技术上可以发现任何错误,所以我想知道这个问题是否在其他地方。

在XCode上创buildconfiguration文件

我试图在我的iPhone上debugging应用程序(Xamarin.Forms)。 我的Windows PC上已经安装了Visual Studio,我正在编写应用程序,在我的Mac上安装了Visual Studio和XCode。 我也在我的开发者帐户上注册了iPhone。 但是,似乎我也需要一个configuration文件。 但是我所看到的演练与当前的XCode不一样。 当我点击首选项 – 帐户时,我看到我的帐户,但无处添加configuration文件。 (iPhone是否需要使用与Mac上相同的Apple IDlogin,我拥有开发者帐户? 我应该如何补充?

iPhone到MS SQL图像数据types转换问题

好的,我们走吧! 我目前正在开发一个iPhone应用程序,将作为安全检查系统在教堂的事件。 主要目标是能够为参与者search预先存在的MS SQL数据库,然后将其保存到iPhone / iPod Touch / iPad上的列表中。 很简单。 MS SQL数据库中的一个字段是Image数据types,其function是以二进制forms存储参与者的图像。 我目前不允许切换到varbinary(MAX)。 从iPhone,我使用: UIImage *image = [UIImage imageNamed:@"nameOfImage.jpg"]; NSData *imageData = UIImageJPEGRepresentation(image,1.0); NSString *imageString = (NSString *)[[[NSString alloc] init] base64StringFromData:(NSData *)imageData]; 你可能想知道base64StringFromData是什么。 这是在这里讨论的类别, 如何在iphone-sdk上执行base64编码? 在类别中,它返回一个string作为NSASCIIStringEncoding。 然后使用POST将该string发送到Visual Basic Web服务。 假设我已经build立并打开了我的SQL连接,并初始化了一个SQL数据适配器和命令。 所以这个函数看起来类似于这个: Public Function sendCommand(ByVal image As String) As String Dim commandString As String commandString = […]

Xamarin没有安assembly置文件匹配已安装的iOS签名身份

我想知道是否有可能在ios设备上编译一个Xamarin应用程序(使用Visual Studio for Mac),而不是99 $ /年的开发人员。 因为当我尝试在iPhone上构build项目时,出现此错误:Xamarin.iOS.Common.targets:错误:没有安装的configuration文件与安装的iOS签名身份相匹配。 如果你知道如何解决它… 我没有问题与XCodebuild立在我的设备上。 非常感谢,尼古拉斯

视觉工作室的xamarin不显示模拟器列表

我对xamarin很新,试图运行一个示例应用程序(IOS)。 但Visual Studio说: "Please select a valid device before running the application" 我知道在IOS工具栏上,应该有选项来select模拟的设备(支持iOS设备的列表,如iphone 6,5等),但我不明白。 编辑:更准确地说,IOS工具栏上没有显示目标IOS设备

Xamarin.Forms IOS断点没有命中

我最近升级到新的Visual Studio的Xamarin,从那以后,我不能在IOSdebugging期间打断点。 Android很好,奇怪。 我卸载并重新安装了Visual Studio Community Edition 2017,并保留了所有的默认值。 以前,这已经解决了这个问题。 我已经读了几十个类似的投诉,但这些解决scheme并没有为我工作。