Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios init:已将无法识别的选择器发送到实例_Ios_Swift_Delphi_Firemonkey - Fatal编程技术网

Ios init:已将无法识别的选择器发送到实例

Ios init:已将无法识别的选择器发送到实例,ios,swift,delphi,firemonkey,Ios,Swift,Delphi,Firemonkey,我尝试在我用delphi Rio 10.3.3制作的ios应用程序中实现新的强制(6月份)身份验证服务。为此,我将此类转换为: AS_EXTERN API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0), watchos(6.0)) @interface ASAuthorizationController : NSObject /*! @abstract Authorization requests that are being serviced b

我尝试在我用delphi Rio 10.3.3制作的ios应用程序中实现新的强制(6月份)身份验证服务。为此,我将此类转换为:

AS_EXTERN API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0), watchos(6.0))
@interface ASAuthorizationController : NSObject

/*! @abstract Authorization requests that are being serviced by this controller
 */
@property (nonatomic, readonly, strong) NSArray<ASAuthorizationRequest *> *authorizationRequests;

/*! @abstract This delegate will be invoked upon completion of the authorization indicating success or failure.
 Delegate is required to receive the results of authorization.
 */
@property (nonatomic, weak, nullable) id <ASAuthorizationControllerDelegate> delegate;

/*! @abstract This delegate will be invoked upon needing a presentation context to display authorization UI.
 */
@property (nonatomic, weak, nullable) id <ASAuthorizationControllerPresentationContextProviding> presentationContextProvider API_UNAVAILABLE(watchos);

/*! @abstract Initialize the controller with authorization requests.

 @param authorizationRequests At least one request should be provided. Requests of same type maybe honored in first in first out order
 */
- (instancetype)initWithAuthorizationRequests:(NSArray<ASAuthorizationRequest *> *)authorizationRequests NS_DESIGNATED_INITIALIZER;

/*! @abstract Initiate the authorization flows.  Upon completion, the delegate will be called with either success or failure.
 Certain authorization flows may require a presentation context, the presentationContextProvider will be called to provider it.

 The instance will remain retained until the user completes the flow and the delegate callback is made.
 */
- (void)performRequests;

+ (instancetype)new NS_UNAVAILABLE;

- (instancetype)init NS_UNAVAILABLE;

@end
AS_EXTERN API_可用(ios(13.0)、macos(10.15)、tvos(13.0)、watchos(6.0))
@接口ASAuthorizationController:NSObject
/*! @此控制器正在处理的抽象授权请求
*/
@属性(非原子、只读、强)NSArray*授权请求;
/*! @抽象此委托将在完成指示成功或失败的授权后调用。
要求委托人接收授权结果。
*/
@属性(非原子、弱、可空)id委托;
/*! @抽象当需要显示授权UI的表示上下文时,将调用此委托。
*/
@属性(非原子、弱、可空)id presentationContextProvider API_不可用(watchos);
/*! @抽象使用授权请求初始化控制器。
@param authorizationRequests至少应提供一个请求。相同类型的请求可能会按照先进先出的顺序进行处理
*/
-(instancetype)initWithAuthorizationRequests:(NSArray*)authorizationRequests NS_指定的_初始值设定项;
/*! @抽象启动授权流。完成后,将成功或失败地调用该委托。
某些授权流可能需要表示上下文,将调用presentationContextProvider来提供它。
该实例将一直保留,直到用户完成流并进行委托回调。
*/
-(无效)履行要求;
+(instancetype)新的NS\U不可用;
-(instancetype)初始化NS_不可用;
@结束
给这个德尔福班

  ASAuthorizationControllerClass = interface(NSObjectClass)
    ['{1FFA7BB5-DAA7-4FD5-A5B7-FE466A83A23F}']
  end;
  ASAuthorizationController = interface(NSObject)
    ['{214873D8-CCF0-42B8-A381-04BBCFB75269}']
    //function authorizationRequests : NSArray; cdecl;
    procedure setDelegate(delegate: ASAuthorizationControllerDelegate); cdecl;
    function delegate : ASAuthorizationControllerDelegate; cdecl;
    procedure setPresentationContextProvider(presentationContextProvider: ASAuthorizationControllerPresentationContextProviding); cdecl;
    function presentationContextProvider: ASAuthorizationControllerPresentationContextProviding; cdecl;
    function initWithAuthorizationRequests(authorizationRequests: NSArray): ASAuthorizationController; cdecl;
    procedure performRequests; cdecl;
  end;
  TASAuthorizationController = class(TOCGenericImport<ASAuthorizationControllerClass, ASAuthorizationController>)  end;
  PASAuthorizationController = Pointer;
ASAuthorizationControllerClass=接口(NSObjectClass)
[{1FFA7BB5-DAA7-4FD5-A5B7-FE466A83A23F}]
结束;
ASAuthorizationController=接口(NSObject)
[{214873D8-CCF0-42B8-A381-04BBCFB75269}]
//功能授权请求:NSArray;cdecl;
过程集合委派(委派:ASAuthorizationControllerDelegate);cdecl;
功能委托:ASAuthorizationControllerDelegate;cdecl;
过程设置presentationContextProvider(presentationContextProvider:AsAuthorizationControllerPresentationContextProvider);cdecl;
函数presentationContextProvider:AsAuthorizationControllerPresentationContextProvider;cdecl;
函数initWithAuthorizationRequests(authorizationRequests:NSArray):一个AuthorizationController;cdecl;
程序执行要求;cdecl;
结束;
TASAuthorizationController=类(TOCGenericImport)结束;
PASAuthorizationController=指针;
但问题是,当我调用
TASAuthorizationController.create
时,我收到以下错误:

-[ASAuthorizationController init]:发送到实例0x283c23380的无法识别的选择器


如何在delphi下创建
ASAuthorizationController
的实例?通常我必须调用
initWithAuthorizationRequests
,但它没有用(+)标记,而是用(-)标记,因此这意味着它不是静态/类函数,因此我需要
ASAuthorizationController
的实例来调用它

Do
ASAuthorizationController*target=[[ASAuthorizationController alloc]initWithAuthorizationRequests:@[…]
在Objective-C中。在Swift中,它应该是:
让target=ASAuthorizationController.init(with authorizationrequest:[…])
@Larme偏离路线!谢谢你为我节省了很多时间,这是答案,使用alloc而不是init”,带(+),但带(-)这意味着它不是一个静态/类函数,所以我需要一个AuthorizationController的实例来调用它:“
-(instancetype)init
已经是一个实例方法。只是在Objective-C中,它通常是
[[SomeClass alloc]init]
,这与
[SomeClass new]
相同。在Swift中,我们不这样做“显示alloc”,但它是一样的。@larme,谢谢如果你能把你的评论放在回答中,我会接受它的,它是完美的!