我有一个开源的Windows商店应用程序(UWP)。当我将应用程序与商店关联时,会创建if(self.trustAllHosts)
和 // for self signed certificates
- (void)connection:(NSURLConnection*)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge*)challenge
{
if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) {
if (self.trustAllHosts) {
NSURLCredential* credential = [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust];
[challenge.sender useCredential:credential forAuthenticationChallenge:challenge];
}
[challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge];
} else {
[challenge.sender performDefaultHandlingForAuthenticationChallenge:challenge];
}
}
以及对Package.StoreAssociation.xml
(身份标记;名称和发布者属性)的一些修改。
答案 0 :(得分:2)
您不应将<AppName>_StoreKey.pfx
文件包含在公开回购中。但是,您仍然可以使用 AppVeyor CI 。
1.更改您的*.csproj
文件以包含此信息。
<PropertyGroup Condition="('$(Configuration)' == 'Debug') Or ('$(UseTemporarySignCert)' == 'true')">
<PackageCertificateKeyFile><AppName>_TemporaryKey.pfx</PackageCertificateKeyFile>
</PropertyGroup>
<PropertyGroup Condition="('$(Configuration)' == 'Release') And ('$(UseTemporarySignCert)' != 'true')">
<PackageCertificateThumbprint><!-- Your <AppName>_StoreKey.pfx Thumbprint Here --></PackageCertificateThumbprint>
</PropertyGroup>
2.将<AppName>_StoreKey.pfx
证书导入:商店位置 - 当前用户,证书商店 - 个人
3.将值UseTemporarySignCert
的{{1}}环境变量添加到 AppVeyor 项目中。
结果,您将能够在发布模式下在没有true
的情况下自己构建签名项目,然后将其发布到商店。
AppVeyor 将与<AppName>_StoreKey.pfx
一起使用。