objective-c - 在 App Purchase iOS 访问 AppleId
<p><p>在购买完成后进行应用内购买(电子邮件或他们的内部 ID)时,有没有办法访问用户在身份验证对话框中输入的 Apple ID?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>在官方应用程序中,无法访问它,因为它会带来很大的安全漏洞(例如,可以轻松地将垃圾邮件发送到指定的电子邮件地址)。</p>
<p>但是,如果您使用的是越狱设备,则可以从钥匙串(keychain)中获取必要的信息。相应的钥匙串(keychain)项将其 <code>svce</code> 键设置为 <code>com.apple.itunesstored.token</code>,并且电子邮件地址对应于 <code>acct</code> 键.这些条目的安全等级是<code>kSecClassGenericPassword</code>。只需确保使用适当的权利对您的应用进行代码设计(您需要 <code>"keychain-access-groups"= "*"</code>)。</p>
<p>检索所需信息的实际示例如下所示:</p>
<pre><code>#import <CoreFoundation/CoreFoundation.h>
#import <Foundation/Foundation.h>
#import <Security/Security.h>
int main()
{
NSMutableDictionary *query = ;
;
;
;
;
;
NSArray *items = nil;
SecItemCopyMatching(query, &items);
for (NSDictionary *item in items) {
if ([ isEqualToString:@"com.apple.itunesstored.token"]) {
NSLog(@"Found iTunes Store account: %@", );
}
}
return 0;
}
</code></pre>
<p>entitlements.xml 文件(使用 <code>ldid -Sentitlemens.xml 二进制文件进行代码设计</code>):</p>
<pre><code><plist>
<dict>
<key>keychain-access-groups</key>
<array>
<string>*</string>
</array>
</dict>
</plist>
</code></pre></p>
<p style="font-size: 20px;">关于objective-c - 在 App Purchase iOS 访问 AppleId,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/14023954/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/14023954/
</a>
</p>
页:
[1]