有用过xamarin开发过哪些app的吗

有用过Xamarin的吗_百度知道
有用过Xamarin的吗
提问者采纳
再退一步说吧,能下载的DEMO也很少,当然小众人用收费的你说有啥前景的。所以你自己选吧。人家也提供xCode呀再说了你说你只会C#。人家为啥不用java来免费呀 IDE也是免费你说开发平果么,了解一下java的api与开发安桌的IDE就可以了,你说开发安桌么,但相关的教学少的可怜,那你写java也会50%了 两者的语法相当,原生的肯定比非原生的好很多。Xamarin这个只能说针对只会C#的人想快速上手手机开发的人是有点用
来自团队:
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Xamarin.iOS使用Objective-C静态类库.a(Linking Native Libraries)
Xamarin.iOS使用Objective-C静态类库.a(Linking Native Libraries)
[摘要:Xamarin静态类库的binding现实上是一个C#取Objective-C方式间映照进程,因为第三圆SDK对iOS开辟相当紧张,是以民圆文档中也对那块也做了完全的先容(Binding Objective-C Libraries),但对一个]
&Xamarin静态类库的binding实际上是一个C#与Objective-C方法间映射过程,由于第三方SDK对iOS开发至关重要,因此官方文档中也对这块也做了完整的介绍(Binding
Objective-C Libraries),但对于一个完全入门级的程序员来说,这块还是有诸多麻烦,并且部分Api类型文档上也未曾提到。下面将以百度地图作为案例,全面解析静态类库binding工程的知识与问题(Mac OS 10.8.4及以上系统)。生成dll过程:
& & 在开始之前需要了解几个iOS原生开发中的基础知识:&
& &&&<mand Line Tools for Xcode(XCode命令行工具)
& & &&里面包含了一些常用的命令,在处理静态类库时经常用到,有两种安装方法:
& & &&1)是在Xcode设置&&Downloads更新安装;
& & &&2)使用Mac os下“终端”中敲入命令 xcode-select --install 安装即可。
&&& 2.静态类库(.a)编译类型
& & 由于iOS编译机制上的区分,静态类库分为模拟器(i386),真机(ARMv7/ARMv7s/ARMv64等),这是由设备CPU决定的。一般厂商提供的静态类库都会分别提供(例如BaiduMap:Release-iphoneos(真机)/Release-iphonesimulator(模拟器)),那在没有明确标识的情况下,我们怎么区分这些静态类库是真机还是模拟器呢?简单直观的查看方法,打开Xamarin Studio,新建BindingProject,然后将[libBaidu.a]添加到工程上,打开自动生成的linkwith.cs文件就可以查看到静态类库的类型【可参考Monotouch
BindingProject之友盟SDK】。
& &&3.真机模拟器通用静态类库.a生成
& & 为什么要使用这种通用类库?方便你模拟器真机调试。由于通用包比原来增加接近一倍,因此发布的时候记得只使用真机包,以减少.ipa的大小。操作方法:
& & 1)在桌面新建文件夹[BaiduLib],打开终端,输入命令cd,并且拖动[BaiduLib]到终端命令后面,按回车(意在将文件默认保存在此文件夹下)。
& & 2)接着输入命令lipo -create [libbaidumapapi.a] [libbaidumapapi.a] -output libBaiduSDK.a,(其中[libbaidumapapi.a] [libbaidumapapi.a]只要拖动到终端框内即可)敲回车,稍等片刻就可以在文件夹[BaiduLib]下看到[libBaiduSDK.a],将其添加到Binding工程中就可以查看到三种类型都存在:LinkTarget.Simulator
| LinkTarget.ArmV7 | LinkTarget.ArmV7s
& &&4.Framework系统框架引用
& & &几乎每个静态类库的实现都引用了或多或少的系统framework,规范的静态类库引用都会提醒你使用了哪些系统framework,而在xcode中添加是件简单的事,但在xamarin studio中地却要使用gcc命令来添加。文档中有介绍:【Linking
Your Library】
& & &注意几个关键字:
& & &1)-gcc_flags,普通native library编译
& & &2)-cxx,包含C&#43;&#43;代码类型编译
& & &3)-L${ProjectDir},当前文件目录
& & &4)-framework,框架类型,例如:[-framework CFNetwork]
& & &5)--registrar:legacy,引用文档解释:The new registrars
(first introduced in 6.2.6) are now enabled by default. They catch many more errors and will prevent many bugs or undefined runtime behaviors. It is possible to fallback to the previous registrars by using --registrar:legacy as an additional mtouch argument。简单来说应该是编译器版本问题的一个控制开关;
& & &6)-ObjC,一般放命令行尾部,需要时添加
& & &完整的命令,以百度地图为例:
[csharp]&view
& & &命令添加在UI工程中,工程选项&&iOS Build&&Additional Options&&Additional mtouch arguments& & &
& &&&5.C#与ObjC数据类型
& &&了解完Xamarin.iOS的基础所需,正式开始接下来繁多无味而重要的映射方法binding工作,当然xamarin官方也提供了一个自动生成工具,但这个工具给我感觉不太能用,也许没深入研究吧,感兴趣的朋友可以下载试用一下【objective_sharpie】(如果你还无法开始时,建议参考【友盟SDK的调用】)。&
& & 开始之前简单介绍一下:
一个头文件中可以出现多个@interface,每个@interface在C#中都是一个类,例如:BMKActionPaopaoView.h文件:
[objc]&view
[csharp]&view
& & 1.打开StructsAndEnums.cs文件,如其名字一样这里是编写结构体和枚举的,也是最简单的一块:
& &&&1)枚举(Enums)
& & &打开头文件[BMKAnnotationView.h],可以看到原生代码:
[objc]&view
[csharp]&view
& & 简单的把有含义的单词提取出来,以方便在C#中使用,枚举无非就是使用整数0、1、2代表各实际含意。
& &&2)结构体(Structs)
& & 打开头文件[BMKType.h],可以看到原生代码:
[objc]&view
[csharp]&view
& &2.Binding APIs
& & & 打开ApiDefinition.cs,以下将开始对头文件中出现的原生语法类型进行介绍
& & &&1)Binding Methods(基础方法)
[objc]&view
& & &C#代码,“&#43;”代表静态方法,加Statice标识;当遇到不是基本数据类型时,例如[BMKCircle],可找着对应头文件,先进行其对象binding
[csharp]&view
& & & &带out/ref parameters的方法
[objc]&view
[csharp]&view
2)Binding Properties(属性)
[objc]&view
& & & C#代码,相关对应[Memory management attributes内存管理标识]ArgumentSemantic标识有三个:Assign,Copy,Retain,依情况而定;与静态方法同样如果是带“&#43;”,也要进行[Static]标识
[csharp]&view
& & &3)Binding Constructors(构造函数)
[objc]&view
C#对应,id可以理解为一个实例化对象
[csharp]&view
& & &4)Binding Protocols(委托协议)
Protocol需要在interface对应头上添加[Model][Protocol],以标明为Delegate
[objc]&view
C#对应,@optional可选标识不用标识
[csharp]&view
而需要使用委托协议方法的对应类中,需要这样实现
[objc]&view
C#对应,Assign与属性标识一致,根据实际添加
[csharp]&view
& & &5)Binding Class Extensions
还未使用过:
[csharp]&view
& & &6)Binding Objective-C Argument Lists
[objc]&view
[csharp]&view
& & &7)Binding Fields
Sometimes you will want to access public fields that were declared in a library.
还未使用过:
[csharp]&view
& & &8)Binding Notifications(通知)
还未使用过:
[csharp]&view
& & &9)Binding Categories(类别)
这个百度地图上出现比较多,还有几个问题官网没提到的问题:
[objc]&view
[Category]标识声明;文档中只提到了对方法的解析,但没有对属性进行说明,如果就按之前对属性进行解析,编译时会报错cannot
declare instance members in a static class(不能在静态类中声明实例成员),语法上的错误,根据要对其进行改造,利用ObjC上get,set构造器的规则进行赋取&#20540;修改,这时showsUserLocation就可以用了
[csharp]&view
& & &10)Binding Blocks(可理解为Action)
ObjC是为了避免Protocol的混乱而设计的
[objc]&view
[csharp]&view
& & &11)Asynchronous Methods(异步方法)
这个api中也比较少见
[csharp]&view
& &&&12)Binging&[typedef]&
& & &使用typedef为现有类型创建同义字,定义易于记忆的类型名
[objc]&view
[csharp]&view
& & &1)NSArray数组
由于ObjC中直接以NSObjce进行操作,因此有些时候并不知道NSArray的对象到底是何种数据类型,但如果在解析过程中,你很明确知道时,可以这样解析
[objc]&view
[csharp]&view
& & &2)NSString类型,可以直接使用string替换
& & &3)委托协议的使用
[objc]&view
[csharp]&view
& & &4)public partial的使用
在Binding Categories(类别)中,必须使用public partial&[interface LocationViewAPI]标识,否则就无法成功调用。
参考链接:http://ipixels.net/blog/specify-extra-gcc-flags-for-native-library-binding-in-xamarin-ios/
& & & & & & & & & & & &
& & & & & & & & & &/2013/08/gooddynamicsmonotouch/
感谢关注 Ithao123iOS频道,是专门为互联网人打造的学习交流平台,全面满足互联网人工作与学习需求,更多互联网资讯尽在 IThao123!
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
产品设计是互联网产品经理的核心能力,一个好的产品经理一定在产品设计方面有扎实的功底,本专题将从互联网产品设计的几个方面谈谈产品设计
随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责
IThao123周刊ComponentOne Xuni助Xamarin用户破百万
 作者: 陕西分站 编辑:
  【IT168 资讯】在微软Build 2015上,随着VS 2015的预览版发布,Xamrine免费版已经作为VS 2015跨平台移动解决方案的核心。与此同时,Xamarin官方也宣布其用户量达到百万之多。2011年7月,Xamarin 开始使用C#开发IOS和Android app,截止日,用户量到达了百万,下面我们就新功能做一些分享:  Xamarin.Forms for Windows  Xamarin.Forms for Windows 8.1 and Windows Phone 8.1  今年3月份发布了针对Windows和Windows Phone预览版的Xamarin.Forms,在社区受到开发者的普遍欢迎。我们今天宣布将继续加强对这些平台的支持,使得开发人员仅需要基于Xamarin.Forms apps 的同一套代码,即可发布app到IOS、Android、Windows、Windows Phone。另外为了方便开发者开发,Xamarin.Forms for Windows 、Windows.Phone可通过NuGet下载。  Availability of Private Previews of Xamarin.Forms for Windows 10 UAP  同时,内部预览版的Windows 10 Universal App Platform已经发布,使得开发者可以基于同样的代码,为所有Windows 10的发布应用。这个新的功能目前在内测,如果你需要参与内部预览版,请通过报名获得预览版下载资格。  New Visual Studio Features--Code Completion for Xamarin.Forms XAML  在Visual Studio中,可以使得UI开发更加方便。新的代码自动完成功能使Xamarin.Forms更强大。现在,您可以在在XAML创建用户界面,通过轻松探索Xamarin.Forms用户界面API,快速构建复杂的画面,并避免打字错误和其他常犯的输入错误等。  Microsoft Visual C++ Debugger Integration  我们已经与微软的Visual C ++团队在合作,可以很容易地在企业应用套件Xamarin.Android引用C ++库、调试C ++库。在Visual Studio2015发行候选版本,你会通过新选项找到一个来接你哪会像调试器从项目的属性窗口中运行你的应用程序Xamarin.Android。  在新选项对话框--Debugger选项下,请选择“Microsoft”,它将能够调试本地C++库,其中包括表达式计算,监视窗口和自动窗口等功能。  Enhanced WatchKit Support  Visual Studio现在已经提供此功能,使得iOS设计人员完全可使用Visual Studio编辑Apple Watch storyboard。  如从Visual Studio工具箱中拖放interface controllers 和UI控件拖到storyboard,同时还可对属性配置板进行配置,以及使用控制键+拖动来移动按钮,表格,或interface controller 到另一个interface controller 来创建新的segues。  iOS Binding Projects  当使用Visual Studio来开发IOS项目,你可能会遇到调用第三方Ojbect-C库的情况。在这种情况下,使用Xamarin.iOS会非常方便,它使得在Visual Studio中非常容易的调用第三方Ojbect C类库,来开发Xamarin.iOS apps。  ComponentOne Xuni  ComponentOne& Xuni是Xamarin.Forms上本地化和跨平台的移动端控件集,它是由全球最大的控件提供商GrapeCity (葡萄城)生产。基于Visual studio xamrin,即可使用ComponentOne& Xuni。 Xuni的设计宗旨是在安卓、iOS和Windows Phone上提供本地化的体验,用相同的API实现跨平台的设计。通过Xuni和Xamarin.Forms,借助C#和Xaml能够开发出适用于所有设备的企业级应用。跨平台的从来没有这么容易过! 带来绝佳移动体验的跨平台开发控件套包—ComponentOne Xuni。
