SlideShare une entreprise Scribd logo
1  sur  39
Xamarin.iOS中引用自製
Objective-C的Class Library
HappyMan
2015/02/03
目標
• 在Xamarin.iOS中使用我們自行在Xcode中
開發的Objective-C Class Library
步驟
1. 在Xcode中建立Static Library
2. 編譯此Static Library,使它能同時支援iOS
Device與iOS simulator硬體架構
3. 使用Objective Sharpie Tool產生轉換
Objective-C到C#的程式碼
4. 在Xamarin中建立iOS Binding Project
5. 在Xamarin中建立iOS APP專案,引用iOS
Binding Project
建立Static Library
• 在Xcode創建新專案,選擇iOS ->
Framework & Library -> Cocoa Touch
Static Library。在此命名為ShareCode
專案結構
• 我們來宣告並實作一個帶有參數型態
NSString且回傳值型態NSString的方法
ShareCode.h
• #import <Foundation/Foundation.h>
• @interface ShareCode : NSObject
• - (NSString *)sayHello:(NSString *)name;
• @end
ShareCode.h
• #import "ShareCode.h"
• @implementation ShareCode
• -(NSString *)sayHello:(NSString *)name {
• return [NSString stringWithFormat:@"Hello %@ :)", name];
• }
• @end
專案中的目錄結構
• 在命令提示字元介面中以Xcodebuild編譯這
個專案
產生iOS Simulator用的檔案
• xcodebuild -sdk iphonesimulator -configuration
Debug
– Build settings from command line:
– SDKROOT = iphonesimulator8.1
– === BUILD TARGET ShareCode OF PROJECT ShareCode
WITH CONFIGURATION Debug ===
– Check dependencies
– Write auxiliary files
– …
– ** BUILD SUCCEEDED **
產生iOS Device用的檔案armv7
• xcodebuild -sdk iphoneos -arch armv7 -
configuration Debug
– Build settings from command line:
– ARCHS = armv7
– SDKROOT = iphoneos8.1
– === BUILD TARGET ShareCode OF PROJECT ShareCode
WITH CONFIGURATION Debug ===
– Check dependencies
– Write auxiliary files
– ** BUILD SUCCEEDED **
產生iOS Device用的檔案armv7s
• xcodebuild -sdk iphoneos -arch armv7s -
configuration Debug
– Build settings from command line:
– ARCHS = armv7s
– SDKROOT = iphoneos8.1
– === BUILD TARGET ShareCode OF PROJECT ShareCode
WITH CONFIGURATION Debug ===
– Check dependencies
– Write auxiliary files
– ** BUILD SUCCEEDED **
產生iOS Device用的檔案arm64
• xcodebuild -sdk iphoneos -arch arm64 -
configuration Debug
– Build settings from command line:
– ARCHS = arm64
– SDKROOT = iphoneos8.1
– === BUILD TARGET ShareCode OF PROJECT ShareCode
WITH CONFIGURATION Debug ===
– Check dependencies
– Write auxiliary files
– ** BUILD SUCCEEDED **
專案中的目錄結構
• ShareCode -> build
• 我在名稱後綴加入arm7 arm7s arm64以利
分辨
Static Library
• 檔案來源:build -> Debug-iphoneos_arm*
• 重新命名:libShareCode.a
– libShareCode_arm64.a
– libShareCode_armv7s.a
– libShareCode_armv7.a
– libShareCode_simulator.a
• 轉放至專案資料夾:ShareCode
合併為一
• 使用lipo指令將.a檔案包成單一檔案
• lipo -create -output ShareCode.a
libShareCode-arm64.a libShareCode-
armv7s.a libShareCode-armv7.a
libShareCode-simulator.a
• 於是產生ShareCode.a
建立Xamarin.iOS Binding Project
• C# -> iOS -> Unified API -> iOS Binding Project
檔案結構(前)
加入Static Library
加入Static Library
加入Static Library
檔案結構(後)
ShareCode.linkwith.cs
• using System;
using ObjCRuntime;
[assembly: LinkWith (“ShareCode.a”, LinkTarget.Arm64 |
LinkTarget.ArmV7s | LinkTarget.ArmV7 | LinkTarget.Simulator, SmartLink =
true, ForceLoad = true)]
使用Objective Sharpie
• Objective Sharpie is a command line tool
(provided by Xamarin) that can assist in
creating the definitions required to bind a
3rd party Objective-C library to C#.
• 下載並安裝
– http://files.xamarin.com/~abock/ObjectiveShar
pie/ObjectiveSharpie-1.1.1.pkg
查看Xcode SDK
• sharpie xcode -sdks
– macosx10.8
– macosx10.9
– iphoneos7.1
– iphonesimulator7.1
– macosx10.10
– iphoneos8.2
– iphonesimulator8.2
– iphoneos8.1
– iphonesimulator8.1
轉換ShareCode.h
• sharpie bind -output ShareCode -namespace
ShareCode -sdk iphoneos8.2 ShareCode.h –unified
– Compiler configuration:
– -isysroot /Applications/Xcode-
Beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
/iPhoneOS.sdk -miphoneos-version-min=8.2 -resource-dir
/Library/Frameworks/ObjectiveSharpie.framework/Versions/1.1.1/clang-
resources -arch armv7 -ObjC
– Parsing...
– [ 0%] parsing /Users/jason/Xcode/ShareCode/ShareCode.h
– [100%] parsing complete
– Binding...
– [bind] generating ShareCode.cs
– Submitting usage data to Xamarin...
– Submitted - thank you for helping to improve Objective Sharpie!
– Done.
生成ShareCode.cs
• namespace ShareCode {
// @interface ShareCode : NSObject
[BaseType (typeof (NSObject))]
interface ShareCode {
// -(NSString *)sayHello:(NSString *)name;
[Export ("sayHello:")]
string SayHello (string name);
}
}
• 將它複製到ApiDefinition.cs
ApiDefinition.cs
• using System;
using System.Drawing;
using ObjCRuntime;
using Foundation;
using UIKit;
namespace ShareCode {
// @interface ShareCode : NSObject
[BaseType (typeof (NSObject))]
interface ShareCode {
// -(NSString *)sayHello:(NSString *)name;
[Export ("sayHello:")]
string SayHello (string name);
}
}
編譯釋出
產生BindingProjectTest2.dll
• BindingProjectTest2 ▸ BindingProjectTest2 ▸
bin ▸ Release ▸ BindingProjectTest2.dll
建立Xamarin.iOS Project
檔案架構
引用BindingProjectTest2產生的檔
• Project -> Edit References
引用BindingProjectTest2產生的檔
• Browse -> BindingProjectTest2 ▸
BindingProjectTest2 ▸ bin ▸ Release ▸
BindingProjectTest2.dll
MainStoryboard.storyboard
• 建立一個Label
MainStoryboard.storyboard
• 設定Label屬性
BindingSample2ViewController.cs
• public override void ViewDidLoad ()
{
base.ViewDidLoad ();
// Perform any additional setup after loading the view,
typically from a nib.
var obj = new ShareCode.ShareCode ();
this.helloLabel.Text = obj.SayHello ("HappyMan");
}
編譯執行
• iOS Simulator (iPhone 6)
• iOS Device (iPhone 6)
結論
• 使用Objective-C Library轉到C# Library角
色有三個專案,範例:
– ShareCode (Xcode)
– BindingProjectTest (Xamarin)
– BindingSample (Xamarin)
• https://github.com/happymanx/Binding-
Library-from-ObjC-to-CSharp.git
參考
• [Xamarin.iOS] 如何引用Objective-C寫的
Class Library
http://www.dotblogs.com.tw/toysboy21/archive/2013/08/27/115697.aspx
• Xamarin - Walkthrough: Binding an
Objective-C Library
http://developer.xamarin.com/guides/ios/advanced_topics/binding_objective-
c/Walkthrough_Binding_objective-c_library/

