你如何在MonoTouch中使用ShareKit?

MonoTouch Bindings project on GitHub似乎有bindings for ShareKit,但我无法让他们工作.我目前在MonoDevelop中使用MonoTouch开发了一个iPhone应用程序,但我不知道如何将ShareKit实际应用到我的应用程序中.

我已经下载了MonoTouch Bindings项目,但是当我在ShareKit目录中创建时,它似乎需要ShareKit本身.然后我下载了ShareKit,但我不确定我是否应该遵循将ShareKit集成到XCode项目中的安装说明,或者我是否应该构建ShareKit.我尝试使用ShareKit“构建”一个空的iPhone应用程序项目,但似乎部分说明并不是最新的XCode的最新版本,我似乎陷入了困境.我试图让这个工作起作用,但到目前为止,我对XCode的经验仅限于MonoTouch开发所需的一切.

或者是否有可以与MonoTouch一起使用的“预编译”ShareKit iOS二进制文件?

有人可以验证ShareKit实际上是否可用于MonoTouch并指导我完成使其工作所需的步骤?

提前致谢!

解决方法

您首先从getsharekit.com下载还是使用ShareKit 2.0?如果您使用的是来自getsharekit的DL,那么我强烈建议您先升级.其次是使ShareKit与MonoTouch一起使用的一些基本安装说明:

脚步

1)下载代码

2)在Xcode中打开,如果它的App创建一个iOS库类型的新Xcode项目

3)编译库并记下所需的框架 – 这些将在以后链接到单触时帮助您

3)编译lib的i386 Sim版本并重命名为libXYZLib_Sim.a – 将其复制到项目中的/ Lib并将其构建操作设置为None.你可以在/ ProjectLib / build / Debug-iphonesimulator /下找到它

4)使用正确的版本编译arm6版本&将其复制到项目中的/ Lib并将其构建操作设置为None.你可以在/ ProjectLib / build / Debug-iphoneos /下找到这个

5)对包含.h文件的库目录运行NovellHeaderParser

@@
mono“/Users/XX/Projects/NovellHeaderParser/NovellHeaderParser/bin/Debug/NovellHeaderParser.exe”/ Users / XX / Documents / ShareKitLib / ShareKit / Core
@@

这应该会产生一个MonoMac.cs文件,您可以将其导入系统

6)对其他目录重复步骤5.注意,您实际上只需要针对具有入口点的.h文件运行解析器,例如API直接调用的顶级类.不需要解析子类,utils,辅助方法.

7)将所有MonoMac.cs文件合并到一个新的MyLib.cs文件中,并将其添加到/ Lib下的项目中 – 将其构建选项设置为None

8)将MonoMac的任何引用更改为MonoTouch

10)解析器可能会为每个解析的目录创建一个enum.cs文件,但如果没有创建自己的名为MyLibEnum.cs的API,需要API所需的任何结构或枚举 – 将其添加到/ Lib并将构建选项设置为None

11)打开终端窗口并导航到项目的/ Lib目录

12)运行以下btouch命令行 – 这将从MyLib.cs中定义的接口创建一个wrapper.dll
@@
/ Developer / MonoTouch /usr/bin/btouch -v MyLib.cs -s MyLibEnum.cs
@@

13)将任何缺少的枚举或结构添加到MyLibEnum.cs并重复步骤12

14)通过重命名来修复选择器的任何多个声明 – 这可能会导致以后出现问题(参见注释1)

15)修复任何遗漏的引用,例如NSMutableArray似乎不存在于monotouch中,因此我将这些更改为NSArrays(我认为这些在monotouch下是可变的???)

16)返回12)并重复直到生成一个dll.

17)在项目中添加对dll的引用

18)将以下内容添加到iPhone Build>模拟器调试/释放构建的附加mtouch选项:
@@
-gcc_flags“-L ${ProjectDir} / Lib -lMyLib_Sim -framework QuartzCore -framework CoreGraphics -framework MessageUI -framework Security -framework UIKit -framework CFNetwork -force_load ${ProjectDir} /Lib/libmyLib_Sim.a -ObjC”
@@

”’注意”’

没有尾随/上-L ${ProjectDir} / Lib

-lShareKitLib_Sim不需要起始lib前缀或.a后缀

