我的插件:
#import <Foundation/Foundation.h>
@interface SampleClass:NSObject
(BOOL)isInstalledX: (NSString*) app;
(void)sendX: (NSString*) target;
@end
@implementation SampleClass
(BOOL)isInstalledX: (NSString*) app {
return [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString: app]];
}
(void)sendX: (NSString*) target{
if ([[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:target]])
{
[[UIApplication sharedApplication] openURL: [NSURL URLWithString:target]];
}
}
@end
NSString* convertString(const char* string)
{
return [NSString stringWithUTF8String: string];
}
extern "C"
{
bool isInstalled(const char* text){
return [SampleClass isInstalledX: convertString(text)];
}
void send(const char* url){
[SampleClass sendX: convertString(url)];
}
}
每次我嘗試構建它都會回傳IL2CPP Threadpool worker(54): EXC_BAD_ACCESS (code=1, address=0x10) on line return [NSString stringWithUTF8String: string];。
但是當我洗掉發送功能時 isInstalled功能中的轉換正在作業。
還有C#代碼:
[DllImport ("__Internal")]
private static extern bool isInstalled(string text);
[DllImport ("__Internal")]
private static extern void send(string text);
...
if (!isInstalled("fb-messenger://"))
btn.gameObject.SetActive(false);
...
send("fb-messenger://share?link=" content);
uj5u.com熱心網友回復:
我將函式的名稱更改send為sendToApplication,它的作業...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/482401.html
