Execute native ios code in unity (121146)

I want to execute native iOS code in unity.
For this I have added two files in /plugins/ios.

  1. ViewController.h
  2. ViewController.m

Code for each file represented as under.

ViewController.h

@interface ViewController

-(void)sampleMethod;
@end

ViewController.m

#import "ViewController.h"

@implementation ViewController

-(void)sampleMethod
{
    NSLog(@"Sample Method Execute");
}
@end

For C# file I have added following code

[DllImport("__Internal")]
private static extern void sampleMethod();

and call to above method

sampleMethod();

When I am export project for iOS, xCode give me following error that I can’t able to understand.

[34651-screenshot+2014-11-02+13.02.11.png|34651]

I can’t able to understand how to solve this problem? Please give some suggestion here.

1 Answer

1

you need to expose the iOS code as “C”… i don’t recall the correct syntax but something like

extern "C"
{
   your iOS code here...
}

Which code I have to write in extern brackets? Because I have created .h and .m file those correctly executed in xCode.

in the past, i've put everything from my source (.mm in my case) inside the braces. the functions need to be declared as external to xcode, then unity can 'see' them. i haven't done much with iOS so the syntax may be different for your .m files...