为创建lib时使用的每个框架添加一个框架 – 上面不是一个详尽的列表

19)将以下内容添加到iPhone Build> IPHONE DEBUG / RELEASE BUILD的其他mtouch选项:
@@
-gcc_flags“-L ${ProjectDir} / Lib -lMyLib -framework QuartzCore -framework CoreGraphics -framework MessageUI -framework Security -framework UIKit -framework CFNetwork -force_load ${ProjectDir} /Lib/libmyLib.a -ObjC”
@@

20)测试它!

xamarin.ios – ShareKit与MonoTouch如何?的更多相关文章

  1. ios中的.dylib和.a lib有什么区别?

    我知道Objectivec中的编译和运行时是什么,但是我想知道是什么画了这两个库之间的界限?他们的目的是什么,除了陈述一个是静态的而另一个是动态的?我们何时需要一个而不是另一个?

  2. xamarin.ios – ShareKit与MonoTouch如何?

    有人可以验证ShareKit实际上是否可用于MonoTouch并指导我完成使其工作所需的步骤?解决方法您首先从getsharekit.com下载还是使用ShareKit2.0?

  3. ios – iPhone崩溃日志不能正确地符号化并且是双重间隔的

    任何建议超过欢迎.谢谢.解决方法当这件事发生在我身上时,它只是我通过电子邮件收到的日志.如果我记得,至少有一些是在.msg文件中,我不得不把它们拿出来.它可能是Exchange编码更改.如果你显示不可见的字符,你可能会看到每个字符之间的东西.您可以找到并替换它们以删除它们或更改编辑器中的编码.

  4. ios – Xcode 7 beta 2:LaunchScreen.storyboard无法打开文档

    我在两个不同的Mac(iMac和MacBookpro)上收到这个错误.不知道为什么人们不能再现它,但我需要一些帮助.在运行XX优胜美地10.10.4的Mac上运行Xcode7beta2(15六月’15).甚至无法编译和运行我的项目..我从创建菜单创建了一个视图应用程序项目,就是这样.编辑:我试图删除并重新添加storyboard文件(也可以打开Main.storyboard插件),我仍然得到相同的

  5. ios – 为具有多个目标和不同平台的项目编写Podfile

    如何让CocoaPods成功整合到我的项目和iOS/Mac目标?我已经阅读了Podfile文档,但发现它在这方面缺乏.解决方法得到它了!从我的每个目标和运行的pod安装中删除libPods-xxxx.a文件,再次执行了我的目标集成.

  6. ios – 在/usr/lib/system/libcache.dylib中,缺少必需的架构armv6

    在试图为iphoneos编写一个虚拟程序时,Xcode4,gcc似乎没有超出初始的sysroot目录如果我把sysroot,以下作品,但感觉非常干酪,而且不可伸缩.这里发生了什么?

  7. iOS中的CocoaPods是什么?

    任何人都可以详细说明iOS开发中的CocoaPods.我似乎无法理解它们是什么.提前致谢.解决方法CocoaPods是我在最近的iOS应用程序开发中发现的最好的东西之一.我用它来获取最新的Github开源项目作为框架和lib到我的项目中.最好的部分是它将自动管理依赖lib,因此无需拖放文件并下载文件夹blaablaaa只需一个简单的代码’podinstall即可!

  8. Swift 2/iOS 9 – libz.dylib找不到

    我在我的新的Swift2.0项目中使用一些来自google的外部代码,在早期版本中需要“libz.dylib”。更新到新的XCode/新的SDK后。

  9. android – 用我非常简单的calabash测试用例不断得到错误“HTTPClient :: ReceiveTimeoutError”

    我是calabash-android测试自动化库的新手.我花了两天时间来理解这个问题没有成功:(我正在使用calabash-android版本0.8.0,我按照文档pre-definedsteps进行测试.我的测试很简单,只需等待登录界面(这是一个包含id为“email_field”的输入字段的活动),输入用户名和密码.这是我在功能文件中的步骤:当我使用命令calabash-android运行my

  10. phonegap运行android – create命令失败,退出代码8 – linux

    我做了一些googleing但没有发现任何相关内容.任何帮助赞赏.请务必使用裸体vm进行尝试没有nodejs安装或依赖问题.基督教解决方法我刚刚面临同样的问题,问题是没有正确设置sdk工具的路径:请尝试以下方法:

随机推荐

  1. iOS实现拖拽View跟随手指浮动效果

    这篇文章主要为大家详细介绍了iOS实现拖拽View跟随手指浮动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. iOS – genstrings:无法连接到输出目录en.lproj

    使用我桌面上的项目文件夹,我启动终端输入:cd然后将我的项目文件夹拖到终端,它给了我路径.然后我将这行代码粘贴到终端中找.-name*.m|xargsgenstrings-oen.lproj我在终端中收到此错误消息:genstrings:无法连接到输出目录en.lproj它多次打印这行,然后说我的项目是一个目录的路径?没有.strings文件.对我做错了什么的想法?

  3. iOS 7 UIButtonBarItem图像没有色调

    如何确保按钮图标采用全局色调?解决方法只是想将其转换为根注释,以便为“回答”复选标记提供更好的上下文,并提供更好的格式.我能想出这个!

  4. ios – 在自定义相机层的AVFoundation中自动对焦和自动曝光

    为AVFoundation定制图层相机创建精确的自动对焦和曝光的最佳方法是什么?

  5. ios – Xcode找不到Alamofire,错误:没有这样的模块’Alamofire’

    我正在尝试按照github(https://github.com/Alamofire/Alamofire#cocoapods)指令将Alamofire包含在我的Swift项目中.我创建了一个新项目,导航到项目目录并运行此命令sudogeminstallcocoapods.然后我面临以下错误:搜索后我设法通过运行此命令安装cocoapodssudogeminstall-n/usr/local/bin

  6. ios – 在没有iPhone6s或更新的情况下测试ARKit

    我在决定下载Xcode9之前.我想玩新的框架–ARKit.我知道要用ARKit运行app我需要一个带有A9芯片或更新版本的设备.不幸的是我有一个较旧的.我的问题是已经下载了新Xcode的人.在我的情况下有可能运行ARKit应用程序吗?那个或其他任何模拟器?任何想法或我将不得不购买新设备?解决方法任何iOS11设备都可以使用ARKit,但是具有高质量AR体验的全球跟踪功能需要使用A9或更高版本处理器的设备.使用iOS11测试版更新您的设备是必要的.

  7. 将iOS应用移植到Android

    我们制作了一个具有2000个目标c类的退出大型iOS应用程序.我想知道有一个最佳实践指南将其移植到Android?此外,由于我们的应用程序大量使用UINavigation和UIView控制器,我想知道在Android上有类似的模型和实现.谢谢到目前为止,guenter解决方法老实说,我认为你正在计划的只是制作难以维护的糟糕代码.我意识到这听起来像很多工作,但从长远来看它会更容易,我只是将应用程序的概念“移植”到android并从头开始编写.

  8. ios – 在Swift中覆盖Objective C类方法

    我是Swift的初学者,我正在尝试在Swift项目中使用JSONModel.我想从JSONModel覆盖方法keyMapper,但我没有找到如何覆盖模型类中的Objective-C类方法.该方法的签名是:我怎样才能做到这一点?解决方法您可以像覆盖实例方法一样执行此操作,但使用class关键字除外:

  9. ios – 在WKWebView中获取链接URL

    我想在WKWebView中获取tapped链接的url.链接采用自定义格式,可触发应用中的某些操作.例如HTTP://我的网站/帮助#深层链接对讲.我这样使用KVO:这在第一次点击链接时效果很好.但是,如果我连续两次点击相同的链接,它将不报告链接点击.是否有解决方法来解决这个问题,以便我可以检测每个点击并获取链接?任何关于这个的指针都会很棒!解决方法像这样更改addobserver在observeValue函数中,您可以获得两个值

  10. ios – 在Swift的UIView中找到UILabel

    我正在尝试在我的UIViewControllers的超级视图中找到我的UILabels.这是我的代码:这是在Objective-C中推荐的方式,但是在Swift中我只得到UIViews和CALayer.我肯定在提供给这个方法的视图中有UILabel.我错过了什么?我的UIViewController中的调用:解决方法使用函数式编程概念可以更轻松地实现这一目标.

返回
顶部