Showing posts with label apple. Show all posts
Showing posts with label apple. Show all posts

Wednesday, September 4, 2013

Quick Tip: Replace iPhone signal bars with numbers

Here is a quick tip on how to change your signal bars (which could be found in the upper left hand corner of the phone) to numbers (actually decibels). At the end I will explain what the numbers mean.

*No Jailbreak Required!*

Works for iPhone 4, iPhone 4S, and iPhone 5

How to change bars to numbers:

1) Open Phone app

2) Dial the following number exactly (need to enter stars and pounds): *3001#12345#*. Press call

3) You will now be in Field Test mode. In the upper left corner their should be numbers instead of bars. If not tap the bars to enable the numbers. Don't press home or turn off phone yet!

*Continue if you want it to be permanent. If you don't want it to be press home. You can remove it if you continue on, but their is a different way to do that.*

4) Hold down power button (still on the Field Test) until you see 'slide to turn power off' with red arrow.

5) Don't actually slide to turn the power off! Instead, hold down the home button until the Field Test closes and you return home.

6) That's all! Hope it works for you!

The meaning behind the negative numbers: Technically, it is 'the logarithmic unit used to express the ratio between two values of a physical quantity (usually measured in units of power or intensity)'. Basically, it measures the iPhones signal power. All you need to know is the lower the negative number is, the stronger signal strength you have. The higher negative number, the weaker signal strength you have.

Thursday, August 15, 2013

iOS 7 Beta 6 Now Available OTA

iOS 7 Beta 5 has been out for barely a week, but Apple is apparently ready to send out a new developer beta to the newest version of iOS. Today, Apple has released iOS 7 Beta 6 to developers, which is currently available as an OTA download. The update looks to just have bug fixes, but minimal new features. Check below for the full change-log.

Address Book



Notes



  • The classes in the AddressBookUI framework now explicitly disallow subclassing. For apps linked against the iOS 7 SDK, attempting to initialize a subclass of one of these classes returns nil. For apps linked against older SDKs, the only behavior change is a warning logged to the console.

  • As of Seed 4, privacy support for the AddressBookUI framework is reenabled for apps linked against the iOS 7 SDK. Apps linked against older SDKs are not changed. If your app uses any of the Address Book view controllers, you should verify that it still behaves as expected.



AirDrop



Notes



  • AirDrop in iOS 7 Seed 2 or later is not compatible with AirDrop in iOS 7 Seed 1.

  • Contacts Only support requires that:

    • You are logged in to iCloud.

    • The sender and receiver have each other’s Apple ID email addresses in Contacts on their devices.





AV Foundation



Notes


AVCaptureSession now uses your app’s AVAudioSession by default.


Core Animation



Notes


When the UIViewGroupOpacity key is not present, the default value is now YES. The default was previously NO.

This means that subviews of a transparent view will first be composited onto that transparent view, then the precomposited subtree will be drawn as a whole onto the background. A NO setting results in less expensive, but also less accurate, compositing: each view in the transparent subtree is composited onto what’s underneath it, according to the parent’s opacity, in the normal painter’s algorithm order.


Exchange



Notes


In Seed 4 and later, the Exchange DeviceIdentifier has been changed back to the behavior of iOS 6 where it uses the serial number.


Fonts



Notes


New font line heights were introduced in Seed 4. If you had manually aligned your font in earlier seeds, it may move slightly up vertically in later seeds.


Foundation



Notes



  • An NSMetadataQuery with ubiquitous scope can now use kMDItemContentTypeTree in predicates. For example:





    • NSPredicate *p = [NSComparisonPredicate
      predicateWithLeftExpression:[NSExpression expressionForKeyPath:@"kMDItemContentTypeTree"]
      rightExpression:[NSExpression expressionForConstantValue:@"public.rtf"]
      modifier: NSAnyPredicateModifier
      type:NSLikePredicateOperatorType
      options:0];





  • When called on results returned by queries with ubiquitous scopes, -[NSMetadataItem valueForAttribute:NSMetadataItemDisplayNameKey] now produces the same value as -[NSURL getResourceValue: forKey: NSURLLocalizedNameKey], matching nonubiquitous queries.



iCloud



Notes



  • If you use iCloud Keychain with recovery, you may see a dialog indicating recovery has been disabled due to a server change. This is intentional. To reenable functionality, follow the instructions in the notification. If you see multiple alerts or observe issues with reenabling recovery, please file a bug report.

  • iCloud Keychain in iOS 7 Seed 3 or later is not backward compatible with iOS 7 Seed 2 or OS X Mavericks Seed 2.

    If you had iCloud Keychain and/or Keychain Restore enabled from iOS 7 Seed 2, both features are disabled upon updating to iOS 7 Seed 3 or later.

    After updating to iOS 7 Seed 3 or later, go to Settings > iCloud > Keychain and reenable iCloud Keychain on your devices.

    See OS X v10.9 Release Notes for more details.

  • Activation Lock, a new feature of Find My iPhone, is turned on automatically when Find My iPhone is enabled on any device running iOS 7. Activation Lock requires users to enter their Apple ID and password to turn off Find My iPhone, sign out of iCloud, erase the device, or reactivate the device after an erase. It’s important to do one of the following before transferring a device to a new user:

    • Sign out of iCloud.

    • Turn off Activation Lock in Settings > iCloud > Find My iPhone.





Known Issues


Password fields are not displayed in alert views for apps in landscape (for example, Game Center authentication or In-App Purchase). Text entry still works, though you can’t see what you are typing.


MapKit



Notes


