# UNLIKELY TO BE EVER FIXED # AVFoundation ## all members are marked as not available on watchOS (but not the protocol itself) !missing-protocol! AVAudio3DMixing not bound ## types/members marked as deprecated in watchOS 2.0 (even if the framework was not available before 3.0) AVAudioPlayerDelegate::audioPlayerEndInterruption:withOptions: # Foundation ## does not exists in iOS (or watchOS) as a type - but some API refers to it (messy) !unknown-type! NSPortMessage bound ## deprecated in 9.0 but still visible (for watchOS) from `NSDeprecatedKitAdditions (NSAttributedString)` ## not part of tvOS and we provide the replacement selector with the same managed API !missing-selector! NSAttributedString::initWithFileURL:options:documentAttributes:error: not bound # Deprecated in iOS 9.0 (so watch 2.0) with an alternative (NSWritingDirectionFormatType in UIKit) # better not expose the deprecated enum since it's not available in tvOS either !missing-enum! NSTextWritingDirection not bound # GameKit ## All members of the protocol are marked as not available on watchOS (but the protocols themselves are not decorated) !missing-protocol! GKChallengeListener not bound !missing-protocol! GKInviteEventListener not bound !missing-protocol! GKGameSessionEventListener not bound ## types/members marked as deprecated in watchOS 2.0 (even if the framework was not available before 3.0) ## or deprecated well before that (and have alternatives). The last ones might be there but it seems better ## to avoid exposing them (since they might be removed later) as better API exists !missing-type! GKSession not bound !missing-protocol! GKSessionDelegate not bound !missing-selector! GKSession::acceptConnectionFromPeer:error: not bound !missing-selector! GKSession::cancelConnectToPeer: not bound !missing-selector! GKSession::connectToPeer:withTimeout: not bound !missing-selector! GKSession::delegate not bound !missing-selector! GKSession::denyConnectionFromPeer: not bound !missing-selector! GKSession::disconnectPeerFromAllPeers: not bound !missing-selector! GKSession::disconnectTimeout not bound !missing-selector! GKSession::displayName not bound !missing-selector! GKSession::displayNameForPeer: not bound !missing-selector! GKSession::initWithSessionID:displayName:sessionMode: not bound !missing-selector! GKSession::isAvailable not bound !missing-selector! GKSession::peerID not bound !missing-selector! GKSession::peersWithConnectionState: not bound !missing-selector! GKSession::sendData:toPeers:withDataMode:error: not bound !missing-selector! GKSession::sendDataToAllPeers:withDataMode:error: not bound !missing-selector! GKSession::sessionID not bound !missing-selector! GKSession::sessionMode not bound !missing-selector! GKSession::setAvailable: not bound !missing-selector! GKSession::setDataReceiveHandler:withContext: not bound !missing-selector! GKSession::setDelegate: not bound !missing-selector! GKSession::setDisconnectTimeout: not bound !missing-protocol-member! GKTurnBasedEventListener::player:didRequestMatchWithPlayers: not found !missing-selector! GKAchievement::reportAchievementWithCompletionHandler: not bound !missing-selector! GKLeaderboard::category not bound !missing-selector! GKLeaderboard::initWithPlayerIDs: not bound !missing-selector! GKLeaderboard::setCategory: not bound !missing-selector! +GKLeaderboard::loadCategoriesWithCompletionHandler: not bound !missing-selector! +GKLeaderboard::setDefaultLeaderboard:withCompletionHandler: not bound !missing-selector! GKLocalPlayer::authenticateWithCompletionHandler: not bound !missing-selector! GKLocalPlayer::friends not bound !missing-selector! GKLocalPlayer::loadDefaultLeaderboardCategoryIDWithCompletionHandler: not bound !missing-selector! GKLocalPlayer::loadFriendsWithCompletionHandler: not bound !missing-selector! GKLocalPlayer::setDefaultLeaderboardCategoryID:completionHandler: not bound !missing-selector! GKPlayer::isFriend not bound !missing-selector! GKMatch::chooseBestHostPlayerWithCompletionHandler: not bound !missing-selector! GKMatch::playerIDs not bound !missing-selector! GKMatch::sendData:toPlayers:withDataMode:error: not bound !missing-selector! GKMatchmaker::cancelInviteToPlayer: not bound !missing-selector! GKMatchmaker::findPlayersForHostedMatchRequest:withCompletionHandler: not bound !missing-selector! GKMatchmaker::inviteHandler not bound !missing-selector! GKMatchmaker::setInviteHandler: not bound !missing-selector! GKMatchmaker::startBrowsingForNearbyPlayersWithReachableHandler: not bound !missing-selector! GKMatchRequest::inviteeResponseHandler not bound !missing-selector! GKMatchRequest::playersToInvite not bound !missing-selector! GKMatchRequest::setInviteeResponseHandler: not bound !missing-selector! GKMatchRequest::setPlayersToInvite: not bound !missing-selector! GKScore::category not bound !missing-selector! GKScore::initWithCategory: not bound !missing-selector! GKScore::initWithLeaderboardIdentifier:forPlayer: not bound !missing-selector! GKScore::reportScoreWithCompletionHandler: not bound !missing-selector! GKScore::setCategory: not bound !missing-type! GKVoiceChatService not bound !missing-protocol! GKVoiceChatClient not bound !missing-selector! GKVoiceChat::playerIDs not bound !missing-selector! GKVoiceChat::playerStateUpdateHandler not bound !missing-selector! GKVoiceChat::setMute:forPlayer: not bound !missing-selector! GKVoiceChat::setPlayerStateUpdateHandler: not bound !missing-selector! GKVoiceChatService::acceptCallID:error: not bound !missing-selector! GKVoiceChatService::client not bound !missing-selector! GKVoiceChatService::denyCallID: not bound !missing-selector! GKVoiceChatService::inputMeterLevel not bound !missing-selector! GKVoiceChatService::isInputMeteringEnabled not bound !missing-selector! GKVoiceChatService::isMicrophoneMuted not bound !missing-selector! GKVoiceChatService::isOutputMeteringEnabled not bound !missing-selector! GKVoiceChatService::outputMeterLevel not bound !missing-selector! GKVoiceChatService::receivedData:fromParticipantID: not bound !missing-selector! GKVoiceChatService::receivedRealTimeData:fromParticipantID: not bound !missing-selector! GKVoiceChatService::remoteParticipantVolume not bound !missing-selector! GKVoiceChatService::setClient: not bound !missing-selector! GKVoiceChatService::setInputMeteringEnabled: not bound !missing-selector! GKVoiceChatService::setMicrophoneMuted: not bound !missing-selector! GKVoiceChatService::setOutputMeteringEnabled: not bound !missing-selector! GKVoiceChatService::setRemoteParticipantVolume: not bound !missing-selector! GKVoiceChatService::startVoiceChatWithParticipantID:error: not bound !missing-selector! GKVoiceChatService::stopVoiceChatWithParticipantID: not bound #PassKit ## enums added in Xcode 8.1 but the only API using them are not available on watchOS !missing-enum! PKPaymentButtonStyle not bound !missing-enum! PKPaymentButtonType not bound # UIKit ## Implemented in managed code !missing-selector! UIColor::getHue:saturation:brightness:alpha: not bound !missing-selector! UIColor::getRed:green:blue:alpha: not bound !missing-field! UIEdgeInsetsZero not bound !missing-field! UIOffsetZero not bound ## Not implemented (ctor signature conflict) but there's a static method available that does the job !missing-selector! UIColor::initWithHue:saturation:brightness:alpha: not bound ## deprecated !missing-selector! UIImageDeprecated::leftCapWidth not bound !missing-selector! UIImageDeprecated::stretchableImageWithLeftCapWidth:topCapHeight: not bound !missing-selector! UIImageDeprecated::topCapHeight not bound # WatchConnectivity ## It was _upgraded_ to required in iOS 10 beta 1 !incorrect-protocol-member! WCSessionDelegate::session:activationDidCompleteWithState:error: is REQUIRED and should be abstract # Apple internals (we do not expose them) !missing-field! _NSConstantStringClassReference not bound # Non-Apple ## Xamarin (not Apple) type !unknown-type! CADisplayLinkTimeSource bound !unknown-type! InternalNSNotificationHandler bound ## Xamarin generic collection subclasses !unknown-type! NSArray`1 bound !unknown-type! NSDictionary`2 bound !unknown-type! NSMutableArray`1 bound !unknown-type! NSMutableDictionary`2 bound !unknown-type! NSMutableOrderedSet`1 bound !unknown-type! NSMutableSet`1 bound !unknown-type! NSOrderedSet`1 bound !unknown-type! NSSet`1 bound