小编gbo*_*tha的帖子

如何在使用XCode 8和Swift 3时本地化应用程序名称

我已更新到Xcode 8和Swift 3,现在我的本地化应用程序名称未显示在设备或模拟器主屏幕上的图标下方.使用Xcode 7.3,一切都运行良好.

我已经定义了一个InfoPlist.strings文件,其中包含以下内容

"CFBundleName" = <App Name String>;
"CFBundleDisplayName" = <App Name String>;
Run Code Online (Sandbox Code Playgroud)

我有info.plist文件

Bundle Name = $(PRODUCT_NAME)
Bundle Display Name = $(PRODUCT_NAME)
Run Code Online (Sandbox Code Playgroud)

另外,我已将一个Bool添加到名为"Application has localized display name"的info.plist中,并将其设置为YES.

但是,主屏幕上显示的是在构建设置产品名称字段中输入的默认产品名称.因此,似乎忽略了InfoPlist.strings文件.

这是一个错误还是在本地化Xcode 8的应用程序名称时需要更改某些内容?

localization xcode8

6
推荐指数
1
解决办法
2303
查看次数

在Android中同步两个水平滚动视图

我尝试按照这篇文章中的建议同步ScrollView滚动位置 - 安卓 但遇到了问题.

背景 - 我想要一个包含水平和垂直滚动的表格布局,但我希望第一行和第一列始终存在 - 就像使用excel的冻结窗格一样.不幸的是,Android java编程似乎几乎不可能......让我头疼不已.我已经设置好了,如果我可以同步这两个horizo​​ntalscrollviews,那么我将按照我想要的方式工作.

我按照上面发布的链接的建议,我遇到的问题是这个.当我实施时,应用程序强制关闭

scrollView1.setScrollViewListener(本);

我认为问题可能是我声明ObservableScrollViews的方式.我没有使用XML - 所有对象都是以编程方式创建的.我试过用

private ObservableScrollView oScrollViewOne = new ObservableScrollView(this);

但这也导致了一股力量关闭.(我可以创建一个常规的滚动视图,为其分配一个ID,然后使用

scrollView1 =(ObservableScrollView)findViewById(ID); 其中ID是我给滚动视图的整数.

我想知道如何使用下面的注释以及如果我不使用XML布局如何使用它们.

我们应该在布局中指定这个新的ObservableScrollView类,而不是现有的ScrollView标记.

com.test.ObservableScrollView android:id ="@ + id/scrollview1"......

使用显式代码实现同步两个horizo​​ntalscroll视图的任何其他建议 - 不仅仅是建议使用OnTouchMotionEvent或其他想法而不提供代码,正如我之前看到的那样.

这是错误代码

10-23 23:33:08.631: ERROR/AndroidRuntime(18187): FATAL EXCEPTION: main
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.glen.apps.TeacherAidePro/com.glen.apps.TeacherAidePro.TeacherAidePro}: java.lang.NullPointerException
10-23 23:33:08.631: ERROR/AndroidRuntime(18187):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2709)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2803)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187):     at android.app.ActivityThread.access$2300(ActivityThread.java:135)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2136)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-23 23:33:08.631: …
Run Code Online (Sandbox Code Playgroud)

android synchronize horizontalscrollview

3
推荐指数
1
解决办法
4996
查看次数

如何为iOS应用实施iOS自动续订订阅收据验证

我想发布一个具有自动续订订阅的iOS应用。尽管有大量有关此方面的信息,但很多信息已经过时了,因此我将陈述到目前为止所取得的成就。

  1. 我正在使用Swift 2.0,因此任何客观的C代码都无济于事。

  2. 我不会使用自己的服务器与Apple进行通讯以验证收据,因此我相信我需要使应用程序直接与Apple服务器进行通讯,或者我可以在设备上本地解析收据。

  3. 我可以使用以下代码在设备上找到收据(不确定是否有多张收据)

    func checkForReceipt() {
        let receiptUrl = NSBundle.mainBundle().appStoreReceiptURL
    
        let fileExists = NSFileManager.defaultManager().fileExistsAtPath(receiptUrl!.path!)
    
        if fileExists {
    
            let receiptData = NSData(contentsOfURL: receiptUrl!)
    
            //Now what do I do to decode the data and validate the receipt
    
        } else{
            requestReceipt()
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

但是,我无法弄清楚如何对收据进行解码,因此可以确定到期日期和其他验证步骤以确保它是有效的收据。

我不得不说,令人沮丧的是,对于开发人员来说非常重要和有用的事情必须如此难以遵循和定位。我们非常感谢您的帮助,希望对其他许多人有所帮助。

in-app-purchase ios auto-renewing receipt-validation swift2

3
推荐指数
1
解决办法
1461
查看次数