If the calls to renderInContext on the layer backing an MKMapView are made off the main thread, they should be eliminated or moved to the main thread. Failure to do so can cause an app crash. Instead of using renderInContext, use the new MKMapSnapshotter APIs.


Media



Notes


iOS now remembers the last used media app across reboot and app crashes. Media apps that can receive remote control events should be prepared to be launched in the background and potentially receive a remote control event to begin playback. Additionally, it’s important that media apps monitor and handle the media server reset event, since the media app may receive a remote request to resume playback after a reset. Notifications to monitor these media server events are available in AVAudioSession and proper handling is described in General recommendations for handling kAudioSessionProperty_ServerDied.


Multipeer Connectivity



Notes


The MCSession APIs function as they were presented at WWDC. Major changes and enhancements include:

  • The following new method on MCSession has been implemented:





    • - (NSOutputStream *)startStreamWithName:(NSString *)streamName toPeer:(MCPeerID *)peerID error:(NSError **)error




    This delegate method has been implemented:





    • - (void)session:(MCSession *)session didReceiveStream:(NSInputStream *)stream withName:(NSString *)streamName fromPeer:(MCPeerID *)peerID





  • The following new method on MCSession has been implemented:





    • - (NSProgress *)sendResourceAtURL:(NSURL *)resourceURL withName:(NSString *)resourceName toPeer:(MCPeerID *)peerID withCompletionHandler:(void(^)(NSError *error))completionHandler




    The delegate method to start receiving a resource from remote peer has been implemented as:





    • - (void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString *)resourceName fromPeer:(MCPeerID *)peerID withProgress:(NSProgress *)progress




    The delegate method to finish receiving a resource from remote peer and save the content in a temporary location is implemented as:





    • - (void)session:(MCSession *)session didFinishReceivingResourceWithName:(NSString *)resourceName fromPeer:(MCPeerID *)peerID atURL:(NSURL *)localURL withError:(NSError *)error






  • MCAdvertiserAssistant is a convenience class for implementing an Advertiser, which handles invitations and connections to an MCSession.

  • MCSession has a new initWithPeer: method.

  • sendResource has added “with” to the completionHandler.

  • The timeout has been removed from connectPeer:withNearbyConnectionData.


For more information on these APIs, watch the video for WWDC 2013 Session 708, “Nearby Networking with Multipeer Connectivity.”


Multitasking



Notes



  • AVAudioSession can no longer become active by apps in the background that wake due to Background Fetch, Background Transfers, and Remote Notification events.

  • The policy for the task completion API has changed back to match the iOS 6 behavior, but the time limit for task completion has decreased from 10 minutes in iOS 6.



Networking



Notes



  • The cellular fallback technology present in previous seeds has been removed as of Seed 5.

  • Two low-level networking APIs that used to return a MAC address now return the fixed value 02:00:00:00:00:00. The APIs in question are sysctl (NET_RT_IFLIST) and ioctl (SIOCGIFCONF). Developers using the value of the MAC address should migrate to identifiers such as -[UIDevice identifierForVendor]. This change affects all apps running on iOS 7.



Objective-C Runtime



Notes


Due to changes in how the isa field is implemented, *self may change during enumeration (for example, if the container is retained).

Workaround: When implementing countByEnumeratingWithState, do not set state->mutationsPtr = self.


Passbook



Notes



  • As of iOS 7 Seed 4, Passbook has added support for the major and minor fields to better match the rest of the iBeacon ecosystem. The new major and minor keys are independently variable optional alongside proximityUUID (required) in each dictionary in the beacons array.

  • In previous versions of the iOS SDK, Passbook did not validate the back fields on passes completely. The validation rules have not changed, but validation is now including back fields. Please check the console log for additional logs.

  • As of iOS 7 Seed 3, PKPassLibraryDidCancelAddPasses is a new status code in the PKPassLibraryAddPassesStatus enum. It signifies that the user tapped Cancel in an add-passes alert.



Photos



Notes


Upon upgrading from an earlier seed, photo thumbnails in the Photos app will not appear for a short while.


Security



Notes



  • -[UIDevice uniqueIdentifier] is no longer accepted in submissions to the App Store. In iOS 7, apps that are already on the store or on users’ devices that call this removed API will no longer be returned the UDID. Instead, -[UIDevice uniqueIdentifier] will return a 40-character string starting with FFFFFFFF, followed by the hex value of -[UIDevice identifierForVendor]. It is important to consider how this will affect existing apps. Consider submitting updates that no longer access the UDID.

  • iOS now requests user consent for apps to use audio input on all iOS 7 devices. For devices sold in China, iOS will also request user consent for apps to use the camera hardware. The operating system will present the consent alert when you set the category of the instantiated AVAudioSession. The AVAudioSession categories that will present the alert areAVAudioSessionCategoryRecord and AVAudioSessionCategoryPlayAndRecord.

    If the user doesn’t allow access, the audio session data will be all zeros (silence). For devices where camera access is requested and denied by the user, the video capture session is a black screen.

  • The API gethostuuid() has been removed and will not be accepted for submission to the store, regardless of the targeted OS. For existing apps running on iOS 7, the function will return auuid_t representation of the vendor identifier (-[UIDevice identifierForVendor]).



Siri



Notes


This seed includes development versions of new male and female Siri voices for U.S. English, French, and German.


Social



