我是ios开发的新手,我正在尝试将我的本机模块中的Spotify SDK用于我的react本机项目。我在这里https://developer.spotify.com/documentation/ios/quick-start/objective-c/#configure-info-plist遵循了该教程,但是我正在没有应用程序延迟的本机模块中实现它。我需要从我的主要项目App委托中调用界面的函数,但这不起作用。
我尝试创建一个共享实例来访问接口,但是每次获得实例时,它们都位于不同的内存位置,并且第二个始终为null。
在AppDelegate.m中,我正在获取控制器接口的共享实例,以便将结果返回到该实例。
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
return [[RNSpotifyController sharedInstance]application:app
openURL:url
options:options];
在我的RNSpotifyController.m中,
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
NSLog(@"%@ %@", url, options);
// return [self.sessionManager application:RCTSharedApplication()
return [self.sessionManager application:application openURL:url options:options];
}
和
+ (RNSpotifyController *)sharedInstance
{
static RNSpotifyController *_sharedInstance;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_sharedInstance = [[self alloc] init];
});
return _sharedInstance;
}
我希望每当我获得一个共享实例时,它将与所有其他实例相同,但事实并非如此。我只需要能够从我的应用程序委托中调用接口的方法。共享实例不同于初始化的初始接口。让我知道是否还有其他代码会有所帮助