2013-05-11 5 views
1

Связывание monotouch, которое я создал для рамки Wikitude SDK, не работает во время выполнения. Я создал свою привязку, выполнив следующие инструкции: https://stackoverflow.com/a/13070064/42826.Невозможно загрузить привязку wikitude monotouch

Когда я пытаюсь создать экземпляр моего класса-оболочки во время выполнения, я получаю следующее исключение:

типа Wrapper «Wikitude.WTArchitectView» отсутствует свой родной ObjectiveC класс «WTArchitectView».

Это выглядит как родной класс WTArchitectView идет не напиваться связывающей сборкой во время выполнения. В родной библиотеке WikitudeSDK.a действительно находится в сборочной сборке с операцией сборки ObjcBindingNativeLibrary.

Вот мой LinkWith декларация (обратите внимание на -ObjC что required в родной библиотеки Wikitude):

[assembly: LinkWith ("WikitudeSDK.a", LinkTarget.ArmV7 | LinkTarget.Simulator, Frameworks = "CoreVideo Security SystemConfiguration CoreMedia AVFoundation CFNetwork CoreLocation CoreMotion MediaPlayer OpenGLES QuartzCore CoreGraphics", ForceLoad = true, LinkerFlags = "-ObjC", IsCxx = true)] 

Большинство моих ApiDefinition.cs была создана при Objective Sharpie. Примечание: Я оставил только одну функцию для целей тестирования.

namespace Wikitude 
{ 
    [BaseType (typeof (UIView))] 
    interface WTArchitectView { 

     [Export ("initializeWithKey:motionManager:")] 
     void InitializeWithKey (string key, NSObject motionManager); 
    } 
} 

Вот SDK заголовочный файл Wikitude: http://pastebin.com/HKBED11u

Мой проект имеет ARMv7 + ARMv7s поддерживаемых архитектур.

Должен ли я принудительно загружать родную библиотеку или я просто пропустил что-то очевидное, чтобы заставить обертку работать?

ответ

2

Атрибут LinkWith упоминается только ArmV7 и Simulator как LinkTarget s. Если ваше устройство Armv7s, это может объяснить, почему он не работает.

+0

Спасибо. По какой-то причине, как только я изменил поддерживаемую платформу, я начал видеть ошибки связывания с родным lib, что объясняет, почему он не загружается. Мой тестовый телефон - iPhone 4 (Armv7). – Frederic

Смежные вопросы