Notes



  • Through iOS 6, when using TWTweetComposeViewController and SLComposeViewController (the latter only for Twitter and Weibo, but not Facebook), if the caller supplies acompletionHandler, the supplied completionHandler is responsible for dismissing the view controller. As of iOS 7, if the app links against the iOS 7 SDK, the view controller will dismiss itself even if the caller supplies a completionHandler. To avoid this, the caller’s completionHandler should not dismiss the view controller.

  • When using the iOS 6.1 SDK on OS X v10.8 Mountain Lion, if you use the iOS 5.0 or iOS 5.1 Legacy SDK in iOS Simulator, you will not be able to use Twitter features: attempting to sign in to Twitter via the Settings pane will fail, and Twitter.framework will not work correctly. If you need to test Twitter features, you will need to choose either an iOS 6.1 or iOS 6.0 Simulator run destination, or you can test with iOS 5.x on a device.



Springboard



Notes



  • Active touches are no longer canceled when the user takes a screenshot.

  • Dynamic wallpaper is not available on iPhone 4.



Sprite Kit



Notes


+[AVPlayer playerWithPlayerItem:] returns an AVPlayer object, but the current item will return nil if the player was created on another thread.


Stores



Known Issues


App downloads can get stuck in the “Waiting” state.

Workaround: Reboot your device once or twice to resolve the issue and allow subsequent downloads to continue.


UIKit



Notes



  • Before Seed 4, the snapshot API (snapshotView and resizableSnapshotViewFromRect:withCapInsets:) would defer taking the snapshot if the view had never been committed or had been added to the view hierarchy in the current transaction. This behavior has changed.

    Snapshots now always represent the current, committed state of the view. Attempting to snapshot a view that has never been committed logs a message and now returns nil.

  • Snapshotting methods have been updated and now take an argument: afterUpdates. When set to YES, this instructs the snapshot to wait until all pending changes to the hierarchy have been committed. To maintain the pre-Seed 4 behavior, pass NO and the snapshot will capture what is currently on screen. See UIView.h for more details.

  • When there isn’t enough room in the navigation bar layout for the full text of the back button title, the navigation bar will substitute a generic short back title (in English, “Back”). If even that string is too long, the bar will show the back indicator chevron with no title.

  • +[UIPasteboard pasteboardWithName:create:] and +[UIPasteboard pasteboardWithUniqueName] now unique the given name to allow only those apps in the same application group to access the pasteboard. If the developer attempts to create a pasteboard with a name that already exists and they are not part of the same app suite, they will get their own unique and private pasteboard. Note that this does not affect the system provided pasteboards, general, and find.

  • Starting with Seed 2, apps default to using the new view controller-based status bar management system. To opt out of this, add a value of NO for theUIViewControllerBasedStatusBarAppearance key to your Info.plist.

  • When using Auto Layout to position a UIButton, if you set the content compression resistance or content hugging priority to minimum, the button will have ambiguous layout.

    Workaround: Don’t use a content compression resistance or content hugging priority of less than 2 for UIButton.

  • UIScreenEdgePanGestureRecognizer allows you to perform actions in response to swipes over the edge of the screen using the same heuristics that the system uses for its own gestures. Use this if you have a navigation semantic of your own that doesn’t use UINavigationController but should include this gesture (e.g., Safari).

    This gesture recognizer has a property that describes the edges on which it’s active. UIRectEdge is a new enum type that this property and -[UIViewController edgesForExtendedLayout] can share. UIRectEdge replaces UIExtendedEdge, which will be removed. The members of both have the same values. Use Xcode to replace all instances of “UIExtendedEdge” in your project with “UIRectEdge”.

  • UIButtonTypeInfoLightUIButtonTypeInfoDark, and UIButtonTypeDetailDisclosure buttons all look the same.

  • Blurred layers are not available on iPhone 4.

  • Parallax is not available on iPhone 4.

  • Letterpress text is not available on iPhone 4.



Known Issues


Password fields are not displayed in alert views for apps in landscape (for example, Game Center authentication or In-App Purchase). Text entry still works, though you can’t see what you are typing.


Weather



Notes


Weather conditions are not animated on iPhone 4.


WebKit



Notes



  • Previously, when the viewport parameters were modified, the old parameters were never discarded. This caused the viewport parameters to be additive.

    For example, if you started with width=device-width and then changed it to initial-scale=1.0, you ended up with a computed viewport of width=device-width, initial-scale=1.0.

    In iOS 7, this has been addressed. Now you end up with with a computed viewport of initial-scale=1.0.

  • Previously, when using <meta name="viewport" content="initial-scale=1.0, user-scalable=1">, the scale could be incorrect after rotation.

    Now, if a user has not scaled the page explicitly, the page is restored to its initial scale. Also, the current scale is now correctly restricted within the min-scalemax-scale bounds.

  • Some images for Retina display devices appear at twice the size that they should instead of being scaled down 50%. This issue can also occur with any image to be scaled that is larger than its container and that uses either the background-size property or the -webkit-background-size property. This issue affects both native apps that display web content and web pages viewed in Safari for iPhone.

    The background CSS shorthand property now resets the value of the background-size property to auto when background size is not specified. This new behavior is per the CSS spec, and the old behavior is available only for apps linked to an SDK prior to iOS 7.0 when running on iOS 7 or later.

    Workaround: Specify the background-size property or the -webkit-background-size property after the background shorthand property in the CSS stylesheet for the web content being displayed.

  • Web apps and web clips created prior to Seed 4 will not stay in folders across reboot.

    Workaround: Delete the old web app or web clip and recreate it in this seed by loading the content in Safari, tapping the Action button, and then “Add to Home Screen.”



Wi-Fi



Notes


Seed 4 and later include changes to AWDL such that technologies that use it—such as AirDrop and the MultiPeerConnectivity APIs—will not work properly with older seeds.


Sunday, August 11, 2013

Apple Possibly Releasing iPhone 5C on September 10