Contenu connexe

Tendances

Multi-container Applications on OpenShift with Ansible Service Broker
Multi-container Applications on OpenShift with Ansible Service BrokerMulti-container Applications on OpenShift with Ansible Service Broker
Multi-container Applications on OpenShift with Ansible Service Broker
Amazon Web Services
 
Libcloud and j clouds
Libcloud and j cloudsLibcloud and j clouds
Libcloud and j clouds
DaeMyung Kang
 

Tendances (19)

Apache LibCloud - Keeping up with the cloud market in 2016
Apache LibCloud - Keeping up with the cloud market in 2016Apache LibCloud - Keeping up with the cloud market in 2016
Apache LibCloud - Keeping up with the cloud market in 2016
 
docker-machine, docker-compose, docker-swarm 覚書
docker-machine, docker-compose, docker-swarm 覚書docker-machine, docker-compose, docker-swarm 覚書
docker-machine, docker-compose, docker-swarm 覚書
 
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdevApache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
 
Zabbix for Hybrid Cloud Management
Zabbix for Hybrid Cloud ManagementZabbix for Hybrid Cloud Management
Zabbix for Hybrid Cloud Management
 
Owin and Katana
Owin and KatanaOwin and Katana
Owin and Katana
 
Deploy, Scale and Manage your Application with AWS Elastic Beanstalk
Deploy, Scale and Manage your Application with AWS Elastic BeanstalkDeploy, Scale and Manage your Application with AWS Elastic Beanstalk
Deploy, Scale and Manage your Application with AWS Elastic Beanstalk
 
