寫sandbox的時候要把iphone上的帳號清掉,才有辦法購買的時候 填入沙盒帳號,可是後來購買的時候 用原本的帳號就可以了!! 神奇 搞不懂。
購買完之後回來的transaction.transaction.receipt
要傳給server的時候
https://sandbox.itunes.apple.com/verifyReceipt
or
https://buy.itunes.apple.com/verifyReceipt
要先base64
crypto.encodeBase64(transaction.transaction.receipt)
但是如果用client提供的Store.setReceiptVerifyServerUrl
去做的話,不安全,所以要打自已寫的api
驗證完之後 就在db上做更新。
<?php
$json['receipt-data'] = base64後的receipt
$post = json_encode($json);
//print($post);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://buy.itunes.apple.com/verifyReceipt");
//curl_setopt($ch, CURLOPT_URL,"https://sandbox.itunes.apple.com/verifyReceipt");
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result=curl_exec($ch);
echo($result);
?>
2017年11月24日 星期五
2017年9月25日 星期一
cocos2dx出現Missing CFBundleIconName in Xcode9 iOS11 app release
手機不小心更新了ios11,連帶xcode也得更新成xcode9
接著就出現了一些問題
問題1:system不支援了
system(command.c_str());
system不支援了
都要改成popen(command.c_str(), "r");
把發生錯誤的地方都改成以上的格式
popen(xxxx, "r");
就可以了
問題2:Missing CFBundleIconName in Xcode9 iOS11 app release
出版的時候,將app 上傳到itune會上傳不上去 ,雖然在xcode上不會發生錯誤
但會收到失敗的信件通知
是info.plist檔裡缺少CFBundleIconName這個KEY
1.點擊到專案 在IOS資料夾下有info.plist
在裡面增加一個CFBundleIconName的key,value是AppIcon
我在xcode的界面裡 加完key就return掉了 是有加進去 但清單內找不到 也就無法加value
所以我直接用筆記本改info.plist檔案
2.在專案的General中 找到"App Icons and Launch Images"
在app icons source中點擊"use an asset catalog"
他會產生一個images.xcassets的資料夾在Resources底下
點擊它會出現icon跟執行畫面的資源視窗
我是把icon裡所有的icon 有空格的地方 從左側的專案資料夾中 把相對應的icon托進去填滿
如果一開始有設定好各尺寸的icon 這裡應該一開始就會全部填滿了
執行畫面的部份 我缺少前2個尺寸 因為我找不到應該放什麼尺寸
這2個是 iphone 2x portait 7.0 跟iphone retina 4 2x portait 7.0
3.之後改成新的版號 再次出版 就成功了。
參考連結:https://stackoverflow.com/questions/46216718/missing-cfbundleiconname-in-xcode9-ios11-app-release
接著就出現了一些問題
問題1:system不支援了
system(command.c_str());
system不支援了
都要改成popen(command.c_str(), "r");
把發生錯誤的地方都改成以上的格式
popen(xxxx, "r");
就可以了
問題2:Missing CFBundleIconName in Xcode9 iOS11 app release
出版的時候,將app 上傳到itune會上傳不上去 ,雖然在xcode上不會發生錯誤
但會收到失敗的信件通知
是info.plist檔裡缺少CFBundleIconName這個KEY
1.點擊到專案 在IOS資料夾下有info.plist
在裡面增加一個CFBundleIconName的key,value是AppIcon
我在xcode的界面裡 加完key就return掉了 是有加進去 但清單內找不到 也就無法加value
所以我直接用筆記本改info.plist檔案
2.在專案的General中 找到"App Icons and Launch Images"
在app icons source中點擊"use an asset catalog"
他會產生一個images.xcassets的資料夾在Resources底下
點擊它會出現icon跟執行畫面的資源視窗
我是把icon裡所有的icon 有空格的地方 從左側的專案資料夾中 把相對應的icon托進去填滿
如果一開始有設定好各尺寸的icon 這裡應該一開始就會全部填滿了
執行畫面的部份 我缺少前2個尺寸 因為我找不到應該放什麼尺寸
這2個是 iphone 2x portait 7.0 跟iphone retina 4 2x portait 7.0
3.之後改成新的版號 再次出版 就成功了。
參考連結:https://stackoverflow.com/questions/46216718/missing-cfbundleiconname-in-xcode9-ios11-app-release
2017年8月11日 星期五
cocos2dx 可儲存位置使用
cc.FileUtils:getInstance():addSearchPath("res/")
cc.FileUtils:getInstance():addSearchPath("src/")
cc.FileUtils:getInstance():addSearchPath(writablePath.."src/",true)
前2個是應用程式主要位置
第3個是可寫入的位置,patch或是下載儲存都只能存在這
而patch默認是在writablePath.."src/"底下
用cc.FileUtils:getInstance():getSearchPaths() 可以得到所有path
最前面的path最先讀取
所以patch的位置加上true,會把order排到前面
時常犯的錯是無法儲存 原因是沒有資料夾 儲存檔案時要先確定有沒有改目錄,沒有可以透過cc.FileUtils:getInstance():createDirectory(pathDir) 建立
android在刪除應用程式時 patch的資料並不會被刪掉。
但用debug測試時重安裝會刪掉
另外版本變更後 原有的patch不想使用,這時候除了先清空之外
使用 removeDirectory清空,話說直接建立一個資料夾也能把底下的檔案清空...
也可以考慮更換patch的位置(改assets manager)
比如 patch/src/version1
當版號更新為2時
變更為讀取 patch/src/version2
cc.FileUtils:getInstance():addSearchPath("src/")
cc.FileUtils:getInstance():addSearchPath(writablePath.."src/",true)
前2個是應用程式主要位置
第3個是可寫入的位置,patch或是下載儲存都只能存在這
而patch默認是在writablePath.."src/"底下
用cc.FileUtils:getInstance():getSearchPaths() 可以得到所有path
最前面的path最先讀取
所以patch的位置加上true,會把order排到前面
時常犯的錯是無法儲存 原因是沒有資料夾 儲存檔案時要先確定有沒有改目錄,沒有可以透過cc.FileUtils:getInstance():createDirectory(pathDir) 建立
android在刪除應用程式時 patch的資料並不會被刪掉。
但用debug測試時重安裝會刪掉
另外版本變更後 原有的patch不想使用,這時候除了先清空之外
使用 removeDirectory清空,話說直接建立一個資料夾也能把底下的檔案清空...
也可以考慮更換patch的位置(改assets manager)
比如 patch/src/version1
當版號更新為2時
變更為讀取 patch/src/version2
2017年7月18日 星期二
cocos2dx 3.6.4 video play
參考http://www.jianshu.com/p/4cd6fe89114e
這裡的videoPlayer:setFileName(pathMp4) 是播放本地影片
若是線上的要用videoPlayer:setURL("http://1.mp4")
沒辦法播rtmp
只有android跟ios可以使用
需要在appDelegage.cpp裡加入:
#include 中
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
#include "lua_cocos2dx_experimental_video_auto.hpp"
#endif
#載入binding中
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
register_all_cocos2dx_experimental_video(L);
#endif
有一篇關於影片層級的問題。如果讓cocos2dx元件在影片之上
http://discuss.cocos2d-x.org/t/cocos2dx-videoplayer-playback-below-ui-elements-ios-android/26321
這裡的videoPlayer:setFileName(pathMp4) 是播放本地影片
若是線上的要用videoPlayer:setURL("http://1.mp4")
沒辦法播rtmp
只有android跟ios可以使用
需要在appDelegage.cpp裡加入:
#include 中
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
#include "lua_cocos2dx_experimental_video_auto.hpp"
#endif
#載入binding中
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
register_all_cocos2dx_experimental_video(L);
#endif
有一篇關於影片層級的問題。如果讓cocos2dx元件在影片之上
http://discuss.cocos2d-x.org/t/cocos2dx-videoplayer-playback-below-ui-elements-ios-android/26321
訂閱:
文章 (Atom)