Apple hasn't officially proclaimed when it will be showing the next iPhone, but AllThingsD is reporting that the company will be having the press conference on September 10. The one question that remains is whether Apple will be releasing more than one iPhone. We have seen multiple photos of the iPhone 5C, a cheap plastic iPhone.

ATD is making no mention of the iPad, but its possible that the device could make a surprise appearance. If a new iPad isn't announced in September, then another event will likely be scheduled to announce upgrades to the iPad mini and standard iPad with possible Retina models. It's very possible that the September 10 event will be when Apple publicly releases iOS 7, which has currently been through 5 betas.

Wednesday, August 7, 2013

UPDATE: Apple's Online Services are Back

Screen Shot 2013-08-07 at 1.57.29 PM

 

The outage has lasted 2 hours and 31 minutes.

All of Apple's Online Stores are Down

Apple is reporting that the App Store, Mac App Store, iTunes Store, iBookstore, iTunes in the Cloud, iTunes Match, and Backup are all down.
Users may be unable to make purchases from the App Store, iTunes Store, Mac App Store, or iBookstore. Users may also be unable to download previously-purchased content, use iTunes Match, or successfully restore Apps and Music from an iCloud backup.

Screen Shot 2013-08-07 at 1.44.56 PM

iTunes Store Experiencing Some Issues

Some people around the world appear to be having issues with connecting to the iTunes Store or download apps. Apple is currently reporting problems with the iTunes Store, but not yet the App Store. Click here to go to Apple's status page.

Monday, August 5, 2013

Apple to Finish Restoring Dev Center This Week

Apple is planing on restoring the last bits and pieces of its Developer Center this week, after receiving a major security facelift due to a large security hole reported by security researcher Ibrahim Balic. Check out below for the email sent to the company's developers:

 
We sincerely appreciate your patience as we work to bring our developer program services back online, and we want to give you an update on our progress. The majority of our developer services are currently online, including Certificates, Identifiers & Profiles, Dev Centers, software downloads, Videos, Apple Developer Forums, iTunes Connect, Bug Reporter, App Store Resource Center, and access to pre-release documentation.

We plan to reinstate most of the remaining services this week: Xcode automatic configuration as well as access to license agreements, TSIs, program enrollments, and renewals in Member Center. You can check the availability of these systems on our status page.

As a reminder, if your membership was set to expire during this downtime, it has been extended and your apps will remain on the App Store and Mac App Store.

We apologize for the significant inconvenience that our downtime has caused and encourage you to reach out to our support team if you need any assistance.

Monday, July 29, 2013

Apple iOS 7 Beta 4 Released

After a massive developer center overhaul, Apple has released iOS 7 Beta 4. The new firmware is available OTA today as well as through the Dev Center. See below for improvements.

iOS 7 Beta 4 Changelog:


Notes and Known Issues

The following issues relate to using iOS SDK 7.0 to develop code.

Address Book Notes

Privacy support for the AddressBookUI framework is reenabled for apps linked against the iOS 7 SDK. Apps linked against older SDKs are not changed. If your app uses any of the Address Book view controllers, you should verify that it still behaves as expected.

AirDrop

Notes

AirDrop in iOS 7 Seed 2 or later is not compatible with AirDrop in iOS 7 Seed 1. Contacts Only support requires that:

You are logged in to iCloud.

The sender and receiver have each other’s Apple ID email addresses in Contacts on their devices.

Known Issues

Contact Only currently requires that you have an active Internet connection.

The App Store should support the ability to find an app capable of opening a received document based on the document’s Uniform Type Identifier (UTI). Currently, just a blank screen is displayed.

AV Foundation Notes

AVCaptureSession now uses your app’s AVAudioSession by default.

Calendar

Fixed in Seed 4

iCloud calendar events may not sync through fetch, push, or manual refresh as expected. iCloud calendars or reminders may be duplicated after adding new events.

Car Display

Known Issues

Support for Car Display will be provided once compatible systems are available.

Contacts



Fixed in Seed 4

Some high-resolution photos will not sync (via iCloud and other services) when set as a Contact’s Caller ID photo.

Core Animation Notes

When the UIViewGroupOpacity key is not present, the default value is now YES. The default was previously NO.

This means that subviews of a transparent view will first be composited onto that transparent view, then the precomposited subtree will be drawn as a whole onto the background. A NO setting results in less expensive, but also less accurate, compositing: each view in the transparent subtree is composited onto what’s underneath it, according to the parent’s opacity, in the normal painter’s algorithm order.

Exchange

Notes

The Exchange DeviceIdentifier has been changed back to the behavior of iOS 6 where it uses the serial number.

Fonts

Notes

Font line heights have changed from previous seeds. If you had previously manually aligned your font, it may move slightly up vertically with this seed.

Foundation Notes

An NSMetadataQuery with ubiquitous scope can now use kMDItemContentTypeTree in predicates. For example:

NSPredicate *p = [NSComparisonPredicate

predicateWithLeftExpression:[NSExpression

expressionForKeyPath:@"kMDItemContentTypeTree"]

rightExpression:[NSExpression

expressionForConstantValue:@"public.rtf"]

modifier: NSAnyPredicateModifier

type:NSLikePredicateOperatorType

options:0];

When called on results returned by queries with ubiquitous scopes, -[NSMetadataItem valueForAttribute:NSMetadataItemDisplayNameKey] now produces the same value as -



[NSURL getResourceValue: forKey: NSURLLocalizedNameKey], matching nonubiquitous queries.

iCloud Notes

If you use iCloud Keychain with recovery, you may see a dialog indicating recovery has been disabled due to a server change. This is intentional. To reenable functionality, follow the instructions in the notification. If you see multiple alerts or observe issues with reenabling recovery, please file a bug report.

