2014-09-04 12 views
9

Tôi nhận thấy khi tôi bật Chia sẻ Keychain trong Xcode cho ứng dụng iOS Xcode của tôi, nó sẽ "Thêm Keychain Chia sẻ quyền truy cập vào ID ứng dụng của bạn" và có vẻ như kết nối với tài khoản của tôi vì tôi nhận được cửa sổ bật lên yêu cầu tài khoản nhà phát triển nào sử dụng. Tuy nhiên trên cổng thông tin dev không có thay đổi rõ ràng đối với bất kỳ ID ứng dụng nào của tôi và hồ sơ cấp phép của tôi không bị vô hiệu như đôi khi khi tôi thay đổi quyền của ứng dụng. Chia sẻ Keychain cũng không phải là tùy chọn hiển thị để bật/tắt trong ID ứng dụng.Việc bật Keychain Sharing có làm thay đổi AppID của bạn không?

Có ai biết Xcode đang làm gì dưới trang bìa ở đây không? Thay đổi cục bộ đối với tệp quyền lợi là hiển nhiên, nhưng tôi muốn hiểu bên App ID của nó.

Trả lời

10

Mọi mục móc khóa trong iOS chứa thuộc tính được gọi là nhóm truy cập keychain. Ứng dụng iOS chỉ có thể truy cập vào các mục keychain mà nó có quyền truy cập. Sự cho phép này xuất phát từ các quyền ký tên mã được đóng dấu vào ứng dụng khi nó được ký.

Theo mặc định, một ứng dụng chỉ có thể truy cập các mục keychain bằng nhóm truy cập keychain khớp với mã ký nhận mã ứng dụng nhận dạng. Tuy nhiên, nếu nhà phát triển muốn chia sẻ các mục trong số các ứng dụng của họ, họ có thể thêm quyền ký ký mã tùy chỉnh nhóm truy cập keychain tùy chỉnh chỉ định một loạt các nhóm truy cập keychain mà ứng dụng có thể truy cập.

Thông thường, một người tạo mục keychain mà không cần đặt thuộc tính nhóm truy cập kSecAttrAccessGroup. Trong trường hợp đó, Dịch vụ Keychain sẽ tự động đặt thuộc tính đó thành giá trị mặc định. Nếu không có quyền truy cập keychain-access-group, mặc định là giá trị của quyền nhận dạng ứng dụng. Nếu không, giá trị mặc định là giá trị của phần tử mảng đầu tiên trong quyền truy cập keychain-access-groups.

Khi sử dụng trình chỉnh sửa Xcode Capabilities trên ngăn cài đặt đích để bật Chia sẻ Keychain, Xcode sẽ thêm tiền tố ID ứng dụng (ID nhóm) bắt buộc vào trước bất kỳ mục nhóm Keychain được liệt kê nào tại thời điểm xây dựng. Bạn có thể thấy rằng trong tệp quyền lợi được tạo ra được biểu diễn bằng cài đặt xây dựng $ (AppIdentifierPrefix).

Các vấn đề liên quan