Developing Terraform Modules at Scale - HashiTalks 2021
Developing Terraform Modules at Scale - HashiTalks 2021Developing Terraform Modules at Scale - HashiTalks 2021
Developing Terraform Modules at Scale - HashiTalks 2021
 
Apache Libcloud
Apache LibcloudApache Libcloud
Apache Libcloud
 
Multi-container Applications on OpenShift with Ansible Service Broker
Multi-container Applications on OpenShift with Ansible Service BrokerMulti-container Applications on OpenShift with Ansible Service Broker
Multi-container Applications on OpenShift with Ansible Service Broker
 
Packer + Ansible을 이용한 AMI 생성 및 AutoScaling Group 이미지 교체 이야기
Packer + Ansible을 이용한 AMI 생성 및 AutoScaling Group 이미지 교체 이야기Packer + Ansible을 이용한 AMI 생성 및 AutoScaling Group 이미지 교체 이야기
Packer + Ansible을 이용한 AMI 생성 및 AutoScaling Group 이미지 교체 이야기
 
Working in the multi-cloud with libcloud
Working in the multi-cloud with libcloudWorking in the multi-cloud with libcloud
Working in the multi-cloud with libcloud
 
Introducing container as-a-service support to apache libcloud
Introducing container as-a-service support to apache libcloudIntroducing container as-a-service support to apache libcloud
Introducing container as-a-service support to apache libcloud
 
전 세계 팬들이 모일 수 있는 플랫폼 만들기 - 강진우 (beNX) :: AWS Community Day 2020
전 세계 팬들이 모일 수 있는 플랫폼 만들기 - 강진우 (beNX) :: AWS Community Day 2020 전 세계 팬들이 모일 수 있는 플랫폼 만들기 - 강진우 (beNX) :: AWS Community Day 2020
전 세계 팬들이 모일 수 있는 플랫폼 만들기 - 강진우 (beNX) :: AWS Community Day 2020
 
Owin & katana
Owin & katanaOwin & katana
Owin & katana
 
London Hug 19/5 - Terraform in Production
London Hug 19/5 - Terraform in ProductionLondon Hug 19/5 - Terraform in Production
London Hug 19/5 - Terraform in Production
 
Libcloud and j clouds
Libcloud and j cloudsLibcloud and j clouds
Libcloud and j clouds
 
Installing WordPress on AWS
Installing WordPress on AWSInstalling WordPress on AWS
Installing WordPress on AWS
 
Automation with Packer and TerraForm
Automation with Packer and TerraFormAutomation with Packer and TerraForm
Automation with Packer and TerraForm
 
HashiCorp at Just Eat
HashiCorp at Just EatHashiCorp at Just Eat
HashiCorp at Just Eat
 

Similaire à Xamarin.iOS中引用自製Objective-C的Class Library

MacRuby & RubyMotion - Madridrb May 2012
MacRuby & RubyMotion - Madridrb May 2012MacRuby & RubyMotion - Madridrb May 2012
MacRuby & RubyMotion - Madridrb May 2012
Mark Villacampa
 

Similaire à Xamarin.iOS中引用自製Objective-C的Class Library (20)

Nike pop up habitat
Nike pop up   habitatNike pop up   habitat
Nike pop up habitat
 
iOS Application Security
iOS Application SecurityiOS Application Security
iOS Application Security
 
Pentesting iOS Apps - Runtime Analysis and Manipulation
Pentesting iOS Apps - Runtime Analysis and ManipulationPentesting iOS Apps - Runtime Analysis and Manipulation
Pentesting iOS Apps - Runtime Analysis and Manipulation
 
Command Line Tool in swift
Command Line Tool in swiftCommand Line Tool in swift
Command Line Tool in swift
 
Xamarin Open House talk - Sela Group - Ofir Makmal
Xamarin Open House talk - Sela Group - Ofir MakmalXamarin Open House talk - Sela Group - Ofir Makmal
Xamarin Open House talk - Sela Group - Ofir Makmal
 
Xamarin.Mac Introduction
Xamarin.Mac IntroductionXamarin.Mac Introduction
Xamarin.Mac Introduction
 
For mobile 3/14'
For mobile 3/14'For mobile 3/14'
For mobile 3/14'
 
DevNetCreate Workshop - build a react app - React crash course
DevNetCreate Workshop - build a react app - React crash courseDevNetCreate Workshop - build a react app - React crash course
DevNetCreate Workshop - build a react app - React crash course
 