iCloud Keychain in iOS 7 Seed 3 or later is not backward compatible with iOS 7 Seed 2 or OS X Mavericks Seed 2.

If you had iCloud Keychain and/or Keychain Restore enabled from iOS 7 Seed 2, both features are disabled upon updating to iOS 7 Seed 3 or later.

After updating to iOS 7 Seed 3 or later, go to Settings > iCloud > Keychain and reenable iCloud Keychain on your devices.

See OS X v10.9 Release Notes for more details.

Activation Lock, a new feature of Find My iPhone, is turned on automatically when Find My iPhone is enabled on any device running iOS 7. Activation Lock requires users to enter their Apple ID and password to turn off Find My iPhone, sign out of iCloud, erase the device, or reactivate the device after an erase. It’s important to do one of the following before transferring a device to a new user:

Sign out of iCloud.

Turn off Activation Lock in Settings > iCloud > Find My iPhone.

Fixed in Seed 4

Users who have a single device with iCloud Keychain on will not be presented with the correct iCloud Keychain setup screens after restoring from a backup.

Users signing out of iCloud by deleting their iCloud account, erasing all contents and settings, or erasing the device via Find My iPhone and signing back in will not be presented with the correct iCloud Keychain setup screens.

Credit cards deleted in Safari Settings > AutoFill are removed from the device, but not from other devices.

Sometimes when you disable iCloud Keychain you may not be able to reenable it.

Keychains are not synced among devices when they are on a wireless network with WEP security.

When setting up iCloud Keychain in Setup Assistant on iPhone 4 and iPhone 4s, the keyboard covers the iCloud Security Code entry field and the Advanced Options link.

Nonpurchased ePubs and PDFs will not be restored when iCloud-restoring an iOS 7 device with a pre-iOS 7 backup. Purchased content will be restored without issue.

Known Issues

Voice Memos are not restored from iCloud Backups.

Workaround: Make sure to sync Voice Memos off of your device before restoring from iCloud.



Users in Switzerland, France, Spain, Germany, Poland, Finland, and possibly some other countries, will be unable to restore their keychains using phone number validation.

Workaround: Use Random Security Code.

MapKit Notes

If the calls to renderInContext on the layer backing an MKMapView are made off the main thread, they should be eliminated or moved to the main thread. Failure to do so can cause an app crash. Instead of using renderInContext, use the new MKMapSnapshotter APIs.

Media

Notes

iOS now remembers the last used media app across reboot and app crashes. Media apps that can receive remote control events should be prepared to be launched in the background and potentially receive a remote control event to begin playback. Additionally, it’s important that media apps monitor and handle the media server reset event, since the media app may receive a remote request to resume playback after a reset. Notifications to monitor these media server events are available in AVAudioSession and proper handling is described in General recommendations for handling kAudioSessionProperty_ServerDied.

Multipeer Connectivity Notes

Many updates to the MCSession APIs are included in this seed. The APIs now function as they were presented at WWDC. Major changes and enhancements include:

The following new method on MCSession has been implemented:

This delegate method has been implemented:

The following new method on MCSession has been implemented:

- (NSOutputStream *)startStreamWithName:(NSString *)streamName toPeer:(MCPeerID

*)peerID error:(NSError **)error

- (void)session:(MCSession *)session didReceiveStream:(NSInputStream *)stream

withName:(NSString *)streamName fromPeer:(MCPeerID *)peerID

- (NSProgress *)sendResourceAtURL:(NSURL *)resourceURL withName:(NSString

*)resourceName toPeer:(MCPeerID *)peerID withCompletionHandler:(void(^)(NSError

*error))completionHandler

The delegate method to start receiving a resource from remote peer has been implemented as:

- (void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString

The delegate method to finish receiving a resource from remote peer and save the content in a temporary location is implemented as:

MCAdvertiserAssistant is a convenience class for implementing an Advertiser, which handles invitations and connections to an MCSession.

MCSession has a new initWithPeer: method.

sendResource has added “with” to the completionHandler.

The timeout has been removed from connectPeer:withNearbyConnectionData.

For more information on these APIs, watch the video for WWDC 2013 Session 708, “Nearby Networking with Multipeer Connectivity.”

Multitasking

Notes

The policy for the task completion API has changed back to match the iOS 6 behavior, but the time limit for task completion has decreased from 10 minutes in iOS 6.

Networking Fixed in Seed 4

All NSURL session tasks now start suspended rather than running. This allows you to set up their state before the task is started.

Notes

Cellular fallback is a technology that will attempt to connect over the cellular interface when a connection over the Wi-Fi interface does not succeed. There are a number of cases where connection failures may occur over Wi-Fi, such as a cable modem in need of a reboot or a firewall that blocks access to certain resources.

If your app restricts network operations over the cellular network, verify that your code is using the proper API to implement that policy.

For example, if your app watches SCNetworkReachability for the kSCNetworkReachabilityFlagsIsWWAN to monitor when Wi-Fi is available, it may not behave correctly under cellular fallback.

If an app uses this method and then attempts to connect, thinking it will get a connection over Wi-

- (void)session:(MCSession *)session didFinishReceivingResourceWithName:(NSString

*)resourceName fromPeer:(MCPeerID *)peerID atURL:(NSURL *)localURL withError:

(NSError *)error

Note: The app is responsible for moving the file to a permanent location within its sandbox.

*)resourceName fromPeer:(MCPeerID *)peerID withProgress:(NSProgress *)progress



