![]() In addition, LINE has less number of services for selection, compared to iOS, and new services are added less frequently. Sharing content will become a chaos.Īs for LINE, on the other hand, the Share module already has a list of services to display in the list, and it is clearly included in the code of the source service. If the service calling the iOS share sheet were to designate which services are to be displayed, it should specify numerous services in the iOS ecosystem and frequently add recently released apps in the code. That's why it is more efficient to designate which services to exclude, rather than which services to include, when the iOS share system is called. Because of these two factors, it cannot be identified from the code of a source service which services will appear on the list on the share sheet. Moreover, services on the iOS share sheet can be numerous and change frequently, depending on the apps installed on the device. Such a discrepancy is attributable to the inherent characteristics of iOS and the LINE Share module.Īs for the share system in iOS, each service independently determines which services to be included or excluded from the list. As opposed to excludedActivityTypes in iOS, LINE uses includedShareActivityTypes to declare which services to include. UIActivityViewController class is the one responsible for sharing feature in iOS, and this class uses excludedActivityTypes property that contains an array of strings to specify services to be excluded. The share system in iOS also allows a source service to control the service list for sharing. It also makes adding or deleting a service in the wish list easier for each source service. As the wish list is included in includedShareActivityTypes, it is now easier to find out relations between services in the code. Consequently, it is not guaranteed that these designated services will be displayed on the share sheet, and they are more like service candidates. Services designated with includedShareActivityTypes are filtered by content type as explained below. For example, when Album calls the Share module, it comprehensively designates "Keep, Timeline and other Apps" for sharing, using the includedShareActivityTypes parameter. We designed it so that each service could enter a service wish list when the Share module was called. Eligible services based on the combination of Area and Source type are marked on the right. The Area column on the far left shows a list of source services and Source type indicates the type of selected content for sharing. ![]() Figure 6 below lists up eligible services per source service and content type. ![]() LINE supports various types of services and content. For example, Album can handle images only. → Block sharing when texts or videos are selected.The target service determines the type of content for sharing.→ Displayed only when the share sheet is opened in a chatroom. For example, Album and Notes can be used only in Chats.The source service determines which target services can be selected for sharing.The list of eligible services on the share sheet is selected based on the following two conditions. Let's take a look at how it is designed to filter eligible services. This list depends on the type of the source service and selected content. Let option1 = UIAlertAction(title: "Option 1", style. ![]() Here is an example of how to create an action sheet in Swift: let actionSheet = UIAlertController(title: "Choose an option", message: nil, preferredStyle. In iOS, you can create an action sheet using a UIAlertController with the.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |