通过openURL获取我的应用程序正在打开的文件的URL。
我使用自定义文件类型配置了我的应用程序.我添加了info.plist文件(文档类型和导出的UTI)中所需的信息.现在,iOS识别我的文件类型,并将其与应用程序关联.因此,例如,当我打开邮件时,我将文件视为附件时,我可以单击它,然后选择使用我的应用程序打开. 如何从应用程序中获取文件的URL?我尝试在UIApplication上使用OpenUrl,但它不起作用. 有人知道该怎么做吗? 解决方案 找到的解决方案 我说我需要Xamarin/C#的解决方案,但是我要求提供标准的Objective-C代码以稍后翻译C#,因为我找不到任何内容. 最后,这是对我有用的解决方案: 在 appdelegate.cs 文件中,我添加此方法: public override bool OpenUrl (UIApplication application, NSUrl url, string sourceApplication, NSObject annotation
158 2024-04-26
编程技术问答社区
应用程序弹出提示"......希望访问您的(相机、位置、照片等)"
使用Xamarin IOS.在应用程序中,通常会在启动中弹出"(应用程序名称)希望访问您的位置",或沿这些行的事物.我找不到有关如何实现此问题的任何信息,甚至是此确认/权限过程的内容.有人可以将我指向正确的方向吗?这将不胜感激 解决方案 当您的应用程序需要调用涉及用户隐私的功能时,SUAH作为相机,联系人和置境服务.系统将提示您授权. 您应该在Info.plist中添加项目,如下图所示.例如,如果要使用位置服务.否则,当您要将应用程序上传到App Store时,它将被拒绝. 还有其他一些私有.这里是一个文档链接,供您参考:苹果文档
12 2024-04-26
编程技术问答社区
如何为一个外部声明创建绑定
我正在尝试为iOS库创建绑定. 使用此库创建本机应用程序时,它需要包括一个.H标头文件,该文件声明了这样的全局应用程序kekey变量: extern const unsigned char ApplicationKey[]; 您应该实现它 const unsigned char ApplicationKey[] = {0x11, ... }; 现在,在为此库创建Xamarin绑定时,标头文件由客观Sharpie映射到 partial interface Constants { // extern const unsigned char [] ApplicationKey; [Field ("ApplicationKey")] byte[] ApplicationKey { get; } } 如何将其更改以从C#代码设置应用程序? 解决方案 您的apidefination.cs文件应该像这个 [BaseType (t
12 2024-04-26
编程技术问答社区
检测用户跳到AVPlayer视频的结尾处
我已经写了Xamarin.forms iOS应用Page用户AVPlayer可以通过自定义页面渲染器播放视频. 当视频完成或用户磨砂到视频末尾(使用由AVPlayerViewController创建的控件)时,应将其发送到应用程序中的下一个ContentPage. 我可以通过在AVPlayerItem _playerItem上观察AVPlayerItem.DidPlayToEndTimeNotification来跟踪视频何时"自然"结束,就像这样: videoEndNotificationToken = NSNotificationCenter.DefaultCenter.AddObserver( AVPlayerItem.DidPlayToEndTimeNotification, VideoDidFinishPlaying, _playerItem); 然后,我在VideoDidFinishPlaying中的
12 2024-04-26
编程技术问答社区
Xamarin表格在视图之间拖动图像
我有一个Xamarin表格的应用程序,我需要用户可以从下面选择一个图像,并在最高视图中拖动任何位置,其想法是:图像的下面视图是家庭房间,并且最高视图是室内植物,用户可以通过拖动和旋转图像来创建他的室内植物,然后最终将顶视图保存为JPG或PNG图像. 我已经在这里搜索过,还有2张Google关于拖动等的3页,但是我没有发现任何可以帮助我的东西,我尝试了pan手势,点击手势,但没有成功= [ 对不起,如果重复或其他内容,这是我的第一篇文章,我真的找不到任何东西. 我如何在xamarin.forms中或至少使用自定义渲染器等? 谢谢你们. 解决方案 对于XAML中的图像: 您实际上可以使用锅手势识别器在C#中拖放图像: 定义变量: double x; // totalX for the pan gesture double y; // totalY for
16 2024-04-26
编程技术问答社区
获得错误 'xargs'未被识别为内部或外部命令。在通过Windows运行iOS的appium测试时
当我运行以下代码的Appium测试 时 using System; using OpenQA.Selenium; using OpenQA.Selenium.Appium; using OpenQA.Selenium.Appium.Interfaces; using OpenQA.Selenium.Appium.MultiTouch; using OpenQA.Selenium.Interactions; using OpenQA.Selenium.Remote; using OpenQA.Selenium.Appium.Android; using OpenQA.Selenium.Appium.iOS; using NUnit.Framework; namespace Hof.Mobile.Tests.UIAutomation { [TestFixture()] public class TestAppium { public stati
30 2024-04-26
编程技术问答社区
在滚动视图的可见区域外创建的视图的触摸事件
所以我有一个问题,我有这个视图结构: 控制器 - >查看 - > scrollView-> mainview 我有一个按钮在主视图中加载,但在Scrollview的可见内容之外.当我向上滚动以查看按钮时,触摸不起作用,但是如果将按钮放在可见区域中,则可以使用. 我还尝试了一个简单的图像视图并设置手势识别器(启用了用户交互),问题完全相同. 这是我定义按钮的地方: UIButton scrapbookbackground = new UIButton(new CGRect(SPACING, progresses_view.Frame.Y + progresses_view.Frame.Height + SPACING, View.Frame.Width - SPACING * 2, 90)); scrapbookbackground.BackgroundColor = UIColor.Clear.FromHex(0x4f80bc);
8 2024-04-26
编程技术问答社区
检测TableView底部的伪代码
我正在尝试检测用户何时到达Xamarin.iOS中的表底部.我已经创建了此伪代码以检测底部,但是一旦应用程序运行,它就会打印出它已经在表的底部,而实际上它不是. float height = tableView.Frame.Size.Height; float contentYoffset = tableView.ContentOffset.Y; float distanceFromBottom = tableView.ContentSize.Height - contentYoffset; if (distanceFromBottom
8 2024-04-26
编程技术问答社区
故事板。如何将单个视图链接到多个容器视图?
我的目标: 我正在使用故事板在我的应用中创建视图. 我的目的是要在应用程序的所有页面中都可以揭示和链接一个视图的实例.在我的情况下,如果有一个带有许多选项卡的应用程序,我希望该视图将出现在所有选项卡中并且具有相同的状态. 我的尝试并这样做: 我创建了一个视图,并将其嵌入到不同选项卡中的容器视图中. 打开应用程序时,视图出现并在所有页面上工作.但是,如果我在一种视图中进行更改,它不会传播到其他视图. 换句话说,在下面的示例中,如果我更改一个页面中的开关状态,则当我导航到另一页时,该更改将不会出现(在我的应用程序中,我有一个选项卡可以做到这一点). 我看到"特征"下有一个"链接"选项,但这无济于事. 如何确保所有选项卡中只有一个视图的瞬间? 欢呼! 解决方案 正如我在评论中所说的那样,您不能用segues做到这一点,因为它们总是创建新实例.因此,我认为您将必须将子控制器添加到需要它的每个控制器中.在故事板中,您可以向每个控制器添加
16 2024-04-26
编程技术问答社区
使用AES使用iOs CCCrypt函数生成的C#解密base64字符串
有人可以帮助下面的iOS代码生成的base64字符串中的c#等效. 我试图最终在C#中的"在秘密地点见我". . iOS生成以下加密:qd+sgaij5ksbsbsculs3tpjs/3dew8fhtudcs/5MG7Q1KQ1KQCRZCRZZYCMGTCQUEEED5F 此iOS代码在Xcode 6中成功地加密和解密数据. 预先感谢您的帮助和支持. darren #import - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSString *sData = @"Meet me at the secret location at 8pm"; NSString *sIv =
14 2024-04-26
编程技术问答社区
从IntPtr创建NSException
我指的是 post : private static void MyUncaughtExceptionHandler(IntPtr exception) { // this is not working because NSException(IntPtr) is a protected constructor var e = new NSException(exception); // ... } 我如何在这里创建一个例外? 我应该这样做吗? NSException exception = (NSException)ObjCRuntime.Runtime.GetNSObject(handle); 解决方案 您自己找到了正确的答案: NSException exception = (NSException) ObjCRuntime.Runtime.GetNSObject (handle); 其他解决方案 一个选项是创建一个N
20 2024-04-26
编程技术问答社区
pushsharp 2在向Apple ios发送通知时引发异常
我使用PushSharp 2.0.4,并在向Apple发送通知时触发了例外: 您已经选择了生产服务器,但是您的证书似乎不是生产证书!请检查以确保您拥有正确的证书! 我注意到,由于Apple证书策略的更改,我认为PushSharp 2中有一个硬编码值,该值裁判员对旧证书名称. 到目前 我认为更改应该在ApplePushChannelsettings类中: private void CheckProductionCertificateMatching(bool production) { if (this.Certificate == null) { throw new ArgumentNullException("You must provide a Certificate to connect to APNS with!"); } string name = this.Certificate.IssuerName.
12 2024-04-26
编程技术问答社区
decopyt.Net在iOS中加密的字符串
我在c#中进行了一些AES加密,并且像魅力一样工作.代码在这里: public string EncryptStringAES(string plainText, string sharedSecret) { if (string.IsNullOrEmpty(plainText)) throw new ArgumentNullException("plainText"); if (string.IsNullOrEmpty(sharedSecret)) throw new ArgumentNullException("sharedSecret"); string outStr = null; // Encrypted string to return RijndaelManaged aesAlg = null; // RijndaelManaged
14 2024-04-26
编程技术问答社区
如何在xamarin ios中自定义标签位置
我已经通过了此链接 解决方案 苹果其他解决方案 您可以尝试添加 uitoolbar 而不是 uitabbar ,您可以在所需的位置将其定位,并添加 uibutton 或任何其他 uibaritems . 希望这会有所帮助.
12 2024-04-26
编程技术问答社区
在iOS应用程序中,是否可以在导航控制器中实现分屏视图控制器?
我正在使用Xamarin开发我的第一个真实iPad应用程序,并且我正在尝试弄清楚是否有一种方法可以从拆分视图控制器中的详细信息视图导航到另一个视图控制器.主和详细信息都是表,我想一排单击详细信息视图,以从拆分视图中导航到单个视图控制器,而不仅仅是详细信息(我能够做到的).我在这个主题上没有发现太多,所以我想知道这不是iOS中处理导航的一种可行的方法. 代码看起来像以下内容(使用Xamarin -C#),但是如果我可以使导航控制器适用于整个拆分视图,我认为必须在searchsplitviewcontroller中处理行,而不是ON细节视图控制器?如果我将详细查看控制器放在导航控制器中,则将导航到下一页,但主视图仍在左侧. AppDelegate: UINavigationController rootNavigationController = new UINavigationController(); SearchSplitViewController spl
16 2024-04-26
编程技术问答社区
MonoGame-BlendState-2D SpriteBatch
我需要SpriteBatch渲染图像在WPF或普通Uikit应用中的期望: 正如您所期望的那样,部分透明的PNG彼此呈现 我有一个alpha,我可以修改,最好是使用Color.White和修改A value. 最近一直在使用BlendState.NonPremultiplied,但是我得到了奇怪的线,其中部分透明的png相互重叠. 我在Windows上也有类似的问题XNA内容项目中的Premultiplied设置.我该如何对单身方式进行类似的操作? (我希望这里的OpenGL有所不同) 解决方案 我们使用两个不同的设置解决了它. 在Windows和XNA上: 使用BlendState.NonPremultiplied 将默认设置更改为所有pngs的内容项目上的premultiply = false 要修改精灵的alpha值,请使用Color.White和set A value 在单体和iOS上: 使用BlendState.AlphaB
18 2024-04-26
编程技术问答社区
通过linq在iphone上获取Monotouch/Xamarin的IP地址
我是Linq的新手,并希望使用它来获取iOS设备的IP地址.我想知道是否有人看到这种方法有任何问题(基于此我如何获得网络接口及其正确的IPv4地址?),或者如果有更好/更紧凑/更干净的方法. // get my IP string ip = NetworkInterface.GetAllNetworkInterfaces() .Where(x => x.Name.Equals("en0")) .Select(n => n.GetIPProperties().UnicastAddresses) .Where(x => x.First().Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) .Select(x => x.First().Address.ToString()); 解决方案 我认为您的代码的问题在于最后的Select. Whe
10 2024-04-26
编程技术问答社区
Xamarin中的计时器不遵守你设置的时间
我正在开发Xamarin应用程序.其中之一是在一定时间段内注销用户.我放了一个计时器,每30分钟一次运行一次,以告诉用户他的会话到期,并让他选择继续他的会议或注销.如果他决定继续会议,计时器将继续每30分钟进行一次,但是如果他决定结束会议,则计时器将停止. Xamarin中的计时器不符合您在StartTimer上设定的时间,因为它甚至在30分钟之前运行. app.xaml.cs public App() { InitializeComponent(); MainPage = new NavigationPage(new LoginPage()); } loginpage.xaml.cs public LoginPage() { InitializeComponent(); CheckUserLogin
14 2024-04-26
编程技术问答社区
苹果地图链接在Safari浏览器中打开,而不是本地应用程序
我遇到了一个小问题,在该问题中,Safari在直接启动Xamarin的Apple Apple Maps应用程序之前就打开了.我有点遵循本教程: var locationUrl = Device.RuntimePlatform == Device.iOS ? $"http://maps.apple.com/?q={address}" : $"http://maps.google.com/?q={address}"; var uri = new Uri( locationUrl ).AbsoluteUri; try { await Launcher.OpenAsync( uri ); } catch { await AppState.Current.NavigateToExternalBrowserAsync( uri ); } 这在Android中可以完美地工作,并直接启动到本机应用程序中.我遵循了此Apple Maps方案: .任何帮助将不胜感激! 解决方案 与文档中所说的
16 2024-04-26
编程技术问答社区
使用C#为NSNetService分配IP地址
使用 _testService = new NSNetService("_airplay._tcp.local.", "_testservice._tcp", "Test Service", 7000); _testService.Published += delegate (object sender, EventArgs e) { NSNetService ns = sender as NSNetService; Console.WriteLine("Bonjour published service '{0}'", ns.Name); }; _testService.WillPublish += delegate (object sender, EventArgs e) { NSNetService ns = sender as NSNetService; Console.WriteLine("Bonjour will publish service '{0}'", ns.Nam
16 2024-04-26
编程技术问答社区