Fi, the app may inadvertently end up with a connection over the cellular network. The lack of the kSCNetworkReachabilityFlagsIsWWAN is not a guarantee that your connection will not go over cellular. If your code needs to enforce that a connection not go over cellular, it needs to specify that when making a networking request.

Instead, for CFNetwork code using CFSocketStream, CFHTTPStream, or similar APIs, set the kCFStreamPropertyNoCellular property to true on the CF object before connecting.

For NSURLRequests, call [request setAllowsCellularAccess: false].

In addition to making sure that your code will never be connected over cellular because of cellular fallback, this call ensures that your code will never be connected over cellular because of the VPN or convoluted routing problems (connecting to IPv6 over cellular because only IPv4 is available over Wi-Fi, etc.).

To verify that your app is behaving properly, you should test against a broken Wi-Fi network. The easiest way to set up a broken Wi-Fi network is to set up an Apple AirPort Base Station or other Wi- Fi access point to hand out a DHCP address and leave the access point disconnected from the Internet. Another simple way of testing is to unplug the cable or DSL line from your cable or DLS modem.

Two low-level networking APIs that used to return a MAC address now return the fixed value 02:00:00:00:00:00. The APIs in question are sysctl (NET_RT_IFLIST) and ioctl (SIOCGIFCONF). Developers using the value of the MAC address should migrate to identifiers such as -[UIDevice identifierForVendor]. This change affects all apps running on iOS 7.

Objective-C Runtime Notes

Due to changes in how the isa field is implemented, *self may change during enumeration (for example, if the container is retained).

Workaround: When implementing countByEnumeratingWithState, do not set state- >mutationsPtr = self.

Passbook

Notes

As of iOS 7 Seed 4, Passbook has added support for the major and minor fields to better match the rest of the iBeacon ecosystem. The new major and minor keys are independently variable optional alongside proximityUUID (required) in each dictionary in the beacons array.

In previous versions of the iOS SDK, Passbook did not validate the back fields on passes completely. The validation rules have not changed, but validation is now including back fields. Please check the console log for additional logs.

As of iOS 7 Seed 3, PKPassLibraryDidCancelAddPasses is a new status code in the PKPassLibraryAddPassesStatus enum. It signifies that the user tapped Cancel in an add-passes alert.

Safari



Fixed in Seed 4

Safari website credentials do not always autofill between mobile and desktop versions. Workaround: Use the desktop version if the site offers it.

Upgrading to iOS may reset Safari’s settings to their default values.

Security Notes

-[UIDevice uniqueIdentifier] is no longer accepted in submissions to the App Store. In iOS 7, apps that are already on the store or on users’ devices that call this removed API will no longer be returned the UDID. Instead, -[UIDevice uniqueIdentifier] will return a 40-character string starting with FFFFFFFF, followed by the hex value of -[UIDevice identifierForVendor]. It is important to consider how this will affect existing apps. Consider submitting updates that no longer access the UDID.

iOS now requests user consent for apps to use audio input on all iOS 7 devices. For devices sold in China, iOS will also request user consent for apps to use the camera hardware. The operating system will present the consent alert when you set the category of the instantiated AVAudioSession. The AVAudioSession categories that will present the alert are AVAudioSessionCategoryRecord and AVAudioSessionCategoryPlayAndRecord.

If the user doesn’t allow access, the audio session data will be all zeros (silence). For devices where camera access is requested and denied by the user, the video capture session is a black screen.

The API gethostuuid() has been removed and will not be accepted for submission to the store, regardless of the targeted OS. For existing apps running on iOS 7, the function will return a uuid_t representation of the vendor identifier (-[UIDevice identifierForVendor]).

Setup

Known Issue

The setup assistant may crash when setting up a new device with an existing email address.

Workaround: Continue through the setup assistant. Then go to Settings > iCloud and manually enable the services that are off.

Siri

Notes

This seed includes development versions of new male and female Siri voices for U.S. English and French, and a male voice for German.

Social Notes



Through iOS 6, when using TWTweetComposeViewController and SLComposeViewController (the latter only for Twitter and Weibo, but not Facebook), if the caller supplies a completionHandler, the supplied completionHandler is responsible for dismissing the view controller. As of iOS 7, if the app links against the iOS 7 SDK, the view controller will dismiss itself even if the caller supplies a completionHandler. To avoid this, the caller’s completionHandler should not dismiss the view controller.

Known Issue

When using the iOS 6.1 SDK on OS X v10.8 Mountain Lion, if you use the iOS 5.0 or iOS 5.1 Legacy SDK in iOS Simulator, you will not be able to use Twitter features: attempting to sign in to Twitter via the Settings pane will fail, and Twitter.framework will not work correctly. If you need to test Twitter features, you will need to choose either an iOS 6.1 or iOS 6.0 Simulator run destination, or you can test with iOS 5.x on a device.

Springboard

Notes

Active touches are no longer canceled when the user takes a screenshot. Dynamic wallpaper is not available on iPhone 4.

Fixed in Seed 4

Springboard crashes when accessing some web clips in the App Switcher.

When restoring from an iCloud backup on a device with hundreds of apps, Springboard may crash repeatedly.

Passwords with diacritical marks are not supported in this seed. If you have diacritical marks in your password, change it before upgrading to Seed 3 as you will be unable to unlock your device.

Sprite Kit Known Issue

+[AVPlayer playerWithPlayerItem:] returns an AVPlayer object, but the current item will return nil if the player was created on another thread.

Stores

Known Issue

Some iPhone 4 devices are unable to download content from the App Store and the iTunes Store.

Sync

Fixed in Seed 4



The Wi-Fi sync option in iTunes is checked, but Wi-Fi devices do not appear in iTunes.

UIKit

Notes

