Ошибка Unity Scripting armv7

Я пытаюсь написать свой первый сценарий единства. Это код для файла TestPlugin.cs, который находится в Assets / Plugins:

using UnityEngine; using System.Runtime.InteropServices; public class TestPlugin : MonoBehaviour { [DllImport ("__Internal")] private static extern int getString (); public static void Awake () { print (getString ()); } } 

Это код для двух файлов, которые я импортирую в папку классов сгенерированных файлов xCode:

TestPlugin.h:

 #import <Foundation/Foundation.h> @interface TestPlugin : NSObject -(int)getString; @end 

TestPlugin.m:

 #import "TestPlugin.h" @implementation TestPlugin - (id)init { self = [super init]; if (self) { // Initialization code here. } return self; } - (int)getString { return 7; } @end 

Наконец, это файл javascript, который находится внутри папки Asset.

TestPluginTest.js:

 function Update () { TestPlugin.Awake (); } 

Кроме того, обратите внимание, что я не обязательно ожидаю, что все это сработает, просто для компиляции на данный момент (хотя есть дополнительные указатели и подсказки)

Ошибка, которую я получаю в xCode при попытке построить на iPhone (фактическое устройство), такова:

Неопределенные символы для архитектуры armv7: «_getString», на которые ссылаются: RegisterMonoModules () в RegisterMonoModules.o ld: символы (символы) не найдены для архитектуры armv7 collect2: ld возвращен 1 статус выхода

«_getString», на который ссылаются:

RegisterMonoModules () в RegisterMonoModules.o

ld: символ (ы) не найден для архитектуры armv7

collect2: ld возвращен 1 статус выхода

Я в тупике! Заранее спасибо!

Я думаю, что проблема заключается в интерфейсе Obj-C, потому что компоновщик не знает, как обрабатывать подпись. Когда я подключил самописную библиотеку, я разработал интерфейс, чтобы содержать только чистый код C:

interface.h

 #ifdef __cplusplus extern "C" { #endif int getString(); #ifdef __cplusplus } #endif 

interface.c:

 int getString() { // do something } 

Может быть, полезные сообщения в блогах:

iPhone & Unity3D: интеграция статических библиотек сторонних разработчиков в Unity3D сгенерированные проекты XCode

Unity Native Plugins: OS X

Блог Clever Martian – эксперимент с собственным пользовательским интерфейсом iPhone и Unity 3 Pro

  • Значок Admob не работает на iOS 8 и 9 (отлично работает 7)
  • Подключаемые модули iOS для Unity
  • Unity3D в UIWebView
  • Facebook App Center Представление: Facebook Войти Неактивность
  • Как создать видеопроигрыватель VR для iOS в Unity с SDK Google Cardboard
  • Использование необъявленного идентификатора UIApplicationOpenSettingsURLString
  • Обнаруживать срок подписки на Apple
  • Как повысить производительность при создании (выдавливании) сетки в unit3d на iOS?
  • Получение ошибки Malloc при попытке создать плагин Unity iOS
  • iOS TabView с интеграцией Unity3D
  • Unity: WebGL + Mobile + Звук?
  • Давайте будем гением компьютера.