New UI Design
IOS7 The biggest change is the UI design, perhaps you will say UI design "This is the designer should pay attention to things, not the developers, we just need to replace the image." Then you are wrong. Changes in the UI will inevitably bring about changes in usage habits and patterns, how to use the IOS7 UI, and how to make your application more relevant to the new system, which is something to consider. It's also worth noting that apps packaged with the IOS7 SDK (now available only in XCODE5 Preview) will automatically use IOS7 's new interface when run on IOS7, so the legacy app may need to make significant adjustments to the new interface. The Human interface documentation for the UI elements used in the specific iOS7 can be found here (it should be a developer account).
In a nutshell, the new UI changes seem to be improved with the current experience:
1. Status bar, navigation bar and app actual content no longer bounds: The system comes with applications that no longer differentiate between the status bar and the navigation bar, but with a uniform color for simplicity. This is also a trend.
2.BarItem button All text: This is quite resolute, all the navigation and toolbar buttons are canceled to materialize, the original text (such as "Edit", "done", etc.) to the simple text, the original icon (such as new or deleted) has also been simplified.
3. Program Open added Animation: A zoom in from the main interface to the location of the icon, while displaying the app's loading interface.
I have experimented with several existing AppStore applications on the iOS7:
1.Pomodoro do: This is my own development of the application, but because it is not iOS7 SDK packaging, so in the UI using the previous system, the problem is the navigation bar tint color loss, resulting in difficult to see, need to update as soon as possible.
2.Facebook: There's nothing wrong with using a picture to customize the navigation bar instead of using the system-supplied material directly.
3. Bread travel: Direct crash, unable to open, reason unknown.
This UI change can be said to be a test of agile development, the original application (especially the use of quasi-materialized used relatively heavy application) although it can also run, but many UI customization needs to change not to say, it is also easy for users to create a "come to the other world" feeling, while you can see that some applications will not run. For Apple's closed system and its only rise, developers and their applications must adapt to the new systems as quickly as possible, which is an opportunity for fast iterations and continued maintenance applications. Believe who can adapt to the new UI first, who will be on the iOS7 to take advantage of the opportunity.
Dynamic Uikit
A new Uidynamicitem delegate has been added to make dynamic behavior for UIView, and of course any other object can define dynamic behavior by implementing this set of interfaces, but may have the most application in Uikit. Dynamic behavior refers to the introduction of real-world behavior or features into the UI, such as gravity. By implementing Uidynamicitem,uikit, the following behavior is now supported: *uiattachmentbehavior connects two objects that implement Uidynamicitem (hereinafter referred to as dynamic objects), while one object moves, the other moves Uicollisionbehavior specify the boundary so that two dynamic objects can collide * Uigravitybehavior, as the name implies, increases gravity simulations for dynamic objects * Uipushbehavior exerts a continuous force on a dynamic object * Uisnapbehavior assign an attachment point to a dynamic object, and imagine the feeling of hanging a picture on a Pushpin.
If there is a development game of children's shoes may feel that many of these are the needs of the game, a box2d such as the 2D physics engine of the visual sense. Yes, the pro, dynamic UI, plus the sprite Kit to be introduced later, greatly expands the possibilities for game development using Uikit. It is also important to note that Uidynamicitem is not only suitable for uikit, and that any object can implement interfaces to obtain some of the features of dynamic objects, so it is not impossible to say something 3D. If you feel cocos2d+box2d such a combination is inconvenient to use, now dynamic Uikit+spritekit gives a new choice.
Game aspects
The IOS7 SDK greatly strengthens the experience of making and distributing games directly using the iOS SDK, most notably by introducing a dedicated game-making framework.
Sprite Kitframework
This is a personal view of the IOS7 SDK is the biggest highlight, but also the most important part of the IOS SDK finally has its own elf system. The Sprite Kit Framework uses a hardware-accelerated animation system to represent both 2.5D and a game, and it provides the most tools needed to make a game, including image rendering, animation systems, sound playback, and the physical engine of the image simulation. It can be said that this framework is the iOS SDK comes with a more complete 2D game engine, trying to let developers focus on higher levels of implementation and content. Like most game engines, the contents of the Sprite kit are organized by scene, and a scene can include map objects, videos, shapes, particle effects, even coreimage filters, and so on. Compared to the existing 2D engine, because the sprite kit is optimized at the system level, rendering time is determined by the framework, so there should be high efficiency.
In addition, Xcode provides tools for creating particle systems and Mapping atlas. Use Xcode to manage particle effects and map Atlas, which can be quickly reflected in the sprite kit.
Game Controllerframework
The corresponding framework for the hardware designed for the Made-for-iphone/ipod/ipad (MFi) game controller allows users to connect and control specialized gaming hardware. See the start of a racing demo in the WWDC 2013 introductory video. Now think of is, maybe this goods can not only be used in the game ... Or Apple will expand its application, since using a high-prevalence iphone as the gateway to the Internet of things seems like a promising thing to do.
Gamecenter improvements
Gamecenter has been an apple's downfall ... Although every year is improving, but has not seen a big improvement. This year is no exception, are small changes, not to mention.
Multi-Task Hardening
Apps that often need to download new content can now implement background downloads by setting uibackgroundmodes to fetch, which needs to be implemented in Appdelegate Setminimumbackgroundfetchinterval: and Application:performfetchwithcompletionhandler: to process the completed download, This provides another option for running the code in the background. But given Apple's continued scrutiny, it may only be possible for magazine and newspaper applications to get this permission. Also need to pay attention to the developer can only specify a minimum interval, the last estimate will have to see the system Niang mood.
Also is the background download, previously can only push reminds the user to enter the application download, now can receive the push and download in the background. Uibackgroundmodes is set to Remote-notification and implements Application:didReceiveRemoteNotification:fetchCompletionHandler:
For the background download, the developer must use a new class nsurlsession, in fact, in Nsurlconnection added a background processing, the use of similar, the API is very simple, no longer repeat.
AirDrop
This is IOS7 's new feature, which users can use to share photos, documents, links, or other data to nearby devices. However, no special implementations are required and are integrated into the standard Uiactivityviewcontroller, and no separate API is provided. Data, it can be sent by implementing the Uiactivityitemsource interface. Maybe Apple doesn't want to see a file-sharing feature beyond their control, which is not the same as the original iOS design. If you don't use Uiactivityviewcontroller, you may not be able to install AirDrop functionality in your app.
Map
Apple continues to explore the application of maps, and Mapkit's improvements have been lackluster. I've always believed that the bottleneck of map-class applications must be data, but the creation of a data source is not done in two years.
Google in this piece with its own search engine has a unique advantage, Apple is still very far away. Let's see what new things are:
1.MKMapCamera, you can add a Mkmapcamera object to the map, showing the position, angle and direction after the 3D look ... You can probably imagine a digital version of Google Street View.
2.MKDirections gets the orientation-based path provided by Apple and can then be used to draw the path in its own application. This may have impacted some small map service providers, but the same sentence, the map is a world of data, and Apple is not an opponent of Google until it has complete data. The situation will last for at least a few years (and possibly forever).
3.MKGeodesicPolyline Create a line with the curvature of the earth and attach it to the map to accomplish some visual effects.
4.MKMapSnapshotter uses it to take photos based on the map, perhaps all kinds of check-in applications will be used.
5. Changed the way overlay objects are rendered.
Inter-app Audio between applications
The AudioUnit framework adds the ability to send MIDI commands and transmit audio between different applications in the same device. For example, use AudioUnit recording in one application, and then open it in another application to process. Declare an Auremoteio instance in the audio source application to be labeled Inter-app available, and use the new discovery interface in the target app to discover and get audio. The idea is good, and it's a step in the app sharing, but I'm not optimistic about the number of apps using low-level frameworks like AudioUnit now. There may be some future shared APIs designed for higher levels to be available to developers. After all, it's not easy for most developers to start processing audio from AudioUnit.
Point-to-point connection Peer-to-peer Connectivity
Can be regarded as airdrop can not be directly used compensation, the cost is to achieve their own. The multipeerconnectivity framework can be used to discover and connect nearby devices and transfer data, all without having to have a network connection. You can see that Apple is gradually releasing restrictions on file sharing, but of course all of them are still confined to the sandbox.
Store Kit Framework
The Store Kit incorporates a new order system that enables native verification of orders. This is a corresponding internal purchase hack and the possibility of verification failure caused by the failure of internal purchase of updates, Apple hopes to reduce the internal purchase of the implementation process, reduce errors, while curbing the spread of intra-purchase crack. The former may not be a problem, but the latter, because the dynamic characteristics of the OBJC, as long as there is a jailbreak, inside the purchase crack is also a matter of the sooner or later. But this is really handy for small developers who don't have the ability to set up a validation server, which is good.
At last
Of course there are some other minor changes, including the addition of the attachment button in the Messageui, Xcode started to support the module, and so on. A complete list of iOS7 new features can be found here (for the time being, you should also need a developer account). The last good news is that Apple has slowed down the rate of obsolete APIs, and this version has no particularly important API labeled Deprecated,cheers.
IOS7 new features added compared to previous versions