In previous seeds, the snapshot API (snapshotView and resizableSnapshotViewFromRect:withCapInsets:) would defer taking the snapshot if the view had never been committed or had been added to the view hierarchy in the current transaction. This behavior has changed.

Snapshots now always represent the current, committed state of the view. Attempting to snapshot a view that has never been committed logs a message and now returns nil.

Snapshotting methods have been updated and now take an argument: afterUpdates. When set to YES, this instructs the snapshot to wait until all pending changes to the hierarchy have been committed. To maintain the pre-Seed 4 behavior, pass NO and the snapshot will capture what is currently on screen. See UIView.h for more details.

When there isn’t enough room in the navigation bar layout for the full text of the back button title, the navigation bar will substitute a generic short back title (in English, “Back”). If even that string is too long, the bar will show the back indicator chevron with no title.

+[UIPasteboard pasteboardWithName:create:] and +[UIPasteboard pasteboardWithUniqueName] now unique the given name to allow only those apps in the same application group to access the pasteboard. If the developer attempts to create a pasteboard with a name that already exists and they are not part of the same app suite, they will get their own unique and private pasteboard. Note that this does not affect the system provided pasteboards, general, and find.

Starting with Seed 2, apps default to using the new view controller-based status bar management system. To opt out of this, add a value of NO for the UIViewControllerBasedStatusBarAppearance key to your Info.plist.

When using Auto Layout to position a UIButton, if you set the content compression resistance or content hugging priority to minimum, the button will have ambiguous layout.

Workaround: Don’t use a content compression resistance or content hugging priority of less than 2 for UIButton.

UIScreenEdgePanGestureRecognizer allows you to perform actions in response to swipes over the edge of the screen using the same heuristics that the system uses for its own gestures. Use this if you have a navigation semantic of your own that doesn’t use UINavigationController but should include this gesture (e.g., Safari).

This gesture recognizer has a property that describes the edges on which it’s active. UIRectEdge is a new enum type that this property and -[UIViewController edgesForExtendedLayout] can share. UIRectEdge replaces UIExtendedEdge, which will be removed. The members of both have the same values. Use Xcode to replace all instances of “UIExtendedEdge” in your project with “UIRectEdge”.

UIButtonTypeInfoLight, UIButtonTypeInfoDark, and UIButtonTypeDetailDisclosure buttons all look the same.

Blurred layers are not available on iPhone 4. Parallax is not available on iPhone 4. Letterpress text is not available on iPhone 4.



Fixed in Seed 4

The UIImagePickerController does not show a live preview when using custom overlays. UIPickerView with custom views doesn’t show the views in the selection indicator.

UIRefreshControl and the associated table view are hidden under the navigation bar when setTranslucent: is NO.

IB support for -topLayoutGuide and -bottomLayoutGuide is not functional in this seed. The title of the UIRefreshControl appears below the navigation bar.

Known Issue

Your app’s UI may move slightly after using a media player in landscape mode.

Weather

Notes

Weather conditions are not animated on iPhone 4.

WebKit

Notes

Previously, when the viewport parameters were modified, the old parameters were never discarded. This caused the viewport parameters to be additive.

For example, if you started with width=device-width and then changed it to initial-scale=1.0, you ended up with a computed viewport of width=device-width, initial-scale=1.0.

In iOS 7, this has been addressed. Now you end up with with a computed viewport of initial- scale=1.0.

Previously, when using <meta name=”viewport” content=”initial-scale=1.0, user-scalable=1″>, the scale could be incorrect after rotation.

Now, if a user has not scaled the page explicitly, the page is restored to its initial scale. Also, the current scale is now correctly restricted within the min-scale, max-scale bounds.

Some images for Retina display devices appear at twice the size that they should instead of being scaled down 50%. This issue can also occur with any image to be scaled that is larger than its container and that uses either the background-size property or the -webkit-background-size property. This issue affects both native apps that display web content and web pages viewed in Safari for iPhone.

The background CSS shorthand property now resets the value of the background-size property to auto when background size is not specified. This new behavior is per the CSS spec, and the old behavior is available only for apps linked to an SDK prior to iOS 7.0 when running on iOS 7 or later.

Workaround: Specify the background-size property or the -webkit-background-size property after the background shorthand property in the CSS stylesheet for the web content being displayed.



Known Issue

Web apps and web clips created in previous seeds will not stay in folders across reboot.

Workaround: Delete the old web app or web clip and recreate it in this seed by loading the content in Safari, tapping the Action button, and then “Add to Home Screen.”

Wi-Fi

Notes

This seed introduces changes to AWDL so that technologies that use it—such as AirDrop and the MultiPeerConnectivity APIs—will not work properly with older seeds.

Saturday, July 27, 2013

Apple Dev Centers Returns

After a week long outage, Apple's developer center is back online. The developer portal was shut down due to a "hack", and the system ended up getting a complete overhaul. The site doesn't look very different on the outside, which leaves me to think that most of the work must have gone into the backend of the site.

Monday, July 22, 2013

Hole is Found in Apple Developer Center, Causes Shutdown

Security researcher Ibrahim Balic said he didn't want to steal personal data from Apple's Dev Center. Balic researches company petals and then sends those companies bugs with personal data pool encryption. He found 13 bugs which he then reported to Apple, via Bug Center. Apple then shut down the site because the bugs allowed personal details and other information to be taken from the site. The company first claimed it was "down for maintenance", but later sent an email to developers explaining what happened. I am unsure when the Dev Center will be back online.

Friday, July 19, 2013

Apple To Acquire HopStop, Popular Transit App

HopStop-Logo