Cocoapods and Most common used library in Swift
Cocoapods and Most common used library in SwiftCocoapods and Most common used library in Swift
Cocoapods and Most common used library in Swift
 
Up & running with ECMAScript6
Up & running with ECMAScript6Up & running with ECMAScript6
Up & running with ECMAScript6
 
Introduction to Buildpacks.io Presentation
Introduction to Buildpacks.io PresentationIntroduction to Buildpacks.io Presentation
Introduction to Buildpacks.io Presentation
 
MacRuby & RubyMotion - Madridrb May 2012
MacRuby & RubyMotion - Madridrb May 2012MacRuby & RubyMotion - Madridrb May 2012
MacRuby & RubyMotion - Madridrb May 2012
 
iOS Application Exploitation
iOS Application ExploitationiOS Application Exploitation
iOS Application Exploitation
 
JustSharing: Lessons in Xamarin development
JustSharing: Lessons in Xamarin development JustSharing: Lessons in Xamarin development
JustSharing: Lessons in Xamarin development
 
Building framework with shared code on Android and iOS using React Native. UA...
Building framework with shared code on Android and iOS using React Native. UA...Building framework with shared code on Android and iOS using React Native. UA...
Building framework with shared code on Android and iOS using React Native. UA...
 
Xamarin.Forms Bootcamp
Xamarin.Forms BootcampXamarin.Forms Bootcamp
Xamarin.Forms Bootcamp
 
Native development kit (ndk) introduction
Native development kit (ndk)  introductionNative development kit (ndk)  introduction
Native development kit (ndk) introduction
 
Asp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework CoreAsp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework Core
 
AppIT
AppITAppIT
AppIT
 
Xamarin v.Now
Xamarin v.NowXamarin v.Now
Xamarin v.Now
 

Plus de ShengWen Chiou

Apple Watch Specifications
Apple Watch SpecificationsApple Watch Specifications
Apple Watch Specifications
ShengWen Chiou
 

Plus de ShengWen Chiou (20)

iOS Extension
iOS ExtensioniOS Extension
iOS Extension
 
FMDB 研究
FMDB 研究FMDB 研究
FMDB 研究
 
Realm 研究
Realm 研究Realm 研究
Realm 研究
 
Crashlytics 使用教學
Crashlytics 使用教學Crashlytics 使用教學
Crashlytics 使用教學
 
DBAccess 研究
DBAccess 研究DBAccess 研究
DBAccess 研究
 
iBeacon 相關應用
iBeacon 相關應用iBeacon 相關應用
iBeacon 相關應用
 
Xamarin 研究
Xamarin 研究Xamarin 研究
Xamarin 研究
 
What’s New In watch OS
What’s New In watch OSWhat’s New In watch OS
What’s New In watch OS
 
Apple Watch Feature
Apple Watch FeatureApple Watch Feature
Apple Watch Feature
 
Symbolicate Crash 使用教學
Symbolicate Crash 使用教學Symbolicate Crash 使用教學
Symbolicate Crash 使用教學
 
Apple Watch Specifications
Apple Watch SpecificationsApple Watch Specifications
Apple Watch Specifications
 
Apple Watch UI Elements
Apple Watch UI ElementsApple Watch UI Elements
Apple Watch UI Elements
 
Apple Watch Human Interface Guidelines
Apple Watch Human Interface GuidelinesApple Watch Human Interface Guidelines
Apple Watch Human Interface Guidelines
 
AppleDoc 使用教學
AppleDoc 使用教學AppleDoc 使用教學
AppleDoc 使用教學
 
Quickblox Study
Quickblox StudyQuickblox Study
Quickblox Study
 
Auto layout 介紹
Auto layout 介紹Auto layout 介紹
Auto layout 介紹
 
iOS Touch ID 介紹
iOS Touch ID 介紹iOS Touch ID 介紹
iOS Touch ID 介紹
 
iOS Keychain 介紹
iOS Keychain 介紹iOS Keychain 介紹
iOS Keychain 介紹
 
CocoaPods 使用教學
CocoaPods 使用教學CocoaPods 使用教學
CocoaPods 使用教學
 
Parental Gate 使用教學
Parental Gate 使用教學Parental Gate 使用教學
Parental Gate 使用教學
 

Dernier

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 

Dernier (20)

%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 

Xamarin.iOS中引用自製Objective-C的Class Library

Notes de l'éditeur

  1. ApiDefinition.cs - This file will contain the contracts that define how Objective-C API's will be wrapped in C#. StructsAndEnums.cs - This file will hold any structures or enumeration values that are required by the interfaces and delegates.
  2. LinkTarget.Arm64預設沒有產生,必須自己加上去!