大学生分期购物销量榜
IT168企业级
正在努力加载文档,请稍等…&&&&Xamarin使用C#开发IOS程序-socket与突破3分钟后台运行限制
Xamarin使用C#开发IOS程序-socket与突破3分钟后台运行限制
相关说明:
ConsoleApplication1_sERVER
----PC-服务端
--------------------IOS-客户端
1、PC-服务端
只是一个运行在windows系统下的 控制台程序。接收来自客户端的信息。
2、IOS-客户端 运行在ios模拟器上,连接PC服务端的ip,发生相关信息。
3、两台主机,一台是运行windows系统的计算机。另外一台是MacBook计算机。运行ios模拟器。
4、pc-服务端,可以用vs2008打开并且编辑。
5、ios客户端,使用的是XamarinStudio 打开并且编辑。
以下是这个例子中的特别提到的地方
A、这个例子是完全用C#写的。
B、ios由于是伪后台,当程序退回到后台,系统留给程序的可运行时间就只有3分钟。
过了3分钟,就会把这个程序的所有线程挂起(当然内部预留了长任务运行这一后招)。
经过多次试验后,可以借助着3分钟的长任务运行,然后通过简单的修改来突破这个界限。
在本例子中,所有线程共享一个线程ID。
其中只需要一条线程负责不停的延长这个线程ID的运行时间,然后其他的线程就只需要专注于其本应该要做的任务即可。
C、本例子中,还实现了另外一个功能,就是ios程序与PC程序进行socket。当然是最为简单的。
----------------
由于本人也是刚刚使用c#开发ios程序,初入门,为了这两个问题,也是研究了很久,可查的资料又很少。
希望能够帮助到同样遇到困难的你。
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
精易模块[源码] V5.28
移动开发下载排行

我要回帖

更多关于 xamarin 收费吗 的文章

 

随机推荐