As first reported earlier by Bloomberg, Apple is acquiring popular navigation app HopStop to help improve its sucky Maps app. This purchase has been confirmed by AllThingsD. This new buy comes just hours after notice of Apple acquiring Locationary. I wouldn't go as far as to say Apple is going on a shopping spree today, but it's becoming close to that.

Monday, June 10, 2013

Apple Releases New Mac Pro

2013_mac_pro

The 2013-era Mac Pro has been totally redesigned with a new, cylindrical chassis and vastly upgraded internals that have been designed to last for 10 years. The IO panel of the Pro is very busy. There are four USB 3.0 and six Thunderbolt 2.0 ports (can take up to six devices per port, so technically 36 maximum devices). Some other ports are HDMI-out, two gigabit Ethernet plugs, WiFi 802.11ac, Bluetooth 4 and 3.5mm audio in and out ports.

The cylinder will be the first ever Mac to ship with dual AMD FirePro GPUs and support 4K displays. Also, the machine is 1/8th the volume of the current Mac Pro.

WWDC: Apple Retail Update

Apple-retail1

Updates on Apple Retail:

  • One million daily visitors

  • 407 stores in 14 countries

Apple WWDC Coverage

Tuesday, May 7, 2013

Viber Releases a Desktop App with Video Calling

[gallery ids="451,452"]

Viber is taking a stand on app messaging; they are releasing a desktop app for their wildly popular messaging platform. Starting today, Viber’s 200 million+ users will have access to their Viber contacts from both mobile and desktop.

Viber is also releasing new updates to its mobile apps, but the bigger story is the desktop app.

The ambitious company is breaking ground on video calling today; but unfortunately, only from desktop to desktop. Hopefully, mobile to mobile, and then even mobile to desktop will be arriving on the scene soon.

Other than that, the desktop version has just about everything the mobile version has, including messaging, stickers, etc.

To start, you must be a mobile user of Viber, so if you don’t have a number that’s already associated with the service, the desktop app will ask you to download the mobile application. From there, you simply input your number into the desktop app, enter a pin which is sent to your mobile device, and you instantly have access to all the contacts you know on Viber.

All of the Viber apps will sync messages with each other as well. This is yet again another weakness in Apple's iMessage: It doesn't sync. All of these app messaging services are fighting with iMessage as well as regular SMS for market space.

Viber is also taking a leap forward with its mobile apps, but Android and iOS, as always, are the main focus of this mobile updgrade. Both will receive video messages, a new assortment of stickers, a new photo experience, a new voice engine, and then some other minor stuff.

Viber has been growing steadily, announcing growth to 200 million users, up from 175 million in February.

This latest advance really only works for those with multiple devices, but it will be interesting to see how the market responds to this new leap forward in app messaging.

Monday, May 6, 2013

MTA App Quest Hackathon Recap

hackmta_pr


Wow, what an amazing hackathon! There were great apps built this weekend; I am very impressed with what was built. These developers only had 24 hours to build their apps and have something ready to show off. Congratulations to the first, second, and third place prize winners; SubCulture.Fm, MTA Sheriff, and ACCESSWAY. These apps will truly impact the New York City's mass transit in a bright way. Check out below for a quick summary of what's cooking in the app division of NYC public transit.

SubCulture.Fm is an iOS app that allows you to interact with subway musicians. The app mostly works through QR codes. Each artist would have a QR code that the user would scan. This would give the user information about the artist; such as social media, albums and songs, etc. You can share information about the musician using Facebook or Twitter. The app also allows you to track nearby musicians, and even where your favorite musician will be playing. SubCulture.Fm won first place at the hackathon.

MTA Sheriff is a quick and easy gamified way to report issues within the MTA's system. As you report more issues, your character upgrades until you become the "MTA Sheriff".

ACCESSWAY is an iOS way-finding app to help visually-impaired or wheelchair-assisted New Yorkers find their way in the NYC Subway. It allows you to track elevator and exit status. The app currently looks pretty good, but should try and implement real time status updates.

Saturday, February 16, 2013

The Revolution of Ticketing

Say you were going on a vacation to Orlando just 10 years ago. You had to go to the airline ticket office, and buy your ticket there. Then just a few years ago, the airlines invented the Quick Ticket Kiosk. First you buy your ticket online, then you show up at the airport, check in, and get your boarding pass from a simple little machine. It was truly the next big thing of the airline industry. But then came the ability to print your boarding pass at home. The lines at the kiosks were greatly reduced. And now, we are at the next stage of evolution for not just the airline industry; but for the movie and transportation industries. This stage of evolution is mobile ticketing. The customer can buy and load up their boarding pass all from their small phone. For example, most major airlines are now rolling out smartphone apps that allow customers to have an electronic boarding pass. And this is also starting to roll out in mass transit. The Boston commuter rail network is running a pilot for electronic tickets on most of its lines. This really shows that focus of ticketing is really heading towards all electronic. This is the main reason for the creation of Apple's Passbook app and Google's Google Wallet; let customers have tickets and cards in a neat mobile app. And that's all that's been happening. Everyone is coming out with electronic ticketing. Fandango, jetBlue, United, American, and the list goes on of all of the big guys who have mobile ticketing in their systems.
And it's not just the fact that the tools are available that makes customers want to come. It's the fact that it's so easy that makes everyone flock to new technology. And hopefully, the interfaces will only become more intuitive and easier to understand as the ticketing industry evolves further. But for now, I enjoy pulling up my Fandango movie ticket on my phone, paying for my Strawberry Frappucino at Starbucks with my Starbucks card in Passbook, having my Starwood Preferred Guest card on my phone, and my jetBlue plane ticket on my phone. What more can I ask for? :)