IBM Worklight-如何在本机iOS应用程序中启用应用程序真实性?

IBM Worklight-如何在本机iOS应用程序中启用应用程序真实性?,ios,xcode,ibm-mobilefirst,worklight-security,Ios,Xcode,Ibm Mobilefirst,Worklight Security,我们有一个iOS和Android混合应用程序环境,在该环境中,我们通过以下方式成功运行了应用程序真实性(下拉菜单可用于控制该功能): 所以我假设这个值是一个必须存在的固定值 9月30日:WL 6.0.0.1更新 在WL6.0.0.1中,当我们将它与Studio 6.0.0生成的iOSApi环境一起部署到Tomcat上的用户服务器时,它似乎没有显示相同的错误 现在我们得到一个: Invocation Failure: Status: 403 InvocationResult: { "W

我们有一个iOS和Android混合应用程序环境,在该环境中,我们通过以下方式成功运行了应用程序真实性(下拉菜单可用于控制该功能):

所以我假设这个值是一个必须存在的固定值



9月30日:WL 6.0.0.1更新

在WL6.0.0.1中,当我们将它与Studio 6.0.0生成的iOSApi环境一起部署到Tomcat上的用户服务器时,它似乎没有显示相同的错误

现在我们得到一个:

Invocation Failure: Status: 403
InvocationResult: {
    "WL-Authentication-Failure" =     {
        "wl_authenticityRealm" =         {
            reason = "forbidden state";
        };
    };
}
当我们启用
时,阻塞
,当我们更改为启用
时,我们可以连接并调用适配器,为
提供服务。(这在以前的5.0.6错误中是不可能的)

现在,我们假设我们需要以某种方式设置iOS证书或签名,用于在Wl服务器上为iOS模拟器和iOS设备(开发人员和分发证书)的应用程序签名,以便Wl服务器允许连接

有人可以帮助我们在XCode 5项目中设置iOS本机应用程序真实性所需的步骤,以成功连接到服务器,然后在启用
的情况下调用适配器,阻止

  • 我们确实将worklight.group添加到iOS应用程序打开的钥匙链共享功能中

  • 我们将所有Wl iOSAPI文件(包括plist文件)以及wlUid复制到iOS应用程序xCode5项目中

  • 如上所述,它与启用的服务和禁用的AppAuthentity fine一起工作


要使应用程序真实性在使用Worklight native API For iOS的本机iOS应用程序中运行,步骤与Eclipse端的混合应用程序相同:

  • authenticationConfig.xml
  • 将securityTest添加到iPhone环境
    application descriptor.xml
  • application descriptor.xml中将bundleId添加到iPhone环境中
然而,在Xcode中还有一个额外的步骤要做。
打开生成的Xcode项目后:

  • 在“生成设置>链接>其他链接器标志”下
  • 添加标志
    -ObjC

现在,您可以在iOS模拟器/设备上清理和/或运行项目。应该行。

Christian,你提到Xcode 5。。。在使用iOS 7时,我是否理解这是唯一的(混合版和本机版),或者在iOS 6上也是唯一的(两者都适用)?Idan,我在XCode 5中为iOS 6.1和iOS 7构建了—结果相同,错误消息相同—我编辑了我的帖子,添加了我们得到的完整错误消息。我在想,我们可能错过了需要做的一些步骤,例如,将私钥复制到服务器/worklight.war上的密钥存储中,或者将私钥/公钥复制到某个地方的XCode项目中?哦。这不是发生在混合动力车上!就在本机iOS API上。我用我们的WL 6发现更新了这个问题。这个问题解决了吗?
2013-09-24 08:58:35.530 App[32535:c07] DeviceAuthManager:getWorklightUniqueDeviceId --> returning UUID from the keychain
2013-09-24 08:58:35.564 App[32535:c07] 
 isCustomResponse
2013-09-24 08:58:35.564 App[32535:c07] this is it: Status: 403
InvocationResult: (null)
InvocationContext: {
    delegate = "<MyConnectionListener: 0x7d73ec0>";
}
Response text: /*-secure-
{"WL-Authentication-Failure":{"wl_authenticityRealm":{"reason":"com.ibm.json.java.JSONObject cannot be cast to java.lang.String"}}}*/
2013-09-24 08:58:35.564 App[32535:c07] [ERROR] Worklight: -[WLRequest requestFailed:]:309::Status code='403' error='(null)'
2013-09-24 08:58:35.565 App[32535:c07] [ERROR] Worklight: -[WLClient onInitRequestFailure:userInfo:]:410::
<key>wlUid</key>
<string>wY/mbnwKTDDYQUvuQCdSgg==</string>
{"errorCode":"UNEXPECTED_ERROR","errorMsg":null}
Invocation Failure: Status: 403
InvocationResult: {
    "WL-Authentication-Failure" =     {
        "wl_authenticityRealm" =         {
            reason = "forbidden state";
        };
    };
}